{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/target-tracker/target-tracker-overview-table.vue?3b88","webpack:///./src/components/plugins/national-insurance-number-input/national-insurance-number-input.vue?7b12","webpack:///./src/components/settings/system-settings/edit-system-setting-dialog.vue?5a9f","webpack:///./src/components/settings/partner-practices/partner-practice-original-sources.vue?3185","webpack:///./src/components/home/partner-practice-dashboard.vue?6aae","webpack:///./src/components/appointment-product-details/appointment-product-details.vue?01eb","webpack:///./src/assets/img/rlg-logo-white.png","webpack:///./src/components/home/customer-experience-call-dashboard.vue?0ea6","webpack:///./src/components/appointments/appointments-table.vue?91cd","webpack:///./src/components/client/view-client/edit-interaction-dialog.vue?8297","webpack:///./src/components/toggle-button.vue?280a","webpack:///./src/components/home/customer-experience-appointment-dashboard.vue?8dd0","webpack:///./src/components/home/data-creation-dashboard.vue?9011","webpack:///./src/app.vue?67a0","webpack:///./src/components/admin/export/admin-export.vue?f037","webpack:///./src/services/user-manager/user-manager.ts","webpack:///./src/api/interceptors/auth-interceptors.ts","webpack:///./src/api/responses/forbidden.ts","webpack:///./src/api/responses/not-found.ts","webpack:///./src/api/responses/bad-request.ts","webpack:///./src/api/api.ts","webpack:///./src/api/export.ts","webpack:///./src/layouts/app.vue?ea96","webpack:///./src/components/breadcrumb.vue?3f23","webpack:///./src/components/breadcrumb.vue?8aed","webpack:///./src/components/breadcrumb.vue?26f4","webpack:///./src/components/breadcrumb.vue","webpack:///./src/components/navigation-bar.vue?5e0d","webpack:///./src/api/user-guide.ts","webpack:///./src/components/loading.vue?2e6e","webpack:///./src/components/loading.vue?35b7","webpack:///./src/components/loading.vue?f076","webpack:///./src/components/loading.vue","webpack:///./src/components/navigation-bar.vue?04af","webpack:///./src/components/navigation-bar.vue?68a0","webpack:///./src/components/navigation-bar.vue","webpack:///./src/components/navigation-sidebar.vue?a259","webpack:///./src/components/navigation-sidebar.vue?0adc","webpack:///./src/components/navigation-sidebar.vue?6bc9","webpack:///./src/components/navigation-sidebar.vue","webpack:///./src/layouts/app.vue?1283","webpack:///./src/layouts/app.vue?5ac2","webpack:///./src/layouts/app.vue","webpack:///./src/components/admin/export/admin-export.vue?78c5","webpack:///./src/components/admin/export/admin-export.vue?bf60","webpack:///./src/components/admin/export/admin-export.vue","webpack:///./src/components/appointments/appointments.vue?9da7","webpack:///./src/api/appointments.ts","webpack:///./src/api/client-accounts.ts","webpack:///./src/shared/instruction-type.ts","webpack:///./src/shared/location-type.ts","webpack:///./src/shared/role-name.ts","webpack:///./src/components/appointments/appointment-list.vue?ea91","webpack:///./src/api/email-attachment.ts","webpack:///./src/stores/attachment/actions.ts","webpack:///./src/stores/attachment/getters.ts","webpack:///./src/stores/attachment/mutations.ts","webpack:///./src/stores/attachment/state.ts","webpack:///./src/stores/attachment/store.ts","webpack:///./src/api/call.ts","webpack:///./src/components/snackbar/snackbar.vue?1b4b","webpack:///./src/components/snackbar/snackbar.vue?d4a2","webpack:///./src/components/snackbar/snackbar.vue?8000","webpack:///./src/components/snackbar/snackbar.vue","webpack:///./src/components/snackbar/index.ts","webpack:///./src/stores/calls/actions.ts","webpack:///./src/stores/calls/getters.ts","webpack:///./src/stores/calls/mutations.ts","webpack:///./src/stores/calls/state.ts","webpack:///./src/stores/calls/store.ts","webpack:///./src/stores/environment/state.ts","webpack:///./src/stores/environment/getters.ts","webpack:///./src/stores/environment/mutations.ts","webpack:///./src/api/environment.ts","webpack:///./src/stores/environment/actions.ts","webpack:///./src/stores/environment/store.ts","webpack:///./src/api/import.ts","webpack:///./src/stores/import/actions.ts","webpack:///./src/stores/import/getters.ts","webpack:///./src/stores/import/mutations.ts","webpack:///./src/stores/import/state.ts","webpack:///./src/stores/import/store.ts","webpack:///./src/stores/notification/state.ts","webpack:///./src/stores/notification/actions.ts","webpack:///./src/stores/notification/getters.ts","webpack:///./src/stores/notification/mutations.ts","webpack:///./src/stores/notification/store.ts","webpack:///./src/api/partner-practice.ts","webpack:///./src/stores/partner-practices/actions.ts","webpack:///./src/stores/partner-practices/getters.ts","webpack:///./src/stores/partner-practices/mutations.ts","webpack:///./src/stores/partner-practices/state.ts","webpack:///./src/stores/partner-practices/store.ts","webpack:///./src/stores/settings/state.ts","webpack:///./src/api/setting.ts","webpack:///./src/stores/settings/actions.ts","webpack:///./src/stores/settings/getters.ts","webpack:///./src/stores/settings/mutations.ts","webpack:///./src/stores/settings/store.ts","webpack:///./src/api/types.ts","webpack:///./src/string-utilities.ts","webpack:///./src/stores/types/actions.ts","webpack:///./src/shared/user-status.ts","webpack:///./src/stores/types/getters.ts","webpack:///./src/stores/types/mutations.ts","webpack:///./src/stores/types/state.ts","webpack:///./src/stores/types/store.ts","webpack:///./src/api/user.ts","webpack:///./src/stores/user/actions.ts","webpack:///./src/stores/user/getters.ts","webpack:///./src/stores/user/mutations.ts","webpack:///./src/stores/user/state.ts","webpack:///./src/stores/user/store.ts","webpack:///./src/stores/users/actions.ts","webpack:///./src/stores/users/getters.ts","webpack:///./src/stores/users/mutations.ts","webpack:///./src/stores/users/state.ts","webpack:///./src/stores/users/store.ts","webpack:///./src/store.ts","webpack:///./src/components/appointments/appointment-utilities.ts","webpack:///./src/components/appointments/appointments-table.vue?8f7d","webpack:///./src/components/appointments/appointments-table.vue?6a2d","webpack:///./src/components/appointments/appointments-table.vue?1292","webpack:///./src/components/appointments/appointments-table.vue","webpack:///./src/components/appointments/appointment-list.vue?9493","webpack:///./src/components/appointments/appointment-list.vue?891a","webpack:///./src/components/appointments/appointment-list.vue","webpack:///./src/components/appointments/book-appointment-dialog.vue?817c","webpack:///./src/components/address-with-lookup.vue?48c3","webpack:///./src/api/address-lookup.ts","webpack:///./src/components/address-with-lookup.vue?f726","webpack:///./src/components/address-with-lookup.vue?087f","webpack:///./src/components/address-with-lookup.vue","webpack:///./src/shared/appointments/appointment.ts","webpack:///./src/shared/clients/client-account-address.ts","webpack:///./src/shared/utilities/date-utilities.ts","webpack:///./src/components/appointments/book-appointment-dialog.vue?ab54","webpack:///./src/components/appointments/book-appointment-dialog.vue?67a4","webpack:///./src/components/appointments/book-appointment-dialog.vue","webpack:///./src/components/appointments/complete-appointment/complete-appointment-dialog.vue?d52c","webpack:///./src/components/appointments/appointment-outcome-details.vue?f569","webpack:///./src/components/appointments/appointment-outcome-details.vue?8ff3","webpack:///./src/components/appointments/appointment-outcome-details.vue?3ba7","webpack:///./src/components/appointments/appointment-outcome-details.vue","webpack:///./src/components/appointments/appointment-outcome-instructed-products.vue?ad8e","webpack:///./src/components/appointments/appointment-outcome-instructed-products.vue?e538","webpack:///./src/components/appointments/appointment-outcome-instructed-products.vue?c58c","webpack:///./src/components/appointments/appointment-outcome-instructed-products.vue","webpack:///./src/components/appointments/appointment-outcome-not-instructed-products.vue?d0ec","webpack:///./src/components/appointments/appointment-outcome-not-instructed-products.vue?e9a1","webpack:///./src/components/appointments/appointment-outcome-not-instructed-products.vue?f812","webpack:///./src/components/appointments/appointment-outcome-not-instructed-products.vue","webpack:///./src/components/appointments/appointment-outcome-notes.vue?398c","webpack:///./src/components/appointments/appointment-outcome-notes.vue?7ef3","webpack:///./src/components/appointments/appointment-outcome-notes.vue?f0e4","webpack:///./src/components/appointments/appointment-outcome-notes.vue","webpack:///./src/components/appointments/appointment-outcome-product-details.vue?f74c","webpack:///./src/components/appointments/appointment-outcome-product-details.vue?0857","webpack:///./src/components/appointments/appointment-outcome-product-details.vue?78d8","webpack:///./src/components/appointments/appointment-outcome-product-details.vue","webpack:///./src/components/appointments/appointment-outcome-type-select.vue?33be","webpack:///./src/components/appointments/appointment-outcome-type-select.vue?6a22","webpack:///./src/components/appointments/appointment-outcome-type-select.vue?2253","webpack:///./src/components/appointments/appointment-outcome-type-select.vue","webpack:///./src/shared/appointments/appointment-outcome.ts","webpack:///./src/shared/appointments/appointment-outcome-product.ts","webpack:///./src/components/appointments/complete-appointment/complete-appointment-dialog.vue?e971","webpack:///./src/components/appointments/complete-appointment/complete-appointment-dialog.vue?ece7","webpack:///./src/components/appointments/complete-appointment/complete-appointment-dialog.vue","webpack:///./src/components/appointments/edit-appointment-outcome-dialog.vue?7682","webpack:///./src/components/appointments/edit-appointment-outcome-dialog.vue?d9b2","webpack:///./src/components/appointments/edit-appointment-outcome-dialog.vue?f255","webpack:///./src/components/appointments/edit-appointment-outcome-dialog.vue","webpack:///./src/components/appointments/edit-appointment-outcome-legacy-dialog.vue?2676","webpack:///./src/shared/appointments/appointment-outcome-payment-details.ts","webpack:///./src/components/appointments/edit-appointment-outcome-legacy-dialog.vue?e3e9","webpack:///./src/components/appointments/edit-appointment-outcome-legacy-dialog.vue?127d","webpack:///./src/components/appointments/edit-appointment-outcome-legacy-dialog.vue","webpack:///./src/components/appointments/view-appointment-dialog.vue?0bec","webpack:///./src/components/appointments/view-appointment-dialog.vue?98f6","webpack:///./src/components/appointments/view-appointment-dialog.vue?a509","webpack:///./src/components/appointments/view-appointment-dialog.vue","webpack:///./src/components/appointments/appointments.vue?9f49","webpack:///./src/components/appointments/appointments.vue?887d","webpack:///./src/components/appointments/appointments.vue","webpack:///./src/components/call-management/manage-call-list.vue?653e","webpack:///./src/components/call-management/assign-call-dialog.vue?567c","webpack:///./src/components/call-management/assign-call-dialog.vue?e97c","webpack:///./src/shared/call-reason.ts","webpack:///./src/shared/call-type.ts","webpack:///./src/components/call-management/assign-call-dialog.vue?68d7","webpack:///./src/components/call-management/assign-call-dialog.vue","webpack:///./src/components/call-management/calls-table.vue?d475","webpack:///./src/components/call-management/calls-table.vue?2818","webpack:///./src/components/call-management/calls-table.vue?2ea5","webpack:///./src/components/call-management/calls-table.vue","webpack:///./src/components/call-management/manage-call-list.vue?a980","webpack:///./src/components/call-management/manage-call-list.vue?5fb9","webpack:///./src/components/call-management/manage-call-list.vue","webpack:///./src/components/calls/call-list.vue?190d","webpack:///./src/components/calls/my-active-calls-table.vue?3111","webpack:///./src/components/calls/my-active-calls-table.vue?41da","webpack:///./src/components/calls/my-active-calls-table.vue?edef","webpack:///./src/components/calls/my-active-calls-table.vue","webpack:///./src/components/calls/my-callbacks-table.vue?2640","webpack:///./src/components/calls/my-callbacks-table.vue?6db0","webpack:///./src/components/calls/my-callbacks-table.vue?abb1","webpack:///./src/components/calls/my-callbacks-table.vue","webpack:///./src/components/calls/next-available-call-table.vue?d7b6","webpack:///./src/components/calls/next-available-call-table.vue?9864","webpack:///./src/components/calls/next-available-call-table.vue?ccb4","webpack:///./src/components/calls/next-available-call-table.vue","webpack:///./src/components/calls/call-list.vue?f6d6","webpack:///./src/components/calls/call-list.vue?4272","webpack:///./src/components/calls/call-list.vue","webpack:///./src/components/client/list-clients/list-clients.vue?bc86","webpack:///./src/components/client/add-client/add-client-dialog.vue?63af","webpack:///./src/api/requests/clients/create-client-request.ts","webpack:///./src/components/client/add-client/add-client-account-details.vue?0233","webpack:///./src/components/client/add-client/add-client-account-details.vue?57c7","webpack:///./src/components/client/add-client/add-client-account-details.vue?cfc6","webpack:///./src/components/client/add-client/add-client-account-details.vue","webpack:///./src/components/client/add-client/add-client-additional-details.vue?284c","webpack:///./src/components/client/add-client/add-client-additional-details.vue?2dcb","webpack:///./src/components/client/add-client/add-client-additional-details.vue?aed3","webpack:///./src/components/client/add-client/add-client-additional-details.vue","webpack:///./src/components/client/add-client/add-client-details.vue?8e20","webpack:///./src/components/client/add-client/add-client-details.vue?d19e","webpack:///./src/components/client/add-client/add-client-details.vue?7bd2","webpack:///./src/components/client/add-client/add-client-details.vue","webpack:///./src/components/client/add-client/contact-preference-details.vue?2cb1","webpack:///./src/components/client/add-client/contact-preference-details.vue?94a8","webpack:///./src/components/client/add-client/contact-preference-details.vue?900f","webpack:///./src/components/client/add-client/contact-preference-details.vue","webpack:///./src/components/client/add-client/potential-duplicate-details.vue?cbec","webpack:///./src/components/client/add-client/potential-duplicate-details.vue?ac31","webpack:///./src/components/client/add-client/potential-duplicate-details.vue?dbb1","webpack:///./src/components/client/add-client/potential-duplicate-details.vue","webpack:///./src/components/client/add-client/add-client-dialog.vue?4d19","webpack:///./src/components/client/add-client/add-client-dialog.vue?7c72","webpack:///./src/components/client/add-client/add-client-dialog.vue","webpack:///./src/components/client/list-clients/clients-table.vue?5435","webpack:///./src/components/client/list-clients/clients-table.vue?96cf","webpack:///./src/components/client/list-clients/clients-table.vue?53c2","webpack:///./src/components/client/list-clients/clients-table.vue","webpack:///./src/components/client/view-client/add-partner-dialog.vue?bf55","webpack:///./src/components/client/view-client/add-partner-dialog.vue?122a","webpack:///./src/components/client/view-client/add-partner-dialog.vue?5498","webpack:///./src/components/client/view-client/add-partner-dialog.vue","webpack:///./src/components/client/view-client/log-interaction-dialog.vue?ecd8","webpack:///./src/api/interaction.ts","webpack:///./src/shared/interaction.ts","webpack:///./src/components/client/view-client/log-interaction-dialog.vue?a8a2","webpack:///./src/components/client/view-client/log-interaction-dialog.vue?0380","webpack:///./src/components/client/view-client/log-interaction-dialog.vue","webpack:///./src/components/client/list-clients/list-clients.vue?3834","webpack:///./src/components/client/list-clients/list-clients.vue?17f3","webpack:///./src/components/client/list-clients/list-clients.vue","webpack:///./src/components/client/view-client/view-client.vue?4c7c","webpack:///./src/api/access-log.ts","webpack:///./src/components/client/view-client/add-deed-dialog.vue?08f0","webpack:///./src/shared/clients/client-account-deed.ts","webpack:///./src/components/client/view-client/add-deed-dialog.vue?26b9","webpack:///./src/components/client/view-client/add-deed-dialog.vue?928d","webpack:///./src/components/client/view-client/add-deed-dialog.vue","webpack:///./src/components/client/view-client/add-fact-find-dialog.vue?f498","webpack:///./src/shared/clients/client-account-fact-find.ts","webpack:///./src/components/client/view-client/add-fact-find-dialog.vue?f641","webpack:///./src/components/client/view-client/add-fact-find-dialog.vue?7f7b","webpack:///./src/components/client/view-client/add-fact-find-dialog.vue","webpack:///./src/components/client/view-client/add-note-dialog.vue?1edb","webpack:///./src/shared/clients/client-account-note.ts","webpack:///./src/components/client/view-client/add-note-dialog.vue?cb68","webpack:///./src/components/client/view-client/add-note-dialog.vue?9859","webpack:///./src/components/client/view-client/add-note-dialog.vue","webpack:///./src/components/client/view-client/add-power-of-attorney-dialog.vue?f1b0","webpack:///./src/shared/clients/client-power-of-attorney.ts","webpack:///./src/components/client/view-client/add-power-of-attorney-dialog.vue?2fe2","webpack:///./src/components/client/view-client/add-power-of-attorney-dialog.vue?6be9","webpack:///./src/components/client/view-client/add-power-of-attorney-dialog.vue","webpack:///./src/components/client/view-client/add-product-dialog.vue?1814","webpack:///./src/components/client/view-client/add-product-dialog.vue?ed83","webpack:///./src/components/client/view-client/add-product-dialog.vue?ffc0","webpack:///./src/components/client/view-client/add-product-dialog.vue","webpack:///./src/components/client/view-client/add-will-dialog.vue?d0f4","webpack:///./src/components/client/view-client/will-executor-detail.vue?f71c","webpack:///./src/components/client/view-client/will-executor-detail.vue?c63a","webpack:///./src/components/client/view-client/will-executor-detail.vue?4109","webpack:///./src/components/client/view-client/will-executor-detail.vue","webpack:///./src/components/client/view-client/will-guardian-detail.vue?d3d9","webpack:///./src/components/client/view-client/will-guardian-detail.vue?3df3","webpack:///./src/components/client/view-client/will-guardian-detail.vue?3d12","webpack:///./src/components/client/view-client/will-guardian-detail.vue","webpack:///./src/shared/clients/client-account-will.ts","webpack:///./src/shared/clients/client-account-will-executor.ts","webpack:///./src/shared/clients/client-account-will-guardian.ts","webpack:///./src/components/client/view-client/add-will-dialog.vue?2048","webpack:///./src/components/client/view-client/add-will-dialog.vue?1f7e","webpack:///./src/components/client/view-client/add-will-dialog.vue","webpack:///./src/components/client/view-client/additional.vue?e656","webpack:///./src/components/client/view-client/additional.vue?1d2c","webpack:///./src/components/client/view-client/additional.vue?1e3c","webpack:///./src/components/client/view-client/additional.vue","webpack:///./src/components/client/view-client/address.vue?6823","webpack:///./src/components/client/view-client/address.vue?b212","webpack:///./src/components/client/view-client/address.vue?bdc0","webpack:///./src/components/client/view-client/address.vue","webpack:///./src/components/client/view-client/appointments.vue?24b8","webpack:///./src/components/client/view-client/appointments.vue?c8cb","webpack:///./src/components/client/view-client/appointments.vue?0285","webpack:///./src/components/client/view-client/appointments.vue","webpack:///./src/components/client/view-client/contact-history.vue?ec76","webpack:///./src/components/client/view-client/edit-interaction-dialog.vue?43eb","webpack:///./src/components/client/view-client/edit-interaction-dialog.vue?b855","webpack:///./src/shared/task-type.ts","webpack:///./src/components/client/view-client/edit-interaction-dialog.vue?ce1f","webpack:///./src/components/client/view-client/edit-interaction-dialog.vue","webpack:///./src/components/client/view-client/view-client-task-dialog.vue?682d","webpack:///./src/components/client/view-client/view-client-task-dialog.vue?81cb","webpack:///./src/components/client/view-client/view-client-task-dialog.vue?c6f4","webpack:///./src/components/client/view-client/view-client-task-dialog.vue","webpack:///./src/components/client/view-client/view-email-dialog.vue?b031","webpack:///./src/components/client/view-client/view-email-dialog.vue?6115","webpack:///./src/components/client/view-client/view-email-dialog.vue?7ec9","webpack:///./src/components/client/view-client/view-email-dialog.vue","webpack:///./src/components/client/view-client/view-interaction-dialog.vue?73a4","webpack:///./src/components/client/view-client/view-interaction-dialog.vue?2d8b","webpack:///./src/shared/message-type.ts","webpack:///./src/components/client/view-client/view-interaction-dialog.vue?1a97","webpack:///./src/components/client/view-client/view-interaction-dialog.vue","webpack:///./src/components/client/view-client/view-message-dialog.vue?d1c8","webpack:///./src/components/client/view-client/view-message-dialog.vue?0613","webpack:///./src/shared/contact-item-type.ts","webpack:///./src/components/client/view-client/view-message-dialog.vue?cbda","webpack:///./src/components/client/view-client/view-message-dialog.vue","webpack:///./src/components/client/view-client/contact-history.vue?0862","webpack:///./src/components/client/view-client/contact-history.vue?d2f0","webpack:///./src/components/client/view-client/contact-history.vue","webpack:///./src/components/client/view-client/court-of-protection-banner.vue?b43f","webpack:///./src/components/client/view-client/court-of-protection-banner.vue?1894","webpack:///./src/components/client/view-client/court-of-protection-banner.vue?e8d9","webpack:///./src/components/client/view-client/court-of-protection-banner.vue","webpack:///./src/components/client/view-client/deeds.vue?ad59","webpack:///./src/components/client/view-client/edit-deed-dialog.vue?38c7","webpack:///./src/components/client/view-client/edit-deed-dialog.vue?db2d","webpack:///./src/components/client/view-client/edit-deed-dialog.vue?e169","webpack:///./src/components/client/view-client/edit-deed-dialog.vue","webpack:///./src/components/client/view-client/deeds.vue?69a1","webpack:///./src/components/client/view-client/deeds.vue?7b36","webpack:///./src/components/client/view-client/deeds.vue","webpack:///./src/components/client/view-client/details.vue?0c8d","webpack:///./src/components/client/view-client/details.vue?1f45","webpack:///./src/components/client/view-client/details.vue?5684","webpack:///./src/components/client/view-client/details.vue","webpack:///./src/components/client/view-client/do-not-contact-banner.vue?3604","webpack:///./src/components/client/view-client/do-not-contact-banner.vue?2f12","webpack:///./src/components/client/view-client/do-not-contact-banner.vue?0c5b","webpack:///./src/components/client/view-client/do-not-contact-banner.vue","webpack:///./src/components/client/view-client/documents.vue?5224","webpack:///./src/components/client/view-client/documents.vue?b816","webpack:///./src/components/client/view-client/documents.vue?58ec","webpack:///./src/components/client/view-client/documents.vue","webpack:///./src/components/client/view-client/fact-find.vue?b802","webpack:///./src/components/client/view-client/fact-find.vue?e1b7","webpack:///./src/components/client/view-client/fact-find.vue?87eb","webpack:///./src/components/client/view-client/fact-find.vue","webpack:///./src/components/client/view-client/locked-banner.vue?b6e6","webpack:///./src/components/client/view-client/locked-banner.vue?bafd","webpack:///./src/components/client/view-client/locked-banner.vue?372c","webpack:///./src/components/client/view-client/locked-banner.vue","webpack:///./src/components/client/view-client/marketing.vue?2d24","webpack:///./src/components/client/view-client/marketing.vue?9cab","webpack:///./src/components/client/view-client/marketing.vue?2c95","webpack:///./src/components/client/view-client/marketing.vue","webpack:///./src/components/client/view-client/notes.vue?3999","webpack:///./src/components/client/view-client/edit-note-dialog.vue?53e0","webpack:///./src/components/client/view-client/edit-note-dialog.vue?9a46","webpack:///./src/components/client/view-client/edit-note-dialog.vue?1453","webpack:///./src/components/client/view-client/edit-note-dialog.vue","webpack:///./src/components/client/view-client/notes.vue?bdb9","webpack:///./src/components/client/view-client/notes.vue?9868","webpack:///./src/components/client/view-client/notes.vue","webpack:///./src/components/client/view-client/power-of-attorneys.vue?621e","webpack:///./src/components/client/view-client/edit-power-of-attorney-dialog.vue?ad85","webpack:///./src/components/client/view-client/edit-power-of-attorney-dialog.vue?ab53","webpack:///./src/components/client/view-client/edit-power-of-attorney-dialog.vue?6231","webpack:///./src/components/client/view-client/edit-power-of-attorney-dialog.vue","webpack:///./src/components/client/view-client/power-of-attorneys.vue?e25a","webpack:///./src/components/client/view-client/power-of-attorneys.vue?b435","webpack:///./src/components/client/view-client/power-of-attorneys.vue","webpack:///./src/components/client/view-client/sensitive-banner.vue?e0f7","webpack:///./src/components/client/view-client/sensitive-banner.vue?b467","webpack:///./src/components/client/view-client/sensitive-banner.vue?64e3","webpack:///./src/components/client/view-client/sensitive-banner.vue","webpack:///./src/components/client/view-client/will-history.vue?85cb","webpack:///./src/components/client/view-client/edit-will-history-item-dialog.vue?b0ad","webpack:///./src/components/client/view-client/edit-will-history-item-dialog.vue?03af","webpack:///./src/components/client/view-client/edit-will-history-item-dialog.vue?39c9","webpack:///./src/components/client/view-client/edit-will-history-item-dialog.vue","webpack:///./src/components/client/view-client/view-will-history-item-dialog.vue?7840","webpack:///./src/components/client/view-client/view-will-history-item-dialog.vue?b95d","webpack:///./src/components/client/view-client/view-will-history-item-dialog.vue?d5e7","webpack:///./src/components/client/view-client/view-will-history-item-dialog.vue","webpack:///./src/components/client/view-client/will-history.vue?78a5","webpack:///./src/components/client/view-client/will-history.vue?2204","webpack:///./src/components/client/view-client/will-history.vue","webpack:///./src/components/client/view-client/will.vue?ad07","webpack:///./src/components/client/view-client/add-will-executor-dialog.vue?15a3","webpack:///./src/components/client/view-client/add-will-executor-dialog.vue?6a53","webpack:///./src/components/client/view-client/add-will-executor-dialog.vue?74c5","webpack:///./src/components/client/view-client/add-will-executor-dialog.vue","webpack:///./src/components/client/view-client/add-will-guardian-dialog.vue?afe3","webpack:///./src/components/client/view-client/add-will-guardian-dialog.vue?bb46","webpack:///./src/components/client/view-client/add-will-guardian-dialog.vue?d234","webpack:///./src/components/client/view-client/add-will-guardian-dialog.vue","webpack:///./src/components/client/view-client/edit-will-executor-dialog.vue?8e44","webpack:///./src/components/client/view-client/edit-will-executor-dialog.vue?164c","webpack:///./src/components/client/view-client/edit-will-executor-dialog.vue?c2bb","webpack:///./src/components/client/view-client/edit-will-executor-dialog.vue","webpack:///./src/components/client/view-client/edit-will-guardian-dialog.vue?c335","webpack:///./src/components/client/view-client/edit-will-guardian-dialog.vue?3e28","webpack:///./src/components/client/view-client/edit-will-guardian-dialog.vue?79da","webpack:///./src/components/client/view-client/edit-will-guardian-dialog.vue","webpack:///./src/components/client/view-client/will.vue?6d1e","webpack:///./src/shared/access-action-type.ts","webpack:///./src/shared/access-type.ts","webpack:///./src/components/client/view-client/will.vue?76eb","webpack:///./src/components/client/view-client/will.vue","webpack:///./src/components/client/view-client/view-client.vue?c6d6","webpack:///./src/components/client/view-client/view-client.vue?12a7","webpack:///./src/components/client/view-client/view-client.vue","webpack:///./src/components/data-management/duplicate-clients/manage-duplicate-clients.vue?bc8c","webpack:///./src/api/manage-duplicate.ts","webpack:///./src/components/data-management/duplicate-clients/client-merge-dialog.vue?50a7","webpack:///./src/api/merge.ts","webpack:///./src/components/data-management/duplicate-clients/client-account-summary.vue?12ef","webpack:///./src/components/data-management/duplicate-clients/client-account-summary.vue?c96a","webpack:///./src/components/data-management/duplicate-clients/client-account-summary.vue?bd40","webpack:///./src/components/data-management/duplicate-clients/client-account-summary.vue","webpack:///./src/components/data-management/duplicate-clients/client-duplicate-table.vue?bd39","webpack:///./src/components/data-management/duplicate-clients/client-duplicate-table.vue?9552","webpack:///./src/components/data-management/duplicate-clients/client-duplicate-table.vue?2bd0","webpack:///./src/components/data-management/duplicate-clients/client-duplicate-table.vue","webpack:///./src/components/data-management/duplicate-clients/client-merge-conflicts.vue?3be6","webpack:///./src/components/data-management/duplicate-clients/client-merge-conflicts.vue?2db3","webpack:///./src/components/data-management/duplicate-clients/client-merge-conflicts.vue?78c4","webpack:///./src/components/data-management/duplicate-clients/client-merge-conflicts.vue","webpack:///./src/components/data-management/duplicate-clients/duplicate-client-utilities.ts","webpack:///./src/components/data-management/duplicate-clients/link-partner-table.vue?631f","webpack:///./src/components/data-management/duplicate-clients/link-partner-table.vue?5785","webpack:///./src/components/data-management/duplicate-clients/link-partner-table.vue?8280","webpack:///./src/components/data-management/duplicate-clients/link-partner-table.vue","webpack:///./src/components/data-management/duplicate-clients/client-merge-dialog.vue?8c60","webpack:///./src/components/data-management/duplicate-clients/client-merge-dialog.vue?3e64","webpack:///./src/components/data-management/duplicate-clients/client-merge-dialog.vue","webpack:///./src/components/data-management/duplicate-clients/manage-duplicate-clients.vue?d2e8","webpack:///./src/components/data-management/duplicate-clients/manage-duplicate-clients.vue?142d","webpack:///./src/components/data-management/duplicate-clients/manage-duplicate-clients.vue","webpack:///./src/components/data/data-import/data-imports.vue?0814","webpack:///./src/components/data/data-import/add-data-import-dialog.vue?7f0b","webpack:///./src/components/data/data-import/add-data-import-dialog.vue?285e","webpack:///./src/components/data/data-import/add-data-import-dialog.vue?0162","webpack:///./src/components/data/data-import/add-data-import-dialog.vue","webpack:///./src/components/data/data-import/data-imports-table.vue?5b06","webpack:///./src/components/data/data-import/data-imports-table.vue?e5f6","webpack:///./src/components/data/data-import/data-imports-table.vue?f628","webpack:///./src/components/data/data-import/data-imports-table.vue","webpack:///./src/components/data/data-import/view-data-import-dialog.vue?95e5","webpack:///./src/components/data/data-import/view-data-import-dialog.vue?dbbf","webpack:///./src/components/data/data-import/view-data-import-dialog.vue?36f4","webpack:///./src/components/data/data-import/view-data-import-dialog.vue","webpack:///./src/components/data/data-import/data-imports.vue?444b","webpack:///./src/components/data/data-import/data-imports.vue?01d9","webpack:///./src/components/data/data-import/data-imports.vue","webpack:///./src/components/exception-reports/exception-reports.vue?4623","webpack:///./src/components/exception-reports/blank-data-fields-post-call.vue?58a5","webpack:///./src/api/exception-reports.ts","webpack:///./src/components/exception-reports/blank-data-fields-post-call-table.vue?4450","webpack:///./src/components/exception-reports/blank-data-fields-post-call-table.vue?6775","webpack:///./src/components/exception-reports/blank-data-fields-post-call-table.vue?b144","webpack:///./src/components/exception-reports/blank-data-fields-post-call-table.vue","webpack:///./src/components/exception-reports/blank-data-fields-post-call.vue?ad03","webpack:///./src/components/exception-reports/blank-data-fields-post-call.vue?4e5f","webpack:///./src/components/exception-reports/blank-data-fields-post-call.vue","webpack:///./src/components/exception-reports/callbacks-overdue.vue?4670","webpack:///./src/components/exception-reports/callbacks-overdue-table.vue?4575","webpack:///./src/components/exception-reports/callbacks-overdue-table.vue?4ff9","webpack:///./src/components/exception-reports/callbacks-overdue-table.vue?6d14","webpack:///./src/components/exception-reports/callbacks-overdue-table.vue","webpack:///./src/components/exception-reports/callbacks-overdue.vue?beb8","webpack:///./src/components/exception-reports/callbacks-overdue.vue?d679","webpack:///./src/components/exception-reports/callbacks-overdue.vue","webpack:///./src/components/exception-reports/cancellation-reasons.vue?0aa8","webpack:///./src/components/exception-reports/cancellation-reasons-table.vue?6b83","webpack:///./src/components/exception-reports/cancellation-reasons-table.vue?9ffb","webpack:///./src/components/exception-reports/cancellation-reasons-table.vue?871e","webpack:///./src/components/exception-reports/cancellation-reasons-table.vue","webpack:///./src/components/exception-reports/cancellation-reasons.vue?483a","webpack:///./src/components/exception-reports/cancellation-reasons.vue?4ffb","webpack:///./src/components/exception-reports/cancellation-reasons.vue","webpack:///./src/components/exception-reports/clients-considering-options.vue?5e66","webpack:///./src/components/exception-reports/clients-considering-options-table.vue?b189","webpack:///./src/components/exception-reports/clients-considering-options-table.vue?1f20","webpack:///./src/components/exception-reports/clients-considering-options-table.vue?cb71","webpack:///./src/components/exception-reports/clients-considering-options-table.vue","webpack:///./src/components/exception-reports/clients-considering-options.vue?2ff4","webpack:///./src/components/exception-reports/clients-considering-options.vue?22ab","webpack:///./src/components/exception-reports/clients-considering-options.vue","webpack:///./src/components/exception-reports/instructed-cleared-variances.vue?f4c0","webpack:///./src/components/exception-reports/instructed-cleared-variances-table.vue?115d","webpack:///./src/components/exception-reports/instructed-cleared-variances-table.vue?c65c","webpack:///./src/components/exception-reports/instructed-cleared-variances-table.vue?486e","webpack:///./src/components/exception-reports/instructed-cleared-variances-table.vue","webpack:///./src/components/exception-reports/instructed-cleared-variances.vue?dbe6","webpack:///./src/components/exception-reports/instructed-cleared-variances.vue?c045","webpack:///./src/components/exception-reports/instructed-cleared-variances.vue","webpack:///./src/components/exception-reports/monitor-appointment-bookings.vue?418b","webpack:///./src/components/exception-reports/monitor-appointment-bookings-table.vue?ad60","webpack:///./src/components/exception-reports/monitor-appointment-bookings-table.vue?d8c9","webpack:///./src/components/exception-reports/monitor-appointment-bookings-table.vue?0281","webpack:///./src/components/exception-reports/monitor-appointment-bookings-table.vue","webpack:///./src/components/exception-reports/monitor-appointment-bookings.vue?90dc","webpack:///./src/components/exception-reports/monitor-appointment-bookings.vue?bb32","webpack:///./src/components/exception-reports/monitor-appointment-bookings.vue","webpack:///./src/components/exception-reports/no-longer-proceeding-clients.vue?11ce","webpack:///./src/components/exception-reports/no-longer-proceeding-clients-table.vue?cea2","webpack:///./src/components/exception-reports/no-longer-proceeding-clients-table.vue?3409","webpack:///./src/components/exception-reports/no-longer-proceeding-clients-table.vue?03b9","webpack:///./src/components/exception-reports/no-longer-proceeding-clients-table.vue","webpack:///./src/components/exception-reports/no-longer-proceeding-clients.vue?459b","webpack:///./src/components/exception-reports/no-longer-proceeding-clients.vue?d04d","webpack:///./src/components/exception-reports/no-longer-proceeding-clients.vue","webpack:///./src/components/exception-reports/non-instruction-reasons.vue?2c40","webpack:///./src/components/exception-reports/non-instruction-reasons-table.vue?fb58","webpack:///./src/components/exception-reports/non-instruction-reasons-table.vue?8112","webpack:///./src/components/exception-reports/non-instruction-reasons-table.vue?bc01","webpack:///./src/components/exception-reports/non-instruction-reasons-table.vue","webpack:///./src/components/exception-reports/non-instruction-reasons.vue?53fe","webpack:///./src/components/exception-reports/non-instruction-reasons.vue?1f0c","webpack:///./src/components/exception-reports/non-instruction-reasons.vue","webpack:///./src/components/exception-reports/outstanding-appointment-outcomes.vue?0063","webpack:///./src/components/exception-reports/outstanding-appointment-outcomes-table.vue?531b","webpack:///./src/components/exception-reports/outstanding-appointment-outcomes-table.vue?19bd","webpack:///./src/components/exception-reports/outstanding-appointment-outcomes-table.vue?709a","webpack:///./src/components/exception-reports/outstanding-appointment-outcomes-table.vue","webpack:///./src/components/exception-reports/outstanding-appointment-outcomes.vue?d3bd","webpack:///./src/components/exception-reports/outstanding-appointment-outcomes.vue?9b69","webpack:///./src/components/exception-reports/outstanding-appointment-outcomes.vue","webpack:///./src/components/exception-reports/outstanding-payments.vue?eda8","webpack:///./src/components/exception-reports/outstanding-payments-table.vue?7a7f","webpack:///./src/components/exception-reports/outstanding-payments-table.vue?638c","webpack:///./src/components/exception-reports/outstanding-payments-table.vue?59e1","webpack:///./src/components/exception-reports/outstanding-payments-table.vue","webpack:///./src/components/exception-reports/outstanding-payments.vue?0e84","webpack:///./src/components/exception-reports/outstanding-payments.vue?ff32","webpack:///./src/components/exception-reports/outstanding-payments.vue","webpack:///./src/components/exception-reports/outstanding-signings.vue?158b","webpack:///./src/components/exception-reports/outstanding-signings-table.vue?47c5","webpack:///./src/components/exception-reports/outstanding-signings-table.vue?6705","webpack:///./src/components/exception-reports/outstanding-signings-table.vue?7d40","webpack:///./src/components/exception-reports/outstanding-signings-table.vue","webpack:///./src/components/exception-reports/outstanding-signings.vue?1b63","webpack:///./src/components/exception-reports/outstanding-signings.vue?5cd1","webpack:///./src/components/exception-reports/outstanding-signings.vue","webpack:///./src/components/exception-reports/tasks-overdue.vue?118e","webpack:///./src/components/exception-reports/tasks-overdue-table.vue?db84","webpack:///./src/components/exception-reports/tasks-overdue-table.vue?4a5c","webpack:///./src/components/exception-reports/tasks-overdue-table.vue?0b35","webpack:///./src/components/exception-reports/tasks-overdue-table.vue","webpack:///./src/components/exception-reports/tasks-overdue.vue?ae64","webpack:///./src/components/exception-reports/tasks-overdue.vue?0894","webpack:///./src/components/exception-reports/tasks-overdue.vue","webpack:///./src/components/exception-reports/tasks-unassigned.vue?eadc","webpack:///./src/components/exception-reports/tasks-unassigned-table.vue?bac9","webpack:///./src/components/exception-reports/tasks-unassigned-table.vue?4d3f","webpack:///./src/components/exception-reports/tasks-unassigned-table.vue?5542","webpack:///./src/components/exception-reports/tasks-unassigned-table.vue","webpack:///./src/components/exception-reports/tasks-unassigned.vue?90eb","webpack:///./src/components/exception-reports/tasks-unassigned.vue?09f6","webpack:///./src/components/exception-reports/tasks-unassigned.vue","webpack:///./src/components/exception-reports/user-report.vue?bfe7","webpack:///./src/components/exception-reports/user-report-table.vue?f6b7","webpack:///./src/components/exception-reports/user-report-table.vue?cb42","webpack:///./src/components/exception-reports/user-report-table.vue?f38b","webpack:///./src/components/exception-reports/user-report-table.vue","webpack:///./src/components/exception-reports/user-report.vue?e81f","webpack:///./src/components/exception-reports/user-report.vue?7d97","webpack:///./src/components/exception-reports/user-report.vue","webpack:///./src/components/exception-reports/exception-reports.vue?bc69","webpack:///./src/components/exception-reports/exception-reports.vue?1631","webpack:///./src/components/exception-reports/exception-reports.vue","webpack:///./src/components/home/dashboard.vue?f565","webpack:///./src/components/home/appointments.vue?f560","webpack:///./src/components/home/appointments.vue?c6de","webpack:///./src/components/home/appointments.vue?e0b1","webpack:///./src/components/home/appointments.vue","webpack:///./src/components/home/customer-experience-dashboard.vue?e4cf","webpack:///./src/components/home/customer-experience-appointment-dashboard.vue?e728","webpack:///./src/api/dashboard.ts","webpack:///./src/api/responses/dashboard/customer-experience-appointment-dashboard-response.ts","webpack:///./src/components/home/customer-experience-appointment-dashboard.vue?1695","webpack:///./src/components/home/customer-experience-appointment-dashboard.vue?14a6","webpack:///./src/components/home/customer-experience-appointment-dashboard.vue","webpack:///./src/components/home/customer-experience-call-dashboard.vue?b26d","webpack:///./src/api/responses/dashboard/customer-experience-call-dashboard-response.ts","webpack:///./src/components/home/customer-experience-call-dashboard.vue?7565","webpack:///./src/components/home/customer-experience-call-dashboard.vue?87ca","webpack:///./src/components/home/customer-experience-call-dashboard.vue","webpack:///./src/components/home/task-dashboard.vue?f9f0","webpack:///./src/api/responses/dashboard/task-dashboard-response.ts","webpack:///./src/components/home/task-dashboard.vue?23cf","webpack:///./src/components/home/task-dashboard.vue?9eac","webpack:///./src/components/home/task-dashboard.vue","webpack:///./src/components/toggle-button.vue?aca0","webpack:///./src/components/toggle-button.vue?a22d","webpack:///./src/components/toggle-button.vue?e277","webpack:///./src/components/toggle-button.vue","webpack:///./src/components/home/customer-experience-dashboard.vue?ae47","webpack:///./src/components/home/customer-experience-dashboard.vue?ed41","webpack:///./src/components/home/customer-experience-dashboard.vue","webpack:///./src/components/home/data-creation-dashboard.vue?3bf1","webpack:///./src/api/responses/dashboard/data-creation-dashboard-response.ts","webpack:///./src/components/home/data-creation-dashboard.vue?f398","webpack:///./src/components/home/data-creation-dashboard.vue?f3d2","webpack:///./src/components/home/data-creation-dashboard.vue","webpack:///./src/components/home/partner-practice-dashboard.vue?4da0","webpack:///./src/api/responses/dashboard/partner-practice-dashboard-response.ts","webpack:///./src/components/home/partner-practice-dashboard.vue?6de1","webpack:///./src/components/home/partner-practice-dashboard.vue?be3c","webpack:///./src/components/home/partner-practice-dashboard.vue","webpack:///./src/components/home/dashboard.vue?48ca","webpack:///./src/components/home/dashboard.vue?88b1","webpack:///./src/components/home/dashboard.vue","webpack:///./src/components/settings/partner-practices/partner-practices.vue?db22","webpack:///./src/components/settings/partner-practices/add-partner-practice-dialog.vue?e948","webpack:///./src/components/settings/partner-practices/partner-practice-address-list.vue?a04c","webpack:///./src/components/settings/partner-practices/partner-practice-address-list.vue?0485","webpack:///./src/components/settings/partner-practices/partner-practice-address-list.vue?a7c0","webpack:///./src/components/settings/partner-practices/partner-practice-address-list.vue","webpack:///./src/components/settings/partner-practices/partner-practice-details.vue?4412","webpack:///./src/components/settings/partner-practices/partner-practice-details.vue?be56","webpack:///./src/components/settings/partner-practices/partner-practice-details.vue?5842","webpack:///./src/components/settings/partner-practices/partner-practice-details.vue","webpack:///./src/components/settings/partner-practices/partner-practice-email-list.vue?d35c","webpack:///./src/components/settings/partner-practices/partner-practice-email-list.vue?536f","webpack:///./src/components/settings/partner-practices/partner-practice-email-list.vue?a89c","webpack:///./src/components/settings/partner-practices/partner-practice-email-list.vue","webpack:///./src/components/settings/partner-practices/partner-practice-email.vue?85cc","webpack:///./src/components/settings/partner-practices/partner-practice-email.vue?c534","webpack:///./src/components/settings/partner-practices/partner-practice-email.vue?3ae8","webpack:///./src/components/settings/partner-practices/partner-practice-email.vue","webpack:///./src/components/settings/partner-practices/partner-practice-original-sources.vue?a783","webpack:///./src/components/settings/partner-practices/partner-practice-original-sources.vue?ff92","webpack:///./src/components/settings/partner-practices/partner-practice-original-sources.vue?0edf","webpack:///./src/components/settings/partner-practices/partner-practice-original-sources.vue","webpack:///./src/shared/partner-practice.ts","webpack:///./src/shared/partner-practice-address.ts","webpack:///./src/shared/partner-practice-email-attachment.ts","webpack:///./src/components/settings/partner-practices/add-partner-practice-dialog.vue?d1ed","webpack:///./src/components/settings/partner-practices/add-partner-practice-dialog.vue?aca5","webpack:///./src/components/settings/partner-practices/add-partner-practice-dialog.vue","webpack:///./src/components/settings/partner-practices/edit-partner-practice-dialog.vue?05fa","webpack:///./src/components/settings/users/user-details.vue?ca7e","webpack:///./src/components/settings/users/user-details.vue?0142","webpack:///./src/components/settings/users/user-details.vue?66cd","webpack:///./src/components/settings/users/user-details.vue","webpack:///./src/components/settings/users/user-roles.vue?fc9e","webpack:///./src/components/settings/users/user-roles.vue?2b92","webpack:///./src/components/settings/users/user-roles.vue?982b","webpack:///./src/components/settings/users/user-roles.vue","webpack:///./src/components/settings/users/user-targets.vue?f5dc","webpack:///./src/shared/user-target.ts","webpack:///./src/components/settings/users/user-targets.vue?7136","webpack:///./src/components/settings/users/user-targets.vue?c799","webpack:///./src/components/settings/users/user-targets.vue","webpack:///./src/components/settings/users/users-table.vue?c434","webpack:///./src/components/settings/users/users-table.vue?451a","webpack:///./src/components/settings/users/users-table.vue?0b1d","webpack:///./src/components/settings/users/users-table.vue","webpack:///./src/shared/user.ts","webpack:///./src/components/settings/partner-practices/edit-partner-practice-dialog.vue?1d95","webpack:///./src/components/settings/partner-practices/edit-partner-practice-dialog.vue?74b8","webpack:///./src/components/settings/partner-practices/edit-partner-practice-dialog.vue","webpack:///./src/components/settings/partner-practices/partner-practices-table.vue?cf70","webpack:///./src/components/settings/partner-practices/partner-practices-table.vue?f4f4","webpack:///./src/components/settings/partner-practices/partner-practices-table.vue?f2b8","webpack:///./src/components/settings/partner-practices/partner-practices-table.vue","webpack:///./src/components/settings/partner-practices/partner-practices.vue?84fc","webpack:///./src/components/settings/partner-practices/partner-practices.vue?2d29","webpack:///./src/components/settings/partner-practices/partner-practices.vue","webpack:///./src/components/settings/system-settings/system-settings.vue?4f55","webpack:///./src/components/settings/system-settings/edit-system-setting-dialog.vue?98ef","webpack:///./src/components/settings/system-settings/edit-system-setting-dialog.vue?c9e2","webpack:///./src/components/settings/system-settings/edit-system-setting-dialog.vue?0f43","webpack:///./src/components/settings/system-settings/edit-system-setting-dialog.vue","webpack:///./src/components/settings/system-settings/system-settings.vue?e02c","webpack:///./src/components/settings/system-settings/system-settings.vue?c967","webpack:///./src/components/settings/system-settings/system-settings.vue","webpack:///./src/components/settings/types/types.vue?df36","webpack:///./src/components/settings/types/add-type-dialog.vue?066b","webpack:///./src/components/settings/types/add-type-dialog.vue?c8ff","webpack:///./src/components/settings/types/add-type-dialog.vue?c34b","webpack:///./src/components/settings/types/add-type-dialog.vue","webpack:///./src/components/settings/types/edit-type-dialog.vue?883c","webpack:///./src/components/settings/types/edit-type-dialog.vue?6333","webpack:///./src/components/settings/types/edit-type-dialog.vue?8e87","webpack:///./src/components/settings/types/edit-type-dialog.vue","webpack:///./src/components/settings/types/types.vue?e1ea","webpack:///./src/components/settings/types/types.vue?26ea","webpack:///./src/components/settings/types/types.vue","webpack:///./src/components/settings/users/users.vue?8e97","webpack:///./src/components/settings/users/add-user-dialog.vue?898d","webpack:///./src/components/settings/users/add-user-dialog.vue?0bfa","webpack:///./src/components/settings/users/add-user-dialog.vue?aa5c","webpack:///./src/components/settings/users/add-user-dialog.vue","webpack:///./src/components/settings/users/assign-user-to-partner-practice-dialog.vue?0bef","webpack:///./src/components/settings/users/assign-user-to-partner-practice-dialog.vue?e255","webpack:///./src/components/settings/users/assign-user-to-partner-practice-dialog.vue?ff3f","webpack:///./src/components/settings/users/assign-user-to-partner-practice-dialog.vue","webpack:///./src/components/settings/users/edit-user-dialog.vue?51ab","webpack:///./src/components/settings/users/edit-user-dialog.vue?1b81","webpack:///./src/components/settings/users/edit-user-dialog.vue?49c3","webpack:///./src/components/settings/users/edit-user-dialog.vue","webpack:///./src/components/settings/users/users.vue?a783","webpack:///./src/components/settings/users/users.vue?eb79","webpack:///./src/components/settings/users/users.vue","webpack:///./src/components/target-tracker/target-tracker.vue?504a","webpack:///./src/api/target-tracker.ts","webpack:///./src/components/target-tracker/target-tracker-advisor-tab.vue?d291","webpack:///./src/components/target-tracker/target-tracker-assign-advisor-dialog.vue?948d","webpack:///./src/components/target-tracker/target-tracker-assign-advisor-dialog.vue?f453","webpack:///./src/components/target-tracker/target-tracker-assign-advisor-dialog.vue?571c","webpack:///./src/components/target-tracker/target-tracker-assign-advisor-dialog.vue","webpack:///./src/components/target-tracker/target-tracker-detail-table.vue?7169","webpack:///./src/components/target-tracker/target-tracker-detail-table.vue?068e","webpack:///./src/components/target-tracker/target-tracker-detail-table.vue?8aa5","webpack:///./src/components/target-tracker/target-tracker-detail-table.vue","webpack:///./src/components/target-tracker/target-tracker-edit-payment-dialog.vue?f0c5","webpack:///./src/components/target-tracker/target-tracker-edit-payment-dialog.vue?f517","webpack:///./src/shared/target-tracker-appointment-payment-type.ts","webpack:///./src/components/target-tracker/target-tracker-edit-payment-dialog.vue?efc4","webpack:///./src/components/target-tracker/target-tracker-edit-payment-dialog.vue","webpack:///./src/components/target-tracker/target-tracker-advisor-tab.vue?6247","webpack:///./src/components/target-tracker/target-tracker-advisor-tab.vue?4f96","webpack:///./src/components/target-tracker/target-tracker-advisor-tab.vue","webpack:///./src/components/target-tracker/target-tracker-filters.vue?5199","webpack:///./src/components/target-tracker/target-tracker-filters.vue?c435","webpack:///./src/components/target-tracker/target-tracker-filters.vue?d2dc","webpack:///./src/components/target-tracker/target-tracker-filters.vue","webpack:///./src/components/target-tracker/target-tracker-overview-table.vue?c0ce","webpack:///./src/components/target-tracker/target-tracker-overview-table.vue?b656","webpack:///./src/components/target-tracker/target-tracker-overview-table.vue?4e06","webpack:///./src/components/target-tracker/target-tracker-overview-table.vue","webpack:///./src/components/target-tracker/target-tracker.vue?e00c","webpack:///./src/components/target-tracker/target-tracker.vue?0f76","webpack:///./src/components/target-tracker/target-tracker.vue","webpack:///./src/components/tasks/task-list/tasks.vue?dc65","webpack:///./src/api/task.ts","webpack:///./src/components/tasks/task-list/assign-task-dialog.vue?9ecd","webpack:///./src/components/tasks/task-list/assign-task-dialog.vue?99f7","webpack:///./src/components/tasks/task-list/assign-task-dialog.vue?c961","webpack:///./src/components/tasks/task-list/assign-task-dialog.vue","webpack:///./src/components/tasks/task-list/complete-task-dialog.vue?2306","webpack:///./src/shared/task-item-outcome.ts","webpack:///./src/components/tasks/task-list/complete-task-dialog.vue?bf03","webpack:///./src/components/tasks/task-list/complete-task-dialog.vue?aa32","webpack:///./src/components/tasks/task-list/complete-task-dialog.vue","webpack:///./src/components/tasks/task-list/edit-task-dialog.vue?b432","webpack:///./src/components/tasks/task-list/edit-task-dialog.vue?5bec","webpack:///./src/components/tasks/task-list/edit-task-dialog.vue?b2f5","webpack:///./src/components/tasks/task-list/edit-task-dialog.vue","webpack:///./src/components/tasks/task-list/tasks-table.vue?7629","webpack:///./src/components/tasks/task-list/tasks-table.vue?b4c1","webpack:///./src/components/tasks/task-list/tasks-table.vue?0d0c","webpack:///./src/components/tasks/task-list/tasks-table.vue","webpack:///./src/components/tasks/task-list/tasks.vue?39ff","webpack:///./src/components/tasks/task-list/tasks.vue?9617","webpack:///./src/components/tasks/task-list/tasks.vue","webpack:///./src/views/appointments.vue?9cdd","webpack:///./src/views/appointments.vue?2a83","webpack:///./src/views/appointments.vue?d47e","webpack:///./src/views/appointments.vue","webpack:///./src/views/call-management.vue?e734","webpack:///./src/views/call-management.vue?7a5a","webpack:///./src/views/call-management.vue?2697","webpack:///./src/views/call-management.vue","webpack:///./src/views/calls.vue?591c","webpack:///./src/views/calls.vue?ecc9","webpack:///./src/views/calls.vue?bf54","webpack:///./src/views/calls.vue","webpack:///./src/views/clients.vue?4fed","webpack:///./src/views/clients.vue?9c98","webpack:///./src/views/clients.vue?483e","webpack:///./src/views/clients.vue","webpack:///./src/views/data.vue?7105","webpack:///./src/views/data.vue?d121","webpack:///./src/views/data.vue?a487","webpack:///./src/views/data.vue","webpack:///./src/views/forbidden.vue?439b","webpack:///./src/layouts/basic.vue?a114","webpack:///./src/layouts/basic.vue?9387","webpack:///./src/layouts/basic.vue?629c","webpack:///./src/layouts/basic.vue","webpack:///./src/views/forbidden.vue?f980","webpack:///./src/views/forbidden.vue?224f","webpack:///./src/views/forbidden.vue","webpack:///./src/views/home.vue?3629","webpack:///./src/views/home.vue?9fed","webpack:///./src/views/home.vue?cbbe","webpack:///./src/views/home.vue","webpack:///./src/views/not-found.vue?f2cc","webpack:///./src/views/not-found.vue?ec7b","webpack:///./src/views/not-found.vue?0580","webpack:///./src/views/not-found.vue","webpack:///./src/views/profile.vue?a6ca","webpack:///./src/components/user/profile.vue?3612","webpack:///./src/components/user/profile.vue?a16e","webpack:///./src/components/user/profile.vue?b781","webpack:///./src/components/user/profile.vue","webpack:///./src/views/profile.vue?ae2a","webpack:///./src/views/profile.vue?8098","webpack:///./src/views/profile.vue","webpack:///./src/views/settings.vue?f2e3","webpack:///./src/views/settings.vue?5aad","webpack:///./src/views/settings.vue?c1f5","webpack:///./src/views/settings.vue","webpack:///./src/views/target-tracker.vue?2030","webpack:///./src/views/target-tracker.vue?2856","webpack:///./src/views/target-tracker.vue?fc0f","webpack:///./src/views/target-tracker.vue","webpack:///./src/views/tasks.vue?b975","webpack:///./src/views/tasks.vue?0329","webpack:///./src/views/tasks.vue?f4ca","webpack:///./src/views/tasks.vue","webpack:///./src/routes.ts","webpack:///./src/router.ts","webpack:///./src/services/notifications/event-handlers/call-created.ts","webpack:///./src/services/notifications/event-handlers/call-ended.ts","webpack:///./src/services/notifications/event-handlers/call-removed.ts","webpack:///./src/services/notifications/event-handlers/call-started.ts","webpack:///./src/services/notifications/event-handlers/callback-created.ts","webpack:///./src/services/notifications/event-handlers/client-duplicates-updated.ts","webpack:///./src/services/notifications/event-handlers/data-import-file-status-updated.ts","webpack:///./src/services/notifications/event-handlers/system-setting-value-changed.ts","webpack:///./src/services/notifications/event-handlers/user-archived.ts","webpack:///./src/services/notifications/event-handlers/user-assigned-to-call.ts","webpack:///./src/services/notifications/event-handlers/user-assigned-to-partner-practice.ts","webpack:///./src/services/notifications/event-handlers/user-email-changed.ts","webpack:///./src/services/notifications/event-handlers/user-first-name-changed.ts","webpack:///./src/services/notifications/event-handlers/user-last-name-changed.ts","webpack:///./src/services/notifications/event-handlers/user-removed-from-partner-practice.ts","webpack:///./src/services/notifications/event-handlers/user-role-assigned.ts","webpack:///./src/services/notifications/event-handlers/user-role-removed.ts","webpack:///./src/services/notifications/event-handlers/user-unassigned-from-call.ts","webpack:///./src/services/notifications/websocket-manager.ts","webpack:///./src/app.vue?44f2","webpack:///./src/app.vue?3749","webpack:///./src/app.vue","webpack:///./src/components/appointment-product-details/appointment-product-details.vue?ce7b","webpack:///./src/shared/appointments/appointment-product-payment-details.ts","webpack:///./src/components/appointment-product-details/appointment-product-details.vue?c678","webpack:///./src/components/appointment-product-details/appointment-product-details.vue?e524","webpack:///./src/components/appointment-product-details/appointment-product-details.vue","webpack:///./src/components/appointment-product-details/index.ts","webpack:///./src/components/confirmation-dialog/confirmation-dialog.vue?adcd","webpack:///./src/components/confirmation-dialog/confirmation-dialog.vue?f7e9","webpack:///./src/components/confirmation-dialog/confirmation-dialog.vue?ca0a","webpack:///./src/components/confirmation-dialog/confirmation-dialog.vue","webpack:///./src/components/confirmation-dialog/index.ts","webpack:///./src/components/confirmation-dialog-programmatic/confirmation-dialog-programmatic.vue?3539","webpack:///./src/components/confirmation-dialog-programmatic/confirmation-dialog-programmatic.vue?2bbd","webpack:///./src/components/confirmation-dialog-programmatic/confirmation-dialog-programmatic.vue?36a8","webpack:///./src/components/confirmation-dialog-programmatic/confirmation-dialog-programmatic.vue","webpack:///./src/components/confirmation-dialog-programmatic/index.ts","webpack:///./src/components/date-picker/components/Datepicker.vue?53cf","webpack:///./src/components/date-picker/locale/Language.js","webpack:///./src/components/date-picker/locale/translations/en.js","webpack:///./src/components/date-picker/utils/DateUtils.js","webpack:///./src/components/date-picker/components/DateInput.vue?6e49","webpack:///src/components/date-picker/components/DateInput.vue","webpack:///./src/components/date-picker/components/DateInput.vue?9af3","webpack:///./src/components/date-picker/components/DateInput.vue","webpack:///./src/components/date-picker/components/PickerDay.vue?76e5","webpack:///src/components/date-picker/components/PickerDay.vue","webpack:///./src/components/date-picker/components/PickerDay.vue?e85c","webpack:///./src/components/date-picker/components/PickerDay.vue","webpack:///./src/components/date-picker/components/PickerMonth.vue?a1c0","webpack:///src/components/date-picker/components/PickerMonth.vue","webpack:///./src/components/date-picker/components/PickerMonth.vue?2265","webpack:///./src/components/date-picker/components/PickerMonth.vue","webpack:///./src/components/date-picker/components/PickerYear.vue?4a13","webpack:///src/components/date-picker/components/PickerYear.vue","webpack:///./src/components/date-picker/components/PickerYear.vue?bdb3","webpack:///./src/components/date-picker/components/PickerYear.vue","webpack:///src/components/date-picker/components/Datepicker.vue","webpack:///./src/components/date-picker/components/Datepicker.vue?66fe","webpack:///./src/components/date-picker/components/Datepicker.vue","webpack:///./src/components/date-picker/index.ts","webpack:///./src/components/plugins/client-merge-detail-with-lookup/client-merge-detail-with-lookup.vue?1e58","webpack:///./src/components/plugins/client-merge-detail-with-lookup/client-merge-detail-with-lookup.vue?61a1","webpack:///./src/components/plugins/client-merge-detail-with-lookup/client-merge-detail-with-lookup.vue?a30c","webpack:///./src/components/plugins/client-merge-detail-with-lookup/client-merge-detail-with-lookup.vue","webpack:///./src/components/plugins/client-merge-detail-with-lookup/index.ts","webpack:///./src/components/plugins/national-insurance-number-input/national-insurance-number-input.vue?0f29","webpack:///./src/components/plugins/national-insurance-number-input/national-insurance-number-input.vue?5f1e","webpack:///./src/components/plugins/national-insurance-number-input/national-insurance-number-input.vue?cac3","webpack:///./src/components/plugins/national-insurance-number-input/national-insurance-number-input.vue","webpack:///./src/components/plugins/national-insurance-number-input/index.ts","webpack:///./src/components/plugins/original-source-select/original-source-select.vue?1cb8","webpack:///./src/components/plugins/original-source-select/original-source-select.vue?63cd","webpack:///./src/components/plugins/original-source-select/original-source-select.vue?f976","webpack:///./src/components/plugins/original-source-select/original-source-select.vue","webpack:///./src/components/plugins/original-source-select/index.ts","webpack:///./src/components/plugins/partner-practice-select/partner-practice-select.vue?6815","webpack:///./src/components/plugins/partner-practice-select/partner-practice-select.vue?56bd","webpack:///./src/components/plugins/partner-practice-select/partner-practice-select.vue?7066","webpack:///./src/components/plugins/partner-practice-select/partner-practice-select.vue","webpack:///./src/components/plugins/partner-practice-select/index.ts","webpack:///./src/components/plugins/tri-state-input/tri-state-input.vue?db01","webpack:///./src/components/plugins/tri-state-input/tri-state-input.vue?4478","webpack:///./src/components/plugins/tri-state-input/tri-state-input.vue?02c8","webpack:///./src/components/plugins/tri-state-input/tri-state-input.vue","webpack:///./src/components/plugins/tri-state-input/index.ts","webpack:///./src/components/plugins/user-select/user-select.vue?646b","webpack:///./src/components/plugins/user-select/user-select.vue?4094","webpack:///./src/components/plugins/user-select/user-select.vue?277d","webpack:///./src/components/plugins/user-select/user-select.vue","webpack:///./src/components/plugins/user-select/index.ts","webpack:///./src/components/utils/dom-observer.ts","webpack:///./src/components/stepper/stepper.vue?1e6d","webpack:///./src/components/stepper/stepper.vue","webpack:///./src/components/stepper/stepper.vue?cc3a","webpack:///./src/components/stepper/step.vue?bb6e","webpack:///./src/components/stepper/step.vue","webpack:///./src/components/stepper/step.vue?f7bf","webpack:///./src/components/stepper/index.ts","webpack:///./src/components/tabs/tab-button-helper.vue?3d20","webpack:///./src/components/tabs/tab-button-helper.vue","webpack:///./src/components/tabs/tab-button-helper.vue?98be","webpack:///./src/components/tabs/tabs.vue?9dab","webpack:///./src/components/tabs/tabs.vue","webpack:///./src/components/tabs/tabs.vue?b7b2","webpack:///./src/components/tabs/tab.vue?34d9","webpack:///./src/components/tabs/tab.vue","webpack:///./src/components/tabs/tab.vue?309b","webpack:///./src/components/tabs/index.ts","webpack:///./src/components/index.ts","webpack:///./src/filters.ts","webpack:///./src/main.ts","webpack:///./src/components/home/task-dashboard.vue?1f9d","webpack:///./src/assets/img/concerto-logo.png","webpack:///./src/components/client/view-client/log-interaction-dialog.vue?d258"],"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","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","_vm","this","_h","$createElement","_c","_self","attrs","isLoading","on","$event","_v","staticRenderFns","_m","staticClass","directives","rawName","expression","class","errors","has","exportItems","model","callback","$$v","selectedExportDataType","_s","first","partnerPractices","selectedPartnerPracticeId","downloadAsync","userManager","events","addUserLoaded","user","addUserSignedOut","addSilentRenewError","error","defaultResponseInterceptor","response","authResponseFailureInterceptor","status","config","__isRetryRequest","signinSilent","applyAuthenticationHeader","getUser","headers","Authorization","access_token","message","Error","a","interceptors","request","use","url","cancellationToken","buildUrl","buildConfig","throwIfRequestWasUnsuccessful","responseType","post","location","startsWith","replace","formData","FormData","append","put","patch","delete","baseUrl","host","endsWith","cancelToken","undefined","params","validateStatus","withCredentials","hasError","readyState","partnerPracticeId","getFileAsync","onToggleSidebar","_e","_t","onBack","routes","_l","route","index","meta","breadcrumbTitle","title","Array","generateBreadcrumb","$router","back","$route","matched","filter","ignoreBreadcrumb","map","path","home","find","unshift","deep","component","onToggleMenu","modifiers","onDownloadUserGuideAsync","userInitials","onLogout","firstName","lastName","email","role","_f","changePasswordUrl","ref","onLogoutConfirmedAsync","onCancel","showLogoutConfirmation","filename","animation","isFullPage","cancel","isActive","active","canCancel","close","$emit","event","keyCode","document","addEventListener","keyPress","removeEventListener","type","Boolean","default","String","Function","userModule","userGuideApi","getUserGuide","blob","Blob","link","createElement","rel","href","URL","createObjectURL","download","target","click","revokeObjectURL","signoutRedirect","alert","substr","Getter","components","loading","isInternalKeyStakeholder","isCustomerExperienceExecutiveTeamLeader","isCustomerExperienceExecutive","isDataCreationTeamLeader","isDataCreationExecutive","isProbateLegalAdvisor","showMyCallsRoute","showCallManagementRoute","isHeadOfCustomerExperienceTeam","showDataImportRoute","showDataExportsRoute","showExceptionReportsRoute","showManageDuplicateClientsRoute","isHeadOfDepartment","isDuplicateManager","showSidebar","navbar","sidebar","breadcrumb","partnerPracticesModule","exportApi","$validator","validateAll","isValid","isPartnerPracticeValid","getClientDataAsync","getAppointmentDataAsync","getCallDataAsync","getDataReportAsync","getDataCleanseExportAsync","$snackbar","open","$store","dispatch","items","text","layout","partnerPracticeFilter","domProps","indexOf","_k","loadAppointmentsAsync","composing","accountNumberFilter","clientFirstNameFilter","clientLastNameFilter","appointmentDatePeriodFilter","appointmentDateFromFilter","appointmentDateToFilter","legalAdvisorFilter","$$selectedVal","options","selected","val","_value","appointmentTypeFilter","multiple","id","locationTypeFilter","addressFilter","period","appointmentStatusFilter","appointmentOutcomeFilter","paymentStatusFilter","bookerRoleFilter","bookerFilter","originalSourceTypeFilter","clearFilters","appointments","showViewDialog","showCompletionDialog","showEditOutcomeDialog","showRebookDialog","showEditDialog","showDeleteAppointmentDialog","showDeleteOutcomeDialog","onDeleteAppointment","deleteAppointmentConfirmationDialogVisible","onDeleteOutcome","deleteOutcomeConfirmationDialogVisible","viewDialogVisible","selectedAppointment","onViewCancel","bookDialogVisible","selectedClient","isAppointmentRebook","isAppointmentEdit","onAppointmentBooked","onBookingCancel","completeDialogVisible","onCompleted","onCompletionCancel","editOutcomeDialogVisible","onOutcomeChanged","editOutcomeLegacyDialogVisible","filters","getAsync","postAsync","appointmentId","putAsync","appointmentOutcomeId","appointment","deleteAsync","InstructionType","LocationType","RoleName","accountNo","client","factFind","will","executors","guardians","powerOfAttorneys","additionalDocuments","deeds","partnerId","version","clientId","willId","note","scopedSlots","_u","fn","clients","isArchived","canEditAppointment","canRebookAppointment","canCreateOutcome","canEditOutcome","canDeleteAppointment","canDeleteOutcome","showDeleteAppointmentConfirmation","showDeleteOutcomeConfirmation","postFileAsync","emailAttachmentApi","fetchEmailAttachmentsAsync","context","getEmailAttachmentsAsync","commit","importEmailAttachmentAsync","file","emailAttachmentAsync","files","state","setFiles","namespaced","actions","getters","mutations","transition","enter","leave","position","action","actionText","parentTop","parentBottom","newContainer","container","newDuration","duration","timer","queue","childElementCount","clearTimeout","setTimeout","$destroy","$el","remove","parentNode","removeChild","shouldQueue","showNotice","correctParent","insertAdjacentElement","indefinite","querySelector","className","body","appendChild","classList","add","onAction","setupContainer","Number","validator","snackbarProgrammatic","defaultParam","propsData","assign","vm","Vue","snackbarComponent","extend","el","install","vue","callApi","loadMyCallsAsync","getMyCallsAsync","nextAvailableCall","callbacks","activeCalls","setNextAvailableCall","payload","setCallbacks","setActiveCalls","setEnvironment","environment","setVersion","environmentApi","loadAsync","fetchAsync","importApi","loadDataImportFilesAsync","store","getDataImportsAsync","resetDataImportFiles","total","setDataImportFileFilters","dataImportFiles","totalDataImportFiles","dataImportFileFilters","setDataImportFiles","page","pageSize","isConnected","partnerPractice","partnerPracticeApi","loadPartnerPracticesAsync","getPartnerPracticesAsync","partnerPracticesForCurrentUser","rootState","rootGetters","currentUser","partnerPracticeName","pp","partnerPracticeAddresses","addresses","partnerPracticeOriginalSourceTypes","clientOriginalSourceTypes","sort","b","originalSourceTypeIds","isSimpsonsSolicitors","simpsonsPartnerPractice","originalSourceTypeId","some","originalSourceTypes","partnersPartnerPractice","isValidForAcquisition","includes","setPartnerPractices","systemSettings","setting","api","loadSystemSettingsAsync","getSettingsAsync","updateSystemSettingAsync","systemSetting","updateSettingAsync","setSystemSettings","isOtherTextRequired","isNoLongerInterested","isAdditionalCommitments","isSickness","isProfessionalExecutor","isSat","isNotSat","isCancelled","isSigningPending","isSigningBooked","isBanked","isCleared","isPartPayment","isDebtor","isNoLongerProceeding","isWrittenOff","isComplete","isAdminOnly","isWill","isLpa","isLocationRequired","isInitialAppointment","isSigningAppointment","isClient","isLead","isBusinessWillClient","isDeceased","isAccountArchived","isFirstContact","isSecondContact","isThirdContact","isCallMadeOutcome","isCallReceivedOutcome","isLFTSYOutcome","isCallback","isAppointmentBooked","isAppointmentRebooked","isAppointmentConfirmed","isAppointmentCancelled","isWillVoid","isWillReleased","isDoNotContact","isAllowContact","isCallInTwoYears","isUnableToContact","isWrongNumber","isCallOutcomeRequired","isLetterTypeRequired","isLFTSY","isCallMade","isCallReceived","isExclusive","isUnknown","lowerCase","toLowerCase","upperCase","toUpperCase","replaceAccents","search","removeNonWord","camelCase","UserStatus","createTypeAsync","formattedType","item","updateTypeAsync","archiveTypeAsync","loadTypesAsync","getTypesAsync","types","additionalDocumentTypes","appointmentCancellationTypes","appointmentExecutorTypes","appointmentNoInstructionTypes","appointmentOutcomeTypes","appointmentPaymentStatusTypes","appointmentProductTypes","appointmentReasonTypes","appointmentTypes","clientRelationshipTypes","clientStatusTypes","clientTitleTypes","interactionLetterTypes","interactionOutcomeTypes","interactionTypes","powerOfAttorneyTypes","willTypes","loadAdditionalDocumentTypesAsync","getAdditionalDocumentTypesAsync","createAdditionalDocumentTypeAsync","updateAdditionalDocumentTypeAsync","archiveAdditionalDocumentTypeAsync","loadAppointmentCancellationTypesAsync","getAppointmentCancellationTypesAsync","createAppointmentCancellationTypeAsync","updateAppointmentCancellationTypeAsync","archiveAppointmentCancellationTypeAsync","loadAppointmentExecutorTypesAsync","getAppointmentExecutorTypesAsync","createAppointmentExecutorTypeAsync","updateAppointmentExecutorTypeAsync","archiveAppointmentExecutorTypeAsync","loadAppointmentReasonTypesAsync","getAppointmentReasonTypesAsync","createAppointmentReasonTypeAsync","updateAppointmentReasonTypeAsync","archiveAppointmentReasonTypeAsync","loadAppointmentNoInstructionTypesAsync","getAppointmentNoInstructionTypesAsync","createAppointmentNoInstructionTypeAsync","updateAppointmentNoInstructionTypeAsync","archiveAppointmentNoInstructionTypeAsync","loadAppointmentOutcomeTypesAsync","getAppointmentOutcomeTypesAsync","createAppointmentOutcomeTypeAsync","updateAppointmentOutcomeTypeAsync","archiveAppointmentOutcomeTypeAsync","loadAppointmentPaymentStatusTypesAsync","getAppointmentPaymentStatusTypesAsync","createAppointmentPaymentStatusTypeAsync","updateAppointmentPaymentStatusTypeAsync","archiveAppointmentPaymentStatusTypeAsync","loadAppointmentProductTypesAsync","getAppointmentProductTypesAsync","createAppointmentProductTypeAsync","updateAppointmentProductTypeAsync","archiveAppointmentProductTypeAsync","loadAppointmentTypesAsync","getAppointmentTypesAsync","createAppointmentTypeAsync","updateAppointmentTypeAsync","archiveAppointmentTypeAsync","loadClientOriginalSourceTypesAsync","getClientOriginalSourceTypesAsync","createClientOriginalSourceTypeAsync","updateClientOriginalSourceTypeAsync","archiveClientOriginalSourceTypeAsync","loadClientRelationshipTypesAsync","getClientRelationshipTypesAsync","createClientRelationshipTypeAsync","updateClientRelationshipTypeAsync","archiveClientRelationshipTypeAsync","loadClientStatusTypesAsync","getClientStatusTypesAsync","createClientStatusTypeAsync","updateClientStatusTypeAsync","archiveClientStatusTypeAsync","loadClientTitleTypesAsync","getClientTitleTypesAsync","createClientTitleTypeAsync","updateClientTitleTypeAsync","archiveClientTitleTypeAsync","loadInteractionLetterTypesAsync","getInteractionLetterTypesAsync","createInteractionLetterTypeAsync","updateInteractionLetterTypeAsync","archiveInteractionLetterTypeAsync","loadInteractionOutcomeTypesAsync","getInteractionOutcomeTypesAsync","createInteractionOutcomeTypeAsync","updateInteractionOutcomeTypeAsync","archiveInteractionOutcomeTypeAsync","loadInteractionTypesAsync","getInteractionTypesAsync","createInteractionTypeAsync","updateInteractionTypeAsync","archiveInteractionTypeAsync","loadPartnerPracticeTypesAsync","getPartnerPracticeTypesAsync","loadPowerOfAttorneyTypesAsync","getPowerOfAttorneyTypesAsync","createPowerOfAttorneyTypeAsync","updatePowerOfAttorneyTypeAsync","archivePowerOfAttorneyTypeAsync","loadWillTypesAsync","getWillTypesAsync","createWillTypeAsync","updateWillTypeAsync","archiveWillTypeAsync","activeAdditionalDocumentTypes","activeAppointmentCancellationTypes","activeAppointmentExecutorTypes","activeAppointmentReasonTypes","activeAppointmentNoInstructionTypes","activeAppointmentOutcomeTypes","activeAppointmentPaymentStatusTypes","activeAppointmentProductTypes","appointmentProductTypeDescription","activeAppointmentTypes","clientOriginalSourceTypeDescription","clientOriginalSourceType","activeClientOriginalSourceTypes","activeClientRelationshipTypes","activeClientStatusTypes","activeClientTitleTypes","activeInteractionLetterTypes","activeInteractionOutcomeTypes","activeInteractionTypes","activePartnerPracticeTypes","partnerPracticeTypes","activePartnerPracticeTypesForCurrentUser","activePowerOfAttorneyTypes","activeWillTypes","setAdditionalDocumentTypes","setAppointmentCancellationTypes","setAppointmentExecutorTypes","setAppointmentReasonTypes","setAppointmentNoInstructionTypes","setAppointmentOutcomeTypes","setAppointmentPaymentStatusTypes","setAppointmentProductTypes","setAppointmentTypes","setClientOriginalSourceTypes","setClientRelationshipTypes","setClientStatusTypes","setClientTitleTypes","setInteractionLetterTypes","setInteractionOutcomeTypes","setInteractionTypes","setPartnerPracticeTypes","setPowerOfAttorneyTypes","setWillTypes","userId","userApi","loadMeAsync","getMeAsync","removeUser","logoutAsync","hasAnyRole","roles","userRoles","roleName","isAdministrator","isLegalAdvisor","isLegalAssistant","isSystem","hasPermissionForRoute","requiresAuthentication","requiresAnyRole","isSystemUser","setUser","loadUsersAsync","loadAllUsersAsync","getUsersAsync","loadLegalAdvisorUsersAsync","getLegalAdvisorsAsync","loadAppointmentBookerUsersAsync","getAppointmentBookersAsync","loadInteractionAuthorUsersAsync","getInteractionCreatorsAsync","loadAssignedTaskUsersAsync","getAssignedTaskUsersAsync","loadCompletedTaskUsersAsync","getCompletedTaskUsersAsync","loadAccountAuthorUsersAsync","getAccountCreatorsAsync","loadAssignedCallUsersAsync","getAssignedCallUsersAsync","loadAccountAccessUsersAsync","getAccessedAccountUsersAsync","loadTargetUsersAsync","getTargetUsersAsync","loadRolesAsync","getRolesAsync","users","sortByName","activeUsers","activeCustomerExperienceUsers","HeadOfCustomerExperienceTeam","CustomerExperienceExecutiveTeamLeader","CustomerExperienceExecutive","rightLegalGroupUsers","Active","Archived","partnerPracticeUsers","activePartnerPracticeUsers","activeLegalAdvisors","LegalAdvisor","legalAdvisors","legalAdvisorUsers","appointmentBookers","appointmentBookerUsers","interactionAuthors","interactionAuthorUsers","taskUsers","assignedUsers","assignedTaskUsers","completedUsers","completedTaskUsers","u","completedUser","accountAuthors","accountAuthorUsers","assignedCallUsers","accountAccessUsers","targetUsers","fullName","trim","aFullName","bFullName","setUsers","setLegalAdvisorUsers","setAppointmentBookerUsers","setInteractionAuthorUsers","setAssignedTaskUsers","setCompletedTaskUsers","setAccountAuthorUsers","setAssignedCallUsers","setAccountAccessUsers","setTargetUsers","setRoles","Store","attachment","calls","import","notification","settings","isDirty","setDirty","dirty","appointmentTypeId","appointmentType","locationType","Office","Home","Telephone","Video","reasonTypeId","reasonTypes","reasonType","outcomeTypeId","outcomeTypes","outcomeType","instructionType","NotInstructed","CoolingOff","ConsideringOptions","Instructed","executorTypeId","executorTypes","executorType","cancellationTypeId","cancellationTypes","cancellationType","noInstructionTypeId","noInstructionTypes","noInstructionType","productTypeId","appointmentProductType","paymentStatusTypeId","paymentStatusTypes","paymentStatusType","paymentDetails","payment","paymentStatusId","paymentStatus","canEditAppointmentOutcome","isRebooked","outcome","Administrator","InternalKeyStakeholder","isLegacy","Date","date","toString","fromJSDate","minus","months","toJSDate","products","every","product","validFrom","instructedProducts","appointmentFields","currentPage","perPage","sortBy","sortDesc","onSortTable","isUnsaved","isPending","showOutcomeType","outcomeTypeDescription","showInstructionType","instructionTypeDescription","showNotInstructed","showOutcomePaymentStatus","outcomePaymentStatusTypeDescription","isRebook","showOutcomeProducts","staticStyle","showProductPaymentStatus","productPaymentStatusTypeDescription","accountNumber","clientName","legalAdvisorName","appointmentTypeDescription","locationTypeDescription","booker","totalRows","paginationDescription","typesModule","usersModule","rowA","rowB","partnerPracticeA","partnerPracticeB","accountNoA","accountNoB","clientNameA","clientNameB","legalAdvisorA","legalAdvisorB","appointmentTypeA","appointmentTypeB","locationTypeA","locationTypeB","bookerNameA","bookerNameB","originalAppointmentId","accountNumbers","join","advisor","legalAdvisorId","fields","label","sortable","tdClass","start","end","toLocaleString","required","validUser","isLegalAdvisorAt","isLegalAssistantAt","isHeadOfDepartmentAt","appointmentsTable","isVisible","slot","currentStep","detailsCompleted","selectedBookerId","partner","selectedClientId","formatClientAndPartnerNames","clientDescription","$set","isAcquisition","canEditPartnerPractice","practice","selectedDate","selectedHour","hour","description","selectedMinute","minute","useTwentyFourHours","selectedMeridian","onMeridianChanged","isArray","_i","$$a","$$el","$$c","checked","$$i","concat","locationCompleted","address","invalidClientAddress","_q","useClientAddress","alternativeClientAddress","reasonsCompleted","selectedReasonIds","notesCompleted","sendConfirmationEmail","sendConfirmationLetter","sendReminderSms","isSaving","onPrevious","maxSteps","onNext","onSave","onSearchAsync","postcodeFilter","showSearchResults","selectedAddress","compact","postcode","addressLookupApi","addressLine1","addressLine2","addressLine3","town","county","getByPostcodeAsync","createAppointmentBooking","partnerPracticeAddressId","notes","reasons","createClientAccountAddress","isForeignAddress","foreignAddress","dateOnly","zone","fromISO","hours","minutes","formatDateAsString","toLocal","setLocale","formatCurrentDate","utc","appointmentApi","clientApi","visible","originalAppointment","assignPartnerConfirmed","clear","getClientAccountByIdAsync","set","toUTC","isEdit","updateRequest","bookerId","updateAppointmentAsync","createRequest","interactionId","reBookAppointmentAsync","createAppointmentAsync","showLocationStep","showReasonsStep","$confirm","showCancel","okText","cancelText","onOk","$refs","addressIsValid","Promise","all","bookers","isSigning","appointmentDate","getHours","getMinutes","populateExistingAddress","reason","steps","padStart","originalSourceId","clientFirstName","clientLastName","partnerFirstName","partnerLastName","addressWithLookup","size","appointmentOutcomeTypeCompleted","appointmentOutcome","instructedProductsCompleted","appointmentProducts","notInstructedProductsCompleted","productDetailsCompleted","productIndex","appointmentInstructionTypeDescription","refInFor","onProductChanged","onNextAsync","onSaveAsync","appointmentClient","showBookAppointmentDialog","signingDate","onAppointmentCancel","scheduleCallback","callbackDate","callbackHour","callbackMinute","callbackMeridian","onCallbackMeridianChanged","outcomeIsNotSat","outcomeIsCancelled","outcomeIsSat","appointmentIsInitial","proxy","setCallbackDate","appointmentOutcomeType","willProducts","disableProduct","onProductSelected","poaProducts","otherProducts","originalAppointmentOutcome","callbackfn","productTypeIds","filteredProducts","originalProductTypeIds","originalProduct","instructedDate","resetProduct","instructedValue","productByType","appointmentPaymentStatusTypeDescription","productPaymentStatusType","appointmentOutcomeTypeDescription","createAppointmentOutcome","noInstructionNotes","estimatedEstateValue","createAppointmentOutcomeProduct","albReference","resetAppointmentOutcome","showProducts","createProducts","clearProducts","outcomeNotes","outcomeDetails","createAppointmentOutcomeAsync","createAppointmentOutcomeRequest","isSigningAppointmentRequired","notInstructedProducts","productsToInstruct","validateProduct","appointmentProduct","selectedAppointmentType","selectedAppointmentOutcomeType","appointmentOutcomeDetails","appointmentOutcomeInstructedProducts","appointmentOutcomeNotInstructedProducts","appointmentOutcomeNotes","appointmentOutcomeProductDetails","appointmentOutcomeTypeSelect","bookAppointmentDialog","currentTab","isOutcomeTypeValid","isNotInstructedProductsValid","isOutcomeDetailsValid","isProductDetailsValid","isNotesValid","clearAppointmentOutcome","appointmentPaymentStatusType","updateAppointmentOutcomeAsync","updateAppointmentOutcomeRequest","bankedDate","clearedDate","debtorDate","noLongerProceedingDate","writtenOffDate","partPaymentStatusType","findIndex","populateProducts","productsToInclude","canEditOutcomeType","canEditInstructionType","isInstructedAsYes","canEditProduct","canEditInstructedValue","paymentStatuses","canEditNumberOfPayments","numberOfPayments","validateAfterAppointmentDate","to","signingStartDate","canEditSigningDate","saving","createAppointmentOutcomePaymentDetails","isDirectDebitFormCompleted","results","productType","select","days","toFormat","isHoD","showProductsSold","showPaymentTab","tabIndex","userName","reasonTypeDescription","executorTypeDescription","cancellationTypeDescription","noInstructionTypeDescription","paymentStatusTypeDescription","showNumberOfPayments","showSigningDate","productTypeDescription","includeProductDetails","productPayments","paymentIndex","partPaymentStatusTypeDescription","createdBy","createdDate","lastModifiedDate","lastModifiedBy","payments","orderedPayments","n1","n2","newValue","getPartnerPracticeAsync","clientAccountApi","showProductTabs","locationTypes","statusTypes","datePeriods","deleteAppointmentAsync","deleteAppointmentOutcomeAsync","partnerPracticeFilterIsValid","dateRangeIsValid","fetchAllAppointmentsAsync","getAppointmentsAsync","appointmentDatePeriod","appointmentDateFrom","appointmentDateTo","appointmentStatus","bookerRoleId","System","appointmentList","completeAppointmentDialog","editAppointmentOutcomeDialog","editAppointmentOutcomeLegacyDialog","viewAppointmentDialog","dueDateFilter","originalSourceFilter","callTypeFilter","assignedStatusFilter","lastCalledDatePeriodFilter","lastCalledDateFromFilter","lastCalledDateToFilter","dueTimeHourFilter","dueTimeMinuteFilter","dueTimeUseTwentyFourHours","dueTimeMeridianFilter","onDueTimeMeridianFilterChanged","assignedUserFilter","fetchCallsAsync","onClearFilters","onPageChangedAsync","onAssignCalls","onUnassignCalls","selectedCalls","assignCallDialogVisible","onCallsAssignedAsync","onCallsUnassignedAsync","unassignCallConfirmationVisible","selectedUsers","assignCallsAsync","CallReason","CallType","assignCallsText","unassignCallsText","selectAll","originalSourceDescription","lastInteractionDate","callTypeText","callReasonText","formatAssignedUsers","rows","forEach","row","Call","Callback","General","CancelledAppointment","GeneralReview","NoShow","originalSource","names","AM","PM","selectedPartnerPractice","selectedDueDate","getCallsAsync","dueDate","callType","assignedStatus","lastInteractionDatePeriod","lastInteractionDateFrom","lastInteractionDateTo","assignedUserId","unassignCallsAsync","assignCallDialog","callsTable","beginCallAsync","callFields","startedDate","callsModule","myActiveCallsTable","myCallbacksTable","nextAvailableCallTable","showAddClientDialog","onSearch","dateOfBirth","accountStatusId","telephone","rlgReference","partnerPracticeReference","emptyText","onPageChanged","canAddPartner","showAddPartnerDialog","canBookAppointment","showLogInteractionDialog","addClientDialogVisible","onClientCreated","bookAppointmentDialogVisible","logInteractionDialogVisible","onInteractionLogged","addPartnerDialogVisible","onPartnerAdded","accountDetailsCompleted","clientDetailsCompleted","addressDetailsCompleted","isCheckingDuplicates","duplicateAccounts","duplicateAccountsCompleted","additionalInformationCompleted","isBusy","canSaveAddAnother","createClientRequest","titleId","middleNames","mobile","occupation","relationshipStatusId","nationalInsuranceNumber","isSensitive","hasCourtOfProtection","hasChildren","hasChildrenUnderEighteen","isHomeOwner","isBusinessOwner","canPost","canText","canEmail","canTelephone","isIntroducerDisabled","isRlgAcquisition","t1","t2","immediate","onNationalInsuranceNumberChanged","onHasChildrenNoClicked","onHasChildrenUnknownClicked","onHasChildrenUnderEighteenYesClicked","validDateOfBirth","from","endDate","local","years","validDate","plus","duplicate","matchPercent","clientStatusTypeDescription","onCancelMerge","onMerge","originalClient","clientStatusType","reset","accountDetails","clientDetails","addressDetails","getDuplicateClientAccounts","additionalDetails","addAnother","createClientAccountAsync","isNew","getDuplicatesAsync","addClientAccountDetails","addClientAdditionalDetails","addClientDetails","contactPreferenceDetails","potentialDuplicateDetails","clientFields","getAccountStatus","getOriginalSource","fetchClientsAsync","onClientSelected","accountStatusDescription","onAssign","getClientPotentialPartnersAsync","thClass","interaction","filteredInteractionOutcomeTypes","allowFutureContact","selectedAppointmentCancellationTypeId","newInteractionId","createInteraction","interactionTypeId","interactionOutcomeTypeId","letterTypeId","interactionApi","MERIDIAN_AM","MERIDIAN_PM","clientAppointments","partnerAppointments","clientIds","isCallbackRequired","isFutureContactConfirmationRequired","appointmentCancellationTypeId","isAppointmentCancellationTypeRequired","createInteractionAsync","getClientAppointmentBookingsAsync","interactionType","doNotContact","partnerAppointmentIds","clientAppointmentIds","a1","a2","interactionOutcomeType","saveQueryString","getClientAccountsAsync","assignClientPartnerAsync","queryString","acountNumber","dateOfBirthMonth","dateOfBirthDay","dateOfBirthYear","query","getDate","getMonth","getFullYear","JSON","stringify","keys","setFilters","addClientDialog","addPartnerDialog","clientsTable","logInteractionDialog","lockedDate","getFullName","accountStatusBadgeColor","accountStatusText","getUserName","saveClient","showAddProductDialog","showAddNoteDialog","onPartnerRemoved","canDeleteClient","showDeleteConfirmationDialog","onPartnerPracticeChanged","onAdditionalDocumentsChanged","onFactFindDeleted","onWillRemoved","onAppointmentUpdated","onAppointmentRebooked","onAppointmentCompleted","onAppointmentRemoved","onOutcomeRemoved","onAppointmentOutcomeChanged","contactHistory","onInteractionUpdated","onInteractionDeleted","willHistoryItems","onWillHistoryUpdated","onWillHistoryDeleted","onNoteUpdated","onNoteDeleted","handleDeleteClient","confirmationDialogVisible","onConfirmAssignedToPermanent","onComfirmAssignedToAppointmentOnly","confirmAssignedToChangedDialogVisible","productDialogVisible","addWillDialogVisible","onWillAdded","addPowerOfAttorneyDialogVisible","onPowerOfAttorneyAdded","addDeedDialogVisible","onDeedAdded","factFindDialogVisible","onFactFindAdded","addNoteDialogVisible","onNoteAdded","addressDetailsValid","deed","isLandRegistered","createClientAccountDeed","rightLegalReference","nameOnDeed","hasGuardiansInsurance","hasLifeInsurance","hasLifeInsuranceInTrust","hasForeignProperty","hasPension","hasInvestments","hasFuneralPlan","hasEquityRelease","hasBusinessInterests","createClientAccountFactFind","e","createClientAccountNote","createClientNoteAsync","clientPowerOfAttorney","isRegistered","hasChoicesIWouldMakeForm","onSaveAndAddAnother","createClientPowerOfAttorney","powerOfAttorneyTypeId","signatureDate","attorney1","attorney2","attorney3","attorney4","poa","selectedProduct","detailsValid","hasGuardianAppointed","guardiansValid","showGuardiansForm","currentGuardian","guardian","onEditGuardian","onRemoveGuardian","onAddGuardian","willPacketContentsValid","hasAttendanceNotes","hasFactFind","hasLetterOfWishes","hasJustToLetYouKnow","hasNoticeOfSeverance","hasOldWill","executorsValid","showExecutorsForm","currentExecutor","executor","isRLGExecutor","firstOrSubstituteExecutorTypeDescription","soleOrCoExecutorTypeDescription","onEditExecutor","onRemoveExecutor","onAddExecutor","notesValid","onCancelGuardian","onSaveGuardian","isEditingGuardian","onCancelExecutor","onSaveExecutor","isEditingExecutor","executorTypeRequired","isFirstOrSubstituteExecutor","isSoleOrCoExecutor","showIsRlgExecutor","createClientAccountWill","willTypeId","createClientAccountWillExecutor","createClientAccountWillGuardian","g","willExecutorDetail","willGuardianDetail","matterId","matterReceived","matterOpened","matterClosed","foo","matterDescription","showViewAppointmentDialog","showEditAppointmentDialog","showRebookAppointmentDialog","showCompleteAppointmentDialog","showDeleteAppointmentConfirmationDialog","showDeleteOutcomeConfirmationDialog","viewAppointmentDialogVisible","completeAppointmentDialogVisible","onOutcomeUpdated","accountStatus","itemIndex","showViewDialogAsync","showEditDialogAsync","showDeleteConfirmationAsync","onDeleteAsync","deleteInteractionConfirmationDialogVisible","selectedTask","viewTaskDialogVisible","selectedEmail","viewEmailDialogVisible","selectedInteraction","viewInteractionDialogVisible","selectedMessage","viewMessageDialogVisible","editInteractionDialogVisible","originalInteraction","updateInteractionAsync","originalInteractionOutcomeType","TaskType","taskTypeDescription","task","actioned","formatUserName","completedBy","completedDate","RetrieveWillPacket","SendConfirmationLetter","sentDate","interactionTypeDescription","interactionOutcomeTypeDescription","appointmentDescription","appointmentCancellationTypeDescription","interactionLetterTypeDescription","advisorName","DATETIME_SHORT","appointmentCancellationType","interactionLetterType","MessageType","messageTypeDescription","AppointmentConfirmation","AppointmentReminder","AppointmentLookingForwardToSeeingYou","ContactItemType","Email","Interaction","Message","Task","emailHistory","getInteractionByIdAsync","messageHistory","taskHistory","deleteInteractionAsync","history","interactionHistory","interactionOutcomeDescription","viewClientTaskDialog","viewEmailDialog","viewInteractionDialog","viewMessageDialog","editInteractionDialog","showEditDeedDialog","showDeleteDeedDialog","onDelete","deleteDeedConfirmationDialogVisible","selectedDeed","editDeedDialogVisible","onDeedUpdated","editDeedDialog","validationBeforeDate","selectedAdditionalDocumentTypes","otherText","additionalDocumentTypeId","onChange","showDeleteConfirmation","deleteFactFindConfirmationDialogVisible","editFactFindDialogVisible","onFactFindUpdated","factfind","lockedBy","canSms","showEditNoteDialog","showDeleteNoteDialog","editNoteDialogVisible","selectedNote","onEdit","deleteNoteDialogVisible","originalNote","updateClientNoteAsync","deleteClientNoteAsync","editNoteDialog","powerOfAttorneyFields","powerOfAttorneyTypeVariant","powerOfAttorneyTypeDescription","showEditPowerOfAttorneyDialog","showDeletePowerOfAttorneyDialog","selectedPowerOfAttorney","editPowerOfAttorneyDialogVisible","onPowerOfAttorneyUpdated","onPowerOfAttorneyDeleted","deletePowerOfAttorneyConfirmationDialogVisible","selectedClientPowerOfAttorney","originalClientPowerOfAttorney","powerOfAttorneyType","powerOfAttorney","editPowerOfAttorneyDialog","isHistorical","isNewWill","selectedWill","editDialogVisible","deleteDialogVisible","displayOrder","willTypeDescription","updateClientWillHistory","deleteClientWillHistory","wills","viewWillHistoryItemDialog","editWillHistoryItemDialog","showConfirmDelete","willDate","canAmendWill","showAddGuardianDialog","showEditGuardianDialog","showConfirmGuardianDelete","showAddExecutorDialog","showEditExecutorDialog","showConfirmExecutorDelete","addGuardianDialogVisible","onGuardianAdded","editGuardianDialogVisible","selectedGuardian","onGuardianUpdated","addExecutorDialogVisible","onExecutorAdded","editExecutorDialogVisible","selectedExecutor","onExecutorUpdated","confirmDeleteVisible","onExecutorRemoved","confirmExecutorDeleteVisible","onGuardianRemoved","confirmGuardianDeleteVisible","onUpdateExecutor","onUpdateGuardian","Math","max","willType","addWillExecutorDialog","editWillExecutorDialog","addWillGuardianDialog","editWillGuardianDialog","AccessActionType","AccessType","accessLogApi","registerHooks","removedWills","addressValid","additionalInformationValid","additionalDocumentsValid","accessLogId","oldValue","loadClientAsync","titleType","titleTypes","noteHistory","willHistory","documents","removeClientPartnerAsync","deleteClientAsync","updateAccessLog","sensitiveOrCopRemoved","partnerPracticeChanged","hasPartner","updateClientAccountAsync","next","variant","showContinue","continueText","onContinue","createAccessLog","accessType","Client","accessActionType","ReadOnly","aggregateId","clientAddressDetails","clientAdditionalDetails","clientAdditionalDocuments","clientMarketingDetails","addProductDialog","addDeedDialog","addFactFindDialog","addWillDialog","addPowerOfAttorneyDialog","addNoteDialog","clientDeeds","clientFactFind","clientPowerOfAttorneys","clientWill","clientNotes","clientSensitiveWarning","clientDoNotContactWarning","clientCourtOfProtectionWarning","clientLockedWarning","onShowManualMergeClientDialog","selectedOriginalSourceTypeId","onLoadClientDuplicatesAsync","onShowMergeClientDialog","showMergeClientDialog","isManualMerge","isMerging","clientsCompleted","clientAccountOne","onClientAccountOneChangedAsync","clientAccountTwo","onClientAccountTwoChangedAsync","manualMergeInvalid","manualMergeErrorMessage","clientDuplicates","mergeConflicts","priorityClientAccount","mergeClientAccount","linkPartnersCompleted","clientPartners","onClientPartnerChangedAsync","mergeLog","isNextDisabled","nextTitle","onCompleteAsync","clientItems","clientFullName","deedDescription","clientDuplicateFields","isDisabled","selectedDuplicate","priorityClientDescription","mergeClientDescription","conflict","conflictIndex","displayName","useMergeValue","priorityValue","mergeValue","priorityClient","mergeClient","findPriorityClientAccount","clientAccountOnePowerOfAttorney","earliestPowerOfAttorney","clientAccountTwoPowerOfAttorney","findMergeConflicts","conflicts","isNullOrWhitespace","fieldName","clientTitleTypeDescription","clientRelationshipTypeDescription","convertDateToString","convertBooleanToString","addressLine","clientPartnerDescription","earliest","clientTitleType","clientRelationshipType","clientPartner","formattedLine","clientPartnerFields","selectedPartner","manageDuplicateApi","mergeApi","manualMerge","onMergeAsync","clientMergeConflicts","onLinkAsync","priorityClientId","mergeClientId","selectedMergeValues","substring","mergeClientAsync","resetAfterMergeAsync","partnerDescription","mergeCompleteAsync","getDuplicateClientsByIdAsync","excludeLinkedClients","createClientDuplicate","c1","c2","priorityClientAccountId","fetchPotentialDuplicatesAsync","resetPriorityAndConflicts","clientAccountSummary","clientDuplicateTable","linkPartnerTable","getDuplicateClientsAsync","mergeClientDialog","onUploadFile","typeFilter","statusFilter","onFilterAsync","dataImportFile","onViewDataImport","outputFilename","onDownloadValidationFileAsync","showAddDataImportDialog","onDataImportFileUploadedAsync","showViewDataImportDialog","selectedDataImportFile","selectedType","onImportFileAsync","uploadDataImportFileAsync","dataImportFileFields","typeDescription","userDescription","statusDescription","successfulRows","failedRows","importModule","dataImportFileTypes","dataImportFileStatuses","getDataImportValidationFileAsync","addDataImportDialog","dataImportsTable","viewDataImportDialog","reportItems","selectedReportItem","reportName","getReportDataAsync","accountNoFilter","lastCallDatePeriodFilter","lastCallDateFromFilter","lastCallDateToFilter","userRoleFilter","userFilter","blankDataFieldTypeFilter","exportReportAsync","startDate","goToClient","lastCallDate","field","dates","d1","d2","exceptionReportApi","blankFieldTypes","getBlankDataFieldsPostCallAsync","requestFilters","getBlankDataFieldsPostCallExportAsync","lastCallDatePeriod","lastCallDateFrom","lastCallDateTo","userRoleId","blankDataFieldType","blankDataFieldsPostCallTable","assignedFilter","getCallbacksOverdueAsync","getCallbacksOverdueExportAsync","assigned","callbacksOverdueTable","appointmentCancellationDatePeriodFilter","appointmentCancellationDateFromFilter","appointmentCancellationDateToFilter","appointmentCancellationTypeFilter","appointmentOutcomeNotesFilter","sortClients","cancellationDate","firstClient","secondClient","sortedClients","getCancellationReasonsAsync","getCancellationReasonsExportAsync","appointmentCancellationDatePeriod","appointmentCancellationDateFrom","appointmentCancellationDateTo","cancellationReasonsTable","appointmentProductTypeFilter","instructionValueFilter","noInstructionTypeFilter","noInstructionNotesFilter","getClientsConsideringOptionsAsync","getClientsConsideringOptionsExportAsync","appointmentProductTypeId","instructionValue","clientsConsideringOptionsTable","clearedAmountFilter","differenceFilter","amount","difference","getInstructedClearedVariancesAsync","getInstructedClearedVarianceExportAsync","clearedAmount","instructedClearedVariancesTable","bookingDatePeriodFilter","bookingDateFromFilter","bookingDateToFilter","daysFromBookingFilter","currentMonthFilter","getMonitorAppointmentBookingsAsync","getMonitorAppointmentBookingsExportAsync","bookingDatePeriod","bookingDateFrom","bookingDateTo","daysFromBooking","currentMonth","monitorAppointmentBookingsTable","paymentStatusTypeFilter","paymentStatusAmountFilter","paymentStatusDatePeriodFilter","paymentStatusDateFromFilter","paymentStatusDateToFilter","getNoLongerProceedingClientsAsync","getNoLongerProceedingClientsExportAsync","paymentStatusAmount","paymentStatusDatePeriod","paymentStatusDateFrom","paymentStatusDateTo","noLongerProceedingClientsTable","getNonInstructionReasonsAsync","getNonInstructionReasonsExportAsync","nonInstructionReasonsTable","getOutstandingAppointmentOutcomesAsync","getOutstandingAppointmentOutcomesExportAsync","outstandingAppointmentOutcomesTable","getOutstandingPaymentsAsync","getOutstandingPaymentsExportAsync","outstandingPaymentsTable","getOutstandingSigningsAsync","getOutstandingSigningsExportAsync","outstandingSigningsTable","taskItemTypeFilter","tasks","userIndex","roleIndex","taskItemTypes","getTasksOverdueAsync","getTasksOverdueExportAsync","taskItemType","tasksOverdueTable","getTasksUnassignedAsync","getTasksUnassignedExportAsync","tasksUnassignedTable","lastAccessDatePeriodFilter","lastAccessDateFromFilter","lastAccessDateToFilter","userRoleFilterId","accessLog","accessDate","getUserReportAsync","getUserReportExportAsync","userRole","lastAccessDatePeriod","lastAccessDateFrom","lastAccessDateTo","userReportTable","collection","itemRoles","usage","customerExperienceTeam","addItem","blankDataFieldsPostCall","callbacksOverdue","cancellationReasons","clientsConsideringOptions","instructedClearedVariances","monitorAppointmentBookings","noLongerProceedingClients","nonInstructionReasons","outstandingAppointmentOutcomes","outstandingPayments","outstandingSignings","tasksOverdue","tasksUnassigned","userReport","reloadAppointments","selectedAppointmentClient","showAddressFilter","defaultUserRoleName","datePeriodFilter","dateFromFilter","dateToFilter","bookerUserRoleFilter","bookerUserFilter","loadDataAsync","clearFiltersAsync","bookedToSatPercentage","satToInstructedPercentage","averageCaseSize","createCustomerExperienceAppointmentDashboardResponse","dashboardApi","getCustomerExperienceAppointmentDashboardDataAsync","datePeriod","dateFrom","dateTo","fetchDashboardDataAsync","callerUserRoleFilter","callerUserFilter","callsMade","callsAnswered","callsAnsweredPercentage","callsAppointmentBooked","callsAppointmentBookedPercentage","callsUnableToContact","callsUnableToContactPercentage","createCustomerExperienceCallDashboardResponse","getCustomerExperienceCallDashboardDataAsync","callerRoleId","callerId","tasksCompleted","tasksOutstanding","createTaskDashboardResponse","getTaskDashboardDataAsync","defaultUserRole","customerExperienceAppointmentDashboard","customerExperienceCallDashboard","taskDashboard","toggleButton","productTypeFilter","accountsCreated","accountsUpdated","productsAdded","createDataCreationDashboardResponse","DataCreationExecutive","productTypes","getDataCreationDashboardDataAsync","authorRoleId","authorId","bankingTarget","professionalExecutorPercentage","willLpaConversionRate","lpaConversionRate","revenuePerClient","differenceToTarget","bankedAmount","signingPendingAmount","signingBookedAmount","predictedBanking","debtorAmount","noLongerProceedingAmount","writtenOffAmount","turnaroundTime","recoveryRate","consideringOptions","coolingOff","createPartnerPracticeDashboardResponse","writtenOffRate","getPartnerPracticeDashboardDataAsync","HoD","LegalAssistant","DataCreationTeamLeader","customerExperienceDashboard","dataCreationDashboard","partnerPracticeDashboard","onAddPartnerPractice","fetchPartnerPracticesAsync","nameFilter","onEditPartnerPractice","onRestorePartnerPractice","onArchivePartnerPractice","addPartnerPracticeDialogVisible","onPartnerPracticeCreatedAsync","editPartnerPracticeDialogVisible","onPartnerPracticeUpdatedAsync","restoreConfirmationDialogVisible","onRestorePartnerPracticeConfirmedAsync","archiveConfirmationDialogVisible","onArchivePartnerPracticeConfirmedAsync","addressesCompleted","onAddAddress","onEditAddress","onRemoveAddress","introducersCompleted","selectedEmailAttachment","onImportEmailAttachmentChanged","onEmailAttachmentFileChanged","emailAttachments","onAddEmailAttachment","onEditEmailAttachment","onRemoveEmailAttachment","onCancelAddress","onSaveAddressAsync","onCancelEmailAttachment","onSaveEmailAttachmentAsync","allowNext","onAddAsync","any","attachmentFilename","emailType","onAddAttachment","attachmentAlias","importFile","attachmentFile","attachmentExtension","attachmentModule","split","pop","indexModulus","bar","createPartnerPractice","createPartnerPracticeAddress","createPartnerPracticeEmailAttachment","isAddressVisible","isAddressEdit","isEmailVisible","isEmailEdit","importEmailAttachment","emailAttachmentFile","details","createPartnerPracticeAsync","uploadFileAsync","extension","formattedAlias","partnerPracticeAddressList","partnerPracticeDetails","partnerPracticeEmailList","partnerPracticeEmail","partnerPracticeOriginalSources","userCurrentTab","showUserDetailsError","selectedUser","onUserDetailsErrorsChanged","showUserRolesError","showDetailsError","latestPartnerPractice","onDetailsErrorsChanged","showAddressesError","onAddUser","onEditUser","activatedDate","onResendUserInvite","onUnassignUser","onRestoreUser","onArchiveUser","isResendUserInviteConfirmationDialogVisible","onResendUserInviteConfirmedAsync","onCancelUser","isUnassignUserConfirmationDialogVisible","onUnassignUserConfirmedAsync","isRestoreUserConfirmationDialogVisible","onRestoreUserConfirmedAsync","isArchiveUserConfirmationDialogVisible","onArchiveUserConfirmedAsync","onSaveUserAsync","canEdit","partnerPracticeUser","year","currentYear","targets","createUserTarget","month","minimumYear","maximumYear","populateUserTargets","targetSets","findUserTarget","userFields","createUser","isUserVisible","updatePartnerPracticeAsync","hasErrors","userDetails","isDetailsValid","isRolesValid","userTargets","isTargetsValid","createUserAsync","updateUserAsync","fetchUsersAsync","reinviteUserAsync","unassignFromPartnerPracticeAsync","deleteUserAsync","usersTable","partnerPracticeFields","statuses","deletePartnerPracticeAsync","addPartnerPracticeDialog","editPartnerPracticeDialog","partnerPracticesTable","systemSettingFields","onEditSetting","selectedSetting","editSettingDialogVisible","settingsModule","editSystemSettingDialog","addNewItem","categoryFilter","category","typeIdFilter","typesForCategory","filteredTypeValues","onReorderedAsync","selectedTypeValues","restoreItem","editItem","archiveItem","addTypeDialogVisible","selectedTypeOptions","selectedTypeValue","editTypeDialogVisible","onEditAsync","deleteConfirmationDialogVisible","onArchiveAsync","onRestoreAsync","uniqueOptions","nonUniqueOptions","optionsObj","option","unique","current","disabled","annoymousType","categories","newValues","loadTypeValuesAsync","selectedValue","newIndex","moveUp","oldIndex","siblingValue","v","addTypeDialog","editTypeDialog","draggable","onResendActivation","onAssignToPartnerPractice","addUserDialogVisible","onUserCreatedAsync","editUserDialogVisible","onUserUpdatedAsync","assignToPartnerPracticeDialogVisible","onUserAssignedToPartnerPracticeAsync","resendActivationConfirmationDialogVisible","onResendActivationConfirmedAsync","showRolesError","onAssignAsync","assignToPartnerPracticeAsync","All","addUserDialog","assignUserToPartnerPracticeDialog","editUserDialog","onUserTabClicked","selectedAdvisor","reloadUserAsync","paymentId","targetAmount","onViewAppointmentAsync","onEditAppointmentOutcomeAsync","onMoveTo","partPayment","onChangeToSigningPending","onChangeToSigningBooked","onChangeToPartPayment","onChangeToBanked","onChangeToDebtor","onChangeToNoLongerProceeding","onChangeToWrittenOff","onChangeToCleared","showEditAppointmentOutcomeDialog","onAppointmentOutcomeUpdated","selectedPayment","showAssignAdvisorDialog","onAdvisorAssigned","showEditPaymentDialog","selectedPaymentStatusType","onPaymentUpdated","targetTrackerApi","updateTargetTrackerPaymentOwnerAsync","rowNumber","ownerId","sortedAppointments","sortedPayments","isSigningDateRequired","instructedDateText","bankedDateText","bankedOrInstructedDateText","bankedOrInstructedDate","updateTargetTrackerPaymentAsync","TargetTrackerAppointmentPaymentType","getAppointmentByIdAsync","ClearedPayment","reduce","BankedPayment","SigningBooked","assignAdvisorDialog","targetTrackerDetailTable","editPaymentDialog","partnerPracticeOptions","yearFilter","monthFilter","simpsons","partners","values","bankingTargetTotal","predictedBankingTotal","differenceToTargetTotal","clearedTotal","bankedTotal","signingBookedTotal","signingPendingTotal","nextMonthTotal","debtorTotal","noLongerProceedingTotal","consideringOptionsTotal","cleared","banked","signingBooked","signingPending","nextMonth","debtor","noLongerProceeding","loadTargetsAsync","getTargetTrackerOverviewAsync","getTargetTrackerDetailsAsync","initial","charAt","targetTrackerAdvisorTab","targetTrackerFilters","targetTrackerOverviewTable","loadTasksAsync","clientNameFilter","createdDatePeriodFilter","createdDateFromFilter","createdDateToFilter","completedDatePeriodFilter","completedDateFromFilter","completedDateToFilter","completedByFilter","showAssignTasksDialog","onTasksUnassigned","showCompleteTaskDialog","showEditTaskDialog","showDeleteTaskConfirmation","onTaskDeleted","deleteTaskConfirmationDialogVisible","selectedTasks","assignTasksDialogVisible","onTasksAssigned","completeTaskDialogVisible","onTaskCompleted","editTaskDialogVisible","onTaskUpdated","taskId","userIds","taskItemOutcome","filteredUsers","taskApi","assignTaskAsync","createTaskItemOutcome","createTaskOutcomeAsync","allowNotActioned","originalOutcome","updateTaskOutcomeAsync","assignTasksText","showUnassignTasksConfirmation","unassignTasksText","taskIsOverdue","completedByUserName","canViewClient","canComplete","currentPageNumber","onUnassignTasksConfirmed","onUnassignTasksCancelled","unassignTasksConfirmationDialogVisible","includesAssigned","taskTypes","taskStatuses","fetchAllTasksAsync","getTasksAsync","pageNumber","createdDatePeriod","createdDateFrom","createdDateTo","assignedTo","completedById","completedDatePeriod","completedDateFrom","completedDateTo","deleteTaskAsync","unassign","promises","tasksTable","assignTaskDialog","completeTaskDialog","editTaskDialog","userStore","myProfile","redirect","children","notFound","dataImport","adminExport","exceptionReports","manageDuplicateClients","viewClient","beforeEnter","listClients","appointmentDetails","targetTrackerDetails","targetTracker","taskDetails","callList","manageCallList","callManagement","router","base","afterEach","beforeEach","clearStaleState","isLoggedIn","expired","signinRedirect","routeCheck","handleCallCreated","currentRoute","handleCallEnded","handleCallRemoved","handleCallStarted","handleCallbackCreated","handleClientDuplicatesUpdated","handleDataImportFileStatusUpdated","handleSystemSettingValueChanged","handleUserArchived","handleUserAssignedToCall","handleUserAssignedToPartnerPractice","isAdmin","handleUserEmailChanged","handleUserFirstNameChanged","handleUserLastNameChanged","handleUserRemovedFromPartnerPractice","handleUserRoleAssigned","handleUserRoleRemoved","handleUserUnassignedFromCall","socket","withUrl","accessTokenFactory","withHubProtocol","build","setupSocketEvents","onclose","handleSocketCloseOrError","startSocketWithRetryAsync","resolve","startAsync","hub","appointmentDateText","onProductPaymentStatusChanged","onNumberOfPaymentsChanged","showPaymentAmount","canEditPaymentDetails","paymentTotalValidation","onPartPaymentStatusChanged","showPaymentBankedDate","showPaymentClearedDate","canEditCompletedDate","showPaymentDebtorDate","showPaymentNoLongerProceedingDate","showPaymentWrittenOffDate","createAppointmentProductPaymentDetails","originalPayment","originalPaymentStatusType","bankedDateTime","existingSigningDate","existingValue","existingBankedDate","abs","paymentTotal","sum","p1","p2","appointmentDateTime","baseDate","instructedDateTime","cancelVariant","handleOk","handleCancel","show","handleContinue","removeElement","$nextTick","confirmationDialogProgrammatic","confirmationDialogComponent","wrapperClass","isRtl","resetTypedDate","format","defaultFormat","translation","inline","refName","openDate","placeholder","inputClass","typeable","parse","defaultParse","clearButton","clearButtonIcon","calendarButton","calendarButtonIcon","calendarButtonIconContent","bootstrapStyling","useUtc","showCalendar","setTypedDate","clearDate","allowedToShowView","pageDate","showDayView","fullMonthName","disabledDates","highlighted","calendarClass","calendarStyle","pageTimestamp","mondayFirst","dayCellContent","handleChangedMonthFromDayPicker","selectDate","showMonthCalendar","selectDisabledDate","showMonthView","selectMonth","showYearCalendar","setPageDate","showYearView","selectYear","Language","language","monthsAbbr","rtl","ymd","yearSuffix","_language","TypeError","_months","RangeError","_monthsAbbr","_days","utils","getUTCFullYear","getUTCMonth","getUTCDate","getDay","getUTCDay","getUTCHours","getUTCMinutes","setFullYear","setUTCFullYear","setMonth","setUTCMonth","setDate","setUTCDate","compareDates","date1","date2","getTime","setUTCHours","setHours","isValidDate","isNaN","getDayNameAbbr","getMonthName","getMonthNameAbbr","daysInMonth","test","getNthSuffix","day","formatDate","en","str","createDateArray","validateDateInput","makeDateUtils","style","computedInputClass","formattedValue","parseTypedDate","inputBlurred","props","input","typedDate","constructedDateUtils","computed","watch","methods","blur","parsedDate","getTypedDate","mounted","preventDefault","isLeftNavDisabled","previousMonth","isYmd","currYearName","currMonthName","isRightNavDisabled","timestamp","blankDays","dayClasses","daysOfWeek","tempDays","dObj","isSelected","isSelectedDate","isDisabledDate","isHighlighted","isHighlightedDate","isHighlightStart","isHighlightEnd","isToday","isWeekend","isSaturday","isSunday","monthName","getPageMonth","changeMonth","incrementBy","isPreviousMonthDisabled","isNextMonthDisabled","ranges","range","daysOfMonth","customPredictor","includeDisabled","isDefined","prop","nextYear","previousYear","pageYearName","stopPropagation","isSelectedMonth","isDisabledMonth","changeYear","isPreviousYearDisabled","isNextYearDisabled","nextDecade","previousDecade","getPageDecade","isSelectedYear","isDisabledYear","isPreviousDecadeDisabled","disabledYear","lastYearInPreviousPage","isNextDecadeDisabled","firstYearInNextPage","Datepicker","headerText","isSearchRunning","pluginId","onClear","getClientAccountByAccountNumberAsync","isRequired","nationalInsuranceNumberOne","nationalInsuranceNumberTwo","nationalInsuranceNumberThree","nationalInsuranceNumberFour","nationalInsuranceNumberFive","partOne","partTwo","partThree","partFour","partFive","validateNationalInsuranceNumber","match","rlgData","resetOptionsAsync","roleId","interacionAuthors","assignedTaskOptions","includeUnassignedOption","observeDom","mutationObserver","MutationObserver","eventListenerSupported","nodeType","Node","ELEMENT_NODE","observer","changed","mutation","TEXT_NODE","addedNodes","removedNodes","observe","childList","subtree","stepButtonHelper","content","completed","setSize","linkClass","itemClass","handleClick","stop","render","h","circle","direction","setStep","$slots","node","componentInstance","isStep","stepIndex","step","localActive","force","empty","buttons","titleLinkClass","titleItemClass","buttonsWithLines","button","navs","updateSteps","stepsContainer","requestAnimationFrame","tag","fade","shouldFade","beforeLeave","noKeyNav","posInSet","controls","keydown","tabs","$root","setTab","shiftKey","previousTab","nextTab","isTab","tab","controlledBy","navStyle","noNavStyle","card","vertical","small","navClass","tabindex","onKeyNavigation","bottom","navWrapperClass","col","contentClass","updateTabs","tabsContainer","noFade","pills","lazy","tabClasses","$parent","buttonId","noBody","dateFilter","dateTimeFilter","timeFilter","TIME_24_SIMPLE","singleLineAddress","parts","padLeft","character","byteToKb","kb","toFixed","percentageFilter","decimalFilter","fractionDigits","currencyFilter","capitalizeFilter","$mount","productionTip","fieldsBagName"],"mappings":"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","file":"js/app.5e91f8f7.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 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\"app\": 0\n \t};\n\n \tvar deferredModules = [];\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\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 = \"/\";\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([0,\"chunk-vendors\",\"chunk-common\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./target-tracker-overview-table.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./target-tracker-overview-table.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./national-insurance-number-input.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./national-insurance-number-input.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-system-setting-dialog.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-system-setting-dialog.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./partner-practice-original-sources.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./partner-practice-original-sources.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./partner-practice-dashboard.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./partner-practice-dashboard.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointment-product-details.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointment-product-details.vue?vue&type=style&index=0&lang=css&\"","module.exports = __webpack_public_path__ + \"img/rlg-logo-white.1c574df4.png\";","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./customer-experience-call-dashboard.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./customer-experience-call-dashboard.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointments-table.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointments-table.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-interaction-dialog.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-interaction-dialog.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./toggle-button.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./toggle-button.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./customer-experience-appointment-dashboard.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./customer-experience-appointment-dashboard.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./data-creation-dashboard.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./data-creation-dashboard.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view'),_c('loading',{attrs:{\"active\":_vm.isLoading,\"is-full-page\":true},on:{\"update:active\":function($event){_vm.isLoading=$event}}},[_c('p',[_vm._v(\"Loading, please wait...\")])])],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._m(0),_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-lg-6 col-xl-3\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Data Type:\")]),_c('b-form-select',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],class:{ 'is-invalid': _vm.errors.has('exportDataType') },attrs:{\"plain\":\"\",\"options\":_vm.exportItems,\"name\":\"exportDataType\",\"data-vv-as\":\"export data type\"},model:{value:(_vm.selectedExportDataType),callback:function ($$v) {_vm.selectedExportDataType=$$v},expression:\"selectedExportDataType\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('exportDataType')),expression:\"errors.has('exportDataType')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('exportDataType')))])],1)])]),_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-lg-6 col-xl-3\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"rlg-data\":true},model:{value:(_vm.selectedPartnerPracticeId),callback:function ($$v) {_vm.selectedPartnerPracticeId=$$v},expression:\"selectedPartnerPracticeId\"}})],1)]),_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-lg-2\"},[_c('button',{staticClass:\"btn btn-primary\",on:{\"click\":_vm.downloadAsync}},[_vm._v(\"Download\")])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row pb-3 align-items-center justify-content-between\"},[_c('div',{staticClass:\"col\"},[_c('h2',[_vm._v(\"Data Exports\")])])])}]\n\nexport { render, staticRenderFns }","import configuration from '@/services/user-manager/user-manager-configuration';\nimport { User, UserManager } from 'oidc-client';\n\nconst userManager = new UserManager(configuration);\n\nuserManager.events.addUserLoaded((user: User) => {\n // TODO(Dan): Store relevent info into the store.\n // TODO(Dan): Do we need to reload permissions!\n});\nuserManager.events.addUserSignedOut(() => {\n // TODO(Dan): Deal with logout, clear stuff out etc.\n // TODO(Dan): Redirect to login screen!?\n});\nuserManager.events.addSilentRenewError((error: any) => {\n // TODO(Dan): What do we want to do here?\n});\n\nexport default userManager;\n","import axios, { AxiosResponse, AxiosRequestConfig } from 'axios';\nimport userManager from '@/services/user-manager/user-manager';\n\nexport async function defaultResponseInterceptor(response: AxiosResponse): Promise> {\n return response;\n}\n\nexport async function authResponseFailureInterceptor(error: any): Promise {\n if (error.response && error.response.status === 401) {\n if (error.config && !error.config.__isRetryRequest) {\n await userManager.signinSilent();\n error.config.__isRetryRequest = true;\n\n return axios(error.config);\n } else {\n // TODO(Dan): We failed after retrying and still had a 401. We probably need to log the user out.\n // tslint:disable-next-line:no-debugger\n debugger;\n }\n }\n\n return error;\n}\n\nexport async function applyAuthenticationHeader(config: AxiosRequestConfig): Promise {\n const user = await userManager.getUser();\n\n if (user != null) {\n config.headers.Authorization = `Bearer ${user.access_token}`;\n }\n\n return config;\n}\n","export class Forbidden extends Error {\n public constructor(message: string | undefined) {\n super(message);\n }\n}\n","export class NotFound extends Error {\n public constructor(message: string | undefined) {\n super(message);\n }\n}\n","export class BadRequest extends Error {\n public errors?: Array<{ description: string }>;\n\n public constructor(message?: string, errors?: Array<{ description: string }>) {\n super(message);\n\n this.errors = errors;\n }\n}\n","import axios, { AxiosRequestConfig, CancelToken } from 'axios';\nimport { applyAuthenticationHeader, defaultResponseInterceptor, authResponseFailureInterceptor } from '@/api/interceptors/auth-interceptors';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport { NotFound } from '@/api/responses/not-found';\nimport { BadRequest } from './responses/bad-request';\n\nexport abstract class Api {\n\n protected constructor() {\n axios.interceptors.request.use(applyAuthenticationHeader);\n axios.interceptors.response.use(defaultResponseInterceptor, authResponseFailureInterceptor);\n }\n\n protected async getAsync(url: string, data?: any, cancellationToken: CancelToken | null = null) {\n url = this.buildUrl(url);\n\n const response = await axios.get(url, this.buildConfig(cancellationToken, data));\n\n this.throwIfRequestWasUnsuccessful(url, response);\n\n return response.data as T;\n }\n\n protected async getFileAsync(url: string, data?: any, cancellationToken: CancelToken | null = null): Promise {\n url = this.buildUrl(url);\n const config = this.buildConfig(cancellationToken, data);\n config.responseType = 'blob';\n\n const response = await axios.get(url, config);\n\n this.throwIfRequestWasUnsuccessful(url, response);\n\n return response.data as string;\n }\n\n protected async postAsync(url: string, data: any, cancellationToken: CancelToken | null = null): Promise {\n\n url = this.buildUrl(url);\n\n const response = await axios.post(url, data, this.buildConfig(cancellationToken));\n\n this.throwIfRequestWasUnsuccessful(url, response);\n\n if (response.headers.location) {\n let location = response.headers.location as string;\n\n if (location.startsWith('http://')) {\n location = location.replace('http://', 'https://');\n }\n\n return (location as any) as T;\n }\n\n return response.data as T;\n }\n protected async postFileAsync(url: string, data: File, cancellationToken: CancelToken | null = null): Promise {\n url = this.buildUrl(url);\n\n const formData: FormData = new FormData();\n formData.append('file', data);\n\n const config = this.buildConfig(cancellationToken);\n config.headers['Content-type'] = 'multipart/form-data';\n\n const response = await axios.post(url, formData, this.buildConfig(cancellationToken));\n\n this.throwIfRequestWasUnsuccessful(url, response);\n\n if (response.headers.location) {\n return response.headers.location as T;\n }\n\n return response.data as T;\n }\n protected async putAsync(url: string, data: any, cancellationToken: CancelToken | null = null) {\n\n url = this.buildUrl(url);\n\n const response = await axios.put(url, data, this.buildConfig(cancellationToken));\n\n this.throwIfRequestWasUnsuccessful(url, response);\n\n return response.data as T;\n }\n protected async patchAsync(url: string, data: any, cancellationToken: CancelToken | null = null) {\n\n url = this.buildUrl(url);\n\n try {\n const response = await axios.patch(url, data, this.buildConfig(cancellationToken));\n\n this.throwIfRequestWasUnsuccessful(url, response);\n\n return response.data as T;\n } catch (e) {\n throw e;\n }\n }\n protected async deleteAsync(url: string, cancellationToken: CancelToken | null = null) {\n\n url = this.buildUrl(url);\n\n try {\n const response = await axios.delete(url, this.buildConfig(cancellationToken));\n\n this.throwIfRequestWasUnsuccessful(url, response);\n\n return response.data as T;\n } catch (e) {\n throw e;\n }\n }\n protected buildUrl(url: string): string {\n let baseUrl = process.env.NODE_ENV !== 'production'\n ? `${process.env.VUE_APP_API_URL}`\n : `https://api.${window.location.host}`;\n\n if (!baseUrl.endsWith('/')) {\n baseUrl += '/';\n }\n\n return `${baseUrl}${url}`;\n }\n protected buildConfig(cancellationToken: CancelToken | null, data?: any): AxiosRequestConfig {\n const config: AxiosRequestConfig = {\n cancelToken: cancellationToken || undefined,\n headers: {\n 'Accept': 'application/json',\n 'Content-type': 'application/json',\n },\n params: data || undefined,\n validateStatus: (status: number) => {\n return status >= 200 && status < 300;\n },\n withCredentials: true,\n };\n\n return config;\n }\n private throwIfRequestWasUnsuccessful(url: string, response: any) {\n const hasError = (response && response.request.readyState === 4 && response.request.status === 0) || (response && response.response && (response.response.status < 200 || response.response.status >= 300));\n\n if (!hasError) {\n return;\n }\n\n if (response.response.status === 403) {\n throw new Forbidden(`Request to ${url} failed with a response status of: ${response.response.status}.`);\n }\n if (response.response.status === 404) {\n throw new NotFound(`Request to ${url} failed with a response status of: ${response.response.status}.`);\n }\n if (response.response.data.error) {\n throw new Error(response.response.data.error);\n }\n if (response.response.data.errors) {\n throw new BadRequest(`Request to ${url} failed with a response status of ${response.response.status}.`, response.response.data.errors);\n }\n\n throw new Error(`Request to ${url} failed with a response status of: ${response.response.status}.`);\n }\n}\n","import { Api } from '@/api/api';\n\nexport class ExportApi extends Api {\n public getClientDataAsync(partnerPracticeId: string | null): Promise {\n return this.getFileAsync(`v1/export/client-data`, { partnerPracticeId });\n }\n\n public async getAppointmentDataAsync(partnerPracticeId: string | null): Promise {\n return await this.getFileAsync(`v1/export/appointment-data`, { partnerPracticeId });\n }\n\n public async getCallDataAsync(partnerPracticeId: string | null): Promise {\n return await this.getFileAsync(`v1/export/call-data`, { partnerPracticeId });\n }\n\n public async getDataReportAsync(partnerPracticeId: string | null): Promise {\n return await this.getFileAsync(`v1/export/data-report`, { partnerPracticeId });\n }\n\n public async getDataCleanseExportAsync(partnerPracticeId: string | null): Promise {\n return await this.getFileAsync(`v1/export/data-cleanse`, { partnerPracticeId });\n }\n\n public constructor() {\n super();\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('navbar',{on:{\"toggle-menu\":_vm.onToggleSidebar}}),_c('div',{staticClass:\"container-fluid\"},[_c('div',{staticClass:\"row\"},[(_vm.showSidebar)?_c('sidebar'):_vm._e(),_c('main',{staticClass:\"col pt-3 px-4 position-relative\",attrs:{\"role\":\"main\"}},[_c('breadcrumb'),_vm._t(\"default\")],2)],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('nav',{attrs:{\"aria-label\":\"breadcrumb\"}},[_c('ol',{staticClass:\"breadcrumb bg-light\"},[_c('li',[_c('a',{on:{\"click\":_vm.onBack}},[_c('svg',{staticClass:\"feather feather-arrow-left\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('line',{attrs:{\"x1\":\"19\",\"y1\":\"12\",\"x2\":\"5\",\"y2\":\"12\"}}),_c('polyline',{attrs:{\"points\":\"12 19 5 12 12 5\"}})])]),_vm._v(\"\\n  \\n \")]),(_vm.routes.length < 1)?_c('li',{staticClass:\"breadcrumb-item\"},[_c('router-link',{attrs:{\"to\":{ name: 'home' },\"exact\":\"\"}},[_vm._v(\"Dashboard\")])],1):_vm._e(),_vm._l((_vm.routes),function(route,index){return _c('li',{key:index,staticClass:\"breadcrumb-item\",class:{ 'active': index == _vm.routes.length - 1 }},[(index < _vm.routes.length - 1)?_c('router-link',{attrs:{\"to\":{ name: route.name, params: route.params },\"exact\":\"\"}},[(route.meta.breadcrumbTitle === 'Home' || route.meta.title === 'Home')?_c('span',[_c('svg',{staticClass:\"feather feather-home\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('path',{attrs:{\"d\":\"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"}}),_c('polyline',{attrs:{\"points\":\"9 22 9 12 15 12 15 22\"}})])]):_c('span',[_vm._v(_vm._s(route.meta.breadcrumbTitle || route.meta.title))])]):_c('a',[(route.meta.breadcrumbTitle === 'Home' || route.meta.title === 'Home')?_c('span',[_c('svg',{staticClass:\"feather feather-home\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('path',{attrs:{\"d\":\"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"}}),_c('polyline',{attrs:{\"points\":\"9 22 9 12 15 12 15 22\"}})])]):_c('span',[_vm._v(_vm._s(route.meta.breadcrumbTitle || route.meta.title))])])],1)})],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\n\n\n\n\n\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { RouteConfig } from 'vue-router';\n\n@Component\nexport default class Breadcrumb extends Vue {\n private routes: Array = new Array();\n\n @Watch('$route', { deep: true })\n private onRouteChanged(): void {\n this.generateBreadcrumb();\n }\n\n private onBack(): void {\n if (this.routes.length === 1) {\n return;\n }\n\n this.$router.back();\n }\n\n private generateBreadcrumb(): void {\n const routes = this.$route.matched\n .filter((route) => {\n return route.meta.ignoreBreadcrumb !== true;\n })\n .map((route) => {\n return { name: route.name, path: route.path, meta: route.meta };\n });\n\n const home = routes.find((route) => route.name === 'home');\n\n if (home == null) {\n routes.unshift({ name: 'home', path: '', meta: { title: 'Home' } });\n }\n\n this.routes = routes;\n }\n\n private created(): void {\n this.generateBreadcrumb();\n }\n}\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./breadcrumb.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./breadcrumb.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./breadcrumb.vue?vue&type=template&id=1d0e4d0f&\"\nimport script from \"./breadcrumb.vue?vue&type=script&lang=ts&\"\nexport * from \"./breadcrumb.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('nav',{staticClass:\"navbar navbar-expand navbar-dark bg-primary sticky-top py-0\"},[_c('router-link',{staticClass:\"navbar-brand\",attrs:{\"to\":{ name: 'home' }}},[_c('img',{attrs:{\"src\":require(\"../assets/img/rlg-logo-white.png\"),\"alt\":\"\"}})])],1),_c('nav',{staticClass:\"navbar navbar-light bg-light sticky-top\"},[_c('div',{staticClass:\"navbar-brand mr-auto\"},[_c('button',{staticClass:\"navbar-toggler\",on:{\"click\":_vm.onToggleMenu}},[_c('span',{staticClass:\"navbar-toggler-icon\"})]),_vm._v(\"\\n  \\n \"),_c('router-link',{attrs:{\"to\":{ name: 'home' }}},[_c('img',{attrs:{\"src\":require(\"../assets/img/concerto-logo.png\"),\"alt\":\"\"}})])],1),(_vm.isAdministrator)?_c('b-link',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"nav-item nav-link\",attrs:{\"to\":{ name: 'system-settings' },\"title\":\"Settings\"}},[_c('svg',{staticClass:\"feather feather-settings\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('circle',{attrs:{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"3\"}}),_c('path',{attrs:{\"d\":\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z\"}})])]):_vm._e(),_c('b-link',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"nav-item nav-link\",attrs:{\"title\":\"User Guide\"},on:{\"click\":_vm.onDownloadUserGuideAsync}},[_c('svg',{staticClass:\"feather feather-help-circle\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('circle',{attrs:{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}),_c('path',{attrs:{\"d\":\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"17\",\"x2\":\"12.01\",\"y2\":\"17\"}})])]),_c('b-link',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"nav-item nav-link\",attrs:{\"href\":\"mailto:concertosupport@rightlegalgroup.com?subject=Concerto Support Request\",\"title\":\"Email Support\"}},[_c('svg',{staticClass:\"feather feather-message-circle\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('path',{attrs:{\"d\":\"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z\"}})])]),_c('div',[_c('b-avatar',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.user-menu\",modifiers:{\"user-menu\":true}}],attrs:{\"button\":\"\",\"text\":_vm.userInitials}}),_c('b-sidebar',{attrs:{\"id\":\"user-menu\",\"right\":\"\",\"no-header\":\"\",\"backdrop\":\"\",\"shadow\":\"\"}},[_c('div',{staticClass:\"px-3 py-2\"},[_c('div',{staticClass:\"row align-items-center justify-content-end\"},[_c('div',{staticClass:\"col-auto\"},[_c('b-btn',{attrs:{\"variant\":\"outline-primary\",\"size\":\"sm\"},on:{\"click\":_vm.onLogout}},[_c('svg',{staticClass:\"feather feather-log-out\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('path',{attrs:{\"d\":\"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4\"}}),_c('polyline',{attrs:{\"points\":\"16 17 21 12 16 7\"}}),_c('line',{attrs:{\"x1\":\"21\",\"y1\":\"12\",\"x2\":\"9\",\"y2\":\"12\"}})]),_vm._v(\"\\n Sign Out\\n \")])],1)]),_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-auto\"},[_c('b-avatar',{attrs:{\"badge\":\"\",\"badge-variant\":\"success\",\"size\":\"lg\",\"text\":_vm.userInitials}})],1),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.user.firstName)+\" \"+_vm._s(_vm.user.lastName))]),_c('div',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.user.email))]),_vm._l((_vm.user.roles),function(role,index){return _c('b-badge',{key:index,attrs:{\"variant\":\"primary\"}},[_vm._v(_vm._s(_vm._f(\"capitalizeFirst\")(role.name)))])})],2)]),_c('div',{staticClass:\"row align-items-center pt-2\"},[_c('div',{staticClass:\"col\"},[_c('b-btn',{staticClass:\"px-0\",attrs:{\"variant\":\"link\",\"href\":_vm.changePasswordUrl}},[_c('svg',{staticClass:\"feather feather-edit\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('path',{attrs:{\"d\":\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"}}),_c('path',{attrs:{\"d\":\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"}})]),_vm._v(\"\\n Change Password\\n \")])],1)])])])],1)],1),_c('loading',{attrs:{\"active\":_vm.isLoading,\"isFullPage\":true},on:{\"update:active\":function($event){_vm.isLoading=$event}}},[_c('p',[_vm._v(\"Logging out, please wait...\")])]),_c('confirmation-dialog',{ref:\"modal\",attrs:{\"title\":\"Sign Out\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true,\"variant\":\"danger\",\"ok-text\":\"Sign Out\",\"centered\":\"\"},on:{\"ok\":_vm.onLogoutConfirmedAsync,\"cancel\":_vm.onCancel},model:{value:(_vm.showLogoutConfirmation),callback:function ($$v) {_vm.showLogoutConfirmation=$$v},expression:\"showLogoutConfirmation\"}},[_c('div',[_vm._v(\"\\n Are you sure you want to sign out?\\n You will lose any unsaved information.\\n \")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Api } from './api';\n\nexport class UserGuideApi extends Api {\n public async getUserGuide(filename: string): Promise {\n return this.getFileAsync(`v1/userguide/${filename}`);\n }\n\n public constructor() {\n super();\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":_vm.animation}},[(_vm.isActive)?_c('div',{staticClass:\"loading-overlay is-active\",class:{ 'is-full-page': _vm.isFullPage }},[_c('div',{staticClass:\"loading-background\",on:{\"click\":_vm.cancel}}),_c('div',{staticClass:\"loading-icon\"}),_c('div',{staticClass:\"loading-content\"},[_vm._t(\"default\")],2)]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class Loading extends Vue {\n @Prop() public active!: boolean;\n @Prop({ type: Boolean, default: false }) public isFullPage!: boolean;\n @Prop({ type: String, default: 'fade'}) public animation!: boolean;\n @Prop({ type: Boolean, default: false }) public canCancel!: boolean;\n @Prop({ type: Function, default: () => {} }) public onCancel!: () => {};\n\n public isActive: boolean = this.active || false;\n\n @Watch('active')\n public activeChanged(value: boolean) {\n this.isActive = value;\n }\n public cancel(): void {\n if (!this.canCancel || !this.isActive) {\n return;\n }\n\n this.close();\n }\n public close(): void {\n this.onCancel.apply(null);\n this.$emit('close');\n this.$emit('update:active', false);\n }\n public keyPress(event: KeyboardEvent) {\n if (event.keyCode === 27) {\n this.cancel();\n }\n }\n\n public created(): void {\n if (typeof window !== undefined) {\n document.addEventListener('keyup', this.keyPress);\n }\n }\n public beforeDestroy(): void {\n if (typeof window !== undefined) {\n document.removeEventListener('keyup', this.keyPress);\n }\n }\n}\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./loading.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./loading.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./loading.vue?vue&type=template&id=b6130bf6&\"\nimport script from \"./loading.vue?vue&type=script&lang=ts&\"\nexport * from \"./loading.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\nimport { UserGuideApi } from '@/api/user-guide';\nimport loading from '@/components/loading.vue';\nimport userManager from '@/services/user-manager/user-manager';\nimport { User } from '@/shared/user';\nimport { Component, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst userModule = namespace('user');\n\nconst userGuideApi = new UserGuideApi();\n\n@Component({\n components: {\n loading,\n },\n})\nexport default class NavigationBar extends Vue {\n @userModule.Getter('user') private user!: User;\n @userModule.Getter('isAdministrator') private isAdministrator!: boolean;\n @userModule.Getter('isInternalKeyStakeholder') private isInternalKeyStakeholder!: boolean;\n @userModule.Getter('isLegalAdvisor') private isLegalAdvisor!: boolean;\n @userModule.Getter('isCustomerExperienceExecutive') private isCustomerExperienceExecutive!: boolean;\n @userModule.Getter('isCustomerExperienceExecutiveTeamLeader') private isCustomerExperienceExecutiveTeamLeader!: boolean;\n @userModule.Getter('isDataCreationExecutive') private isDataCreationExecutive!: boolean;\n @userModule.Getter('isDataCreationTeamLeader') private isDataCreationTeamLeader!: boolean;\n @userModule.Getter('isHeadOfDepartment') private isHeadOfDepartment!: boolean;\n\n private showLogoutConfirmation: boolean = false;\n private isLoading: boolean = false;\n\n private get userInitials(): string {\n return `${this.user.firstName == null ? null : this.user.firstName.substr(0, 1)}${this.user.lastName == null ? null : this.user.lastName.substr(0, 1)}`;\n }\n\n private get changePasswordUrl(): string {\n return process.env.NODE_ENV !== 'production'\n ? `${process.env.VUE_APP_IDENTITY_AUTHORITY_URL}/change-password`\n : `https://account.${window.location.host}/change-password`;\n }\n\n private onLogout(): void {\n this.showLogoutConfirmation = true;\n }\n\n private onCancel(): void {\n this.showLogoutConfirmation = false;\n }\n\n private async onDownloadUserGuideAsync(): Promise {\n const response = await userGuideApi.getUserGuide('Concerto User Guide.docx');\n const blob = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' });\n const link = document.createElement('a');\n link.rel = 'noopener';\n link.href = window.URL.createObjectURL(blob);\n link.download = 'Concerto User Guide.docx';\n link.target = '_blank';\n link.click();\n window.URL.revokeObjectURL(link.href);\n }\n\n private async onLogoutConfirmedAsync(): Promise {\n this.isLoading = true;\n await userManager.signoutRedirect();\n }\n\n private onToggleMenu(): void {\n this.$emit('toggle-menu');\n }\n\n private onShowUserMenu(): void {\n alert(`Hello ${this.user.firstName}`);\n }\n}\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./navigation-bar.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./navigation-bar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./navigation-bar.vue?vue&type=template&id=7a3f734a&\"\nimport script from \"./navigation-bar.vue?vue&type=script&lang=ts&\"\nexport * from \"./navigation-bar.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('nav',{staticClass:\"d-flex justify-content-between flex-direction: column col-md-2 d-none d-md-block bg-light sidebar\"},[_c('div',{staticClass:\"sidebar-sticky\"},[_c('ul',{staticClass:\"nav flex-column mt-4\"},[_c('li',{staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":{ 'name': 'home' }}},[_c('svg',{staticClass:\"feather feather-home\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('path',{attrs:{\"d\":\"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"}}),_c('polyline',{attrs:{\"points\":\"9 22 9 12 15 12 15 22\"}})]),_vm._v(\"\\n Dashboard\\n \")])],1),_c('li',{staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":{ 'name': 'clients' }}},[_c('svg',{staticClass:\"feather feather-users\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('path',{attrs:{\"d\":\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"}}),_c('circle',{attrs:{\"cx\":\"9\",\"cy\":\"7\",\"r\":\"4\"}}),_c('path',{attrs:{\"d\":\"M23 21v-2a4 4 0 0 0-3-3.87\"}}),_c('path',{attrs:{\"d\":\"M16 3.13a4 4 0 0 1 0 7.75\"}})]),_vm._v(\"\\n Clients\\n \")])],1),_c('li',{staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":{ 'name': 'appointments' }}},[_c('svg',{staticClass:\"feather feather-calendar\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('rect',{attrs:{\"x\":\"3\",\"y\":\"4\",\"width\":\"18\",\"height\":\"18\",\"rx\":\"2\",\"ry\":\"2\"}}),_c('line',{attrs:{\"x1\":\"16\",\"y1\":\"2\",\"x2\":\"16\",\"y2\":\"6\"}}),_c('line',{attrs:{\"x1\":\"8\",\"y1\":\"2\",\"x2\":\"8\",\"y2\":\"6\"}}),_c('line',{attrs:{\"x1\":\"3\",\"y1\":\"10\",\"x2\":\"21\",\"y2\":\"10\"}})]),_vm._v(\"\\n Appointments\\n \")])],1),_c('li',{staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":{ 'name': 'target-tracker' }}},[_c('svg',{staticClass:\"feather feather-trending-up\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('polyline',{attrs:{\"points\":\"23 6 13.5 15.5 8.5 10.5 1 18\"}}),_c('polyline',{attrs:{\"points\":\"17 6 23 6 23 12\"}})]),_vm._v(\"\\n Legal Advisor Tracker\\n \")])],1),(_vm.showTasksRoute)?_c('li',{staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":{ 'name': 'tasks' }}},[_c('svg',{staticClass:\"feather feather-check-circle\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('path',{attrs:{\"d\":\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"}}),_c('polyline',{attrs:{\"points\":\"22 4 12 14.01 9 11.01\"}})]),_vm._v(\"\\n Tasks\\n \")])],1):_vm._e()]),(_vm.showCallRoutes)?_c('h6',{staticClass:\"sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted\"},[_vm._v(\"Calls\")]):_vm._e(),_c('ul',{staticClass:\"nav flex-column mb-4\"},[(_vm.showMyCallsRoute)?_c('li',{staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":{ 'name': 'calls' }}},[_c('svg',{staticClass:\"feather feather-phone\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('path',{attrs:{\"d\":\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"}})]),_vm._v(\"\\n My Calls\\n \")])],1):_vm._e(),(_vm.showCallManagementRoute)?_c('li',{staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":{ 'name': 'call-management' }}},[_c('svg',{staticClass:\"feather feather-phone-call\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('path',{attrs:{\"d\":\"M15.05 5A5 5 0 0 1 19 8.95M15.05 1A9 9 0 0 1 23 8.94m-1 7.98v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"}})]),_vm._v(\"\\n Call Management\\n \")])],1):_vm._e()]),(_vm.showDataRoutes)?_c('h6',{staticClass:\"sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted\"},[_vm._v(\"Data\")]):_vm._e(),(_vm.showDataRoutes)?_c('ul',{staticClass:\"nav flex-column mb-2\"},[(_vm.showDataImportRoute)?_c('li',{staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":{ 'name': 'data-import' }}},[_c('svg',{staticClass:\"feather feather-upload\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('path',{attrs:{\"d\":\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"}}),_c('polyline',{attrs:{\"points\":\"17 8 12 3 7 8\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"3\",\"x2\":\"12\",\"y2\":\"15\"}})]),_vm._v(\"\\n Data Import\\n \")])],1):_vm._e(),(_vm.showDataExportsRoute)?_c('li',{staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":{ 'name': 'admin-export' }}},[_c('svg',{staticClass:\"feather feather-download\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('path',{attrs:{\"d\":\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"}}),_c('polyline',{attrs:{\"points\":\"7 10 12 15 17 10\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"15\",\"x2\":\"12\",\"y2\":\"3\"}})]),_vm._v(\"\\n Data Exports\\n \")])],1):_vm._e(),(_vm.showExceptionReportsRoute)?_c('li',{staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":{ 'name': 'exception-reports' }}},[_c('svg',{staticClass:\"feather feather-printer\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('polyline',{attrs:{\"points\":\"6 9 6 2 18 2 18 9\"}}),_c('path',{attrs:{\"d\":\"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2\"}}),_c('rect',{attrs:{\"x\":\"6\",\"y\":\"14\",\"width\":\"12\",\"height\":\"8\"}})]),_vm._v(\"\\n Exception Reports\\n \")])],1):_vm._e(),(_vm.showManageDuplicateClientsRoute)?_c('li',{staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":{ 'name': 'manage-duplicate-clients' }}},[_c('svg',{staticClass:\"feather feather-layers\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('polygon',{attrs:{\"points\":\"12 2 2 7 12 12 22 7 12 2\"}}),_c('polyline',{attrs:{\"points\":\"2 17 12 22 22 17\"}}),_c('polyline',{attrs:{\"points\":\"2 12 12 17 22 12\"}})]),_vm._v(\"\\n Manage Duplicate Clients\\n \")])],1):_vm._e()]):_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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst userModule = namespace('user');\n\n@Component\nexport default class NavigationSidebar extends Vue {\n\n @userModule.Getter('isCustomerExperienceExecutive') private isCustomerExperienceExecutive!: boolean;\n @userModule.Getter('isCustomerExperienceExecutiveTeamLeader') private isCustomerExperienceExecutiveTeamLeader!: boolean;\n @userModule.Getter('isDataCreationExecutive') private isDataCreationExecutive!: boolean;\n @userModule.Getter('isDataCreationTeamLeader') private isDataCreationTeamLeader!: boolean;\n @userModule.Getter('isHeadOfCustomerExperienceTeam') private isHeadOfCustomerExperienceTeam!: boolean;\n @userModule.Getter('isInternalKeyStakeholder') private isInternalKeyStakeholder!: boolean;\n @userModule.Getter('isDuplicateManager') private isDuplicateManager!: boolean;\n @userModule.Getter('isHeadOfDepartment') private isHeadOfDepartment!: boolean;\n @userModule.Getter('isProbateLegalAdvisor') private isProbateLegalAdvisor!: boolean;\n\n private get showTasksRoute(): boolean {\n return this.isInternalKeyStakeholder\n || this.isCustomerExperienceExecutiveTeamLeader\n || this.isCustomerExperienceExecutive\n || this.isDataCreationTeamLeader\n || this.isDataCreationExecutive\n || this.isProbateLegalAdvisor;\n }\n\n private get showCallRoutes(): boolean {\n return this.showMyCallsRoute\n || this.showCallManagementRoute;\n }\n\n private get showMyCallsRoute(): boolean {\n return this.isHeadOfCustomerExperienceTeam\n || this.isCustomerExperienceExecutiveTeamLeader\n || this.isCustomerExperienceExecutive;\n }\n\n private get showCallManagementRoute(): boolean {\n return this.isInternalKeyStakeholder\n || this.isHeadOfCustomerExperienceTeam\n || this.isCustomerExperienceExecutiveTeamLeader;\n }\n\n private get showDataRoutes(): boolean {\n return this.showDataImportRoute\n || this.showDataExportsRoute\n || this.showExceptionReportsRoute\n || this.showManageDuplicateClientsRoute;\n }\n\n private get showDataImportRoute(): boolean {\n return this.isInternalKeyStakeholder;\n }\n\n private get showDataExportsRoute(): boolean {\n return this.isInternalKeyStakeholder\n || this.isHeadOfCustomerExperienceTeam\n || this.isCustomerExperienceExecutiveTeamLeader\n || this.isDataCreationTeamLeader;\n }\n\n private get showExceptionReportsRoute(): boolean {\n return this.isInternalKeyStakeholder\n || this.isHeadOfDepartment\n || this.isDataCreationTeamLeader\n || this.isCustomerExperienceExecutiveTeamLeader\n || this.isHeadOfCustomerExperienceTeam;\n }\n\n private get showManageDuplicateClientsRoute(): boolean {\n return this.isInternalKeyStakeholder\n || this.isDuplicateManager;\n }\n}\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./navigation-sidebar.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./navigation-sidebar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./navigation-sidebar.vue?vue&type=template&id=42285842&\"\nimport script from \"./navigation-sidebar.vue?vue&type=script&lang=ts&\"\nexport * from \"./navigation-sidebar.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\nimport breadcrumb from '@/components/breadcrumb.vue';\nimport navbar from '@/components/navigation-bar.vue';\nimport sidebar from '@/components/navigation-sidebar.vue';\nimport { Component, Vue } from 'vue-property-decorator';\n\n@Component({\n components: {\n navbar,\n sidebar,\n breadcrumb,\n },\n})\nexport default class ApplicationLayout extends Vue {\n private showSidebar: boolean = true;\n\n private onToggleSidebar(): void {\n this.showSidebar = !this.showSidebar;\n }\n}\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./app.vue?vue&type=template&id=72f17cd4&\"\nimport script from \"./app.vue?vue&type=script&lang=ts&\"\nexport * from \"./app.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\nimport { ExportApi } from '@/api/export';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport layout from '@/layouts/app.vue';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { Component, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst userModule = namespace('user');\nconst exportApi = new ExportApi();\n\n@Component({\n components: {\n layout,\n },\n})\nexport default class AdminExport extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n\n @userModule.Getter('isInternalKeyStakeholder') private isInternalKeyStakeholder!: boolean;\n\n private selectedExportDataType: number | null = null;\n private selectedPartnerPracticeId: string | null = null;\n\n private get exportItems(): Array<{}> {\n const items: Array<{}> = [\n { value: null, text: '--- Please Select ---' },\n { value: 0, text: 'Client Data' },\n { value: 1, text: 'Appointment Data' },\n { value: 2, text: 'Call Data' },\n { value: 3, text: 'Data Report' },\n ];\n\n if (this.isInternalKeyStakeholder) {\n items.push({ value: 4, text: 'Client Data for Cleansing' });\n }\n\n return items;\n }\n\n public async downloadAsync(): Promise {\n const isValid = await this.$validator.validateAll();\n const isPartnerPracticeValid = await this.$validator.validateAll('partner-practice-select');\n\n if (!isValid || !isPartnerPracticeValid) {\n return;\n }\n\n try {\n let response = '';\n let filename = '';\n\n switch (this.selectedExportDataType) {\n case 0: {\n\n response = await exportApi.getClientDataAsync(this.selectedPartnerPracticeId!);\n filename = 'client-export.xlsx';\n break;\n }\n case 1: {\n response = await exportApi.getAppointmentDataAsync(this.selectedPartnerPracticeId!);\n filename = 'appointment-export.xlsx';\n break;\n }\n case 2: {\n response = await exportApi.getCallDataAsync(this.selectedPartnerPracticeId!);\n filename = 'call-export.xlsx';\n break;\n }\n case 3: {\n response = await exportApi.getDataReportAsync(this.selectedPartnerPracticeId!);\n filename = 'data-export.xlsx';\n break;\n }\n case 4: {\n response = await exportApi.getDataCleanseExportAsync(this.selectedPartnerPracticeId!);\n filename = 'data-cleanse-export.xlsx';\n }\n }\n\n const blob = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n const link = document.createElement('a');\n link.rel = 'noopener';\n link.href = window.URL.createObjectURL(blob);\n link.download = filename;\n link.target = '_blank';\n link.click();\n window.URL.revokeObjectURL(link.href);\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not download requested export data type, please try again.', type: 'is-danger' });\n }\n }\n }\n\n public async mounted(): Promise {\n await this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`);\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./admin-export.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./admin-export.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./admin-export.vue?vue&type=template&id=a57781cc&\"\nimport script from \"./admin-export.vue?vue&type=script&lang=ts&\"\nexport * from \"./admin-export.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:\"appointments\"},[_vm._m(0),_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading appointments, please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-sm-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"accountNumberFilter\"}},[_vm._v(\"Account Number:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accountNumberFilter),expression:\"accountNumberFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"accountNumberFilter\"},domProps:{\"value\":(_vm.accountNumberFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.loadAppointmentsAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.accountNumberFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientFirstNameFilter\"}},[_vm._v(\"Client First Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientFirstNameFilter),expression:\"clientFirstNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"clientFirstNameFilter\"},domProps:{\"value\":(_vm.clientFirstNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.loadAppointmentsAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientFirstNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientLastNameFilter\"}},[_vm._v(\"Client Last Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientLastNameFilter),expression:\"clientLastNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"clientLastNameFilter\"},domProps:{\"value\":(_vm.clientLastNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.loadAppointmentsAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientLastNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-2\"},[_c('user-select',{attrs:{\"type\":\"legal advisor\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-period\":_vm.appointmentDatePeriodFilter,\"date-from\":_vm.appointmentDateFromFilter,\"date-to\":_vm.appointmentDateToFilter},model:{value:(_vm.legalAdvisorFilter),callback:function ($$v) {_vm.legalAdvisorFilter=$$v},expression:\"legalAdvisorFilter\"}},[_vm._v(\"\\n Legal Advisor Name:\\n \")])],1),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentTypeFilter\"}},[_vm._v(\"Appointment Type:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentTypeFilter),expression:\"appointmentTypeFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"appointmentTypeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentTypeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.appointmentTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2)])]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"locationTypeFilter\"}},[_vm._v(\"Location:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.locationTypeFilter),expression:\"locationTypeFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"locationTypeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.locationTypeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.locationTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])}),0)])]),(_vm.showAddressFilter)?_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"addressFilter\"}},[_vm._v(\"Address:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.addressFilter),expression:\"addressFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"addressFilter\"},domProps:{\"value\":(_vm.addressFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.loadAppointmentsAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.addressFilter=$event.target.value}}})])]):_vm._e(),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDatePeriodFilter\"}},[_vm._v(\"Appointment Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentDatePeriodFilter),expression:\"appointmentDatePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"appointmentDatePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentDatePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateFromFilter\"}},[_vm._v(\"From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDateFromFilter') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"wrapper-class\":'datepicker-wrapper',\"calendar-class\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"appointmentDateFromFilter\",\"data-vv-as\":\"appointment from\"},model:{value:(_vm.appointmentDateFromFilter),callback:function ($$v) {_vm.appointmentDateFromFilter=$$v},expression:\"appointmentDateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateFromFilter')),expression:\"errors.has('appointmentDateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateToFilter\"}},[_vm._v(\"To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDateToFilter') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"wrapper-class\":'datepicker-wrapper',\"calendar-class\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"appointmentDateToFilter\",\"data-vv-as\":\"appointment to\"},model:{value:(_vm.appointmentDateToFilter),callback:function ($$v) {_vm.appointmentDateToFilter=$$v},expression:\"appointmentDateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateToFilter')),expression:\"errors.has('appointmentDateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentStatusFilter\"}},[_vm._v(\"Status:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentStatusFilter),expression:\"appointmentStatusFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"appointmentStatusFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentStatusFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.statusTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])}),0)])]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentOutcomeFilter\"}},[_vm._v(\"Appointment Outcome:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcomeFilter),expression:\"appointmentOutcomeFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"appointmentOutcomeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentOutcomeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.outcomeTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])}),0)])]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"paymentStatusFilter\"}},[_vm._v(\"Payment Status:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.paymentStatusFilter),expression:\"paymentStatusFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"paymentStatusFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.paymentStatusFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.paymentStatuses),function(status){return _c('option',{key:status.id,domProps:{\"value\":status.id}},[_vm._v(_vm._s(status.value))])}),0)])]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"bookerRoleFilter\"}},[_vm._v(\"Appointment Booker Type:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.bookerRoleFilter),expression:\"bookerRoleFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"bookerRoleFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.bookerRoleFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.bookerRoles),function(role){return _c('option',{key:role.id,domProps:{\"value\":role.id}},[_vm._v(_vm._s(_vm._f(\"capitalizeFirst\")(role.name)))])})],2)])]),_c('div',{staticClass:\"col-sm-2\"},[_c('user-select',{attrs:{\"type\":\"appointment booker\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-period\":_vm.appointmentDatePeriodFilter,\"date-from\":_vm.appointmentDateFromFilter,\"date-to\":_vm.appointmentDateToFilter,\"role-id\":_vm.bookerRoleFilter},model:{value:(_vm.bookerFilter),callback:function ($$v) {_vm.bookerFilter=$$v},expression:\"bookerFilter\"}},[_vm._v(\"\\n Appointment Booker Name:\\n \")])],1),_c('div',{staticClass:\"col-sm-2\"},[_c('original-source-select',{attrs:{\"partner-practice-id\":_vm.partnerPracticeFilter},model:{value:(_vm.originalSourceTypeFilter),callback:function ($$v) {_vm.originalSourceTypeFilter=$$v},expression:\"originalSourceTypeFilter\"}})],1),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"\"}},[_vm._v(\" \")]),_c('b-btn',{staticClass:\"form-control\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.loadAppointmentsAsync}},[_vm._v(\"Filter\")])],1)]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('div',{staticClass:\"form-inline\"},[_c('a',{staticClass:\"btn btn-link form-control px-0\",on:{\"click\":_vm.clearFilters}},[_vm._v(\"Clear Filters\")])])])])]),_c('appointment-list',{staticClass:\"pt-3\",attrs:{\"appointments\":_vm.appointments},on:{\"show-view-dialog\":_vm.showViewDialog,\"show-completion-dialog\":_vm.showCompletionDialog,\"show-edit-outcome-dialog\":_vm.showEditOutcomeDialog,\"show-rebook-dialog\":_vm.showRebookDialog,\"show-edit-dialog\":_vm.showEditDialog,\"show-delete-appointment-dialog\":_vm.showDeleteAppointmentDialog,\"show-delete-outcome-dialog\":_vm.showDeleteOutcomeDialog}})],1)],1),_c('confirmation-dialog',{ref:\"modal\",attrs:{\"title\":\"Are you sure?\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true,\"variant\":\"danger\",\"ok-text\":\"Delete\",\"centered\":\"\"},on:{\"ok\":_vm.onDeleteAppointment,\"cancel\":_vm.onCancel},model:{value:(_vm.deleteAppointmentConfirmationDialogVisible),callback:function ($$v) {_vm.deleteAppointmentConfirmationDialogVisible=$$v},expression:\"deleteAppointmentConfirmationDialogVisible\"}},[_c('div',[_vm._v(\"\\n Are you sure you want to delete this appointment?\\n \")])]),_c('confirmation-dialog',{ref:\"modal\",attrs:{\"title\":\"Are you sure?\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true,\"variant\":\"danger\",\"ok-text\":\"Delete\",\"centered\":\"\"},on:{\"ok\":_vm.onDeleteOutcome,\"cancel\":_vm.onCancel},model:{value:(_vm.deleteOutcomeConfirmationDialogVisible),callback:function ($$v) {_vm.deleteOutcomeConfirmationDialogVisible=$$v},expression:\"deleteOutcomeConfirmationDialogVisible\"}},[_c('div',[_vm._v(\"\\n Are you sure you want to delete this appointment'''s outcome?\\n \")])]),(_vm.viewDialogVisible)?_c('view-appointment-dialog',{attrs:{\"visible\":_vm.viewDialogVisible,\"appointment\":_vm.selectedAppointment},on:{\"cancel\":_vm.onViewCancel}}):_vm._e(),(_vm.bookDialogVisible)?_c('book-appointment-dialog',{attrs:{\"visible\":_vm.bookDialogVisible,\"client\":_vm.selectedClient,\"original-appointment\":_vm.selectedAppointment,\"is-rebook\":_vm.isAppointmentRebook,\"is-edit\":_vm.isAppointmentEdit},on:{\"ok\":_vm.onAppointmentBooked,\"cancel\":_vm.onBookingCancel}}):_vm._e(),(_vm.completeDialogVisible)?_c('complete-appointment-dialog',{attrs:{\"visible\":_vm.completeDialogVisible,\"appointment\":_vm.selectedAppointment},on:{\"ok\":_vm.onCompleted,\"cancel\":_vm.onCompletionCancel}}):_vm._e(),(_vm.editOutcomeDialogVisible)?_c('edit-appointment-outcome-dialog',{attrs:{\"visible\":_vm.editOutcomeDialogVisible,\"appointment\":_vm.selectedAppointment},on:{\"ok\":_vm.onOutcomeChanged,\"cancel\":_vm.onCompletionCancel}}):_vm._e(),(_vm.editOutcomeLegacyDialogVisible)?_c('edit-appointment-outcome-legacy-dialog',{attrs:{\"visible\":_vm.editOutcomeLegacyDialogVisible,\"appointment\":_vm.selectedAppointment},on:{\"ok\":_vm.onOutcomeChanged,\"cancel\":_vm.onCompletionCancel}}):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row pb-3 align-items-center justify-content-between\"},[_c('div',{staticClass:\"col\"},[_c('h2',[_vm._v(\"Appointments\")])])])}]\n\nexport { render, staticRenderFns }","import { Api } from '@/api/api';\nimport { AppointmentListRequestFilters } from '@/api/requests/appointments/appointment-list-request-filters';\nimport { CreateAppointmentOutcomeRequest } from '@/api/requests/appointments/create-appointment-outcome-request';\nimport { CreateAppointmentRequest } from '@/api/requests/appointments/create-appointment-request';\nimport { UpdateAppointmentRequest } from '@/api/requests/appointments/update-appointment-request';\nimport { Appointment } from '@/shared/appointments/appointment';\nimport { UpdateAppointmentOutcomeRequest } from './requests/appointments/update-appointment-outcome-request';\n\nexport class AppointmentApi extends Api {\n public async getAppointmentsAsync(filters: AppointmentListRequestFilters | null = null): Promise> {\n return await this.getAsync>(`v1/appointment`, filters);\n }\n\n public async getAppointmentByIdAsync(id: string): Promise {\n return await this.getAsync(`v1/appointment/${id}`);\n }\n\n public async createAppointmentAsync(request: CreateAppointmentRequest): Promise {\n const url = this.buildUrl(`v1/appointment`);\n const location = await this.postAsync(`v1/appointment`, { ...request });\n return location.replace(`${url}/`, ``);\n }\n\n public async reBookAppointmentAsync(appointmentId: string, request: CreateAppointmentRequest): Promise {\n const url = this.buildUrl(`v1/appointment/${appointmentId}/rebook`);\n const location = await this.postAsync(`v1/appointment/${appointmentId}/rebook`, { ...request });\n return location.replace(`${url}/`, ``);\n }\n\n public async updateAppointmentAsync(appointmentId: string, request: UpdateAppointmentRequest): Promise {\n const url = this.buildUrl(`v1/appointment/${appointmentId}`);\n const location = await this.putAsync(`v1/appointment/${appointmentId}`, { ...request });\n return location.replace(`${url}/`, ``);\n }\n\n public async createAppointmentOutcomeAsync(appointmentId: string, request: CreateAppointmentOutcomeRequest): Promise {\n const url = this.buildUrl(`v1/appointment/${appointmentId}/outcome`);\n const location = await this.postAsync(`v1/appointment/${appointmentId}/outcome`, request);\n return location.replace(`${url}/`, ``);\n }\n\n public async updateAppointmentOutcomeAsync(appointmentId: string, appointmentOutcomeId: string, request: UpdateAppointmentOutcomeRequest): Promise {\n const url = this.buildUrl(`v1/appointment/${appointmentId}/outcome}/${appointmentOutcomeId}`);\n const location = await this.putAsync(`v1/appointment/${appointmentId}/outcome/${appointmentOutcomeId}`, request);\n return location.replace(`${url}/`, ``);\n }\n\n public async deleteAppointmentAsync(appointment: Appointment): Promise {\n const url = this.buildUrl(`v1/appointment/${appointment.id}`);\n const location = await this.deleteAsync(`v1/appointment/${appointment.id}`);\n return location.replace(`${url}/`, ``);\n }\n\n public async deleteAppointmentOutcomeAsync(appointment: Appointment): Promise {\n const url = this.buildUrl(`v1/appointment/${appointment.id}/outcome`);\n const location = await this.deleteAsync(`v1/appointment/${appointment.id}/outcome`);\n return location.replace(`${url}/`, ``);\n }\n\n public constructor() {\n super();\n }\n}\n","import { Api } from '@/api/api';\nimport { ClientDuplicateRequestFilters } from '@/api/requests/clients/client-duplicate-request-filters';\nimport { ClientPartnerRequestFilters } from '@/api/requests/clients/client-partner-request-filters';\nimport { ClientRequestFilters } from '@/api/requests/clients/client-request-filters';\nimport { CreateClientRequest } from '@/api/requests/clients/create-client-request';\nimport { UpdateClientRequest } from '@/api/requests/clients/update-client-request';\nimport { UpdateClientWillHistoryRequest } from '@/api/requests/clients/update-client-will-history-request';\nimport { ClientsResponse } from '@/api/responses/clients/clients-response';\nimport { Appointment } from '@/shared/appointments/appointment';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientContactHistory } from '@/shared/clients/client-account-contact-history';\nimport { ClientAccountDuplicate } from '@/shared/clients/client-account-duplicate';\nimport { ClientAccountNote } from '@/shared/clients/client-account-note';\nimport { ClientAccountWill } from '@/shared/clients/client-account-will';\n\nexport class ClientAccountsApi extends Api {\n public getClientAccountsAsync(filters: ClientRequestFilters | null = null): Promise {\n return this.getAsync(`v1/client`, filters);\n }\n\n public getClientAccountByIdAsync(id: string): Promise {\n return this.getAsync(`v1/client/${id}`);\n }\n\n public getClientAccountByAccountNumberAsync(accountNo: number): Promise {\n return this.getAsync(`v1/client/account/${accountNo}`);\n }\n\n public async createClientAccountAsync(client: CreateClientRequest): Promise {\n const url = this.buildUrl(`v1/client`);\n const location = await this.postAsync(`v1/client`, client);\n return location.replace(`${url}/`, ``);\n }\n\n public updateClientAccountAsync(client: ClientAccount): Promise {\n const request: UpdateClientRequest = {\n ...client,\n factFind: client.factFind == null ? null : { ...client.factFind },\n will: client.will == null\n ? null\n : {\n ...client.will,\n executors: [...client.will.executors!],\n guardians: [...client.will.guardians!],\n },\n powerOfAttorneys: [...client.powerOfAttorneys!],\n additionalDocuments: [...client.additionalDocuments!],\n deeds: [...client.deeds!],\n };\n return this.putAsync(`v1/client/${client.id}`, request);\n }\n\n public async deleteClientAsync(client: ClientAccount): Promise {\n await this.deleteAsync(`v1/client/${client.id}`);\n }\n\n public getDuplicatesAsync(filters: ClientDuplicateRequestFilters): Promise> {\n return this.getAsync>(`v1/client/duplicate`, filters);\n }\n\n public getClientPotentialPartnersAsync(id: string, filters: ClientPartnerRequestFilters): Promise {\n return this.getAsync(`v1/client/${id}/partner`, filters);\n }\n\n public async assignClientPartnerAsync(client: ClientAccount, partnerId: string): Promise {\n await this.postAsync(`v1/client/${client.id}/partner`, { partnerId, version: client.version });\n }\n\n public async removeClientPartnerAsync(clientId: string, partnerId: string): Promise {\n await this.deleteAsync(`v1/client/${clientId}/partner/${partnerId}`);\n }\n\n public async getClientWillHistory(clientId: string): Promise> {\n return this.getAsync>(`v1/client/${clientId}/will/history`);\n }\n\n public async updateClientWillHistory(clientId: string, will: ClientAccountWill): Promise {\n const request: UpdateClientWillHistoryRequest = {\n ...will,\n id: will.id!,\n executors: [...will.executors],\n guardians: [...will.guardians],\n };\n return this.putAsync(`v1/client/${clientId}/will/history/${will.id!}`, request);\n }\n\n public async deleteClientWillHistory(clientId: string, willId: string): Promise {\n return this.deleteAsync(`v1/client/${clientId}/will/history/${willId}`);\n }\n\n public async getClientNotesAsync(clientId: string): Promise> {\n return this.getAsync>(`v1/client/${clientId}/note`);\n }\n\n public async createClientNoteAsync(clientId: string, note: ClientAccountNote): Promise {\n const url = this.buildUrl(`v1/client/${clientId}/note`);\n const location = await this.postAsync(`v1/client/${clientId}/note`, { ...note });\n return location.replace(`${url}/`, ``);\n }\n\n public async updateClientNoteAsync(clientId: string, note: ClientAccountNote): Promise {\n const url = this.buildUrl(`v1/client/${clientId}/note/${note.id!}`);\n const location = await this.putAsync(`v1/client/${clientId}/note/${note.id!}`, { ...note });\n return location.replace(`${url}/`, ``);\n }\n\n public async deleteClientNoteAsync(clientId: string, note: ClientAccountNote): Promise {\n await this.deleteAsync(`v1/client/${clientId}/note/${note.id!}`);\n }\n\n public async getClientContactHistoryAsync(clientId: string): Promise {\n return this.getAsync(`v1/client/${clientId}/contact`);\n }\n\n public async getClientAppointmentBookingsAsync(clientId: string): Promise> {\n return this.getAsync>(`v1/client/${clientId}/appointment`);\n }\n\n public constructor() {\n super();\n }\n}\n","export enum InstructionType {\n NotInstructed = 0,\n CoolingOff,\n ConsideringOptions,\n Instructed,\n}\n","export enum LocationType {\n Office = 0,\n Home,\n Telephone,\n Video,\n}\n","export enum RoleName {\n Administrator = 'Administrator',\n CustomerExperienceExecutive = 'Customer experience executive',\n CustomerExperienceExecutiveTeamLeader = 'Customer experience executive team leader',\n DataCreationExecutive = 'Data creation executive',\n DataCreationTeamLeader = 'Data creation team leader',\n HeadOfCustomerExperienceTeam = 'Head of Customer Experience Team',\n HoD = 'PP Key Stakeholder',\n InternalKeyStakeholder = 'Internal Key Stakeholder',\n LegalAdvisor = 'Legal advisor',\n LegalAssistant = 'Legal assistant',\n ManageDuplicates = 'Manage duplicates',\n ProbateLegalAdvisor = 'Probate legal advisor',\n System = 'System',\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('appointments-table',{attrs:{\"appointments\":_vm.appointments},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar appointment = ref.appointment;\nreturn [(appointment != null)?_c('b-dropdown',{attrs:{\"size\":\"sm\",\"text\":\"Actions\",\"right\":\"\"}},[(appointment.clients.length < 2 && !appointment.clients[0].isArchived)?_c('b-dropdown-item',{attrs:{\"to\":{ name: 'view-client', params: { id: appointment.clients[0].id } },\"target\":\"_blank\"}},[_vm._v(\"View Client Account\")]):_vm._e(),(appointment.clients.length > 1)?_c('div',_vm._l((appointment.clients),function(client,index){return _c('div',{key:index},[(!client.isArchived)?_c('b-dropdown-item',{attrs:{\"to\":{ name: 'view-client', params: { id: client.id } },\"target\":\"_blank\"}},[_vm._v(\"View Client Account (\"+_vm._s(client.firstName)+\" \"+_vm._s(client.lastName)+\")\")]):_vm._e()],1)}),0):_vm._e(),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.showViewDialog(appointment)}}},[_vm._v(\"View Appointment\")]),(_vm.canEditAppointment(appointment))?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.showEditDialog(appointment)}}},[_vm._v(\"Edit Appointment Booking\")]):_vm._e(),(_vm.canRebookAppointment(appointment))?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.showRebookDialog(appointment)}}},[_vm._v(\"Re-book Appointment\")]):_vm._e(),(_vm.canCreateOutcome(appointment))?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.showCompletionDialog(appointment)}}},[_vm._v(\"Complete Appointment\")]):_vm._e(),(_vm.canEditOutcome(appointment))?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.showEditOutcomeDialog(appointment)}}},[_vm._v(\"Edit Appointment Outcome\")]):_vm._e(),(_vm.canDeleteAppointment() || _vm.canDeleteOutcome(appointment))?_c('b-dropdown-divider'):_vm._e(),(_vm.canDeleteAppointment())?_c('b-dropdown-item',{staticClass:\"text-danger\",on:{\"click\":function($event){return _vm.showDeleteAppointmentConfirmation(appointment)}}},[_vm._v(\"Delete Appointment\")]):_vm._e(),(_vm.canDeleteOutcome(appointment))?_c('b-dropdown-item',{staticClass:\"text-danger\",on:{\"click\":function($event){return _vm.showDeleteOutcomeConfirmation(appointment)}}},[_vm._v(\"Delete Appointment Outcome\")]):_vm._e()],1):_vm._e()]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Api } from '@/api/api';\n\nexport class EmailAttachmentApi extends Api {\n public async getEmailAttachmentsAsync(): Promise> {\n return this.getAsync>(`v1/emailattachment`);\n }\n\n public async emailAttachmentAsync(data: File): Promise {\n return this.postFileAsync(`v1/emailattachment`, data);\n }\n\n public constructor() {\n super();\n }\n}\n","import { EmailAttachmentApi } from '@/api/email-attachment';\nimport { State } from '@/stores/attachment/state';\nimport { ActionContext, ActionTree } from 'vuex';\n\nconst emailAttachmentApi = new EmailAttachmentApi();\n\nexport class Actions implements ActionTree {\n [key: string]: ((injectee: ActionContext, payload: any) => any);\n\n public fetchEmailAttachmentsAsync = async (context: ActionContext) => {\n const response = await emailAttachmentApi.getEmailAttachmentsAsync();\n context.commit('setFiles', response);\n }\n\n public importEmailAttachmentAsync = async (context: ActionContext, file: File) => {\n try {\n await emailAttachmentApi.emailAttachmentAsync(file);\n } catch (e) {\n throw e;\n }\n }\n}\n","import { State } from '@/stores/attachment/state';\nimport { GetterTree } from 'vuex';\n\nexport class Getters implements GetterTree {\n [key: string]: (state: State, getters: any, rootState: any, rootGetters: any) => any;\n\n public files = (state: State) => {\n return state.files;\n }\n}\n","import { State } from '@/stores/attachment/state';\nimport { MutationTree } from 'vuex';\n\nexport class Mutations implements MutationTree {\n [key: string]: (state: State, payload: any) => any;\n\n public setFiles = (state: State, files: Array) => {\n state.files = files;\n }\n}\n","export class State {\n public files: Array = new Array();\n}\n","import { Actions } from '@/stores/attachment/actions';\nimport { Getters } from '@/stores/attachment/getters';\nimport { Mutations } from '@/stores/attachment/mutations';\nimport { State } from '@/stores/attachment/state';\nimport { Module } from 'vuex';\n\nexport class AttachmentStore implements Module {\n public namespaced: boolean = true;\n public state: State = new State();\n public actions = new Actions();\n public getters: Getters = new Getters();\n public mutations = new Mutations();\n}\n","import { Api } from '@/api/api';\nimport { AssignCallsRequest } from '@/api/requests/calls/assign-calls-request';\nimport { CallRequestFilters } from '@/api/requests/calls/call-request-filters';\nimport { UnassignCallsRequest } from '@/api/requests/calls/unassign-calls-request';\nimport { CallsResponse } from '@/api/responses/calls/calls-response';\nimport { MyCallsResponse } from '@/api/responses/calls/my-calls-response';\nimport { Call } from '@/shared/call';\n\nexport class CallApi extends Api {\n public async getCallsAsync(filters: CallRequestFilters | null = null): Promise {\n return await this.getAsync(`v1/call`, filters);\n }\n public async getMyCallsAsync(): Promise {\n return await this.getAsync(`v1/call/my-calls`);\n }\n public async assignCallsAsync(request: AssignCallsRequest): Promise {\n return await this.postAsync(`v1/call/assign`, { ...request });\n }\n public async unassignCallsAsync(request: UnassignCallsRequest): Promise {\n return await this.postAsync(`v1/call/unassign`, { ...request });\n }\n public async beginCallAsync(call: Call): Promise {\n await this.putAsync(`v1/call/${call.id}/begin`, call);\n }\n public constructor() {\n super();\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"enter-active-class\":_vm.transition.enter,\"leave-active-class\":_vm.transition.leave}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isActive),expression:\"isActive\"}],staticClass:\"snackbar\",class:[_vm.type,_vm.position]},[_c('div',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.message))]),(_vm.actionText)?_c('div',{staticClass:\"action\",class:_vm.type,on:{\"click\":_vm.action}},[_c('button',{staticClass:\"btn btn-dark\"},[_vm._v(_vm._s(_vm.actionText))])]):_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\nimport { Component, Vue, Prop } from 'vue-property-decorator';\n\n@Component\nexport default class Snackbar extends Vue {\n @Prop({ type: String, default: 'is-dark' })\n public type!: string;\n @Prop({ type: String, default: '' })\n public message!: string;\n @Prop({ type: Number, default: 3500 })\n public duration!: number;\n @Prop({ type: String, default: 'is-top', validator(value) { return ['is-top-right', 'is-top', 'is-top-left', 'is-bottom-right', 'is-bottom', 'is-bottom-left' ].indexOf(value) > -1; } })\n public position!: string;\n @Prop({ type: String })\n public container!: string;\n @Prop({ type: String, default: 'OK' })\n public actionText!: string;\n @Prop({ type: Function, default: () => {} })\n public onAction!: () => {};\n @Prop({ type: Boolean, default: false })\n public indefinite!: boolean;\n @Prop({ type: Boolean, default: true })\n public queue!: boolean;\n\n private isActive: boolean = false;\n private parentTop: HTMLElement | null = null;\n private parentBottom: HTMLElement | null = null;\n private newContainer: string = this.container;\n private newDuration: number = this.duration;\n private timer: NodeJS.Timer | null = null;\n\n public get correctParent(): HTMLElement | null {\n switch (this.position) {\n case 'is-top-right':\n case 'is-top':\n case 'is-top-left':\n return this.parentTop;\n\n case 'is-bottom-right':\n case 'is-bottom':\n case 'is-bottom-left':\n return this.parentBottom;\n }\n\n return null;\n }\n public get transition(): { enter: string, leave: string } {\n switch (this.position) {\n case 'is-top-right':\n case 'is-top':\n case 'is-top-left':\n return { enter: 'fadeInDown', leave: 'fadeOut' };\n case 'is-bottom-right':\n case 'is-bottom':\n case 'is-bottom-left':\n return { enter: 'fadeInUp', leave: 'fadeOut' };\n\n default:\n return { enter: '', leave: '' };\n }\n }\n\n public shouldQueue(): boolean {\n const queue = this.queue !== undefined\n ? this.queue\n : true;\n\n if (!queue) {\n return false;\n }\n\n return (this.parentTop!.childElementCount > 0 || this.parentBottom!.childElementCount > 0);\n }\n public close(): void {\n if (this.timer != null) {\n clearTimeout(this.timer);\n }\n\n this.isActive = false;\n\n // Timeout for the animation complete before destroying\n setTimeout(() => {\n this.$destroy();\n\n if (typeof this.$el.remove !== undefined) {\n this.$el.remove();\n } else if (this.$el.parentNode != null) {\n this.$el.parentNode.removeChild(this.$el);\n }\n }, 150);\n }\n public showNotice(): void {\n if (this.shouldQueue()) {\n setTimeout(() => this.showNotice(), 250);\n return;\n }\n\n this.correctParent!.insertAdjacentElement('afterbegin', this.$el);\n this.isActive = true;\n\n if (!this.indefinite) {\n this.timer = setTimeout(() => this.close(), this.newDuration);\n }\n }\n public setupContainer(): void {\n this.parentTop = document.querySelector('.notices.is-top');\n this.parentBottom = document.querySelector('.notices.is-top');\n\n if (this.parentTop != null && this.parentBottom != null) {\n return;\n }\n\n if (this.parentTop == null) {\n this.parentTop = document.createElement('div');\n this.parentTop.className = 'notices is-top';\n }\n\n if (this.parentBottom == null) {\n this.parentBottom = document.createElement('div');\n this.parentBottom.className = 'notices is-bottom';\n }\n\n const container = document.querySelector(this.newContainer) || document.body;\n\n container.appendChild(this.parentTop);\n container.appendChild(this.parentBottom);\n\n if (this.newContainer != null) {\n this.parentTop.classList.add('has-custom-container');\n this.parentBottom.classList.add('has-custom-container');\n }\n }\n public action(): void {\n this.onAction();\n this.close();\n }\n public beforeMount(): void {\n this.setupContainer();\n }\n public mounted(): void {\n this.showNotice();\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./snackbar.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./snackbar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./snackbar.vue?vue&type=template&id=3756e9a8&\"\nimport script from \"./snackbar.vue?vue&type=script&lang=ts&\"\nexport * from \"./snackbar.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 Vue from 'vue';\nimport Snackbar from '@/components/snackbar/snackbar.vue';\n\nexport let snackbarProgrammatic = {\n open(params: SnackbarConfig): Snackbar {\n let message = '';\n\n if (typeof params === 'string') {\n message = params;\n }\n\n const defaultParam = {\n message,\n type: 'is-success',\n position: 'is-top',\n };\n\n const propsData = Object.assign(defaultParam, params);\n\n const vm = typeof window !== 'undefined' && (window as any).Vue ? (window as any).Vue : Vue;\n\n const snackbarComponent = vm.extend(Snackbar);\n\n return new snackbarComponent({\n propsData,\n el: document.createElement('div'),\n });\n },\n};\n\nconst plugin = {\n install(vue: any) {\n Vue.prototype.$snackbar = snackbarProgrammatic;\n },\n};\n\ntype ColorModifiers = 'is-white' | 'is-black' | 'is-light' | 'is-dark' | 'is-primary' | 'is-info' | 'is-success' | 'is-warning' | 'is-danger' | string;\ntype GlobalPositions = 'is-top-right' | 'is-top' | 'is-top-left' | 'is-bottom-right' | 'is-bottom' | 'is-bottom-left';\n\nexport interface SnackbarConfig {\n message: string;\n type?: ColorModifiers;\n position?: GlobalPositions;\n duration?: number;\n container?: string;\n actionText?: string | null;\n queue?: boolean;\n indefinite?: boolean;\n onAction?: () => any;\n}\n\ndeclare module 'vue/types/vue' {\n interface Vue {\n $snackbar: typeof snackbarProgrammatic;\n }\n}\n\nexport default plugin;\n","import { CallApi } from '@/api/call';\nimport { snackbarProgrammatic } from '@/components/snackbar';\nimport { State } from '@/stores/calls/state';\nimport { ActionContext, ActionTree } from 'vuex';\n\nconst callApi = new CallApi();\n\nexport class Actions implements ActionTree {\n [key: string]: ((injectee: ActionContext, payload: any) => any);\n\n public loadMyCallsAsync = async (context: ActionContext) => {\n try {\n const result = await callApi.getMyCallsAsync();\n\n context.commit('setNextAvailableCall', result.nextAvailableCall);\n context.commit('setCallbacks', result.callbacks);\n context.commit('setActiveCalls', result.activeCalls);\n } catch (e) {\n if (e instanceof Error) {\n snackbarProgrammatic.open({ message: e.message, type: 'is-danger' });\n } else {\n snackbarProgrammatic.open({ message: 'Could not load calls.', type: 'is-danger' });\n }\n }\n }\n}\n","import { Call } from '@/shared/call';\nimport { State } from '@/stores/calls/state';\nimport { GetterTree } from 'vuex';\n\nexport class Getters implements GetterTree {\n [key: string]: (state: State, getters: any, rootState: any, rootGetters: any) => any;\n\n public nextAvailableCall = (state: State): Call | null => {\n return state.nextAvailableCall;\n }\n\n public callbacks = (state: State): Array => {\n return state.callbacks;\n }\n\n public activeCalls = (state: State): Array => {\n return state.activeCalls;\n }\n}\n","import { Call } from '@/shared/call';\nimport { State } from '@/stores/calls/state';\nimport { MutationTree } from 'vuex';\n\nexport class Mutations implements MutationTree {\n [key: string]: (state: State, payload: any) => any;\n\n public setNextAvailableCall = (state: State, payload: Call) => {\n state.nextAvailableCall = payload;\n }\n\n public setCallbacks = (state: State, payload: Array) => {\n state.callbacks = payload;\n }\n\n public setActiveCalls = (state: State, payload: Array) => {\n state.activeCalls = payload;\n }\n}\n","import { Call } from '@/shared/call';\n\nexport class State {\n public nextAvailableCall: Call | null = null;\n public callbacks: Array = [];\n public activeCalls: Array = [];\n\n}\n","import { Actions } from '@/stores/calls/actions';\nimport { Getters } from '@/stores/calls/getters';\nimport { Mutations } from '@/stores/calls/mutations';\nimport { State } from '@/stores/calls/state';\nimport { Module } from 'vuex';\n\nexport class CallsStore implements Module {\n public namespaced: boolean = true;\n public state: State = new State();\n public actions = new Actions();\n public getters: Getters = new Getters();\n public mutations = new Mutations();\n}\n","export class State {\n public name: string | null = null;\n public version: string | null = null;\n}\n","import { GetterTree } from 'vuex';\nimport { State } from '@/stores/environment/state';\n\nexport class Getters implements GetterTree {\n [key: string]: (state: State, getters: any, rootState: any, rootGetters: any) => any;\n\n public name = (state: State) => state.name;\n public version = (state: State) => state.version;\n}\n","import { MutationTree } from 'vuex';\nimport { State } from '@/stores/environment/state';\n\nexport class Mutations implements MutationTree {\n [key: string]: (state: State, payload: any) => any;\n\n public setEnvironment = (state: State, environment: string) => {\n state.name = environment;\n }\n public setVersion = (state: State, version: string) => {\n state.version = version;\n }\n}\n","import { Api } from '@/api/api';\nimport { Environment } from '@/shared/environment';\n\nexport class EnvironmentApi extends Api {\n public async fetchAsync(): Promise {\n return await this.getAsync('v1/environment');\n }\n\n public constructor() {\n super();\n }\n}\n","import { ActionTree, ActionContext } from 'vuex';\nimport { State } from '@/stores/environment/state';\nimport { EnvironmentApi } from '@/api/environment';\n\nconst environmentApi = new EnvironmentApi();\n\nexport class Actions implements ActionTree {\n [key: string]: ((injectee: ActionContext, payload: any) => any);\n\n public loadAsync = async (context: ActionContext) => {\n const result = await environmentApi.fetchAsync();\n context.commit('setEnvironment', result.name);\n context.commit('setVersion', result.version);\n }\n}\n","import { Module } from 'vuex';\nimport { State } from '@/stores/environment/state';\nimport { Getters } from '@/stores/environment/getters';\nimport { Mutations } from '@/stores/environment/mutations';\nimport { Actions } from '@/stores/environment/actions';\n\nexport class EnvironmentStore implements Module {\n public namespaced: boolean = true;\n public state: State = new State();\n public actions: Actions = new Actions();\n public getters: Getters = new Getters();\n public mutations: Mutations = new Mutations();\n}\n","import { Api } from '@/api/api';\nimport { DataImportFileFilters } from '@/api/requests/import/data-import-file-filters';\nimport { DataImportFileUploadRequest } from '@/api/requests/import/data-import-file-upload-request';\nimport { DataImportFiles } from '@/api/responses/import/data-import-files';\n\nexport class ImportApi extends Api {\n public async getDataImportsAsync(filters: DataImportFileFilters): Promise {\n return await this.getAsync(`v1/import`, filters);\n }\n\n public async getDataImportValidationFileAsync(id: string): Promise {\n return await this.getFileAsync(`v1/import/${id}/validation`);\n }\n\n public async uploadDataImportFileAsync(data: File, request: DataImportFileUploadRequest): Promise {\n return await this.postFileAsync(`v1/import?type=${request.type}&partnerPracticeId=${request.partnerPracticeId}`, data);\n }\n\n public constructor() {\n super();\n }\n}\n","import { ImportApi } from '@/api/import';\nimport { DataImportFileFilters } from '@/api/requests/import/data-import-file-filters';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport { snackbarProgrammatic } from '@/components/snackbar';\nimport router from '@/router';\nimport store from '@/store';\nimport { State } from '@/stores/import/state';\nimport { ActionContext, ActionTree } from 'vuex';\n\nconst importApi = new ImportApi();\n\nexport class Actions implements ActionTree {\n [key: string]: ((injectee: ActionContext, payload: any) => any);\n\n public loadDataImportFilesAsync = async (context: ActionContext) => {\n try {\n const filters: DataImportFileFilters = store.getters['import/dataImportFileFilters'];\n const response = await importApi.getDataImportsAsync({ ...filters });\n context.commit('setDataImportFiles', response);\n } catch (e) {\n if (e instanceof Forbidden) {\n router.push({ name: 'forbidden' });\n } else if (e instanceof Error) {\n snackbarProgrammatic.open({ message: e.message, type: 'is-danger' });\n } else {\n snackbarProgrammatic.open({ message: `Could not load data import files.`, type: 'is-danger' });\n }\n }\n }\n\n public resetDataImportFiles = async (context: ActionContext) => {\n context.commit('setDataImportFiles', { files: [], total: 0 });\n }\n\n public setDataImportFileFilters = async (context: ActionContext, filters: DataImportFileFilters) => {\n context.commit('setDataImportFileFilters', filters);\n }\n}\n","import { State } from '@/stores/import/state';\nimport { GetterTree } from 'vuex';\n\nexport class Getters implements GetterTree {\n [key: string]: (state: State, getters: any, rootState: any, rootGetters: any) => any;\n\n public dataImportFiles = (state: State) => {\n return state.dataImportFiles;\n }\n\n public totalDataImportFiles = (state: State) => {\n return state.totalDataImportFiles;\n }\n\n public dataImportFileFilters = (state: State) => {\n return state.filters;\n }\n}\n","import { DataImportFileFilters } from '@/api/requests/import/data-import-file-filters';\nimport { DataImportFiles } from '@/api/responses/import/data-import-files';\nimport { State } from '@/stores/import/state';\nimport { MutationTree } from 'vuex';\n\nexport class Mutations implements MutationTree {\n [key: string]: (state: State, payload: any) => any;\n\n public setDataImportFiles = (state: State, payload: DataImportFiles) => {\n state.dataImportFiles = payload.files;\n state.totalDataImportFiles = payload.total;\n }\n\n public setDataImportFileFilters = (state: State, payload: DataImportFileFilters) => {\n state.filters = { ...payload };\n }\n}\n","import { DataImportFileFilters } from '@/api/requests/import/data-import-file-filters';\nimport { DataImportFile } from '@/shared/data-import-file';\n\nexport class State {\n public dataImportFiles: Array = [];\n public totalDataImportFiles: number = 0;\n public filters: DataImportFileFilters = {\n page: 1,\n pageSize: 25,\n type: null,\n partnerPracticeId: null,\n status: null,\n };\n}\n","import { Actions } from '@/stores/import/actions';\nimport { Getters } from '@/stores/import/getters';\nimport { Mutations } from '@/stores/import/mutations';\nimport { State } from '@/stores/import/state';\nimport { Module } from 'vuex';\n\nexport class ImportStore implements Module {\n public namespaced: boolean = true;\n public state: State = new State();\n public actions = new Actions();\n public getters: Getters = new Getters();\n public mutations = new Mutations();\n}\n","export class State {\n public isConnected: boolean = false;\n}\n","import { ActionTree, ActionContext } from 'vuex';\nimport { State } from '@/stores/notification/state';\n\nexport class Actions implements ActionTree {\n [key: string]: ((injectee: ActionContext, payload: any) => any);\n\n // public loadMeAsync = async (context: ActionContext) => {\n // const user = await userApi.getMeAsync();\n // context.commit('setUser', user);\n // }\n}\n","import { GetterTree } from 'vuex';\nimport { State } from '@/stores/notification/state';\n\nexport class Getters implements GetterTree {\n [key: string]: (state: State, getters: any, rootState: any, rootGetters: any) => any;\n\n public isConnected = (state: State) => state.isConnected;\n}\n","import { MutationTree } from 'vuex';\nimport { State } from '@/stores/notification/state';\nimport { User } from '@/shared/user';\n\nexport class Mutations implements MutationTree {\n [key: string]: (state: State, payload: any) => any;\n}\n","import { Module } from 'vuex';\nimport { State } from '@/stores/notification/state';\nimport { Actions } from '@/stores/notification/actions';\nimport { Getters } from '@/stores/notification/getters';\nimport { Mutations } from '@/stores/notification/mutations';\n\nexport class NotificationStore implements Module {\n public namespaced: boolean = true;\n public state: State = new State();\n public actions = new Actions();\n public getters: Getters = new Getters();\n public mutations = new Mutations();\n}\n","import { Api } from '@/api/api';\nimport { CreatePartnerPracticeRequest } from '@/api/requests/partner-practices/create-partner-practice-request';\nimport { PartnerPracticeRequestFilters } from '@/api/requests/partner-practices/partner-practice-request-filters';\nimport { UpdatePartnerPracticeRequest } from '@/api/requests/partner-practices/update-partner-practice-request';\nimport { PartnerPracticeResponse } from '@/api/responses/partner-practices/partner-practices-response';\nimport { PartnerPractice } from '@/shared/partner-practice';\n\nexport class PartnerPracticeApi extends Api {\n public async getPartnerPracticesAsync(filters: PartnerPracticeRequestFilters | null = null): Promise {\n return this.getAsync(`v1/partnerpractice`, filters);\n }\n\n public async getPartnerPracticeAsync(id: string): Promise {\n\n return this.getAsync(`v1/partnerpractice/${id}`);\n }\n\n public async createPartnerPracticeAsync(request: CreatePartnerPracticeRequest): Promise {\n return this.postAsync(`v1/partnerpractice`, { ...request });\n }\n\n\n public async deletePartnerPracticeAsync(partnerPractice: PartnerPractice): Promise {\n await this.deleteAsync(`v1/partnerpractice/${partnerPractice.id}`);\n }\n\n public async updatePartnerPracticeAsync(request: UpdatePartnerPracticeRequest): Promise {\n await this.putAsync(`v1/partnerpractice/${request.id}`, { ...request });\n }\n\n public constructor() {\n super();\n }\n}\n","import { PartnerPracticeApi } from '@/api/partner-practice';\nimport { State } from '@/stores/partner-practices/state';\nimport { ActionContext, ActionTree } from 'vuex';\n\nconst partnerPracticeApi = new PartnerPracticeApi();\n\nexport class Actions implements ActionTree {\n [key: string]: ((injectee: ActionContext, payload: any) => any);\n\n public loadPartnerPracticesAsync = async (context: ActionContext) => {\n const response = await partnerPracticeApi.getPartnerPracticesAsync();\n context.commit('setPartnerPractices', response.partnerPractices);\n }\n}\n","import { PartnerPractice } from '@/shared/partner-practice';\nimport { PartnerPracticeAddress } from '@/shared/partner-practice-address';\nimport { ClientOriginalSourceType } from '@/shared/types/client-original-source-type';\nimport { User } from '@/shared/user';\nimport { State } from '@/stores/partner-practices/state';\nimport { GetterTree } from 'vuex';\n\nexport class Getters implements GetterTree {\n [key: string]: (state: State, getters: any, rootState: any, rootGetters: any) => any;\n\n public partnerPractices = (state: State) => {\n return state.partnerPractices.filter((partnerPractice) => !partnerPractice.isArchived);\n }\n\n public partnerPracticesForCurrentUser = (state: State, getters: Getters, rootState: any, rootGetters: any): Array => {\n const currentUser: User = rootGetters['user/user'];\n\n if (currentUser == null) {\n return [];\n }\n\n const partnerPractices: any = getters.partnerPractices;\n\n return currentUser.partnerPracticeId == null\n ? partnerPractices\n : partnerPractices.filter((partnerPractice: PartnerPractice) => partnerPractice.id === currentUser.partnerPracticeId);\n }\n\n public partnerPracticeName = (state: State) => (partnerPracticeId: string | null): string => {\n if (partnerPracticeId === '00000000-0000-0000-0000-000000000000') {\n return 'RLG Data';\n }\n\n const partnerPractice = state.partnerPractices.find((pp) => pp.id! === partnerPracticeId);\n return partnerPractice == null ? '' : partnerPractice.name!;\n }\n\n public partnerPracticeAddresses = (state: State) => (partnerPracticeId: string | null): Array => {\n if (partnerPracticeId == null) {\n return [];\n }\n\n const partnerPractice = state.partnerPractices.find((pp) => pp.id! === partnerPracticeId);\n return partnerPractice == null ? [] : partnerPractice.addresses;\n }\n\n public partnerPracticeOriginalSourceTypes = (state: State, getters: Getters, rootState: any, rootGetters: any) => (partnerPracticeId: string | null): Array => {\n const clientOriginalSourceTypes: Array = rootGetters[`types/activeClientOriginalSourceTypes`];\n\n if (partnerPracticeId == null) {\n return clientOriginalSourceTypes\n .sort((a, b) => {\n if (a.value > b.value) { return 1; }\n if (a.value < b.value) { return -1; }\n return 0;\n });\n }\n\n let originalSourceTypeIds: Array = [];\n\n switch (partnerPracticeId) {\n case '-simpsons-':\n for (const simpsonsPartnerPractice of state.partnerPractices.filter((pp) => pp.isSimpsonsSolicitors)) {\n for (const originalSourceTypeId of simpsonsPartnerPractice.originalSourceTypes) {\n if (originalSourceTypeIds.some((id) => id === originalSourceTypeId)) {\n continue;\n }\n\n originalSourceTypeIds.push(originalSourceTypeId);\n }\n }\n\n break;\n\n case '-partners-':\n for (const partnersPartnerPractice of state.partnerPractices.filter((pp) => !pp.isSimpsonsSolicitors)) {\n for (const originalSourceTypeId of partnersPartnerPractice.originalSourceTypes) {\n if (originalSourceTypeIds.some((id) => id === originalSourceTypeId)) {\n continue;\n }\n\n originalSourceTypeIds.push(originalSourceTypeId);\n }\n }\n\n break;\n\n case '00000000-0000-0000-0000-000000000000':\n originalSourceTypeIds = clientOriginalSourceTypes.filter((type) => type.isValidForAcquisition).map((type) => type.id!);\n break;\n\n default:\n const partnerPractice = state.partnerPractices.find((pp) => pp.id! === partnerPracticeId);\n originalSourceTypeIds = partnerPractice == null ? [] : partnerPractice.originalSourceTypes;\n break;\n }\n\n return clientOriginalSourceTypes\n .filter((type) => originalSourceTypeIds.includes(type.id!))\n .sort((a, b) => {\n if (a.value > b.value) { return 1; }\n if (a.value < b.value) { return -1; }\n return 0;\n });\n }\n}\n","import { PartnerPractice } from '@/shared/partner-practice';\nimport { State } from '@/stores/partner-practices/state';\nimport { MutationTree } from 'vuex';\n\nexport class Mutations implements MutationTree {\n [key: string]: (state: State, payload: any) => any;\n\n public setPartnerPractices = (state: State, partnerPractices: Array) => {\n state.partnerPractices = partnerPractices;\n }\n}\n","import { PartnerPractice } from '@/shared/partner-practice';\n\nexport class State {\n public partnerPractices: Array = [];\n}\n","import { Actions } from '@/stores/partner-practices/actions';\nimport { Getters } from '@/stores/partner-practices/getters';\nimport { Mutations } from '@/stores/partner-practices/mutations';\nimport { State } from '@/stores/partner-practices/state';\nimport { Module } from 'vuex';\n\nexport class PartnerPracticesStore implements Module {\n public namespaced: boolean = true;\n public state: State = new State();\n public actions: Actions = new Actions();\n public getters: Getters = new Getters();\n public mutations: Mutations = new Mutations();\n}\n","import { SystemSetting } from '@/shared/system-setting';\n\nexport class State {\n public systemSettings: Array = [];\n}\n","import { Api } from '@/api/api';\nimport { SystemSetting } from '@/shared/system-setting';\n\nexport class SettingApi extends Api {\n public getSettingsAsync(): Promise> {\n return this.getAsync>(`v1/setting`);\n }\n\n public async updateSettingAsync(setting: SystemSetting): Promise {\n await this.putAsync(`v1/setting`, { ...setting });\n }\n\n public constructor() {\n super();\n }\n}\n","import { SettingApi } from '@/api/setting';\nimport { snackbarProgrammatic } from '@/components/snackbar';\nimport { SystemSetting } from '@/shared/system-setting';\nimport { State } from '@/stores/settings/state';\nimport { ActionContext, ActionTree } from 'vuex';\n\nconst api = new SettingApi();\n\nexport class Actions implements ActionTree {\n [key: string]: ((injectee: ActionContext, payload: any) => any);\n\n public loadSystemSettingsAsync = async (context: ActionContext) => {\n const systemSettings = await api.getSettingsAsync();\n context.commit('setSystemSettings', systemSettings);\n }\n\n public updateSystemSettingAsync = async (context: ActionContext, systemSetting: SystemSetting) => {\n try {\n await api.updateSettingAsync({ ...systemSetting });\n } catch (e) {\n snackbarProgrammatic.open({ message: `Could not update the system setting. ${e.message}`, type: 'is-danger' });\n }\n }\n}\n","import { State } from '@/stores/settings/state';\nimport { GetterTree } from 'vuex';\n\nexport class Getters implements GetterTree {\n [key: string]: (state: State, getters: any, rootState: any, rootGetters: any) => any;\n\n public systemSettings = (state: State) => {\n return state.systemSettings;\n }\n}\n","import { SystemSetting } from '@/shared/system-setting';\nimport { State } from '@/stores/settings/state';\nimport { MutationTree } from 'vuex';\n\nexport class Mutations implements MutationTree {\n [key: string]: (state: State, payload: any) => any;\n\n public setSystemSettings = (state: State, systemSettings: Array) => {\n state.systemSettings = systemSettings;\n }\n}\n","import { Module } from 'vuex';\nimport { State } from '@/stores/settings/state';\nimport { Actions } from '@/stores/settings/actions';\nimport { Getters } from '@/stores/settings/getters';\nimport { Mutations } from '@/stores/settings/mutations';\n\nexport class SettingsStore implements Module {\n public namespaced: boolean = true;\n public state: State = new State();\n public actions = new Actions();\n public getters: Getters = new Getters();\n public mutations = new Mutations();\n}\n","import { Api } from '@/api/api';\nimport { TypesRepsonse } from '@/api/responses/types/types-response';\nimport { AdditionalDocumentType } from '@/shared/types/additional-document-type';\nimport { AppointmentCancellationType } from '@/shared/types/appointment-cancellation-type';\nimport { AppointmentExecutorType } from '@/shared/types/appointment-executor-type';\nimport { AppointmentNoInstructionType } from '@/shared/types/appointment-no-instruction-type';\nimport { AppointmentOutcomeType } from '@/shared/types/appointment-outcome-type';\nimport { AppointmentPaymentStatusType } from '@/shared/types/appointment-payment-status-type';\nimport { AppointmentProductType } from '@/shared/types/appointment-product-type';\nimport { AppointmentReasonType } from '@/shared/types/appointment-reason-type';\nimport { AppointmentType } from '@/shared/types/appointment-type';\nimport { ClientOriginalSourceType } from '@/shared/types/client-original-source-type';\nimport { ClientRelationshipType } from '@/shared/types/client-relationship-type';\nimport { ClientStatusType } from '@/shared/types/client-status-type';\nimport { ClientTitleType } from '@/shared/types/client-title-type';\nimport { InteractionLetterType } from '@/shared/types/interaction-letter-type';\nimport { InteractionOutcomeType } from '@/shared/types/interaction-outcome-type';\nimport { InteractionType } from '@/shared/types/interaction-type';\nimport { PartnerPracticeType } from '@/shared/types/partner-practice-type';\nimport { PowerOfAttorneyType } from '@/shared/types/power-of-attorney-type';\nimport { WillType } from '@/shared/types/will-type';\n\nexport class TypesApi extends Api {\n public async getTypesAsync(): Promise {\n return await this.getAsync(`v1/type`);\n }\n\n public async getAdditionalDocumentTypesAsync(): Promise> {\n return await this.getAsync>(`v1/type/client/additionalDocument`);\n }\n\n public async createAdditionalDocumentTypeAsync(type: AdditionalDocumentType): Promise {\n await this.postAsync(`v1/type/client/additionalDocument`,\n {\n value: type.value,\n isOtherTextRequired: type.isOtherTextRequired,\n });\n }\n\n public async updateAdditionalDocumentTypeAsync(type: AdditionalDocumentType): Promise {\n await this.putAsync(`v1/type/client/additionalDocument/${type.id}`, type);\n }\n\n public async archiveAdditionalDocumentTypeAsync(type: AdditionalDocumentType): Promise {\n await this.deleteAsync(`v1/type/client/additionalDocument/${type.id}`);\n }\n\n public async getAppointmentCancellationTypesAsync(): Promise> {\n return await this.getAsync>(`v1/type/appointment/cancellation`);\n }\n\n public async createAppointmentCancellationTypeAsync(type: AppointmentCancellationType): Promise {\n await this.postAsync(`v1/type/appointment/cancellation`,\n {\n value: type.value,\n isNoLongerInterested: type.isNoLongerInterested,\n isAdditionalCommitments: type.isAdditionalCommitments,\n isSickness: type.isSickness,\n });\n }\n\n public async updateAppointmentCancellationTypeAsync(type: AppointmentCancellationType): Promise {\n await this.putAsync(`v1/type/appointment/cancellation/${type.id}`, type);\n }\n\n public async archiveAppointmentCancellationTypeAsync(type: AppointmentCancellationType): Promise {\n await this.deleteAsync(`v1/type/appointment/cancellation/${type.id}`);\n }\n\n public async getAppointmentExecutorTypesAsync(): Promise> {\n return await this.getAsync>(`v1/type/appointment/executor`);\n }\n\n public async createAppointmentExecutorTypeAsync(type: AppointmentExecutorType): Promise {\n await this.postAsync(`v1/type/appointment/executor`,\n {\n value: type.value,\n isProfessionalExecutor: type.isProfessionalExecutor,\n });\n }\n\n public async updateAppointmentExecutorTypeAsync(type: AppointmentExecutorType): Promise {\n await this.putAsync(`v1/type/appointment/executor/${type.id}`, type);\n }\n\n public async archiveAppointmentExecutorTypeAsync(type: AppointmentExecutorType): Promise {\n await this.deleteAsync(`v1/type/appointment/executor/${type.id}`);\n }\n\n public async getAppointmentReasonTypesAsync(): Promise> {\n return await this.getAsync>(`v1/type/appointment/reason`);\n }\n\n public async createAppointmentReasonTypeAsync(type: AppointmentReasonType): Promise {\n await this.postAsync(`v1/type/appointment/reason`, { value: type.value });\n }\n\n public async updateAppointmentReasonTypeAsync(type: AppointmentReasonType): Promise {\n await this.putAsync(`v1/type/appointment/reason/${type.id}`, type);\n }\n\n public async archiveAppointmentReasonTypeAsync(type: AppointmentReasonType): Promise {\n await this.deleteAsync(`v1/type/appointment/reason/${type.id}`);\n }\n\n public async getAppointmentNoInstructionTypesAsync(): Promise> {\n return await this.getAsync>(`v1/type/appointment/noInstruction`);\n }\n\n public async createAppointmentNoInstructionTypeAsync(type: AppointmentNoInstructionType): Promise {\n await this.postAsync(`v1/type/appointment/noInstruction`, { value: type.value });\n }\n\n public async updateAppointmentNoInstructionTypeAsync(type: AppointmentNoInstructionType): Promise {\n await this.putAsync(`v1/type/appointment/noInstruction/${type.id}`, type);\n }\n\n public async archiveAppointmentNoInstructionTypeAsync(type: AppointmentNoInstructionType): Promise {\n await this.deleteAsync(`v1/type/appointment/noInstruction/${type.id}`);\n }\n\n public async getAppointmentOutcomeTypesAsync(): Promise> {\n return await this.getAsync>(`v1/type/appointment/outcome`);\n }\n\n public async createAppointmentOutcomeTypeAsync(type: AppointmentOutcomeType): Promise {\n await this.postAsync(`v1/type/appointment/outcome`,\n {\n value: type.value,\n isSat: type.isSat,\n isNotSat: type.isNotSat,\n isCancelled: type.isCancelled,\n });\n }\n\n public async updateAppointmentOutcomeTypeAsync(type: AppointmentOutcomeType): Promise {\n await this.putAsync(`v1/type/appointment/outcome/${type.id}`, type);\n }\n\n public async archiveAppointmentOutcomeTypeAsync(type: AppointmentOutcomeType): Promise {\n await this.deleteAsync(`v1/type/appointment/outcome/${type.id}`);\n }\n\n public async getAppointmentPaymentStatusTypesAsync(): Promise> {\n return await this.getAsync>(`v1/type/appointment/paymentStatus`);\n }\n\n public async createAppointmentPaymentStatusTypeAsync(type: AppointmentPaymentStatusType): Promise {\n await this.postAsync(`v1/type/appointment/paymentStatus`,\n {\n value: type.value,\n isSigningPending: type.isSigningPending,\n isSigningBooked: type.isSigningBooked,\n isBanked: type.isBanked,\n isCleared: type.isCleared,\n isPartPayment: type.isPartPayment,\n isDebtor: type.isDebtor,\n isNoLongerProceeding: type.isNoLongerProceeding,\n isWrittenOff: type.isWrittenOff,\n isComplete: type.isComplete,\n isAdminOnly: type.isAdminOnly,\n });\n }\n\n public async updateAppointmentPaymentStatusTypeAsync(type: AppointmentPaymentStatusType): Promise {\n await this.putAsync(`v1/type/appointment/paymentStatus/${type.id}`, type);\n }\n\n public async archiveAppointmentPaymentStatusTypeAsync(type: AppointmentPaymentStatusType): Promise {\n await this.deleteAsync(`v1/type/appointment/paymentStatus/${type.id}`);\n }\n\n public async getAppointmentProductTypesAsync(): Promise> {\n return await this.getAsync>(`v1/type/appointment/product`);\n }\n\n public async createAppointmentProductTypeAsync(type: AppointmentProductType): Promise {\n await this.postAsync(`v1/type/appointment/product`,\n {\n value: type.value,\n isWill: type.isWill,\n isLpa: type.isLpa,\n });\n }\n\n public async updateAppointmentProductTypeAsync(type: AppointmentProductType): Promise {\n await this.putAsync(`v1/type/appointment/product/${type.id}`, type);\n }\n\n public async archiveAppointmentProductTypeAsync(type: AppointmentProductType): Promise {\n await this.deleteAsync(`v1/type/appointment/product/${type.id}`);\n }\n\n public async getAppointmentTypesAsync(): Promise> {\n return await this.getAsync>(`v1/type/appointment`);\n }\n\n public async createAppointmentTypeAsync(type: AppointmentType): Promise {\n await this.postAsync(`v1/type/appointment`,\n {\n value: type.value,\n isLocationRequired: type.isLocationRequired,\n isInitialAppointment: type.isInitialAppointment,\n isSigningAppointment: type.isSigningAppointment,\n });\n }\n\n public async updateAppointmentTypeAsync(type: AppointmentType): Promise {\n await this.putAsync(`v1/type/appointment/${type.id}`, type);\n }\n\n public async archiveAppointmentTypeAsync(type: AppointmentType): Promise {\n await this.deleteAsync(`v1/type/appointment/${type.id}`);\n }\n\n public async getClientOriginalSourceTypesAsync(): Promise> {\n return await this.getAsync>(`v1/type/client/originalSource`);\n }\n\n public async createClientOriginalSourceTypeAsync(type: ClientOriginalSourceType): Promise {\n await this.postAsync(`v1/type/client/originalSource`, {\n value: type.value,\n isValidForAcquisition: type.isValidForAcquisition,\n });\n }\n\n public async updateClientOriginalSourceTypeAsync(type: ClientOriginalSourceType): Promise {\n await this.putAsync(`v1/type/client/originalSource/${type.id}`, type);\n }\n\n public async archiveClientOriginalSourceTypeAsync(type: ClientOriginalSourceType): Promise {\n await this.deleteAsync(`v1/type/client/originalSource/${type.id}`);\n }\n\n public async getClientRelationshipTypesAsync(): Promise> {\n return await this.getAsync>(`v1/type/client/relationship`);\n }\n\n public async createClientRelationshipTypeAsync(type: ClientRelationshipType): Promise {\n await this.postAsync(`v1/type/client/relationship`, { value: type.value });\n }\n\n public async updateClientRelationshipTypeAsync(type: ClientRelationshipType): Promise {\n await this.putAsync(`v1/type/client/relationship/${type.id}`, type);\n }\n\n public async archiveClientRelationshipTypeAsync(type: ClientRelationshipType): Promise {\n await this.deleteAsync(`v1/type/client/relationship/${type.id}`);\n }\n\n public async getClientStatusTypesAsync(): Promise> {\n return await this.getAsync>(`v1/type/client/status`);\n }\n\n public async createClientStatusTypeAsync(type: ClientStatusType): Promise {\n await this.postAsync(`v1/type/client/status`,\n {\n value: type.value,\n isClient: type.isClient,\n isLead: type.isLead,\n isBusinessWillClient: type.isBusinessWillClient,\n isDeceased: type.isDeceased,\n isAccountArchived: type.isAccountArchived,\n });\n }\n\n public async updateClientStatusTypeAsync(type: ClientStatusType): Promise {\n await this.putAsync(`v1/type/client/status/${type.id}`, type);\n }\n\n public async archiveClientStatusTypeAsync(type: ClientStatusType): Promise {\n await this.deleteAsync(`v1/type/client/status/${type.id}`);\n }\n\n public async getClientTitleTypesAsync(): Promise> {\n return await this.getAsync>(`v1/type/client/title`);\n }\n\n public async createClientTitleTypeAsync(type: ClientTitleType): Promise {\n await this.postAsync(`v1/type/client/title`, { value: type.value });\n }\n\n public async updateClientTitleTypeAsync(type: ClientTitleType): Promise {\n await this.putAsync(`v1/type/client/title/${type.id}`, type);\n }\n\n public async archiveClientTitleTypeAsync(type: ClientTitleType): Promise {\n await this.deleteAsync(`v1/type/client/title/${type.id}`);\n }\n\n public async getInteractionLetterTypesAsync(): Promise> {\n return await this.getAsync>(`v1/type/interaction/letter`);\n }\n\n public async createInteractionLetterTypeAsync(type: InteractionLetterType): Promise {\n await this.postAsync(`v1/type/interaction/letter`,\n {\n value: type.value,\n isFirstContact: type.isFirstContact,\n isSecondContact: type.isSecondContact,\n isThirdContact: type.isThirdContact,\n });\n }\n\n public async updateInteractionLetterTypeAsync(type: InteractionLetterType): Promise {\n await this.putAsync(`v1/type/interaction/letter/${type.id}`, type);\n }\n\n public async archiveInteractionLetterTypeAsync(type: InteractionLetterType): Promise {\n await this.deleteAsync(`v1/type/interaction/letter/${type.id}`);\n }\n\n public async getInteractionOutcomeTypesAsync(): Promise> {\n return await this.getAsync>(`v1/type/interaction/outcome`);\n }\n\n public async createInteractionOutcomeTypeAsync(type: InteractionOutcomeType): Promise {\n await this.postAsync(`v1/type/interaction/outcome`,\n {\n value: type.value,\n isCallMadeOutcome: type.isCallMadeOutcome,\n isCallReceivedOutcome: type.isCallReceivedOutcome,\n isLFTSYOutcome: type.isLFTSYOutcome,\n isCallback: type.isCallback,\n isAppointmentBooked: type.isAppointmentBooked,\n isAppointmentRebooked: type.isAppointmentRebooked,\n isAppointmentConfirmed: type.isAppointmentConfirmed,\n isAppointmentCancelled: type.isAppointmentCancelled,\n isWillVoid: type.isWillVoid,\n isWillReleased: type.isWillReleased,\n isDeceased: type.isDeceased,\n isDoNotContact: type.isDoNotContact,\n isAllowContact: type.isAllowContact,\n isCallInTwoYears: type.isCallInTwoYears,\n isUnableToContact: type.isUnableToContact,\n isWrongNumber: type.isWrongNumber,\n });\n }\n\n public async updateInteractionOutcomeTypeAsync(type: InteractionOutcomeType): Promise {\n await this.putAsync(`v1/type/interaction/outcome/${type.id}`, type);\n }\n\n public async archiveInteractionOutcomeTypeAsync(type: InteractionOutcomeType): Promise {\n await this.deleteAsync(`v1/type/interaction/outcome/${type.id}`);\n }\n\n public async getInteractionTypesAsync(): Promise> {\n return await this.getAsync>(`v1/type/interaction`);\n }\n\n public async createInteractionTypeAsync(type: InteractionType): Promise {\n await this.postAsync(`v1/type/interaction`,\n {\n value: type.value,\n isCallOutcomeRequired: type.isCallOutcomeRequired,\n isLetterTypeRequired: type.isLetterTypeRequired,\n isLFTSY: type.isLFTSY,\n isCallMade: type.isCallMade,\n isCallReceived: type.isCallReceived,\n });\n }\n\n public async updateInteractionTypeAsync(type: InteractionType): Promise {\n await this.putAsync(`v1/type/interaction/${type.id}`, type);\n }\n\n public async archiveInteractionTypeAsync(type: InteractionType): Promise {\n await this.deleteAsync(`v1/type/interaction/${type.id}`);\n }\n\n public async getPartnerPracticeTypesAsync(): Promise> {\n return await this.getAsync>(`v1/type/partnerpractice`);\n }\n\n public async getPowerOfAttorneyTypesAsync(): Promise> {\n return await this.getAsync>(`v1/type/powerOfAttorney`);\n }\n\n public async createPowerOfAttorneyTypeAsync(type: PowerOfAttorneyType): Promise {\n await this.postAsync(`v1/type/powerOfAttorney`,\n {\n value: type.value,\n isExclusive: type.isExclusive,\n isUnknown: type.isUnknown,\n });\n }\n\n public async updatePowerOfAttorneyTypeAsync(type: PowerOfAttorneyType): Promise {\n await this.putAsync(`v1/type/powerOfAttorney/${type.id}`, type);\n }\n\n public async archivePowerOfAttorneyTypeAsync(type: PowerOfAttorneyType): Promise {\n await this.deleteAsync(`v1/type/powerOfAttorney/${type.id}`);\n }\n\n public async getWillTypesAsync(): Promise> {\n return await this.getAsync>(`v1/type/will`);\n }\n\n public async createWillTypeAsync(type: WillType): Promise {\n await this.postAsync(`v1/type/will`, { value: type.value });\n }\n\n public async updateWillTypeAsync(type: WillType): Promise {\n await this.putAsync(`v1/type/will/${type.id}`, type);\n }\n\n public async archiveWillTypeAsync(type: WillType): Promise {\n await this.deleteAsync(`v1/type/will/${type.id}`);\n }\n\n public constructor() {\n super();\n }\n}\n","export function lowerCase(value: string): string {\n return value.toLowerCase();\n}\nexport function upperCase(value: string): string {\n return value.toUpperCase();\n}\n\nexport function replaceAccents(value: string): string {\n // verifies if the String has accents and replace them\n if (value.search(/[\\xC0-\\xFF]/g) > -1) {\n value = value\n .replace(/[\\xC0-\\xC5]/g, 'A')\n .replace(/[\\xC6]/g, 'AE')\n .replace(/[\\xC7]/g, 'C')\n .replace(/[\\xC8-\\xCB]/g, 'E')\n .replace(/[\\xCC-\\xCF]/g, 'I')\n .replace(/[\\xD0]/g, 'D')\n .replace(/[\\xD1]/g, 'N')\n .replace(/[\\xD2-\\xD6\\xD8]/g, 'O')\n .replace(/[\\xD9-\\xDC]/g, 'U')\n .replace(/[\\xDD]/g, 'Y')\n .replace(/[\\xDE]/g, 'P')\n .replace(/[\\xE0-\\xE5]/g, 'a')\n .replace(/[\\xE6]/g, 'ae')\n .replace(/[\\xE7]/g, 'c')\n .replace(/[\\xE8-\\xEB]/g, 'e')\n .replace(/[\\xEC-\\xEF]/g, 'i')\n .replace(/[\\xF1]/g, 'n')\n .replace(/[\\xF2-\\xF6\\xF8]/g, 'o')\n .replace(/[\\xF9-\\xFC]/g, 'u')\n .replace(/[\\xFE]/g, 'p')\n .replace(/[\\xFD\\xFF]/g, 'y');\n }\n\n return value;\n}\n\nexport function removeNonWord(value: string): string {\n return value.replace(/[^0-9a-zA-Z\\xC0-\\xFF \\-]/g, '');\n}\n\nexport function camelCase(value: string): string {\n value = replaceAccents(value);\n value = removeNonWord(value)\n .replace(/\\-/g, ' ') // convert all hyphens to spaces\n .replace(/\\s[a-z]/g, upperCase) // convert first char of each word to UPPERCASE\n .replace(/\\s+/g, '') // remove spaces\n .replace(/^[A-Z]/g, lowerCase); // convert first char to lowercase\n\n return value;\n}\n","import { TypesApi } from '@/api/types';\nimport { AdditionalDocumentType } from '@/shared/types/additional-document-type';\nimport { AppointmentCancellationType } from '@/shared/types/appointment-cancellation-type';\nimport { AppointmentExecutorType } from '@/shared/types/appointment-executor-type';\nimport { AppointmentNoInstructionType } from '@/shared/types/appointment-no-instruction-type';\nimport { AppointmentOutcomeType } from '@/shared/types/appointment-outcome-type';\nimport { AppointmentPaymentStatusType } from '@/shared/types/appointment-payment-status-type';\nimport { AppointmentProductType } from '@/shared/types/appointment-product-type';\nimport { AppointmentReasonType } from '@/shared/types/appointment-reason-type';\nimport { AppointmentType } from '@/shared/types/appointment-type';\nimport { ClientOriginalSourceType } from '@/shared/types/client-original-source-type';\nimport { ClientRelationshipType } from '@/shared/types/client-relationship-type';\nimport { ClientStatusType } from '@/shared/types/client-status-type';\nimport { ClientTitleType } from '@/shared/types/client-title-type';\nimport { InteractionLetterType } from '@/shared/types/interaction-letter-type';\nimport { InteractionOutcomeType } from '@/shared/types/interaction-outcome-type';\nimport { InteractionType } from '@/shared/types/interaction-type';\nimport { PowerOfAttorneyType } from '@/shared/types/power-of-attorney-type';\nimport { WillType } from '@/shared/types/will-type';\nimport { State } from '@/stores/types/state';\nimport { camelCase } from '@/string-utilities';\nimport { ActionContext, ActionTree } from 'vuex';\n\nconst api = new TypesApi();\n\nexport class Actions implements ActionTree {\n [key: string]: ((injectee: ActionContext, payload: any) => any);\n\n public createTypeAsync = async (context: ActionContext, payload: { type: string, item: object }) => {\n\n const formattedType =\n camelCase(`create ${payload.type}${(!payload.type.toLowerCase().endsWith('type') ? 'Type' : '')} Async`);\n await context.dispatch(formattedType, payload.item);\n }\n\n public updateTypeAsync = async (context: ActionContext, payload: { type: string, item: object }) => {\n const formattedType =\n camelCase(`update ${payload.type}${(!payload.type.toLowerCase().endsWith('type') ? 'Type' : '')} Async`);\n await context.dispatch(formattedType, payload.item);\n }\n\n public archiveTypeAsync = async (context: ActionContext, payload: { type: string, item: object }) => {\n const formattedType =\n camelCase(`archive ${payload.type}${(!payload.type.toLowerCase().endsWith('type') ? 'Type' : '')} Async`);\n await context.dispatch(formattedType, payload.item);\n }\n\n public loadTypesAsync = async (context: ActionContext) => {\n const types = await api.getTypesAsync();\n context.commit('setAdditionalDocumentTypes', types.additionalDocumentTypes);\n context.commit('setAppointmentCancellationTypes', types.appointmentCancellationTypes);\n context.commit('setAppointmentExecutorTypes', types.appointmentExecutorTypes);\n context.commit('setAppointmentNoInstructionTypes', types.appointmentNoInstructionTypes);\n context.commit('setAppointmentOutcomeTypes', types.appointmentOutcomeTypes);\n context.commit('setAppointmentPaymentStatusTypes', types.appointmentPaymentStatusTypes);\n context.commit('setAppointmentProductTypes', types.appointmentProductTypes);\n context.commit('setAppointmentReasonTypes', types.appointmentReasonTypes);\n context.commit('setAppointmentTypes', types.appointmentTypes);\n context.commit('setClientOriginalSourceTypes', types.clientOriginalSourceTypes);\n context.commit('setClientRelationshipTypes', types.clientRelationshipTypes);\n context.commit('setClientStatusTypes', types.clientStatusTypes);\n context.commit('setClientTitleTypes', types.clientTitleTypes);\n context.commit('setInteractionLetterTypes', types.interactionLetterTypes);\n context.commit('setInteractionOutcomeTypes', types.interactionOutcomeTypes);\n context.commit('setInteractionTypes', types.interactionTypes);\n context.commit('setPowerOfAttorneyTypes', types.powerOfAttorneyTypes);\n context.commit('setWillTypes', types.willTypes);\n }\n\n public loadAdditionalDocumentTypesAsync = async (context: ActionContext) => {\n const types = await api.getAdditionalDocumentTypesAsync();\n context.commit('setAdditionalDocumentTypes', types);\n }\n\n public createAdditionalDocumentTypeAsync = async (context: ActionContext, type: AdditionalDocumentType) => {\n await api.createAdditionalDocumentTypeAsync(type);\n }\n\n public updateAdditionalDocumentTypeAsync = async (context: ActionContext, type: AdditionalDocumentType) => {\n await api.updateAdditionalDocumentTypeAsync(type);\n }\n\n public archiveAdditionalDocumentTypeAsync = async (context: ActionContext, type: AdditionalDocumentType) => {\n await api.archiveAdditionalDocumentTypeAsync(type);\n }\n\n public loadAppointmentCancellationTypesAsync = async (context: ActionContext) => {\n const types = await api.getAppointmentCancellationTypesAsync();\n context.commit('setAppointmentCancellationTypes', types);\n }\n\n public createAppointmentCancellationTypeAsync = async (context: ActionContext, type: AppointmentCancellationType) => {\n await api.createAppointmentCancellationTypeAsync(type);\n }\n\n public updateAppointmentCancellationTypeAsync = async (context: ActionContext, type: AppointmentCancellationType) => {\n await api.updateAppointmentCancellationTypeAsync(type);\n }\n\n public archiveAppointmentCancellationTypeAsync = async (context: ActionContext, type: AppointmentCancellationType) => {\n await api.archiveAppointmentCancellationTypeAsync(type);\n }\n\n public loadAppointmentExecutorTypesAsync = async (context: ActionContext) => {\n const types = await api.getAppointmentExecutorTypesAsync();\n context.commit('setAppointmentExecutorTypes', types);\n }\n\n public createAppointmentExecutorTypeAsync = async (context: ActionContext, type: AppointmentExecutorType) => {\n await api.createAppointmentExecutorTypeAsync(type);\n }\n\n public updateAppointmentExecutorTypeAsync = async (context: ActionContext, type: AppointmentExecutorType) => {\n await api.updateAppointmentExecutorTypeAsync(type);\n }\n\n public archiveAppointmentExecutorTypeAsync = async (context: ActionContext, type: AppointmentExecutorType) => {\n await api.archiveAppointmentExecutorTypeAsync(type);\n }\n\n public loadAppointmentReasonTypesAsync = async (context: ActionContext) => {\n const types = await api.getAppointmentReasonTypesAsync();\n context.commit('setAppointmentReasonTypes', types);\n }\n\n public createAppointmentReasonTypeAsync = async (context: ActionContext, type: AppointmentReasonType) => {\n await api.createAppointmentReasonTypeAsync(type);\n }\n\n public updateAppointmentReasonTypeAsync = async (context: ActionContext, type: AppointmentReasonType) => {\n await api.updateAppointmentReasonTypeAsync(type);\n }\n\n public archiveAppointmentReasonTypeAsync = async (context: ActionContext, type: AppointmentReasonType) => {\n await api.archiveAppointmentReasonTypeAsync(type);\n }\n\n public loadAppointmentNoInstructionTypesAsync = async (context: ActionContext) => {\n const types = await api.getAppointmentNoInstructionTypesAsync();\n context.commit('setAppointmentNoInstructionTypes', types);\n }\n\n public createAppointmentNoInstructionTypeAsync = async (context: ActionContext, type: AppointmentNoInstructionType) => {\n await api.createAppointmentNoInstructionTypeAsync(type);\n }\n\n public updateAppointmentNoInstructionTypeAsync = async (context: ActionContext, type: AppointmentNoInstructionType) => {\n await api.updateAppointmentNoInstructionTypeAsync(type);\n }\n\n public archiveAppointmentNoInstructionTypeAsync = async (context: ActionContext, type: AppointmentNoInstructionType) => {\n await api.archiveAppointmentNoInstructionTypeAsync(type);\n }\n\n public loadAppointmentOutcomeTypesAsync = async (context: ActionContext) => {\n const types = await api.getAppointmentOutcomeTypesAsync();\n context.commit('setAppointmentOutcomeTypes', types);\n }\n\n public createAppointmentOutcomeTypeAsync = async (context: ActionContext, type: AppointmentOutcomeType) => {\n await api.createAppointmentOutcomeTypeAsync(type);\n }\n\n public updateAppointmentOutcomeTypeAsync = async (context: ActionContext, type: AppointmentOutcomeType) => {\n await api.updateAppointmentOutcomeTypeAsync(type);\n }\n\n public archiveAppointmentOutcomeTypeAsync = async (context: ActionContext, type: AppointmentOutcomeType) => {\n await api.archiveAppointmentOutcomeTypeAsync(type);\n }\n\n public loadAppointmentPaymentStatusTypesAsync = async (context: ActionContext) => {\n const types = await api.getAppointmentPaymentStatusTypesAsync();\n context.commit('setAppointmentPaymentStatusTypes', types);\n }\n\n public createAppointmentPaymentStatusTypeAsync = async (context: ActionContext, type: AppointmentPaymentStatusType) => {\n await api.createAppointmentPaymentStatusTypeAsync(type);\n }\n\n public updateAppointmentPaymentStatusTypeAsync = async (context: ActionContext, type: AppointmentPaymentStatusType) => {\n await api.updateAppointmentPaymentStatusTypeAsync(type);\n }\n\n public archiveAppointmentPaymentStatusTypeAsync = async (context: ActionContext, type: AppointmentPaymentStatusType) => {\n await api.archiveAppointmentPaymentStatusTypeAsync(type);\n }\n\n public loadAppointmentProductTypesAsync = async (context: ActionContext) => {\n const types = await api.getAppointmentProductTypesAsync();\n context.commit('setAppointmentProductTypes', types);\n }\n\n public createAppointmentProductTypeAsync = async (context: ActionContext, type: AppointmentProductType) => {\n await api.createAppointmentProductTypeAsync(type);\n }\n\n public updateAppointmentProductTypeAsync = async (context: ActionContext, type: AppointmentProductType) => {\n await api.updateAppointmentProductTypeAsync(type);\n }\n\n public archiveAppointmentProductTypeAsync = async (context: ActionContext, type: AppointmentProductType) => {\n await api.archiveAppointmentProductTypeAsync(type);\n }\n\n public loadAppointmentTypesAsync = async (context: ActionContext) => {\n const types = await api.getAppointmentTypesAsync();\n context.commit('setAppointmentTypes', types);\n }\n\n public createAppointmentTypeAsync = async (context: ActionContext, type: AppointmentType) => {\n await api.createAppointmentTypeAsync(type);\n }\n\n public updateAppointmentTypeAsync = async (context: ActionContext, type: AppointmentType) => {\n await api.updateAppointmentTypeAsync(type);\n }\n\n public archiveAppointmentTypeAsync = async (context: ActionContext, type: AppointmentType) => {\n await api.archiveAppointmentTypeAsync(type);\n }\n\n public loadClientOriginalSourceTypesAsync = async (context: ActionContext) => {\n const types = await api.getClientOriginalSourceTypesAsync();\n context.commit('setClientOriginalSourceTypes', types);\n }\n\n public createClientOriginalSourceTypeAsync = async (context: ActionContext, type: ClientOriginalSourceType) => {\n await api.createClientOriginalSourceTypeAsync(type);\n }\n\n public updateClientOriginalSourceTypeAsync = async (context: ActionContext, type: ClientOriginalSourceType) => {\n await api.updateClientOriginalSourceTypeAsync(type);\n }\n\n public archiveClientOriginalSourceTypeAsync = async (context: ActionContext, type: ClientOriginalSourceType) => {\n await api.archiveClientOriginalSourceTypeAsync(type);\n }\n\n public loadClientRelationshipTypesAsync = async (context: ActionContext) => {\n const types = await api.getClientRelationshipTypesAsync();\n context.commit('setClientRelationshipTypes', types);\n }\n\n public createClientRelationshipTypeAsync = async (context: ActionContext, type: ClientRelationshipType) => {\n await api.createClientRelationshipTypeAsync(type);\n }\n\n public updateClientRelationshipTypeAsync = async (context: ActionContext, type: ClientRelationshipType) => {\n await api.updateClientRelationshipTypeAsync(type);\n }\n\n public archiveClientRelationshipTypeAsync = async (context: ActionContext, type: ClientRelationshipType) => {\n await api.archiveClientRelationshipTypeAsync(type);\n }\n\n public loadClientStatusTypesAsync = async (context: ActionContext) => {\n const types = await api.getClientStatusTypesAsync();\n context.commit('setClientStatusTypes', types);\n }\n\n public createClientStatusTypeAsync = async (context: ActionContext, type: ClientStatusType) => {\n await api.createClientStatusTypeAsync(type);\n }\n\n public updateClientStatusTypeAsync = async (context: ActionContext, type: ClientStatusType) => {\n await api.updateClientStatusTypeAsync(type);\n }\n\n public archiveClientStatusTypeAsync = async (context: ActionContext, type: ClientStatusType) => {\n await api.archiveClientStatusTypeAsync(type);\n }\n\n public loadClientTitleTypesAsync = async (context: ActionContext) => {\n const types = await api.getClientTitleTypesAsync();\n context.commit('setClientTitleTypes', types);\n }\n\n public createClientTitleTypeAsync = async (context: ActionContext, type: ClientTitleType) => {\n await api.createClientTitleTypeAsync(type);\n }\n\n public updateClientTitleTypeAsync = async (context: ActionContext, type: ClientTitleType) => {\n await api.updateClientTitleTypeAsync(type);\n }\n\n public archiveClientTitleTypeAsync = async (context: ActionContext, type: ClientTitleType) => {\n await api.archiveClientTitleTypeAsync(type);\n }\n\n public loadInteractionLetterTypesAsync = async (context: ActionContext) => {\n const types = await api.getInteractionLetterTypesAsync();\n context.commit('setInteractionLetterTypes', types);\n }\n\n public createInteractionLetterTypeAsync = async (context: ActionContext, type: InteractionLetterType) => {\n await api.createInteractionLetterTypeAsync(type);\n }\n\n public updateInteractionLetterTypeAsync = async (context: ActionContext, type: InteractionLetterType) => {\n await api.updateInteractionLetterTypeAsync(type);\n }\n\n public archiveInteractionLetterTypeAsync = async (context: ActionContext, type: InteractionLetterType) => {\n await api.archiveInteractionLetterTypeAsync(type);\n }\n\n public loadInteractionOutcomeTypesAsync = async (context: ActionContext) => {\n const types = await api.getInteractionOutcomeTypesAsync();\n context.commit('setInteractionOutcomeTypes', types);\n }\n\n public createInteractionOutcomeTypeAsync = async (context: ActionContext, type: InteractionOutcomeType) => {\n await api.createInteractionOutcomeTypeAsync(type);\n }\n\n public updateInteractionOutcomeTypeAsync = async (context: ActionContext, type: InteractionOutcomeType) => {\n await api.updateInteractionOutcomeTypeAsync(type);\n }\n\n public archiveInteractionOutcomeTypeAsync = async (context: ActionContext, type: InteractionOutcomeType) => {\n await api.archiveInteractionOutcomeTypeAsync(type);\n }\n\n public loadInteractionTypesAsync = async (context: ActionContext) => {\n const types = await api.getInteractionTypesAsync();\n context.commit('setInteractionTypes', types);\n }\n\n public createInteractionTypeAsync = async (context: ActionContext, type: InteractionType) => {\n await api.createInteractionTypeAsync(type);\n }\n\n public updateInteractionTypeAsync = async (context: ActionContext, type: InteractionType) => {\n await api.updateInteractionTypeAsync(type);\n }\n\n public archiveInteractionTypeAsync = async (context: ActionContext, type: InteractionType) => {\n await api.archiveInteractionTypeAsync(type);\n }\n\n public loadPartnerPracticeTypesAsync = async (context: ActionContext) => {\n const types = await api.getPartnerPracticeTypesAsync();\n context.commit('setPartnerPracticeTypes', types);\n }\n\n public loadPowerOfAttorneyTypesAsync = async (context: ActionContext) => {\n const types = await api.getPowerOfAttorneyTypesAsync();\n context.commit('setPowerOfAttorneyTypes', types);\n }\n\n public createPowerOfAttorneyTypeAsync = async (context: ActionContext, type: PowerOfAttorneyType) => {\n await api.createPowerOfAttorneyTypeAsync(type);\n }\n\n public updatePowerOfAttorneyTypeAsync = async (context: ActionContext, type: PowerOfAttorneyType) => {\n await api.updatePowerOfAttorneyTypeAsync(type);\n }\n\n public archivePowerOfAttorneyTypeAsync = async (context: ActionContext, type: PowerOfAttorneyType) => {\n await api.archivePowerOfAttorneyTypeAsync(type);\n }\n\n public loadWillTypesAsync = async (context: ActionContext) => {\n const types = await api.getWillTypesAsync();\n context.commit('setWillTypes', types);\n }\n\n public createWillTypeAsync = async (context: ActionContext, type: WillType) => {\n await api.createWillTypeAsync(type);\n }\n\n public updateWillTypeAsync = async (context: ActionContext, type: WillType) => {\n await api.updateWillTypeAsync(type);\n }\n\n public archiveWillTypeAsync = async (context: ActionContext, type: WillType) => {\n await api.archiveWillTypeAsync(type);\n }\n}\n","export enum UserStatus {\n All = 0,\n Active,\n Archived,\n}\n","import { PartnerPracticeType } from '@/shared/types/partner-practice-type';\nimport { User } from '@/shared/user';\nimport { State } from '@/stores/types/state';\nimport { GetterTree } from 'vuex';\n\nexport class Getters implements GetterTree {\n [key: string]: (state: State, getters: any, rootState: any, rootGetters: any) => any;\n\n public additionalDocumentTypes = (state: State) => {\n return state.additionalDocumentTypes;\n }\n\n public activeAdditionalDocumentTypes = (state: State) => {\n return state.additionalDocumentTypes.filter((t) => !t.isArchived);\n }\n\n public appointmentCancellationTypes = (state: State) => {\n return state.appointmentCancellationTypes;\n }\n\n public activeAppointmentCancellationTypes = (state: State) => {\n return state.appointmentCancellationTypes.filter((t) => !t.isArchived);\n }\n\n public appointmentExecutorTypes = (state: State) => {\n return state.appointmentExecutorTypes;\n }\n\n public activeAppointmentExecutorTypes = (state: State) => {\n return state.appointmentExecutorTypes.filter((t) => !t.isArchived);\n }\n\n public appointmentReasonTypes = (state: State) => {\n return state.appointmentReasonTypes;\n }\n\n public activeAppointmentReasonTypes = (state: State) => {\n return state.appointmentReasonTypes.filter((t) => !t.isArchived);\n }\n\n public appointmentNoInstructionTypes = (state: State) => {\n return state.appointmentNoInstructionTypes;\n }\n\n public activeAppointmentNoInstructionTypes = (state: State) => {\n return state.appointmentNoInstructionTypes.filter((t) => !t.isArchived);\n }\n\n public appointmentOutcomeTypes = (state: State) => {\n return state.appointmentOutcomeTypes;\n }\n\n public activeAppointmentOutcomeTypes = (state: State) => {\n return state.appointmentOutcomeTypes.filter((t) => !t.isArchived);\n }\n\n public appointmentPaymentStatusTypes = (state: State) => {\n return state.appointmentPaymentStatusTypes;\n }\n\n public activeAppointmentPaymentStatusTypes = (state: State) => {\n return state.appointmentPaymentStatusTypes.filter((t) => !t.isArchived);\n }\n\n public appointmentProductTypes = (state: State) => {\n return state.appointmentProductTypes;\n }\n\n public activeAppointmentProductTypes = (state: State) => {\n return state.appointmentProductTypes.filter((t) => !t.isArchived);\n }\n\n public appointmentProductTypeDescription = (state: State) => (id: string | null): string => {\n if (id == null) { return ''; }\n\n const type = state.appointmentProductTypes.find((t) => t.id === id);\n return type == null ? '' : type.value;\n }\n\n public appointmentTypes = (state: State) => {\n return state.appointmentTypes;\n }\n\n public activeAppointmentTypes = (state: State) => {\n return state.appointmentTypes.filter((t) => !t.isArchived);\n }\n\n public clientOriginalSourceTypes = (state: State) => {\n return state.clientOriginalSourceTypes;\n }\n\n public clientOriginalSourceTypeDescription = (state: State) => (id: string | null): string => {\n const clientOriginalSourceType = state.clientOriginalSourceTypes.find((type) => type.id! === id);\n return clientOriginalSourceType == null ? '' : clientOriginalSourceType.value!;\n }\n\n public activeClientOriginalSourceTypes = (state: State) => {\n return state.clientOriginalSourceTypes.filter((t) => !t.isArchived);\n }\n\n public clientRelationshipTypes = (state: State) => {\n return state.clientRelationshipTypes;\n }\n\n public activeClientRelationshipTypes = (state: State) => {\n return state.clientRelationshipTypes.filter((t) => !t.isArchived);\n }\n\n public clientStatusTypes = (state: State) => {\n return state.clientStatusTypes;\n }\n\n public activeClientStatusTypes = (state: State) => {\n return state.clientStatusTypes.filter((t) => !t.isArchived);\n }\n\n public clientTitleTypes = (state: State) => {\n return state.clientTitleTypes;\n }\n\n public activeClientTitleTypes = (state: State) => {\n return state.clientTitleTypes.filter((t) => !t.isArchived);\n }\n\n public interactionLetterTypes = (state: State) => {\n return state.interactionLetterTypes;\n }\n\n public activeInteractionLetterTypes = (state: State) => {\n return state.interactionLetterTypes.filter((t) => !t.isArchived);\n }\n\n public interactionOutcomeTypes = (state: State) => {\n return state.interactionOutcomeTypes;\n }\n\n public activeInteractionOutcomeTypes = (state: State) => {\n return state.interactionOutcomeTypes.filter((t) => !t.isArchived);\n }\n\n public interactionTypes = (state: State) => {\n return state.interactionTypes;\n }\n\n public activeInteractionTypes = (state: State) => {\n return state.interactionTypes.filter((t) => !t.isArchived);\n }\n\n public activePartnerPracticeTypes = (state: State) => {\n return state.partnerPracticeTypes.filter((t) => !t.isArchived);\n }\n\n public activePartnerPracticeTypesForCurrentUser = (state: State, getters: Getters, rootState: any, rootGetters: any) => {\n\n const currentUser: User = rootGetters['user/user'];\n\n if (currentUser == null) {\n return new Array();\n }\n\n const activePartnerPracticeTypes: any = getters.activePartnerPracticeTypes;\n\n return currentUser.partnerPracticeId == null ? activePartnerPracticeTypes : activePartnerPracticeTypes.filter((t: PartnerPracticeType) => t.id === currentUser.partnerPracticeId);\n }\n\n public powerOfAttorneyTypes = (state: State) => {\n return state.powerOfAttorneyTypes;\n }\n\n public activePowerOfAttorneyTypes = (state: State) => {\n return state.powerOfAttorneyTypes.filter((t) => !t.isArchived);\n }\n\n public willTypes = (state: State) => {\n return state.willTypes;\n }\n\n public activeWillTypes = (state: State) => {\n return state.willTypes.filter((t) => !t.isArchived);\n }\n}\n","import { AdditionalDocumentType } from '@/shared/types/additional-document-type';\nimport { AppointmentCancellationType } from '@/shared/types/appointment-cancellation-type';\nimport { AppointmentExecutorType } from '@/shared/types/appointment-executor-type';\nimport { AppointmentNoInstructionType } from '@/shared/types/appointment-no-instruction-type';\nimport { AppointmentOutcomeType } from '@/shared/types/appointment-outcome-type';\nimport { AppointmentPaymentStatusType } from '@/shared/types/appointment-payment-status-type';\nimport { AppointmentProductType } from '@/shared/types/appointment-product-type';\nimport { AppointmentReasonType } from '@/shared/types/appointment-reason-type';\nimport { AppointmentType } from '@/shared/types/appointment-type';\nimport { ClientOriginalSourceType } from '@/shared/types/client-original-source-type';\nimport { ClientRelationshipType } from '@/shared/types/client-relationship-type';\nimport { ClientStatusType } from '@/shared/types/client-status-type';\nimport { ClientTitleType } from '@/shared/types/client-title-type';\nimport { InteractionLetterType } from '@/shared/types/interaction-letter-type';\nimport { InteractionOutcomeType } from '@/shared/types/interaction-outcome-type';\nimport { InteractionType } from '@/shared/types/interaction-type';\nimport { PartnerPracticeType } from '@/shared/types/partner-practice-type';\nimport { PowerOfAttorneyType } from '@/shared/types/power-of-attorney-type';\nimport { WillType } from '@/shared/types/will-type';\nimport { State } from '@/stores/types/state';\nimport { MutationTree } from 'vuex';\n\nexport class Mutations implements MutationTree {\n [key: string]: (state: State, payload: any) => any;\n\n public setAdditionalDocumentTypes = (state: State, types: Array) => {\n state.additionalDocumentTypes = types;\n }\n\n public setAppointmentCancellationTypes = (state: State, types: Array) => {\n state.appointmentCancellationTypes = types;\n }\n\n public setAppointmentExecutorTypes = (state: State, types: Array) => {\n state.appointmentExecutorTypes = types;\n }\n\n public setAppointmentReasonTypes = (state: State, types: Array) => {\n state.appointmentReasonTypes = types;\n }\n\n public setAppointmentNoInstructionTypes = (state: State, types: Array) => {\n state.appointmentNoInstructionTypes = types;\n }\n\n public setAppointmentOutcomeTypes = (state: State, types: Array) => {\n state.appointmentOutcomeTypes = types;\n }\n\n public setAppointmentPaymentStatusTypes = (state: State, types: Array) => {\n state.appointmentPaymentStatusTypes = types;\n }\n\n public setAppointmentProductTypes = (state: State, types: Array) => {\n state.appointmentProductTypes = types;\n }\n\n public setAppointmentTypes = (state: State, types: Array) => {\n state.appointmentTypes = types;\n }\n\n public setClientOriginalSourceTypes = (state: State, types: Array) => {\n state.clientOriginalSourceTypes = types;\n }\n\n public setClientRelationshipTypes = (state: State, types: Array) => {\n state.clientRelationshipTypes = types;\n }\n\n public setClientStatusTypes = (state: State, types: Array) => {\n state.clientStatusTypes = types;\n }\n\n public setClientTitleTypes = (state: State, types: Array) => {\n state.clientTitleTypes = types;\n }\n\n public setInteractionLetterTypes = (state: State, types: Array) => {\n state.interactionLetterTypes = types;\n }\n\n public setInteractionOutcomeTypes = (state: State, types: Array) => {\n state.interactionOutcomeTypes = types;\n }\n\n public setInteractionTypes = (state: State, types: Array) => {\n state.interactionTypes = types;\n }\n\n public setPartnerPracticeTypes = (state: State, types: Array) => {\n state.partnerPracticeTypes = types;\n }\n\n public setPowerOfAttorneyTypes = (state: State, types: Array) => {\n state.powerOfAttorneyTypes = types;\n }\n\n public setWillTypes = (state: State, types: Array) => {\n state.willTypes = types;\n }\n}\n","import { AdditionalDocumentType } from '@/shared/types/additional-document-type';\nimport { AppointmentCancellationType } from '@/shared/types/appointment-cancellation-type';\nimport { AppointmentExecutorType } from '@/shared/types/appointment-executor-type';\nimport { AppointmentNoInstructionType } from '@/shared/types/appointment-no-instruction-type';\nimport { AppointmentOutcomeType } from '@/shared/types/appointment-outcome-type';\nimport { AppointmentPaymentStatusType } from '@/shared/types/appointment-payment-status-type';\nimport { AppointmentProductType } from '@/shared/types/appointment-product-type';\nimport { AppointmentReasonType } from '@/shared/types/appointment-reason-type';\nimport { AppointmentType } from '@/shared/types/appointment-type';\nimport { ClientOriginalSourceType } from '@/shared/types/client-original-source-type';\nimport { ClientRelationshipType } from '@/shared/types/client-relationship-type';\nimport { ClientStatusType } from '@/shared/types/client-status-type';\nimport { ClientTitleType } from '@/shared/types/client-title-type';\nimport { InteractionLetterType } from '@/shared/types/interaction-letter-type';\nimport { InteractionOutcomeType } from '@/shared/types/interaction-outcome-type';\nimport { InteractionType } from '@/shared/types/interaction-type';\nimport { PartnerPracticeType } from '@/shared/types/partner-practice-type';\nimport { PowerOfAttorneyType } from '@/shared/types/power-of-attorney-type';\nimport { WillType } from '@/shared/types/will-type';\n\nexport class State {\n public additionalDocumentTypes: Array = [];\n public appointmentCancellationTypes: Array = [];\n public appointmentExecutorTypes: Array = [];\n public appointmentReasonTypes: Array = [];\n public appointmentNoInstructionTypes: Array = [];\n public appointmentOutcomeTypes: Array = [];\n public appointmentPaymentStatusTypes: Array = [];\n public appointmentProductTypes: Array = [];\n public appointmentTypes: Array = [];\n public clientOriginalSourceTypes: Array = [];\n public clientRelationshipTypes: Array = [];\n public clientStatusTypes: Array = [];\n public clientTitleTypes: Array = [];\n public interactionLetterTypes: Array = [];\n public interactionOutcomeTypes: Array = [];\n public interactionTypes: Array = [];\n public partnerPracticeTypes: Array = [];\n public powerOfAttorneyTypes: Array = [];\n public willTypes: Array = [];\n}\n","import { Actions } from '@/stores/types/actions';\nimport { Getters } from '@/stores/types/getters';\nimport { Mutations } from '@/stores/types/mutations';\nimport { State } from '@/stores/types/state';\nimport { Module } from 'vuex';\n\nexport class TypesStore implements Module {\n public namespaced: boolean = true;\n public state: State = new State();\n public actions = new Actions();\n public getters: Getters = new Getters();\n public mutations = new Mutations();\n}\n","import { Api } from '@/api/api';\nimport { AssignUserRequest } from '@/api/requests/users/assign-user-request';\nimport { CreateUserRequest } from '@/api/requests/users/create-user-request';\nimport { UpdateUserRequest } from '@/api/requests/users/update-user-request';\nimport { UserRequestFilters } from '@/api/requests/users/user-request-filters';\nimport { Role } from '@/shared/roles/role';\nimport { User } from '@/shared/user';\n\nexport class UserApi extends Api {\n public getMeAsync(): Promise {\n return this.getAsync(`v1/user/me`);\n }\n\n public getUsersAsync(): Promise> {\n return this.getAsync>(`v1/user`);\n }\n\n public getLegalAdvisorsAsync(filters: UserRequestFilters): Promise> {\n return this.getAsync>(`v1/user/legalAdvisor`, filters);\n }\n\n public getAppointmentBookersAsync(filters: UserRequestFilters): Promise> {\n return this.getAsync>(`v1/user/booker`, filters);\n }\n\n public getInteractionCreatorsAsync(filters: UserRequestFilters): Promise> {\n return this.getAsync>(`v1/user/interactionCreator`, filters);\n }\n\n public getAssignedTaskUsersAsync(filters: UserRequestFilters): Promise> {\n return this.getAsync>(`v1/user/assignedTask`, filters);\n }\n\n public getCompletedTaskUsersAsync(filters: UserRequestFilters): Promise> {\n return this.getAsync>(`v1/user/completedTask`, filters);\n }\n\n public getAccountCreatorsAsync(filters: UserRequestFilters): Promise> {\n return this.getAsync>(`v1/user/accountCreator`, filters);\n }\n\n public getAssignedCallUsersAsync(filters: UserRequestFilters): Promise> {\n return this.getAsync>(`v1/user/assignedCall`, filters);\n }\n\n public getAccessedAccountUsersAsync(filters: UserRequestFilters): Promise> {\n return this.getAsync>(`v1/user/accessedAccount`, filters);\n }\n\n public getTargetUsersAsync(filters: UserRequestFilters): Promise> {\n return this.getAsync>(`v1/user/target`, filters);\n }\n\n public async updateUserAsync(request: UpdateUserRequest): Promise {\n await this.putAsync(`v1/user/${request.id}`, request);\n }\n\n public async createUserAsync(request: CreateUserRequest): Promise {\n await this.postAsync(`v1/user`, request);\n }\n\n public async deleteUserAsync(user: User): Promise {\n await this.deleteAsync(`v1/user/${user.id}`);\n }\n\n public async reinviteUserAsync(user: User): Promise {\n await this.postAsync(`v1/user/${user.id}/invite`, { userId: user.id, version: user.version });\n }\n\n public async assignToPartnerPracticeAsync(userId: string, request: AssignUserRequest): Promise {\n await this.putAsync(`v1/user/${userId}/assign`, request);\n }\n\n public async unassignFromPartnerPracticeAsync(userId: string): Promise {\n await this.putAsync(`v1/user/${userId}/unassign`, null);\n }\n\n public async getRolesAsync(): Promise> {\n return await this.getAsync>(`v1/user/role`);\n }\n\n public constructor() {\n super();\n }\n}\n","import { UserApi } from '@/api/user';\nimport userManager from '@/services/user-manager/user-manager';\nimport { State } from '@/stores/user/state';\nimport { ActionContext, ActionTree } from 'vuex';\n\nconst userApi = new UserApi();\n\nexport class Actions implements ActionTree {\n [key: string]: ((injectee: ActionContext, payload: any) => any);\n\n public loadMeAsync = async (context: ActionContext) => {\n try {\n const user = await userApi.getMeAsync();\n context.commit('setUser', user);\n } catch (e) {\n await userManager.removeUser();\n }\n }\n\n public logoutAsync = async (context: ActionContext) => {\n await userManager.signoutRedirect();\n }\n}\n","import { User } from '@/shared/user';\nimport { State } from '@/stores/user/state';\nimport { Route } from 'vue-router';\nimport { GetterTree } from 'vuex';\n\nexport class Getters implements GetterTree {\n [key: string]: (state: State, getters: any, rootState: any, rootGetters: any) => any;\n\n public user = (state: State) => {\n return state.user;\n }\n\n public hasAnyRole = (state: State) => (roles: Array) => {\n if (state.user == null || state.user.roles == null) {\n return false;\n }\n const userRoles = state.user.roles.map((role) => {\n role.name = role.name.toLowerCase();\n return role;\n });\n\n roles = roles.map((roleName: string) => {\n return roleName.toLowerCase();\n });\n\n return userRoles.some((r) => roles.indexOf(r.name) > -1);\n }\n\n public isAdministrator = (state: State): boolean => this.hasAnyRole(state)(['System', 'Administrator']);\n public isCustomerExperienceExecutive = (state: State): boolean => this.hasAnyRole(state)(['System', 'Administrator', 'Customer experience executive']);\n public isCustomerExperienceExecutiveTeamLeader = (state: State): boolean => this.hasAnyRole(state)(['System', 'Administrator', 'Customer experience executive team leader', 'Head of Customer Experience Team']);\n public isDataCreationExecutive = (state: State): boolean => this.hasAnyRole(state)(['System', 'Administrator', 'Data creation executive']);\n public isDataCreationTeamLeader = (state: State): boolean => this.hasAnyRole(state)(['System', 'Administrator', 'Data creation team leader']);\n public isHeadOfCustomerExperienceTeam = (state: State): boolean => this.hasAnyRole(state)(['System', 'Administrator', 'Head of Customer Experience Team']);\n public isHeadOfDepartment = (state: State): boolean => this.hasAnyRole(state)(['System', 'Administrator', 'PP Key Stakeholder']);\n public isInternalKeyStakeholder = (state: State): boolean => this.hasAnyRole(state)(['System', 'Administrator', 'Internal Key Stakeholder']);\n public isLegalAdvisor = (state: State): boolean => this.hasAnyRole(state)(['System', 'Administrator', 'Legal advisor']);\n public isLegalAssistant = (state: State): boolean => this.hasAnyRole(state)(['System', 'Administrator', 'Legal assistant']);\n public isDuplicateManager = (state: State): boolean => this.hasAnyRole(state)(['System', 'Administrator', 'Manage duplicates']);\n public isProbateLegalAdvisor = (state: State): boolean => this.hasAnyRole(state)(['System', 'Administrator', 'Probate legal advisor']);\n public isSystem = (state: State): boolean => this.hasAnyRole(state)(['System']);\n\n public hasPermissionForRoute = (state: State) => (route: Route): boolean => {\n if (state.user == null || state.user.roles == null) {\n return false;\n }\n\n if (!route.meta.requiresAuthentication || route.meta.requiresAnyRole == null || route.meta.requiresAnyRole.length < 1) {\n return true;\n }\n\n return this.hasAnyRole(state)(route.meta.requiresAnyRole || []);\n }\n\n public isSystemUser = (state: State) => (user: User): boolean => {\n return user != null && user.roles.some((r) => r.name === 'System');\n }\n}\n","import { User } from '@/shared/user';\nimport { State } from '@/stores/user/state';\nimport { MutationTree } from 'vuex';\n\nexport class Mutations implements MutationTree {\n [key: string]: (state: State, payload: any) => any;\n\n public setUser = (state: State, user: User | null) => {\n state.user = user;\n }\n}\n","import { User } from '@/shared/user';\n\nexport class State {\n public user: User | null = null;\n}\n","import { Actions } from '@/stores/user/actions';\nimport { Getters } from '@/stores/user/getters';\nimport { Mutations } from '@/stores/user/mutations';\nimport { State } from '@/stores/user/state';\nimport { Module } from 'vuex';\n\nexport class UserStore implements Module {\n public namespaced: boolean = true;\n public state: State = new State();\n public actions = new Actions();\n public getters: Getters = new Getters();\n public mutations = new Mutations();\n}\n","import { UserRequestFilters } from '@/api/requests/users/user-request-filters';\nimport { UserApi } from '@/api/user';\nimport { State } from '@/stores/users/state';\nimport { camelCase } from '@/string-utilities';\nimport { ActionContext, ActionTree } from 'vuex';\n\nconst userApi = new UserApi();\n\nexport class Actions implements ActionTree {\n [key: string]: ((injectee: ActionContext, payload: any) => any);\n\n public loadUsersAsync = async (context: ActionContext, payload: { type: string, filters: UserRequestFilters }) => {\n const formattedType = camelCase(`load ${payload.type}${(!payload.type.toLowerCase().endsWith('type') ? 'Users' : 's')} Async`);\n await context.dispatch(formattedType, payload.filters);\n }\n\n public loadAllUsersAsync = async (context: ActionContext) => {\n const response = await userApi.getUsersAsync();\n context.commit('setUsers', response);\n }\n\n public loadLegalAdvisorUsersAsync = async (context: ActionContext, filters: UserRequestFilters) => {\n const response = await userApi.getLegalAdvisorsAsync(filters);\n context.commit('setLegalAdvisorUsers', response);\n }\n\n public loadAppointmentBookerUsersAsync = async (context: ActionContext, filters: UserRequestFilters) => {\n const response = await userApi.getAppointmentBookersAsync(filters);\n context.commit('setAppointmentBookerUsers', response);\n }\n\n public loadInteractionAuthorUsersAsync = async (context: ActionContext, filters: UserRequestFilters) => {\n const response = await userApi.getInteractionCreatorsAsync(filters);\n context.commit('setInteractionAuthorUsers', response);\n }\n\n public loadAssignedTaskUsersAsync = async (context: ActionContext, filters: UserRequestFilters) => {\n const response = await userApi.getAssignedTaskUsersAsync(filters);\n context.commit('setAssignedTaskUsers', response);\n }\n\n public loadCompletedTaskUsersAsync = async (context: ActionContext, filters: UserRequestFilters) => {\n const response = await userApi.getCompletedTaskUsersAsync(filters);\n context.commit('setCompletedTaskUsers', response);\n }\n\n public loadAccountAuthorUsersAsync = async (context: ActionContext, filters: UserRequestFilters) => {\n const response = await userApi.getAccountCreatorsAsync(filters);\n context.commit('setAccountAuthorUsers', response);\n }\n\n public loadAssignedCallUsersAsync = async (context: ActionContext, filters: UserRequestFilters) => {\n const response = await userApi.getAssignedCallUsersAsync(filters);\n context.commit('setAssignedCallUsers', response);\n }\n\n public loadAccountAccessUsersAsync = async (context: ActionContext, filters: UserRequestFilters) => {\n const response = await userApi.getAccessedAccountUsersAsync(filters);\n context.commit('setAccountAccessUsers', response);\n }\n\n public loadTargetUsersAsync = async (context: ActionContext, filters: UserRequestFilters) => {\n const response = await userApi.getTargetUsersAsync(filters);\n context.commit('setTargetUsers', response);\n }\n\n public loadRolesAsync = async (context: ActionContext) => {\n const response = await userApi.getRolesAsync();\n context.commit('setRoles', response);\n }\n}\n","import { RoleName } from '@/shared/role-name';\nimport { User } from '@/shared/user';\nimport { UserStatus } from '@/shared/user-status';\nimport { State } from '@/stores/users/state';\nimport { GetterTree } from 'vuex';\n\nexport class Getters implements GetterTree {\n [key: string]: (state: State, getters: any, rootState: any, rootGetters: any) => any;\n\n public users = (state: State) => {\n return sortByName(state.users);\n }\n\n public activeUsers = (state: State) => {\n return sortByName(state.users.filter((user) => !user.isArchived));\n }\n\n public activeCustomerExperienceUsers = (state: State) => {\n return sortByName(state.users.filter((user) =>\n !user.isArchived &&\n user.roles.some((role) =>\n role.name.toLowerCase() === RoleName.HeadOfCustomerExperienceTeam.toLowerCase() ||\n role.name.toLowerCase() === RoleName.CustomerExperienceExecutiveTeamLeader.toLowerCase() ||\n role.name.toLowerCase() === RoleName.CustomerExperienceExecutive.toLowerCase())));\n }\n\n public rightLegalGroupUsers = (state: State) => (status: UserStatus): Array => {\n switch (status) {\n case UserStatus.Active:\n return sortByName(state.users.filter((user) => user.partnerPracticeId == null && !user.isArchived));\n case UserStatus.Archived:\n return sortByName(state.users.filter((user) => user.partnerPracticeId == null && user.isArchived));\n default:\n return sortByName(state.users.filter((user) => user.partnerPracticeId == null));\n }\n }\n\n public partnerPracticeUsers = (state: State) => (partnerPracticeId: string): Array => {\n return sortByName(state.users.filter((user) => user.partnerPracticeId === partnerPracticeId));\n }\n\n public activePartnerPracticeUsers = (state: State) => (partnerPracticeId: string): Array => {\n return sortByName(state.users.filter((user) =>\n !user.isArchived &&\n user.partnerPracticeId === partnerPracticeId));\n }\n\n public activeLegalAdvisors = (state: State) => (partnerPracticeId: string): Array => {\n return sortByName(state.users.filter((user) =>\n !user.isArchived &&\n user.partnerPracticeId === partnerPracticeId &&\n user.roles.some((role) => role.name.toLowerCase() === RoleName.LegalAdvisor.toLowerCase())));\n }\n\n public legalAdvisors = (state: State) => {\n return sortByName(state.legalAdvisorUsers);\n }\n\n public appointmentBookers = (state: State) => {\n return sortByName(state.appointmentBookerUsers);\n }\n\n public interactionAuthors = (state: State) => {\n return sortByName(state.interactionAuthorUsers);\n }\n\n public taskUsers = (state: State) => {\n const assignedUsers = state.assignedTaskUsers;\n const completedUsers = state.completedTaskUsers;\n\n const users: Array = [...assignedUsers];\n\n for (const completedUser of completedUsers.filter((user) => users.some((u) => u.id !== user.id))) {\n users.push({ ...completedUser });\n }\n\n return sortByName(users);\n }\n\n public assignedTaskUsers = (state: State) => {\n return sortByName(state.assignedTaskUsers);\n }\n\n public completedTaskUsers = (state: State) => {\n return sortByName(state.completedTaskUsers);\n }\n\n public accountAuthors = (state: State) => {\n return sortByName(state.accountAuthorUsers);\n }\n\n public assignedCallUsers = (state: State) => {\n return sortByName(state.assignedCallUsers);\n }\n\n public accountAccessUsers = (state: State) => {\n return sortByName(state.accountAccessUsers);\n }\n\n public targetUsers = (state: State) => {\n return sortByName(state.targetUsers);\n }\n\n public roles = (state: State) => {\n return state.roles;\n }\n\n public fullName = (state: State) => (userId: string): string => {\n const user = state.users.find((u) => u.id === userId);\n return user == null ? '' : `${user.firstName.trim()} ${user.lastName.trim()}`.trim();\n }\n}\n\nfunction sortByName(users: Array): Array {\n return users.sort((a, b) => {\n const aFullName = `${a.firstName.trim()} ${a.lastName.trim()}`.trim();\n const bFullName = `${b.firstName.trim()} ${b.lastName.trim()}`.trim();\n\n if (aFullName > bFullName) { return 1; }\n if (aFullName < bFullName) { return -1; }\n return 0;\n });\n}\n","import { Role } from '@/shared/roles/role';\nimport { User } from '@/shared/user';\nimport { State } from '@/stores/users/state';\nimport { MutationTree } from 'vuex';\n\nexport class Mutations implements MutationTree {\n [key: string]: (state: State, payload: any) => any;\n\n public setUsers = (state: State, users: Array) => {\n state.users = users;\n }\n\n public setLegalAdvisorUsers = (state: State, users: Array) => {\n state.legalAdvisorUsers = users;\n }\n\n public setAppointmentBookerUsers = (state: State, users: Array) => {\n state.appointmentBookerUsers = users;\n }\n\n public setInteractionAuthorUsers = (state: State, users: Array) => {\n state.interactionAuthorUsers = users;\n }\n\n public setAssignedTaskUsers = (state: State, users: Array) => {\n state.assignedTaskUsers = users;\n }\n\n public setCompletedTaskUsers = (state: State, users: Array) => {\n state.completedTaskUsers = users;\n }\n\n public setAccountAuthorUsers = (state: State, users: Array) => {\n state.accountAuthorUsers = users;\n }\n\n public setAssignedCallUsers = (state: State, users: Array) => {\n state.assignedCallUsers = users;\n }\n\n public setAccountAccessUsers = (state: State, users: Array) => {\n state.accountAccessUsers = users;\n }\n\n public setTargetUsers = (state: State, users: Array) => {\n state.targetUsers = users;\n }\n\n public setRoles = (state: State, roles: Array) => {\n state.roles = roles;\n }\n}\n","import { Role } from '@/shared/roles/role';\nimport { User } from '@/shared/user';\n\nexport class State {\n public users: Array = [];\n public legalAdvisorUsers: Array = [];\n public appointmentBookerUsers: Array = [];\n public interactionAuthorUsers: Array = [];\n public assignedTaskUsers: Array = [];\n public completedTaskUsers: Array = [];\n public accountAuthorUsers: Array = [];\n public assignedCallUsers: Array = [];\n public accountAccessUsers: Array = [];\n public targetUsers: Array = [];\n public roles: Array = [];\n}\n","import { Actions } from '@/stores/users/actions';\nimport { Getters } from '@/stores/users/getters';\nimport { Mutations } from '@/stores/users/mutations';\nimport { State } from '@/stores/users/state';\nimport { Module } from 'vuex';\n\nexport class UsersStore implements Module {\n public namespaced: boolean = true;\n public state: State = new State();\n public actions: Actions = new Actions();\n public getters: Getters = new Getters();\n public mutations: Mutations = new Mutations();\n}\n","import { AttachmentStore } from '@/stores/attachment/store';\nimport { CallsStore } from '@/stores/calls/store';\nimport { EnvironmentStore } from '@/stores/environment/store';\nimport { ImportStore } from '@/stores/import/store';\nimport { NotificationStore } from '@/stores/notification/store';\nimport { PartnerPracticesStore } from '@/stores/partner-practices/store';\nimport { SettingsStore } from '@/stores/settings/store';\nimport { TypesStore } from '@/stores/types/store';\nimport { UserStore } from '@/stores/user/store';\nimport { UsersStore } from '@/stores/users/store';\nimport Vue from 'vue';\nimport Vuex, { ActionContext } from 'vuex';\n\nVue.use(Vuex);\n\nexport default new Vuex.Store({\n modules: {\n attachment: new AttachmentStore(),\n calls: new CallsStore(),\n environment: new EnvironmentStore(),\n import: new ImportStore(),\n notification: new NotificationStore(),\n partnerPractices: new PartnerPracticesStore(),\n settings: new SettingsStore(),\n types: new TypesStore(),\n user: new UserStore(),\n users: new UsersStore(),\n },\n state: {\n isLoading: true,\n isDirty: false,\n },\n mutations: {\n isLoading: (state: any, loading: boolean) => {\n state.isLoading = loading;\n },\n setDirty: (state: any, dirty: boolean) => {\n state.isDirty = dirty;\n },\n },\n actions: {\n isLoading: (context: ActionContext, loading: boolean) => {\n context.commit('isLoading', loading);\n },\n },\n getters: {\n isLoading: (state: any) => state.isLoading,\n isDirty: (state: any) => state.isDirty,\n },\n});\n","import { AppointmentProductPaymentDetailsRequest } from '@/api/requests/appointments/appointment-product-payment-details-request';\nimport { Appointment } from '@/shared/appointments/appointment';\nimport { AppointmentProductPaymentDetails } from '@/shared/appointments/appointment-product-payment-details';\nimport { InstructionType } from '@/shared/instruction-type';\nimport { LocationType } from '@/shared/location-type';\nimport { RoleName } from '@/shared/role-name';\nimport { AppointmentCancellationType } from '@/shared/types/appointment-cancellation-type';\nimport { AppointmentExecutorType } from '@/shared/types/appointment-executor-type';\nimport { AppointmentNoInstructionType } from '@/shared/types/appointment-no-instruction-type';\nimport { AppointmentOutcomeType } from '@/shared/types/appointment-outcome-type';\nimport { AppointmentPaymentStatusType } from '@/shared/types/appointment-payment-status-type';\nimport { AppointmentProductType } from '@/shared/types/appointment-product-type';\nimport { AppointmentReasonType } from '@/shared/types/appointment-reason-type';\nimport { AppointmentType } from '@/shared/types/appointment-type';\nimport { User } from '@/shared/user';\nimport store from '@/store';\nimport { DateTime } from 'luxon';\n\nexport function appointmentTypeDescription(appointmentTypeId: string | null): string {\n if (appointmentTypeId == null) {\n return '';\n }\n\n const appointmentTypes = store.getters['types/appointmentTypes'] as Array;\n const appointmentType = appointmentTypes.find((type) => type.id === appointmentTypeId);\n\n return appointmentType == null ? '' : appointmentType.value;\n}\n\nexport function locationTypeDescription(locationType: LocationType): string {\n if (locationType == null) {\n return '';\n }\n\n switch (locationType) {\n case LocationType.Office:\n return 'Office';\n case LocationType.Home:\n return 'Home';\n case LocationType.Telephone:\n return 'Telephone';\n case LocationType.Video:\n return 'Video';\n default:\n return '';\n }\n}\n\nexport function reasonTypeDescription(reasonTypeId: string | null): string {\n if (reasonTypeId == null) {\n return '';\n }\n\n const reasonTypes = store.getters['types/appointmentReasonTypes'] as Array;\n const reasonType = reasonTypes.find((type) => type.id === reasonTypeId);\n\n return reasonType == null ? '' : reasonType.value;\n}\n\nexport function outcomeTypeDescription(outcomeTypeId: string | null): string {\n if (outcomeTypeId == null) {\n return '';\n }\n\n const outcomeTypes = store.getters['types/appointmentOutcomeTypes'] as Array;\n const outcomeType = outcomeTypes.find((type) => type.id === outcomeTypeId);\n\n return outcomeType == null ? '' : outcomeType.value;\n}\n\nexport function instructionTypeDescription(instructionType: InstructionType): string {\n if (instructionType == null) {\n return '';\n }\n\n switch (instructionType) {\n case InstructionType.NotInstructed:\n return 'Not Instructed';\n case InstructionType.CoolingOff:\n return '14 Day Cooling Off Period';\n case InstructionType.ConsideringOptions:\n return 'Considering Options';\n case InstructionType.Instructed:\n return 'Instructed';\n default:\n return '';\n }\n}\n\nexport function executorTypeDescription(executorTypeId: string | null): string {\n if (executorTypeId == null) {\n return '';\n }\n\n const executorTypes = store.getters['types/appointmentExecutorTypes'] as Array;\n const executorType = executorTypes.find((type) => type.id === executorTypeId);\n\n return executorType == null ? '' : executorType.value;\n}\n\nexport function cancellationTypeDescription(cancellationTypeId: string | null): string {\n if (cancellationTypeId == null) {\n return '';\n }\n\n const cancellationTypes = store.getters['types/appointmentCancellationTypes'] as Array;\n const cancellationType = cancellationTypes.find((type) => type.id === cancellationTypeId);\n\n return cancellationType == null ? '' : cancellationType.value;\n}\n\nexport function noInstructionTypeDescription(noInstructionTypeId: string | null): string {\n if (noInstructionTypeId == null) {\n return '';\n }\n\n const noInstructionTypes = store.getters['types/appointmentNoInstructionTypes'] as Array;\n const noInstructionType = noInstructionTypes.find((type) => type.id === noInstructionTypeId);\n\n return noInstructionType == null ? '' : noInstructionType.value;\n}\n\nexport function appointmentProductTypeDescription(productTypeId: string | null): string {\n if (productTypeId == null) {\n return '';\n }\n\n const appointmentProductTypes = store.getters['types/appointmentProductTypes'] as Array;\n const appointmentProductType = appointmentProductTypes.find((type) => type.id === productTypeId);\n\n return appointmentProductType == null ? '' : appointmentProductType.value;\n}\n\nexport function outcomePaymentStatusTypeDescription(paymentStatusTypeId: string | null): string {\n if (paymentStatusTypeId == null) {\n return '';\n }\n\n const paymentStatusTypes = store.getters['types/appointmentPaymentStatusTypes'] as Array;\n const paymentStatusType = paymentStatusTypes.find((type) => type.id === paymentStatusTypeId);\n\n return paymentStatusType == null ? '' : paymentStatusType.value;\n}\n\nexport function productPaymentStatusTypeDescription(paymentDetails: Array | Array | null): string {\n if (paymentDetails == null || !paymentDetails.length) {\n return '';\n }\n\n const paymentStatusTypes = store.getters['types/appointmentPaymentStatusTypes'] as Array;\n\n if (paymentDetails.length > 1) {\n for (const payment of paymentDetails) {\n const paymentStatusType = paymentStatusTypes.find((type) => type.id === payment.paymentStatusId);\n\n if (paymentStatusType != null && paymentStatusType.isComplete) {\n continue;\n }\n\n return 'Part Payment';\n }\n\n return 'Cleared';\n }\n\n const paymentStatus = paymentStatusTypes.find((type) => type.id === paymentDetails[0].paymentStatusId);\n\n return paymentStatus == null ? '' : paymentStatus.value;\n}\n\nexport function canEditAppointmentOutcome(appointment: Appointment): boolean {\n if (appointment.id == null || appointment.isRebooked || appointment.outcome == null) {\n return false;\n }\n\n if (appointment.outcome.outcomeTypeId == null) {\n return false;\n }\n\n const outcomeTypes = store.getters['types/appointmentOutcomeTypes'] as Array;\n const outcomeType = outcomeTypes.find((type) => type.id === appointment.outcome!.outcomeTypeId!);\n\n if (outcomeType == null) {\n return false;\n }\n\n const user = store.getters['user/user'] as User;\n\n if (user.roles.some((role) => role.name.toLowerCase() === RoleName.Administrator.toLowerCase() || role.name.toLowerCase() === RoleName.InternalKeyStakeholder.toLowerCase())) {\n return true;\n }\n\n if (!outcomeType.isSat) {\n return false;\n }\n\n if (appointment.outcome.isLegacy) {\n if (appointment.outcome.instructionType == null || appointment.outcome.instructionType === InstructionType.NotInstructed) {\n return false;\n }\n\n if (appointment.outcome.instructionType === InstructionType.CoolingOff || appointment.outcome.instructionType === InstructionType.ConsideringOptions) {\n if (new Date(appointment.date!.toString()) < DateTime.fromJSDate(new Date()).minus({ months: 6 }).toJSDate()) {\n return false;\n }\n\n return true;\n }\n\n if (appointment.outcome.paymentDetails == null) {\n return true;\n }\n\n if (appointment.outcome.paymentDetails.paymentStatusId == null) {\n return true;\n }\n\n const paymentStatusTypes = store.getters['types/activeAppointmentPaymentStatusTypes'] as Array;\n const paymentStatusType = paymentStatusTypes.find((type) => type.id === appointment.outcome!.paymentDetails!.paymentStatusId!);\n\n if (paymentStatusType == null) {\n return false;\n }\n\n return !paymentStatusType.isComplete;\n } else {\n if (appointment.outcome.products == null || !appointment.outcome.products.length) {\n return false;\n }\n\n if (appointment.outcome.products.every((product) => product.instructionType === InstructionType.NotInstructed)) {\n return false;\n }\n\n const validFrom = DateTime.fromJSDate(new Date()).minus({ months: 6 }).toJSDate();\n\n if (appointment.outcome.products.some((product) => (product.instructionType === InstructionType.CoolingOff || product.instructionType === InstructionType.ConsideringOptions) && new Date(appointment.date!.toString()) > validFrom)) {\n return true;\n }\n\n const instructedProducts = appointment.outcome.products.filter((product) => product.instructionType === InstructionType.Instructed);\n\n if (instructedProducts == null || !instructedProducts.length) {\n return false;\n }\n\n const paymentStatusTypes = store.getters['types/activeAppointmentPaymentStatusTypes'] as Array;\n\n for (const product of instructedProducts) {\n if (product.paymentDetails == null || !product.paymentDetails.length) {\n return true;\n }\n\n for (const payment of product.paymentDetails) {\n if (payment.paymentStatusId == null) {\n return true;\n }\n\n const paymentStatusType = paymentStatusTypes.find((type) => type.id === payment.paymentStatusId);\n\n if (paymentStatusType == null) {\n continue;\n }\n\n if (!paymentStatusType.isComplete) {\n return true;\n }\n }\n }\n\n return false;\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"sort-icon-left\":\"\",\"items\":_vm.appointments,\"fields\":_vm.appointmentFields,\"current-page\":_vm.currentPage,\"per-page\":_vm.perPage,\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"sort-compare\":_vm.onSortTable,\"empty-text\":'No appointments found'},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}},scopedSlots:_vm._u([{key:\"cell(status)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',[(_vm.isUnsaved(item))?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"info\"}},[_vm._v(\"Unsaved\")]):_vm._e(),(_vm.isPending(item))?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"warning\"}},[_vm._v(\"Pending\")]):_vm._e(),(_vm.showOutcomeType(item))?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"info\"}},[_vm._v(_vm._s(_vm.outcomeTypeDescription(item.outcome.outcomeTypeId)))]):_vm._e(),(_vm.showInstructionType(item))?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm.instructionTypeDescription(item.outcome.instructionType)))]):_vm._e(),(_vm.showNotInstructed(item))?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"secondary\"}},[_vm._v(\"Not Instructed\")]):_vm._e(),(_vm.showOutcomePaymentStatus(item))?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"success\"}},[_vm._v(_vm._s(_vm.outcomePaymentStatusTypeDescription(item.outcome.paymentDetails.paymentStatusId)))]):_vm._e(),(_vm.isRebook(item))?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"primary\"}},[_vm._v(\"Re-book\")]):_vm._e(),(_vm.isRebooked(item))?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"danger\"}},[_vm._v(\"Re-booked\")]):_vm._e()],1),(_vm.showOutcomeProducts(item))?_c('div',_vm._l((item.outcome.products),function(product){return _c('div',[_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"light\"}},[_c('b-badge',{staticClass:\"mr-1\",staticStyle:{\"font-size\":\"100%\"},attrs:{\"variant\":\"light\"}},[_vm._v(_vm._s(_vm.appointmentProductTypeDescription(product.productTypeId)))]),_c('b-badge',{staticClass:\"mr-1\",staticStyle:{\"font-size\":\"100%\"},attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm.instructionTypeDescription(product.instructionType)))]),(_vm.showProductPaymentStatus(product))?_c('b-badge',{staticClass:\"mr-1\",staticStyle:{\"font-size\":\"100%\"},attrs:{\"variant\":\"success\"}},[_vm._v(_vm._s(_vm.productPaymentStatusTypeDescription(product.paymentDetails)))]):_vm._e()],1)],1)}),0):_vm._e()]}},{key:\"cell(partnerPractice)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.partnerPracticeName(item.partnerPracticeId))+\"\\n \")]}},{key:\"cell(accountNumber)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.accountNumber(item))+\"\\n \")]}},{key:\"cell(clientName)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.clientName(item))+\"\\n \")]}},{key:\"cell(legalAdvisor)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.legalAdvisorName(item))+\"\\n \")]}},{key:\"cell(appointmentType)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.appointmentTypeDescription(item.appointmentTypeId))+\"\\n \")]}},{key:\"cell(location)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.locationTypeDescription(item.locationType))+\"\\n \")]}},{key:\"cell(date)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.date))+\"\\n \")]}},{key:\"cell(time)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"time\")(item.date))+\"\\n \")]}},{key:\"cell(appointmentBooker)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',[_vm._v(_vm._s(item.booker.name))]),_vm._l((item.booker.roles),function(role,index){return _c('div',{key:index},[_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(_vm._s(_vm._f(\"capitalizeFirst\")(role.name)))])],1)})]}},{key:\"cell(actions)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._t(\"actions\",null,{\"appointment\":item})]}}],null,true)}),_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.totalRows,\"per-page\":_vm.perPage},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}),_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))])],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\nimport { appointmentProductTypeDescription, appointmentTypeDescription, instructionTypeDescription, locationTypeDescription, outcomePaymentStatusTypeDescription, outcomeTypeDescription, productPaymentStatusTypeDescription } from '@/components/appointments/appointment-utilities';\nimport { Appointment } from '@/shared/appointments/appointment';\nimport { AppointmentClient } from '@/shared/appointments/appointment-client';\nimport { AppointmentOutcomeProduct } from '@/shared/appointments/appointment-outcome-product';\nimport { AppointmentProductPaymentDetails } from '@/shared/appointments/appointment-product-payment-details';\nimport { InstructionType } from '@/shared/instruction-type';\nimport { LocationType } from '@/shared/location-type';\nimport { AppointmentOutcomeType } from '@/shared/types/appointment-outcome-type';\nimport { AppointmentType } from '@/shared/types/appointment-type';\nimport { User } from '@/shared/user';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\nconst usersModule = namespace('users');\n\n@Component\nexport default class AppointmentsTable extends Vue {\n @partnerPracticesModule.Getter('partnerPracticeName') private partnerPracticeName!: (partnerPracticeId: string | null) => string;\n\n @typesModule.Getter('appointmentTypes') public appointmentTypes!: Array;\n @typesModule.Getter('appointmentOutcomeTypes') public outcomeTypes!: Array;\n\n @usersModule.Getter('users') public users!: Array;\n\n @Prop({ required: true }) public appointments!: Array;\n\n private currentPage: number = 1;\n private perPage: number = 25;\n private sortBy: string = 'date';\n private sortDesc: boolean = true;\n\n public get appointmentFields(): Array<{}> {\n const fields = [\n { key: 'status', label: 'Status', sortable: false },\n { key: 'partnerPractice', label: 'Assigned To', sortable: true },\n { key: 'accountNumber', label: 'Account Number', sortable: true },\n { key: 'clientName', label: 'Client Name', sortable: true },\n { key: 'legalAdvisor', label: 'Legal Advisor', sortable: true },\n { key: 'appointmentType', label: 'Type', sortable: true },\n { key: 'location', label: 'Location', sortable: true },\n { key: 'date', label: 'Date', sortable: true },\n { key: 'time', label: 'Time', sortable: false },\n { key: 'appointmentBooker', label: 'Booker', sortable: true },\n { key: 'actions', label: '', class: 'col-1', tdClass: 'text-right' },\n ];\n\n return fields;\n }\n\n private get totalRows(): number {\n return this.appointments.length;\n }\n\n private get paginationDescription(): string {\n const start = (this.appointments.length < 1)\n ? 0\n : ((this.currentPage - 1) * this.perPage) + 1;\n\n const end = start + this.perPage > this.totalRows\n ? this.totalRows\n : start + this.perPage - 1;\n\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.totalRows.toLocaleString()}`;\n }\n\n @Watch('appointments', { deep: true })\n private onAppointmentsChanged(): void {\n this.currentPage = 1;\n }\n\n private onSortTable(rowA: Appointment, rowB: Appointment, key: string): number | null {\n switch (key) {\n case 'partnerPractice':\n const partnerPracticeA = this.partnerPracticeName(rowA.partnerPracticeId);\n const partnerPracticeB = this.partnerPracticeName(rowB.partnerPracticeId);\n\n return (partnerPracticeA > partnerPracticeB) ? 1 : (partnerPracticeA < partnerPracticeB) ? -1 : 0;\n\n case 'accountNumber':\n const accountNoA = rowA.clients[0].accountNo!;\n const accountNoB = rowB.clients[0].accountNo!;\n\n return (accountNoA > accountNoB) ? 1 : (accountNoA < accountNoB) ? -1 : 0;\n\n case 'clientName':\n const clientNameA = rowA.clients[0].lastName!.trim().toUpperCase();\n const clientNameB = rowB.clients[0].lastName!.trim().toUpperCase();\n\n return (clientNameA > clientNameB) ? 1 : (clientNameA < clientNameB) ? -1 : 0;\n\n case 'legalAdvisor':\n const legalAdvisorA = this.legalAdvisorName(rowA);\n const legalAdvisorB = this.legalAdvisorName(rowB);\n\n return (legalAdvisorA > legalAdvisorB) ? 1 : (legalAdvisorA < legalAdvisorB) ? -1 : 0;\n\n case 'appointmentType':\n const appointmentTypeA = this.appointmentTypeDescription(rowA.appointmentTypeId);\n const appointmentTypeB = this.appointmentTypeDescription(rowB.appointmentTypeId);\n\n return (appointmentTypeA > appointmentTypeB) ? 1 : (appointmentTypeA < appointmentTypeB) ? -1 : 0;\n\n case 'location':\n const locationTypeA = this.locationTypeDescription(rowA.locationType!);\n const locationTypeB = this.locationTypeDescription(rowB.locationType!);\n\n return (locationTypeA > locationTypeB) ? 1 : (locationTypeA < locationTypeB) ? -1 : 0;\n\n case 'date':\n return (rowA.date! > rowB.date!) ? 1 : (rowA.date! < rowB.date!) ? -1 : 0;\n\n case 'appointmentBooker':\n const bookerNameA = rowA.booker!.name!;\n const bookerNameB = rowB.booker!.name!;\n\n return (bookerNameA > bookerNameB) ? 1 : (bookerNameA < bookerNameB) ? -1 : 0;\n\n default:\n return null;\n }\n }\n\n private isUnsaved(appointment: Appointment): boolean {\n return (appointment.id == null) || (appointment.outcome != null && appointment.outcome.id == null);\n }\n\n private isRebook(appointment: Appointment): boolean {\n return appointment.originalAppointmentId != null;\n }\n\n private isRebooked(appointment: Appointment): boolean {\n return appointment.isRebooked!;\n }\n\n private isPending(appointment: Appointment): boolean {\n return appointment.outcome == null && !appointment.isRebooked;\n }\n\n private showOutcomeType(appointment: Appointment): boolean {\n return appointment.outcome != null;\n }\n\n private showInstructionType(appointment: Appointment): boolean {\n if (appointment.outcome == null) {\n return false;\n }\n\n const outcome = appointment.outcome;\n\n const appointmentType = this.appointmentTypes.find((type) => type.id === appointment.appointmentTypeId);\n\n if (appointmentType == null || !appointmentType.isInitialAppointment) {\n return false;\n }\n\n const outcomeType = this.outcomeTypes.find((type) => type.id === outcome.outcomeTypeId);\n\n return outcomeType != null && outcomeType.isSat;\n }\n\n private showNotInstructed(appointment: Appointment): boolean {\n if (appointment.outcome == null || appointment.outcome.isLegacy) {\n return false;\n }\n\n const appointmentType = this.appointmentTypes.find((type) => type.id === appointment.appointmentTypeId);\n\n if (appointmentType == null || !appointmentType.isInitialAppointment) {\n return false;\n }\n\n const outcomeType = this.outcomeTypes.find((type) => type.id === appointment.outcome!.outcomeTypeId);\n\n if (outcomeType == null || !outcomeType.isSat) {\n return false;\n }\n\n return appointment.outcome.products == null || !appointment.outcome.products.length;\n }\n\n private showOutcomePaymentStatus(appointment: Appointment): boolean {\n if (appointment.outcome == null) {\n return false;\n }\n\n return appointment.outcome.isLegacy && appointment.outcome.instructionType === InstructionType.Instructed;\n }\n\n private showOutcomeProducts(appointment: Appointment): boolean {\n if (appointment.outcome == null) {\n return false;\n }\n\n return !appointment.outcome.isLegacy && appointment.outcome.products.length > 0;\n }\n\n private showProductPaymentStatus(product: AppointmentOutcomeProduct): boolean {\n if (product == null) {\n return false;\n }\n\n return product.instructionType === InstructionType.Instructed;\n }\n\n private outcomeTypeDescription(outcomeTypeId: string | null): string {\n return outcomeTypeDescription(outcomeTypeId);\n }\n\n private instructionTypeDescription(instructionType: InstructionType): string {\n return instructionTypeDescription(instructionType);\n }\n\n private appointmentProductTypeDescription(productTypeId: string): string {\n return appointmentProductTypeDescription(productTypeId);\n }\n\n private outcomePaymentStatusTypeDescription(paymentStatusId: string | null) {\n return outcomePaymentStatusTypeDescription(paymentStatusId);\n }\n\n private productPaymentStatusTypeDescription(paymentDetails: Array | null): string {\n return productPaymentStatusTypeDescription(paymentDetails);\n }\n\n private appointmentTypeDescription(appointmentTypeId: string | null): string {\n return appointmentTypeDescription(appointmentTypeId);\n }\n\n private locationTypeDescription(locationType: LocationType): string {\n return locationTypeDescription(locationType);\n }\n\n private accountNumber(appointment: Appointment): string {\n const accountNumbers = appointment.clients.map((client: AppointmentClient) => {\n return client.accountNo;\n });\n\n return accountNumbers.join(' & ');\n }\n\n private clientName(appointment: Appointment): string {\n if (appointment.clients == null || appointment.clients.length < 1) {\n return '';\n }\n\n if (appointment.clients.length < 2) {\n return `${appointment.clients[0].firstName} ${appointment.clients[0].lastName}`;\n }\n\n if (appointment.clients[0].lastName != null && appointment.clients[1].lastName != null && appointment.clients[0].lastName.toLowerCase() === appointment.clients[1].lastName.toLowerCase()) {\n return `${appointment.clients[0].firstName} & ${appointment.clients[1].firstName} ${appointment.clients[0].lastName}`;\n }\n\n return `${appointment.clients[0].firstName} ${appointment.clients[0].lastName} & ${appointment.clients[1].firstName} ${appointment.clients[1].lastName}`;\n }\n\n private legalAdvisorName(appointment: Appointment): string {\n const advisor = this.users.find((user) => user.id === appointment.legalAdvisorId);\n\n if (advisor == null) {\n return '';\n }\n\n return `${advisor.firstName == null ? '' : advisor.firstName} ${advisor.lastName == null ? '' : advisor.lastName}`;\n }\n}\n\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointments-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointments-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./appointments-table.vue?vue&type=template&id=44ebd748&\"\nimport script from \"./appointments-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./appointments-table.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./appointments-table.vue?vue&type=style&index=0&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 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\nimport { canEditAppointmentOutcome } from '@/components/appointments/appointment-utilities';\nimport appointmentsTable from '@/components/appointments/appointments-table.vue';\nimport layout from '@/layouts/app.vue';\nimport { Appointment } from '@/shared/appointments/appointment';\nimport { AppointmentOutcomeType } from '@/shared/types/appointment-outcome-type';\nimport { User } from '@/shared/user';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst userModule = namespace('user');\nconst typesModule = namespace('types');\n\n@Component({\n components: {\n layout,\n appointmentsTable,\n },\n})\nexport default class AppointmentList extends Vue {\n @typesModule.Getter('appointmentOutcomeTypes') public outcomeTypes!: Array;\n\n @userModule.Getter('user') private currentUser!: User | null;\n @userModule.Getter('isAdministrator') private isAdministrator!: boolean;\n @userModule.Getter('isInternalKeyStakeholder') private isInternalKeyStakeholder!: boolean;\n @userModule.Getter('isCustomerExperienceExecutive') private isCustomerExperienceExecutive!: boolean;\n @userModule.Getter('isCustomerExperienceExecutiveTeamLeader') private isCustomerExperienceExecutiveTeamLeader!: boolean;\n @userModule.Getter('isHeadOfDepartment') private isHeadOfDepartment!: boolean;\n @userModule.Getter('isLegalAdvisor') private isLegalAdvisor!: boolean;\n @userModule.Getter('isLegalAssistant') private isLegalAssistant!: boolean;\n @userModule.Getter('isDataCreationExecutive') private isDataCreationExecutive!: boolean;\n @userModule.Getter('isProbateLegalAdvisor') private isProbateLegalAdvisor!: boolean;\n\n @Prop({ required: true }) public appointments!: Array;\n\n private isLegalAdvisorAt(partnerPracticeId: string | null): boolean {\n return this.isLegalAdvisor && this.currentUser!.partnerPracticeId === partnerPracticeId;\n }\n\n private isLegalAssistantAt(partnerPracticeId: string | null): boolean {\n return this.isLegalAssistant && this.currentUser!.partnerPracticeId === partnerPracticeId;\n }\n\n private isHeadOfDepartmentAt(partnerPracticeId: string | null): boolean {\n return this.isHeadOfDepartment && this.currentUser!.partnerPracticeId === partnerPracticeId;\n }\n\n private canCreateOutcome(appointment: Appointment): boolean {\n const partnerPracticeId = appointment.clients[0].partnerPracticeId;\n\n const validUser = this.currentUser != null &&\n (\n this.isInternalKeyStakeholder ||\n (this.isLegalAdvisorAt(partnerPracticeId) && this.currentUser.id === appointment.legalAdvisorId) ||\n (this.isLegalAssistantAt(partnerPracticeId) && this.currentUser.id === appointment.legalAdvisorId) ||\n this.isHeadOfDepartmentAt(partnerPracticeId)\n );\n\n return validUser && appointment.id != null && appointment.outcome == null && !appointment.isRebooked;\n }\n\n private canEditOutcome(appointment: Appointment): boolean {\n const partnerPracticeId = appointment.clients[0].partnerPracticeId;\n\n const validUser = this.currentUser != null &&\n (\n this.isInternalKeyStakeholder ||\n (this.isLegalAdvisorAt(partnerPracticeId) && this.currentUser.id === appointment.legalAdvisorId) ||\n (this.isLegalAssistantAt(partnerPracticeId) && this.currentUser.id === appointment.legalAdvisorId) ||\n this.isHeadOfDepartmentAt(partnerPracticeId)\n );\n\n return validUser && canEditAppointmentOutcome(appointment);\n }\n\n private canRebookAppointment(appointment: Appointment): boolean {\n const partnerPracticeId = appointment.clients[0].partnerPracticeId;\n\n const validUser = this.currentUser != null &&\n (\n this.isInternalKeyStakeholder ||\n this.isCustomerExperienceExecutive ||\n this.isCustomerExperienceExecutiveTeamLeader ||\n this.isLegalAdvisorAt(partnerPracticeId) ||\n this.isLegalAssistantAt(partnerPracticeId) ||\n this.isHeadOfDepartmentAt(partnerPracticeId) ||\n this.isDataCreationExecutive ||\n this.isProbateLegalAdvisor\n );\n\n if (appointment.outcome == null) {\n return validUser && appointment.id != null && !appointment.isRebooked;\n }\n\n const outcomeType = this.outcomeTypes.find((type) => type.id === appointment.outcome!.outcomeTypeId);\n\n if (outcomeType == null) {\n return false;\n }\n\n return validUser && appointment.id != null && !appointment.isRebooked && !outcomeType.isSat;\n }\n\n private canEditAppointment(appointment: Appointment): boolean {\n return !appointment.isRebooked;\n }\n\n private canDeleteAppointment(): boolean {\n return this.isAdministrator;\n }\n\n private canDeleteOutcome(appointment: Appointment): boolean {\n return this.isAdministrator && appointment.outcome != null;\n }\n\n private async showViewDialog(appointment: Appointment): Promise {\n this.$emit('show-view-dialog', appointment);\n }\n\n private async showCompletionDialog(appointment: Appointment): Promise {\n this.$emit('show-completion-dialog', appointment);\n }\n\n private async showEditOutcomeDialog(appointment: Appointment): Promise {\n this.$emit('show-edit-outcome-dialog', appointment);\n }\n\n private async showRebookDialog(appointment: Appointment): Promise {\n this.$emit('show-rebook-dialog', appointment);\n }\n\n private async showEditDialog(appointment: Appointment): Promise {\n this.$emit('show-edit-dialog', appointment);\n }\n\n private async showDeleteAppointmentConfirmation(appointment: Appointment): Promise {\n this.$emit('show-delete-appointment-dialog', appointment);\n }\n\n private async showDeleteOutcomeConfirmation(appointment: Appointment): Promise {\n this.$emit('show-delete-outcome-dialog', appointment);\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointment-list.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointment-list.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./appointment-list.vue?vue&type=template&id=7a226eec&\"\nimport script from \"./appointment-list.vue?vue&type=script&lang=ts&\"\nexport * from \"./appointment-list.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('b-modal',{attrs:{\"centered\":\"\",\"body-class\":\"modal-stepper\",\"title\":_vm.title,\"size\":\"xl\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('stepper',{model:{value:(_vm.currentStep),callback:function ($$v) {_vm.currentStep=$$v},expression:\"currentStep\"}},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading appointment details, please wait...\")]),_c('step',{attrs:{\"title\":\"Details\",\"completed\":_vm.detailsCompleted}},[(_vm.isInternalKeyStakeholder)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"booker\"}},[_vm._v(\"Booker\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedBookerId),expression:\"selectedBookerId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('booker') },attrs:{\"name\":\"booker\",\"id\":\"booker\",\"data-vv-as\":\"appointment booker\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedBookerId=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.bookers),function(booker){return _c('option',{key:booker.id,domProps:{\"value\":booker.id}},[_vm._v(_vm._s(booker.firstName.trim())+\" \"+_vm._s(booker.lastName.trim()))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('booker')),expression:\"errors.has('booker')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('booker')))])]):_vm._e(),(_vm.client.partner != null)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"client\"}},[_vm._v(\"Client\")]),(_vm.canEditClient)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedClientId),expression:\"selectedClientId\"}],staticClass:\"form-control\",attrs:{\"id\":\"client\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedClientId=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":_vm.client.id}},[_vm._v(_vm._s(((_vm.client.firstName.trim()) + \" \" + (_vm.client.lastName.trim())).trim()))]),_c('option',{domProps:{\"value\":_vm.client.partner.id}},[_vm._v(_vm._s(((_vm.client.partner.firstName.trim()) + \" \" + (_vm.client.partner.lastName.trim())).trim()))]),_c('option',{domProps:{\"value\":'both'}},[_vm._v(_vm._s(_vm.formatClientAndPartnerNames))])]):_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"client\"}},[_vm._v(_vm._s(_vm.clientDescription))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('client')),expression:\"errors.has('client')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('client')))])]):_vm._e(),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"appointmentType\"}},[_vm._v(\"Appointment Type\")]),(_vm.canEditAppointmentType)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointment.appointmentTypeId),expression:\"appointment.appointmentTypeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('appointmentType') },attrs:{\"name\":\"appointmentType\",\"id\":\"appointmentType\",\"data-vv-as\":\"appointment type\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.appointment, \"appointmentTypeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.appointmentTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2):_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"appointmentType\"}},[_vm._v(_vm._s(_vm.appointmentTypeDescription))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentType')),expression:\"errors.has('appointmentType')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentType')))])]),(_vm.selectedClient.isAcquisition && _vm.canEditPartnerPractice)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"partnerPractice\"}},[_vm._v(\"Assign To\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointment.partnerPracticeId),expression:\"appointment.partnerPracticeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('partnerPractice') },attrs:{\"name\":\"partnerPractice\",\"id\":\"partnerPractice\",\"data-vv-as\":\"assign to\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.appointment, \"partnerPracticeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.partnerPracticesForAcquisition),function(practice){return _c('option',{key:practice.id,domProps:{\"value\":practice.id}},[_vm._v(_vm._s(practice.name))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('partnerPractice')),expression:\"errors.has('partnerPractice')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('partnerPractice')))])]):_vm._e(),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"legalAdvisor\"}},[_vm._v(\"Legal Advisor\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointment.legalAdvisorId),expression:\"appointment.legalAdvisorId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('legalAdvisor') },attrs:{\"name\":\"legalAdvisor\",\"id\":\"legalAdvisor\",\"data-vv-as\":\"legal advisor\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.appointment, \"legalAdvisorId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.legalAdvisors(_vm.appointment.partnerPracticeId)),function(advisor){return _c('option',{key:advisor.id,domProps:{\"value\":advisor.id}},[_vm._v(\"\\n \"+_vm._s(((advisor.firstName.trim()) + \" \" + (advisor.lastName.trim())).trim())+\"\\n \")])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('legalAdvisor')),expression:\"errors.has('legalAdvisor')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('legalAdvisor')))])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"appointmentDate\"}},[_vm._v(\"Date\")]),(_vm.canEditAppointmentDate)?_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDate') },attrs:{\"name\":\"appointmentDate\",\"id\":\"appointmentDate\",\"data-vv-as\":\"appointment date\"},model:{value:(_vm.selectedDate),callback:function ($$v) {_vm.selectedDate=$$v},expression:\"selectedDate\"}}):_c('div',{staticClass:\"form-control\"},[_vm._v(_vm._s(_vm._f(\"date\")(_vm.selectedDate)))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDate')),expression:\"errors.has('appointmentDate')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDate')))])],1)]),_c('div',{staticClass:\"col\"},[(_vm.canEditAppointmentDate)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"appointmentHour\"}},[_vm._v(\"Time\")]),_c('div',{staticClass:\"form-inline\"},[_c('div',{staticClass:\"form-group\",class:{ 'is-invalid': _vm.errors.has('appointmentHour') || _vm.errors.has('appointmentMinute') }},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedHour),expression:\"selectedHour\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('appointmentHour'), 'text-muted': _vm.selectedHour == null },attrs:{\"name\":\"appointmentHour\",\"id\":\"appointmentHour\",\"data-vv-as\":\"appointment hour\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedHour=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"disabled\":\"\",\"hidden\":\"\"},domProps:{\"value\":null}},[_vm._v(\"hh\")]),_vm._l((_vm.hours),function(hour){return _c('option',{key:hour.value,domProps:{\"value\":hour.value}},[_vm._v(_vm._s(hour.description))])})],2),_c('span',[_vm._v(\" : \")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedMinute),expression:\"selectedMinute\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('appointmentMinute'), 'text-muted': _vm.selectedMinute == null },attrs:{\"name\":\"appointmentMinute\",\"id\":\"appointmentMinute\",\"data-vv-as\":\"appointment minute\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedMinute=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"disabled\":\"\",\"hidden\":\"\"},domProps:{\"value\":null}},[_vm._v(\"mm\")]),_vm._l((_vm.minutes),function(minute){return _c('option',{key:minute.value,domProps:{\"value\":minute.value}},[_vm._v(_vm._s(minute.description))])})],2),_c('span',[_vm._v(\" \")]),(!_vm.useTwentyFourHours)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedMeridian),expression:\"selectedMeridian\"}],staticClass:\"form-control\",on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedMeridian=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},function($event){return _vm.onMeridianChanged($event.target.value)}]}},[_c('option',{domProps:{\"value\":'AM'}},[_vm._v(\"AM\")]),_c('option',{domProps:{\"value\":'PM'}},[_vm._v(\"PM\")])]):_vm._e(),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentHour')),expression:\"errors.has('appointmentHour')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentHour')))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentMinute')),expression:\"errors.has('appointmentMinute')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentMinute')))])])]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.useTwentyFourHours),expression:\"useTwentyFourHours\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"useTwentyFourHours\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.useTwentyFourHours)?_vm._i(_vm.useTwentyFourHours,true)>-1:(_vm.useTwentyFourHours)},on:{\"change\":function($event){var $$a=_vm.useTwentyFourHours,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.useTwentyFourHours=$$a.concat([$$v]))}else{$$i>-1&&(_vm.useTwentyFourHours=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.useTwentyFourHours=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"useTwentyFourHours\"}},[_vm._v(\"Show 24-Hour Format\")])])])]):_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"appointmentHour\"}},[_vm._v(\"Time\")]),_c('div',{staticClass:\"form-control\"},[_vm._v(_vm._s(_vm._f(\"time\")(_vm.selectedDate)))])])])])]),(_vm.showLocationStep)?_c('step',{attrs:{\"title\":\"Location\",\"disabled\":!_vm.detailsCompleted,\"completed\":_vm.locationCompleted}},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"locationType\"}},[_vm._v(\"Location Type\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointment.locationType),expression:\"appointment.locationType\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('locationType') },attrs:{\"name\":\"locationType\",\"id\":\"locationType\",\"data-vv-as\":\"location type\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.appointment, \"locationType\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.locationTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('locationType')),expression:\"errors.has('locationType')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('locationType')))])]),(_vm.appointment.locationType === 0)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"officeLocation\"}},[_vm._v(\"Office\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointment.partnerPracticeAddressId),expression:\"appointment.partnerPracticeAddressId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('officeLocation') },attrs:{\"name\":\"officeLocation\",\"id\":\"officeLocation\",\"data-vv-as\":\"office\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.appointment, \"partnerPracticeAddressId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.addresses(_vm.appointment.partnerPracticeId)),function(address){return _c('option',{key:address.id,domProps:{\"value\":address.id}},[_vm._v(_vm._s(_vm._f(\"singlelineaddress\")(address)))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('officeLocation')),expression:\"errors.has('officeLocation')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('officeLocation')))])]):_vm._e(),(_vm.appointment.locationType === 1 && !_vm.invalidClientAddress)?_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.useClientAddress),expression:\"useClientAddress\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":\"useClientAddress\",\"id\":\"useClientAddressTrue\"},domProps:{\"value\":true,\"checked\":_vm._q(_vm.useClientAddress,true)},on:{\"change\":function($event){_vm.useClientAddress=true}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"useClientAddressTrue\"}},[_vm._v(\"Client Address\")])]),_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.useClientAddress),expression:\"useClientAddress\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":\"useClientAddress\",\"id\":\"useClientAddressFalse\"},domProps:{\"value\":false,\"checked\":_vm._q(_vm.useClientAddress,false)},on:{\"change\":function($event){_vm.useClientAddress=false}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"useClientAddressFalse\"}},[_vm._v(\"Different Address\")])])]):_vm._e(),(_vm.appointment.locationType === 1 && !_vm.useClientAddress)?_c('div',{staticClass:\"form-group\"},[_c('address-with-lookup',{ref:\"address\",attrs:{\"address\":_vm.alternativeClientAddress,\"compact\":true}})],1):_vm._e()]):_vm._e(),(_vm.showReasonsStep)?_c('step',{attrs:{\"title\":\"Reasons\",\"disabled\":!_vm.locationCompleted,\"completed\":_vm.reasonsCompleted}},[_c('ul',{staticClass:\"list-group list-group-flush\"},_vm._l((_vm.reasonTypes),function(type){return _c('li',{key:type.id,staticClass:\"list-group-item\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedReasonIds),expression:\"selectedReasonIds\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":type.id},domProps:{\"value\":type.id,\"checked\":Array.isArray(_vm.selectedReasonIds)?_vm._i(_vm.selectedReasonIds,type.id)>-1:(_vm.selectedReasonIds)},on:{\"change\":function($event){var $$a=_vm.selectedReasonIds,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=type.id,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.selectedReasonIds=$$a.concat([$$v]))}else{$$i>-1&&(_vm.selectedReasonIds=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.selectedReasonIds=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":type.id}},[_vm._v(_vm._s(type.value))])])])}),0)]):_vm._e(),_c('step',{attrs:{\"title\":\"Notes\",\"disabled\":!_vm.reasonsCompleted,\"completed\":_vm.notesCompleted}},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"notes\"}},[_vm._v(\"Notes\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointment.notes),expression:\"appointment.notes\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('notes') },attrs:{\"name\":\"notes\",\"id\":\"notes\",\"data-vv-as\":\"notes\"},domProps:{\"value\":(_vm.appointment.notes)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.appointment, \"notes\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('notes')),expression:\"errors.has('notes')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('notes')))])])]),_c('step',{attrs:{\"title\":\"Confirmation\",\"disabled\":!_vm.notesCompleted}},[_c('div',{staticClass:\"form-group form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointment.sendConfirmationEmail),expression:\"appointment.sendConfirmationEmail\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"sendConfirmationEmail\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.appointment.sendConfirmationEmail)?_vm._i(_vm.appointment.sendConfirmationEmail,true)>-1:(_vm.appointment.sendConfirmationEmail)},on:{\"change\":function($event){var $$a=_vm.appointment.sendConfirmationEmail,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.appointment, \"sendConfirmationEmail\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.appointment, \"sendConfirmationEmail\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.appointment, \"sendConfirmationEmail\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"sendConfirmationEmail\"}},[_vm._v(\"Send Confirmation Email\")])]),_c('div',{staticClass:\"form-group form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointment.sendConfirmationLetter),expression:\"appointment.sendConfirmationLetter\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"sendConfirmationLetter\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.appointment.sendConfirmationLetter)?_vm._i(_vm.appointment.sendConfirmationLetter,true)>-1:(_vm.appointment.sendConfirmationLetter)},on:{\"change\":function($event){var $$a=_vm.appointment.sendConfirmationLetter,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.appointment, \"sendConfirmationLetter\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.appointment, \"sendConfirmationLetter\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.appointment, \"sendConfirmationLetter\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"sendConfirmationLetter\"}},[_vm._v(\"Send Confirmation Letter\")])]),_c('div',{staticClass:\"form-group form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointment.sendReminderSms),expression:\"appointment.sendReminderSms\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"sendReminderSms\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.appointment.sendReminderSms)?_vm._i(_vm.appointment.sendReminderSms,true)>-1:(_vm.appointment.sendReminderSms)},on:{\"change\":function($event){var $$a=_vm.appointment.sendReminderSms,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.appointment, \"sendReminderSms\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.appointment, \"sendReminderSms\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.appointment, \"sendReminderSms\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"sendReminderSms\"}},[_vm._v(\"Send Confirmation/Reminder SMS\")])])])],1),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),(_vm.currentStep > 0)?_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onPrevious}},[_vm._v(\"Previous\")]):_vm._e(),(_vm.currentStep < _vm.maxSteps)?_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onNext}},[_vm._v(\"Next\")]):_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onSave}},[_vm._v(\"Book Appointment\")])],1)],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('div',{staticClass:\"address-with-lookup\"},[(_vm.allowForeignAddress)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('b-form-checkbox',{attrs:{\"switch\":\"\",\"id\":\"is-foreign-address\"},model:{value:(_vm.address.isForeignAddress),callback:function ($$v) {_vm.$set(_vm.address, \"isForeignAddress\", $$v)},expression:\"address.isForeignAddress\"}},[_vm._v(\"Foreign Address\")])],1)]):_vm._e(),(_vm.address.isForeignAddress)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"foreign-address\"}},[_vm._v(\"Address\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.address.foreignAddress),expression:\"address.foreignAddress\"},{name:\"validate\",rawName:\"v-validate\",value:(_vm.required ? 'required' : ''),expression:\"required ? 'required' : ''\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('address-details.foreign-address') },attrs:{\"name\":\"foreign-address\",\"id\":\"foreign-address\",\"data-vv-scope\":\"address-details\",\"data-vv-as\":\"address\"},domProps:{\"value\":(_vm.address.foreignAddress)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.address, \"foreignAddress\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('address-details.foreign-address')),expression:\"errors.has('address-details.foreign-address')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('address-details.foreign-address')))])])])]):_c('div',[_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Looking for addresses, please wait...\")]),_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"search\"}},[_vm._v(\" \")]),_c('b-input-group',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.postcodeFilter),expression:\"postcodeFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"search\",\"placeholder\":\"Enter postcode\"},domProps:{\"value\":(_vm.postcodeFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onSearchAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.postcodeFilter=$event.target.value}}}),_c('b-input-group-append',[_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onSearchAsync}},[_vm._v(\"Search\")])],1)],1),(_vm.showSearchResults && _vm.addresses.length < 1)?_c('small',{staticClass:\"text-danger\"},[_vm._v(\"No addresses found for '\"+_vm._s(_vm.postcodeFilter)+\"'\")]):_vm._e()],1)],1),(_vm.showSearchResults && _vm.addresses.length > 0)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group col\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedAddress),expression:\"selectedAddress\"}],staticClass:\"form-control\",attrs:{\"id\":\"search-result\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedAddress=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.addresses),function(address,index){return _c('option',{key:index,domProps:{\"value\":address}},[_vm._v(_vm._s(_vm._f(\"singlelineaddress\")(address)))])})],2)])]):_vm._e(),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"address-line-1\"}},[_vm._v(\"Address Line 1\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.address.addressLine1),expression:\"address.addressLine1\"},{name:\"validate\",rawName:\"v-validate\",value:(_vm.required ? 'required' : ''),expression:\"required ? 'required' : ''\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('address-details.address-line-1') },attrs:{\"type\":\"text\",\"name\":\"address-line-1\",\"id\":\"address-line-1\",\"data-vv-scope\":\"address-details\",\"data-vv-as\":\"address line 1\"},domProps:{\"value\":(_vm.address.addressLine1)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.address, \"addressLine1\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('address-details.address-line-1')),expression:\"errors.has('address-details.address-line-1')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('address-details.address-line-1')))])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"address-line-2\"}},[_vm._v(\"Address Line 2\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.address.addressLine2),expression:\"address.addressLine2\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"address-line-2\"},domProps:{\"value\":(_vm.address.addressLine2)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.address, \"addressLine2\", $event.target.value)}}})])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"address-line-3\"}},[_vm._v(\"Address Line 3\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.address.addressLine3),expression:\"address.addressLine3\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"address-line-3\"},domProps:{\"value\":(_vm.address.addressLine3)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.address, \"addressLine3\", $event.target.value)}}})])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group\",class:[ _vm.compact ? 'col-4' : 'col-12' ]},[_c('label',{attrs:{\"for\":\"town\"}},[_vm._v(\"Town\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.address.town),expression:\"address.town\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"town\"},domProps:{\"value\":(_vm.address.town)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.address, \"town\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\",class:[ _vm.compact ? 'col-4' : 'col-12' ]},[_c('label',{attrs:{\"for\":\"county\"}},[_vm._v(\"County\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.address.county),expression:\"address.county\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"county\"},domProps:{\"value\":(_vm.address.county)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.address, \"county\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\",class:[ _vm.compact ? 'col-4' : 'col-12' ]},[_c('label',{attrs:{\"for\":\"postcode\"}},[_vm._v(\"Postcode\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.address.postcode),expression:\"address.postcode\"},{name:\"validate\",rawName:\"v-validate\",value:(_vm.required ? 'required' : ''),expression:\"required ? 'required' : ''\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('address-details.postcode') },attrs:{\"type\":\"text\",\"name\":\"postcode\",\"id\":\"postcode\",\"data-vv-scope\":\"address-details\",\"data-vv-as\":\"postcode\"},domProps:{\"value\":(_vm.address.postcode)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.address, \"postcode\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('address-details.postcode')),expression:\"errors.has('address-details.postcode')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('address-details.postcode')))])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Api } from '@/api/api';\nimport { Address } from '@/shared/address';\n\nexport class AddressLookupApi extends Api {\n public async getByPostcodeAsync(postcode: string): Promise> {\n return await this.getAsync>(`v1/address/${postcode}`);\n }\n\n public constructor() {\n super();\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { AddressLookupApi } from '@/api/address-lookup';\nimport loading from '@/components/loading.vue';\nimport { Address } from '@/shared/address';\nimport { ClientAccountAddress } from '@/shared/clients/client-account-address';\nimport { Validator } from 'vee-validate';\nimport { Component, Inject, Prop, Vue, Watch } from 'vue-property-decorator';\n\nconst addressLookupApi = new AddressLookupApi();\n\n@Component({\n components: {\n loading,\n },\n})\nexport default class AddressWithLookup extends Vue {\n @Inject('$validator') public $validator!: Validator;\n\n @Prop({ required: true }) private address!: ClientAccountAddress;\n @Prop({ required: false, default: false }) private allowForeignAddress!: boolean;\n @Prop({ required: false, default: true }) private required!: boolean;\n @Prop({ required: false, default: false }) private compact!: boolean;\n\n private isLoading: boolean = false;\n private showSearchResults: boolean = false;\n private postcodeFilter: string | null = null;\n private addresses: Array
= [];\n private selectedAddress: Address | null = null;\n\n @Watch('postcodeFilter')\n private onPostcodeFilterChanged(): void {\n this.showSearchResults = false;\n }\n\n @Watch('selectedAddress')\n private onSelectedAddressChanged(): void {\n if (this.selectedAddress == null) {\n return;\n }\n\n this.address.addressLine1 = this.selectedAddress.addressLine1;\n this.address.addressLine2 = this.selectedAddress.addressLine2;\n this.address.addressLine3 = this.selectedAddress.addressLine3;\n this.address.town = this.selectedAddress.town;\n this.address.county = this.selectedAddress.county;\n this.address.postcode = this.selectedAddress.postcode;\n }\n\n private async onSearchAsync(): Promise {\n if (this.postcodeFilter == null || !this.postcodeFilter.length) {\n return;\n }\n\n try {\n this.isLoading = true;\n\n this.addresses = await addressLookupApi.getByPostcodeAsync(this.postcodeFilter);\n this.showSearchResults = true;\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not find addresses for '${this.postcodeFilter}'.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./address-with-lookup.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./address-with-lookup.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./address-with-lookup.vue?vue&type=template&id=6a5bb86e&\"\nimport script from \"./address-with-lookup.vue?vue&type=script&lang=ts&\"\nexport * from \"./address-with-lookup.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 { AppointmentBooker } from '@/shared/appointments/appointment-booker';\nimport { AppointmentClient } from '@/shared/appointments/appointment-client';\nimport { AppointmentOutcome } from '@/shared/appointments/appointment-outcome';\nimport { AppointmentReason } from '@/shared/appointments/appointment-reason';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { LocationType } from '@/shared/location-type';\n\nexport interface Appointment {\n id?: string | null;\n originalAppointmentId?: string | null;\n interactionId?: string | null;\n appointmentTypeId: string | null;\n partnerPracticeId: string | null;\n partnerPracticeAddressId: string | null;\n legalAdvisorId: string | null;\n date: string | Date | null;\n locationType: LocationType | null;\n addressLine1: string | null;\n addressLine2: string | null;\n addressLine3: string | null;\n town: string | null;\n county: string | null;\n postcode: string | null;\n notes: string | null;\n sendConfirmationEmail: boolean;\n sendConfirmationLetter: boolean;\n sendReminderSms: boolean;\n booker?: AppointmentBooker;\n outcome: AppointmentOutcome | null;\n clients: Array;\n reasons: Array;\n isRebooked?: boolean;\n isSimpsonsSolicitors?: boolean;\n version?: number | null;\n createdDate?: string | Date | null;\n createdBy?: string | null;\n lastModifiedDate?: string | Date | null;\n lastModifiedBy?: string | null;\n\n}\n\nexport function createAppointmentBooking(client: ClientAccount): Appointment {\n return {\n clients: new Array(...[{ ...client }]),\n appointmentTypeId: null,\n partnerPracticeId: client.isAcquisition ? null : client.partnerPracticeId!,\n partnerPracticeAddressId: null,\n legalAdvisorId: null,\n date: null,\n locationType: null,\n addressLine1: null,\n addressLine2: null,\n addressLine3: null,\n town: null,\n county: null,\n postcode: null,\n notes: null,\n sendConfirmationEmail: false,\n sendConfirmationLetter: false,\n sendReminderSms: false,\n outcome: null,\n reasons: new Array(),\n };\n}\n","export interface ClientAccountAddress {\n id?: string | null;\n addressLine1: string | null;\n addressLine2: string | null;\n addressLine3: string | null;\n town: string | null;\n county: string | null;\n postcode: string | null;\n foreignAddress?: string | null;\n isForeignAddress?: boolean | false;\n}\n\nexport function createClientAccountAddress(): ClientAccountAddress {\n return {\n addressLine1: null,\n addressLine2: null,\n addressLine3: null,\n town: null,\n county: null,\n postcode: null,\n isForeignAddress: false,\n foreignAddress: null,\n };\n}\n","import { DateTime } from 'luxon';\n\nexport function formatDate(value: string | Date | null, dateOnly: boolean = false): Date | null {\n if (value == null) {\n return null;\n }\n\n const date = value instanceof Date\n ? DateTime.fromJSDate(value, { zone: 'UTC' })\n : DateTime.fromISO(value, { zone: 'UTC' });\n\n return dateOnly ? date.minus({ hours: date.hour, minutes: date.minute }).toJSDate() : date.toJSDate();\n}\n\nexport function formatDateAsString(value: string | Date | null, options: Intl.DateTimeFormatOptions): string | null {\n if (value == null) {\n return null;\n }\n\n return value instanceof Date\n ? DateTime.fromJSDate(value, { zone: 'UTC' }).toLocal().setLocale('en-gb').toLocaleString(options)\n : DateTime.fromISO(value, { zone: 'UTC' }).toLocal().setLocale('en-gb').toLocaleString(options);\n}\n\nexport function formatCurrentDate(dateOnly: boolean = false): Date {\n const date = DateTime.utc();\n return dateOnly ? date.minus({ hours: date.hour, minutes: date.minute }).toJSDate() : date.toJSDate();\n}\n\nexport function compareDate(dateA: string | Date | null, dateB: string | Date | null): boolean {\n if (dateA == null || dateB == null) {\n return false;\n }\n\n return formatDate(dateA, true)!.toISOString() === formatDate(dateB, true)!.toISOString();\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { AppointmentApi } from '@/api/appointments';\nimport { ClientAccountsApi } from '@/api/client-accounts';\nimport { CreateAppointmentRequest } from '@/api/requests/appointments/create-appointment-request';\nimport { UpdateAppointmentRequest } from '@/api/requests/appointments/update-appointment-request';\nimport addressWithLookup from '@/components/address-with-lookup.vue';\nimport loading from '@/components/loading.vue';\nimport { Appointment, createAppointmentBooking } from '@/shared/appointments/appointment';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientAccountAddress, createClientAccountAddress } from '@/shared/clients/client-account-address';\nimport { LocationType } from '@/shared/location-type';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { PartnerPracticeAddress } from '@/shared/partner-practice-address';\nimport { AppointmentReasonType } from '@/shared/types/appointment-reason-type';\nimport { AppointmentType } from '@/shared/types/appointment-type';\nimport { User } from '@/shared/user';\nimport { UserStatus } from '@/shared/user-status';\nimport { formatDate } from '@/shared/utilities/date-utilities';\nimport { DateTime } from 'luxon';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\nconst userModule = namespace('user');\nconst usersModule = namespace('users');\n\nconst appointmentApi = new AppointmentApi();\nconst clientApi = new ClientAccountsApi();\n\n@Component({\n components: {\n addressWithLookup,\n loading,\n },\n})\nexport default class BookAppointmentDialog extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n @partnerPracticesModule.Getter('partnerPracticeName') private partnerPracticeName!: (partnerPracticeId: string | null) => string;\n @partnerPracticesModule.Getter('partnerPracticeAddresses') private addresses!: (partnerPracticeId: string | null) => Array;\n\n @typesModule.Getter('activeAppointmentTypes') private appointmentTypes!: Array;\n @typesModule.Getter('appointmentReasonTypes') private appointmentReasonTypes!: Array;\n\n @userModule.Getter('user') private currentUser!: User;\n @userModule.Getter('isInternalKeyStakeholder') private isInternalKeyStakeholder!: boolean;\n\n @usersModule.Getter('rightLegalGroupUsers') private rightLegalGroupUsers!: (status: UserStatus) => Array;\n @usersModule.Getter('activePartnerPracticeUsers') private partnerPracticeUsers!: (partnerPracticeId: string) => Array;\n @usersModule.Getter('activeLegalAdvisors') private legalAdvisors!: (partnerPracticeId: string) => Array;\n\n @Prop({ required: true }) private visible!: boolean;\n @Prop({ required: true }) private client!: ClientAccount;\n @Prop({ required: false, default: null }) private originalAppointment!: Appointment;\n @Prop({ required: false, default: false }) private isRebook!: boolean;\n @Prop({ required: false, default: false }) private isEdit!: boolean;\n @Prop({ required: false, default: false }) private isSigning!: boolean;\n @Prop({ required: false, default: null }) private interactionId!: string | null;\n @Prop({ required: false, default: null }) private clientId!: string | null;\n @Prop({ required: false, default: null }) private appointmentDate!: string | Date | null;\n\n private isVisible: boolean = this.visible;\n private isLoading: boolean = true;\n private isSaving: boolean = false;\n private detailsCompleted: boolean = false;\n private locationCompleted: boolean = false;\n private reasonsCompleted: boolean = false;\n private notesCompleted: boolean = false;\n private currentStep: number = 0;\n private appointment: Appointment = this.originalAppointment == null ? createAppointmentBooking({ ...this.client }) : { ...this.originalAppointment };\n private selectedBookerId: string | null = null;\n private selectedClientId: string = this.clientId != null\n ? this.clientId\n : this.originalAppointment != null && this.originalAppointment.clients.length > 1\n ? 'both'\n : this.client!.id!;\n private selectedClient: ClientAccount = { ...this.client };\n private selectedReasonIds: Array = new Array();\n private useClientAddress: boolean = true;\n private alternativeClientAddress: ClientAccountAddress = createClientAccountAddress();\n private selectedDate: string | Date | null = null;\n private selectedHour: number | null = null;\n private selectedMinute: number | null = null;\n private selectedMeridian: string = 'AM';\n private useTwentyFourHours: boolean = false;\n private assignPartnerConfirmed: boolean = false;\n\n private get title(): string {\n if (this.isRebook) {\n return 'Re-book Appointment';\n }\n\n if (this.isEdit) {\n return 'Edit Appointment';\n }\n\n return 'Book Appointment';\n }\n\n private get showLocationStep(): boolean {\n if (this.appointment.appointmentTypeId == null) {\n return false;\n }\n\n const appointmentType = this.appointmentTypes.find((type) => type.id === this.appointment.appointmentTypeId);\n return appointmentType == null ? false : appointmentType.isLocationRequired;\n }\n\n private get showReasonsStep(): boolean {\n if (this.appointment.appointmentTypeId == null) {\n return false;\n }\n\n const appointmentType = this.appointmentTypes.find((type) => type.id === this.appointment.appointmentTypeId);\n return appointmentType == null ? false : appointmentType.isInitialAppointment;\n }\n\n private get maxSteps(): number {\n let steps: number = 2;\n\n if (this.showLocationStep) {\n steps++;\n }\n\n if (this.showReasonsStep) {\n steps++;\n }\n\n return steps;\n }\n\n private get canEditClient(): boolean {\n return this.isEdit ? this.appointment != null && this.appointment.outcome == null : true;\n }\n\n private get canEditAppointmentType(): boolean {\n return this.isEdit ? this.appointment != null && this.appointment.outcome == null : !this.isSigning;\n }\n\n private get canEditPartnerPractice(): boolean {\n if (this.partnerPractices.length === 1) { return false; }\n\n return this.isEdit ? this.appointment != null && this.appointment.outcome == null : true;\n }\n\n private get canEditAppointmentDate(): boolean {\n return this.isEdit ? this.isInternalKeyStakeholder : true;\n }\n\n private get hours(): Array<{ value: number, description: string }> {\n const result: Array<{ value: number, description: string }> = [];\n\n for (let i = 0; i < (this.useTwentyFourHours ? 24 : 12); i++) {\n let value: number = i;\n let description: string = value.toString();\n\n if (!this.useTwentyFourHours) {\n value = i + 1;\n description = value.toString();\n\n if (this.selectedMeridian === 'AM') {\n if (value === 12) {\n value = 0;\n }\n } else {\n if (value !== 12) {\n value += 12;\n }\n }\n }\n\n result.push({ value, description: description.padStart(2, '0') });\n }\n\n return result;\n }\n\n private get minutes(): Array<{ value: number, description: string }> {\n return [\n { value: 0, description: '00' },\n { value: 15, description: '15' },\n { value: 30, description: '30' },\n { value: 45, description: '45' },\n ];\n }\n\n private get bookers(): Array {\n const users = [...this.rightLegalGroupUsers(UserStatus.Active)];\n\n if (this.client.partnerPracticeId != null && this.client.partnerPracticeId !== '00000000-0000-0000-0000-000000000000') {\n for (const user of this.partnerPracticeUsers(this.client.partnerPracticeId!)) {\n users.push({ ...user });\n }\n }\n\n return users.sort((a, b) => {\n const aFullName = `${a.firstName.trim()} ${a.lastName.trim()}`.trim();\n const bFullName = `${b.firstName.trim()} ${b.lastName.trim()}`.trim();\n\n if (aFullName > bFullName) { return 1; }\n if (aFullName < bFullName) { return -1; }\n return 0;\n });\n }\n\n private get partnerPracticesForAcquisition(): Array {\n return this.partnerPractices.filter((pp) => pp.originalSourceTypes.some((id) => id === this.client.originalSourceId));\n }\n\n private get locationTypes(): Array<{ id: number, value: string }> {\n return [\n { id: LocationType.Office, value: 'Office' },\n { id: LocationType.Home, value: 'Home' },\n { id: LocationType.Telephone, value: 'Telephone' },\n { id: LocationType.Video, value: 'Video' },\n ];\n }\n\n private get reasonTypes(): Array {\n if (this.appointmentReasonTypes == null || !this.appointmentReasonTypes.length) {\n return [];\n }\n\n return this.appointmentReasonTypes.filter((type) => !type.isArchived || this.selectedReasonIds.some((id) => id === type.id));\n }\n\n private get formatClientAndPartnerNames(): string {\n const clientFirstName = this.client.firstName != null ? this.client.firstName.trim() : '';\n const clientLastName = this.client.lastName != null ? this.client.lastName.trim() : '';\n\n if (this.client.partner == null) {\n return `${clientFirstName} ${clientLastName}`.trim();\n }\n\n const partnerFirstName = this.client.partner.firstName != null ? this.client.partner.firstName.trim() : '';\n const partnerLastName = this.client.partner.lastName != null ? this.client.partner.lastName.trim() : '';\n\n if (clientLastName.toLowerCase() === partnerLastName.toLowerCase()) {\n return `${clientFirstName} and ${partnerFirstName} ${clientLastName}`.trim();\n }\n\n return `${clientFirstName} ${clientLastName} and ${partnerFirstName} ${partnerLastName}`.trim();\n }\n\n private get clientDescription(): string {\n if (!this.appointment.clients.length) {\n return '';\n }\n\n const clientFirstName = this.appointment.clients[0].firstName != null ? this.appointment.clients[0].firstName.trim() : '';\n const clientLastName = this.appointment.clients[0].lastName != null ? this.appointment.clients[0].lastName.trim() : '';\n\n if (this.appointment.clients.length < 2) {\n return `${clientFirstName} ${clientLastName}`.trim();\n }\n\n const partnerFirstName = this.appointment.clients[1].firstName != null ? this.appointment.clients[1].firstName.trim() : '';\n const partnerLastName = this.appointment.clients[1].lastName != null ? this.appointment.clients[1].lastName.trim() : '';\n\n if (clientLastName.toLowerCase() === partnerLastName.toLowerCase()) {\n return `${clientFirstName} and ${partnerFirstName} ${clientLastName}`.trim();\n }\n\n return `${clientFirstName} ${clientLastName} and ${partnerFirstName} ${partnerLastName}`.trim();\n }\n\n private get appointmentTypeDescription(): string {\n if (this.appointment.appointmentTypeId == null) {\n return '';\n }\n\n const appointmentType = this.appointmentTypes.find((type) => type.id === this.appointment.appointmentTypeId);\n return appointmentType == null ? '' : appointmentType.value;\n }\n\n private get invalidClientAddress(): boolean {\n return this.client!.addressLine1 == null\n || this.client!.addressLine1.toUpperCase() === 'UNKNOWN'\n || this.client!.postcode == null\n || this.client!.postcode.toUpperCase() === 'UNKNOWN';\n }\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.$validator.errors.clear();\n this.isVisible = visible;\n }\n\n @Watch('selectedClientId')\n private async onSelectedClientIdChanged(): Promise {\n if (this.selectedClientId === 'both' || this.selectedClientId === this.client.id!) {\n this.selectedClient = { ...this.client };\n } else {\n this.selectedClient = await clientApi.getClientAccountByIdAsync(this.selectedClientId);\n }\n }\n\n @Watch('appointment.partnerPracticeId')\n private async onAppointmentPartnerPracticeIdChanged(): Promise {\n this.appointment.legalAdvisorId = null;\n this.appointment.locationType = null;\n }\n\n @Watch('useTwentyFourHours')\n private onUseTwentyFourHoursChanged(): void {\n if (this.selectedHour == null) {\n return;\n }\n\n this.selectedMeridian = this.selectedHour >= 12 ? 'PM' : 'AM';\n }\n\n @Watch('appointment.locationType')\n private onLocationTypeChanged(locationType: LocationType): void {\n if (locationType !== LocationType.Office) {\n this.appointment.partnerPracticeAddressId = null;\n }\n\n if (locationType === LocationType.Home && this.invalidClientAddress) {\n this.useClientAddress = false;\n }\n }\n\n private async onSave(): Promise {\n const isValid = await this.$validator.validateAll();\n\n if (!isValid) {\n return;\n }\n\n this.isSaving = true;\n\n try {\n const clients: Array = new Array();\n\n if (this.selectedClientId === 'both') {\n clients.push(this.client.id!);\n clients.push(this.client.partner!.id!);\n } else {\n clients.push(this.selectedClientId!);\n }\n\n this.appointment.date = DateTime.fromJSDate(new Date(this.selectedDate!))\n .set({ hour: this.selectedHour!, minute: this.selectedMinute! })\n .toUTC()\n .toJSDate();\n\n if (this.appointment.locationType === LocationType.Home) {\n this.appointment.addressLine1 = this.useClientAddress ? this.client.addressLine1 : this.alternativeClientAddress!.addressLine1;\n this.appointment.addressLine2 = this.useClientAddress ? this.client.addressLine2 : this.alternativeClientAddress!.addressLine2;\n this.appointment.addressLine3 = this.useClientAddress ? this.client.addressLine3 : this.alternativeClientAddress!.addressLine3;\n this.appointment.town = this.useClientAddress ? this.client.town : this.alternativeClientAddress!.town;\n this.appointment.county = this.useClientAddress ? this.client.county : this.alternativeClientAddress!.county;\n this.appointment.postcode = this.useClientAddress ? this.client.postcode : this.alternativeClientAddress!.postcode;\n } else {\n this.appointment.addressLine1 = null;\n this.appointment.addressLine2 = null;\n this.appointment.addressLine3 = null;\n this.appointment.town = null;\n this.appointment.county = null;\n this.appointment.postcode = null;\n }\n\n const appointmentType = this.appointmentTypes.find((type) => type.id === this.appointment.appointmentTypeId);\n\n if (this.isEdit) {\n const updateRequest: UpdateAppointmentRequest = {\n ...this.appointment,\n clients,\n appointmentTypeId: this.appointment.appointmentTypeId!,\n partnerPracticeId: this.appointment.partnerPracticeId!,\n legalAdvisorId: this.appointment.legalAdvisorId!,\n bookerId: this.selectedBookerId != null ? this.selectedBookerId : this.currentUser.id!,\n date: this.appointment.date!,\n locationType: this.appointment.locationType!,\n reasons: appointmentType!.isInitialAppointment ? this.selectedReasonIds : [],\n version: this.appointment.version!,\n };\n\n await appointmentApi.updateAppointmentAsync(this.appointment.id!, updateRequest);\n\n this.$emit('ok', { ...updateRequest });\n } else {\n const createRequest: CreateAppointmentRequest = {\n ...this.appointment,\n clients,\n appointmentTypeId: this.appointment.appointmentTypeId!,\n partnerPracticeId: this.appointment.partnerPracticeId!,\n legalAdvisorId: this.appointment.legalAdvisorId!,\n bookerId: this.selectedBookerId != null ? this.selectedBookerId : this.currentUser.id!,\n interactionId: this.interactionId,\n date: this.appointment.date!,\n locationType: this.appointment.locationType!,\n reasons: appointmentType!.isInitialAppointment ? this.selectedReasonIds : [],\n };\n\n if (this.isRebook) {\n await appointmentApi.reBookAppointmentAsync(this.originalAppointment.id!, createRequest);\n } else {\n await appointmentApi.createAppointmentAsync(createRequest);\n }\n\n this.$emit('ok', { ...createRequest });\n }\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not book appointment, please try again.', type: 'is-danger' });\n }\n }\n\n this.isSaving = false;\n }\n\n private async onNext(): Promise {\n let currentStep = this.currentStep;\n\n if (this.currentStep > 0 && !this.showLocationStep) {\n currentStep++;\n }\n\n if (this.currentStep > 1 && !this.showReasonsStep) {\n currentStep++;\n }\n\n const isValid = await this.$validator.validateAll();\n\n if (!isValid) {\n return;\n }\n\n switch (currentStep) {\n case 0: // Details\n if (this.client.isAcquisition && this.client.partnerPracticeId !== this.appointment.partnerPracticeId && this.client.partner != null && this.selectedClientId !== 'both' && !this.assignPartnerConfirmed) {\n await this.$confirm.open({\n message: `The client you are booking an appointment for has a partner, if you continue the partner will also be assigned to ${this.partnerPracticeName(this.appointment.partnerPracticeId!)}.`,\n showCancel: true,\n okText: 'Continue',\n cancelText: 'Cancel',\n onOk: () => {\n this.assignPartnerConfirmed = true;\n this.onNext();\n },\n onCancel: () => {\n this.assignPartnerConfirmed = false;\n return;\n },\n });\n }\n\n this.assignPartnerConfirmed = false;\n\n this.detailsCompleted = true;\n\n if (!this.showLocationStep) {\n this.locationCompleted = true;\n }\n\n if (!this.showReasonsStep) {\n this.reasonsCompleted = true;\n }\n\n break;\n\n case 1: // Location\n if (this.appointment.locationType === LocationType.Home && !this.useClientAddress) {\n const addressIsValid = await (this.$refs.address as Vue).$validator.validateAll('address-details');\n\n if (!addressIsValid) {\n return;\n }\n }\n\n this.locationCompleted = true;\n\n break;\n\n case 2: // Reasons\n this.reasonsCompleted = true;\n break;\n\n case 3: // Notes\n this.notesCompleted = true;\n break;\n }\n\n setTimeout(() => {\n this.currentStep++;\n }, 0);\n }\n\n private onPrevious(): void {\n this.currentStep--;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n\n private onMeridianChanged(value: string | null): void {\n if (this.selectedHour == null) {\n return;\n }\n\n if (value === 'AM') {\n this.selectedHour = this.selectedHour === 12 ? 0 : this.selectedHour - 12;\n } else {\n this.selectedHour = this.selectedHour === 0 ? 12 : this.selectedHour + 12;\n }\n }\n\n private populateExistingAddress(): void {\n if (this.appointment.locationType !== LocationType.Home) {\n return;\n }\n\n if (this.appointment.addressLine1 === this.client.addressLine1 &&\n this.appointment.addressLine2 === this.client.addressLine2 &&\n this.appointment.addressLine3 === this.client.addressLine3 &&\n this.appointment.town === this.client.town &&\n this.appointment.county === this.client.county &&\n this.appointment.postcode === this.client.postcode) {\n this.useClientAddress = true;\n return;\n }\n\n this.useClientAddress = false;\n this.alternativeClientAddress.addressLine1 = this.appointment.addressLine1;\n this.alternativeClientAddress.addressLine2 = this.appointment.addressLine2;\n this.alternativeClientAddress.addressLine3 = this.appointment.addressLine3;\n this.alternativeClientAddress.town = this.appointment.town;\n this.alternativeClientAddress.county = this.appointment.county;\n this.alternativeClientAddress.postcode = this.appointment.postcode;\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`users/loadAllUsersAsync`),\n ]);\n\n if (this.client.isAcquisition && this.partnerPractices.length === 1) {\n this.appointment.partnerPracticeId = this.partnerPractices[0].id!;\n }\n\n if (this.originalAppointment == null) {\n this.selectedBookerId = this.isInternalKeyStakeholder ? null : this.currentUser.id!;\n } else {\n this.selectedBookerId = this.originalAppointment.booker!.id!;\n\n if (this.isRebook && !this.bookers.some((user) => user.id! === this.originalAppointment.booker!.id!)) {\n this.selectedBookerId = this.isInternalKeyStakeholder ? null : this.currentUser.id!;\n }\n }\n\n if (this.isSigning) {\n this.appointment.appointmentTypeId = this.appointmentTypes.find((type) => type.isSigningAppointment)!.id!;\n }\n\n if (this.appointmentDate != null) {\n this.selectedDate = formatDate(this.appointmentDate);\n } else if (this.originalAppointment != null && this.originalAppointment.date != null) {\n const appointmentDate = formatDate(this.originalAppointment.date);\n\n this.selectedDate = appointmentDate;\n this.selectedMeridian = appointmentDate!.getHours() >= 12 ? 'PM' : 'AM';\n this.selectedHour = appointmentDate!.getHours();\n this.selectedMinute = appointmentDate!.getMinutes();\n }\n\n if (this.originalAppointment != null) {\n this.populateExistingAddress();\n }\n\n if (this.appointment.reasons != null && this.appointment.reasons.length) {\n this.selectedReasonIds = this.appointment.reasons.map((reason) => reason.reasonTypeId!);\n }\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./book-appointment-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./book-appointment-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./book-appointment-dialog.vue?vue&type=template&id=355e0cd6&\"\nimport script from \"./book-appointment-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./book-appointment-dialog.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('b-modal',{attrs:{\"centered\":\"\",\"body-class\":\"modal-stepper\",\"title\":\"Complete Appointment\",\"size\":_vm.size,\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading appointment details, please wait...\")]),_c('stepper',{model:{value:(_vm.currentStep),callback:function ($$v) {_vm.currentStep=$$v},expression:\"currentStep\"}},[_c('step',{attrs:{\"title\":\"Outcome\",\"completed\":_vm.appointmentOutcomeTypeCompleted}},[_c('appointment-outcome-type-select',{ref:\"outcomeType\",attrs:{\"appointment-outcome\":_vm.appointmentOutcome}})],1),(_vm.showProducts)?_c('step',{attrs:{\"title\":\"Instructed Products\",\"disabled\":!_vm.appointmentOutcomeTypeCompleted,\"completed\":_vm.instructedProductsCompleted}},[_c('appointment-outcome-instructed-products',{ref:\"instructedProducts\",attrs:{\"products\":_vm.appointmentProducts,\"appointment\":_vm.appointment}})],1):_vm._e(),(_vm.showProducts)?_c('step',{attrs:{\"title\":\"Not Instructed Products\",\"disabled\":!_vm.instructedProductsCompleted,\"completed\":_vm.notInstructedProductsCompleted}},[_c('appointment-outcome-not-instructed-products',{ref:\"notInstructedProducts\",attrs:{\"products\":_vm.appointmentProducts,\"appointment\":_vm.appointment,\"appointment-outcome\":_vm.appointmentOutcome}})],1):_vm._e(),_c('step',{attrs:{\"title\":\"Details\",\"disabled\":!_vm.notInstructedProductsCompleted,\"completed\":_vm.detailsCompleted}},[_c('appointment-outcome-details',{ref:\"outcomeDetails\",attrs:{\"appointment\":_vm.appointment,\"appointment-outcome\":_vm.appointmentOutcome}})],1),(_vm.showProducts)?_c('step',{attrs:{\"title\":\"Instruction & Payment\",\"disabled\":!_vm.detailsCompleted,\"completed\":_vm.productDetailsCompleted}},[_c('div',{attrs:{\"role\":\"tablist\"}},_vm._l((_vm.productsToInstruct),function(product,productIndex){return _c('b-card',{key:productIndex,class:{ 'border-danger': product.errors },attrs:{\"no-body\":\"\"}},[_c('b-card-header',{class:{ 'border-danger': product.errors },attrs:{\"role\":\"tab\"}},[_c('button',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:((\"accordion-\" + productIndex)),expression:\"`accordion-${productIndex}`\"}],staticClass:\"btn btn-block p-0\"},[_c('div',{staticClass:\"row justify-content-between\"},[_c('div',{staticClass:\"col-auto\"},[_vm._v(\"\\n \"+_vm._s(_vm.appointmentProductTypeDescription(product))+\"\\n \"),_c('b-badge',{staticClass:\"mx-1\",attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm.appointmentInstructionTypeDescription(product)))])],1),(product.errors)?_c('div',{staticClass:\"col-auto\"},[_c('span',{staticClass:\"text-danger\"},[_c('svg',{staticClass:\"feather feather-alert-circle\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('circle',{attrs:{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"12\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"16\",\"x2\":\"12.01\",\"y2\":\"16\"}})])])]):_vm._e()])])]),_c('b-collapse',{attrs:{\"visible\":\"\",\"accordion\":\"product-accordion\",\"id\":(\"accordion-\" + productIndex),\"role\":\"tabpanel\"}},[_c('b-card-body',[_c('appointment-product-details',{ref:\"productsToInstruct\",refInFor:true,attrs:{\"product\":product,\"appointment\":_vm.appointment},on:{\"product-changed\":_vm.onProductChanged}})],1)],1)],1)}),1)]):_vm._e(),(_vm.showProducts)?_c('step',{attrs:{\"title\":\"Notes\",\"disabled\":!_vm.productDetailsCompleted}},[_c('appointment-outcome-notes',{ref:\"outcomeNotes\",attrs:{\"appointment-outcome\":_vm.appointmentOutcome}})],1):_vm._e()],1),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),(_vm.currentStep > 0)?_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onPrevious}},[_vm._v(\"Previous\")]):_vm._e(),(_vm.currentStep < _vm.maxSteps)?_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onNextAsync}},[_vm._v(\"Next\")]):_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onSaveAsync}},[_vm._v(\"Complete Appointment\")])],1),(_vm.appointmentClient != null && _vm.showBookAppointmentDialog)?_c('book-appointment-dialog',{attrs:{\"visible\":_vm.showBookAppointmentDialog,\"client\":_vm.appointmentClient,\"is-signing\":true,\"appointment-date\":_vm.signingDate},on:{\"ok\":_vm.onAppointmentBooked,\"cancel\":_vm.onAppointmentCancel}}):_vm._e()],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('div',{staticClass:\"appointment-outcome-details\"},[(_vm.outcomeIsCancelled)?_c('div',[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"cancellation-type\"}},[_vm._v(\"Reason for Cancellation\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcome.cancellationTypeId),expression:\"appointmentOutcome.cancellationTypeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('outcome-details.cancellation-type') },attrs:{\"name\":\"cancellation-type\",\"id\":\"cancellation-type\",\"data-vv-scope\":\"outcome-details\",\"data-vv-as\":\"reason for cancellation\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.appointmentOutcome, \"cancellationTypeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.appointmentCancellationTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('outcome-details.cancellation-type')),expression:\"errors.has('outcome-details.cancellation-type')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('outcome-details.cancellation-type')))])]),(_vm.appointmentIsInitial)?_c('div',{staticClass:\"form-group form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.scheduleCallback),expression:\"scheduleCallback\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"schedule-callback\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.scheduleCallback)?_vm._i(_vm.scheduleCallback,true)>-1:(_vm.scheduleCallback)},on:{\"change\":function($event){var $$a=_vm.scheduleCallback,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.scheduleCallback=$$a.concat([$$v]))}else{$$i>-1&&(_vm.scheduleCallback=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.scheduleCallback=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"schedule-callback\"}},[_vm._v(\"Schedule Callback?\")])]):_vm._e(),(_vm.scheduleCallback)?_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"callback-date\"}},[_vm._v(\"Callback Date\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('outcome-details.callback-date') },attrs:{\"name\":\"callback-date\",\"id\":\"callback-date\",\"data-vv-scope\":\"outcome-details\",\"data-vv-as\":\"callback date\"},model:{value:(_vm.callbackDate),callback:function ($$v) {_vm.callbackDate=$$v},expression:\"callbackDate\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('outcome-details.callback-date')),expression:\"errors.has('outcome-details.callback-date')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('outcome-details.callback-date')))])],1),_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"callback-hour\"}},[_vm._v(\"Callback Time\")]),_c('div',{staticClass:\"form-inline\"},[_c('div',{staticClass:\"form-group\",class:{ 'is-invalid': _vm.errors.has('outcome-details.callback-hour') || _vm.errors.has('outcome-details.callback-minute') }},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.callbackHour),expression:\"callbackHour\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('outcome-details.callback-hour') },attrs:{\"placeholder\":\"HH\",\"name\":\"callback-hour\",\"id\":\"callback-hour\",\"data-vv-scope\":\"outcome-details\",\"data-vv-as\":\"callback hour\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.callbackHour=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.hours),function(hour){return _c('option',{key:hour.value,domProps:{\"value\":hour.value}},[_vm._v(_vm._s(hour.label))])}),0),_c('span',[_vm._v(\" : \")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.callbackMinute),expression:\"callbackMinute\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('outcome-details.callback-minute') },attrs:{\"placeholder\":\"mm\",\"name\":\"callback-minute\",\"id\":\"callback-minute\",\"data-vv-scope\":\"outcome-details\",\"data-vv-as\":\"callback minute\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.callbackMinute=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.minutes),function(minute){return _c('option',{key:minute.value,domProps:{\"value\":minute.value}},[_vm._v(_vm._s(minute.label))])}),0),_c('span',[_vm._v(\" \")]),(!_vm.useTwentyFourHours)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.callbackMeridian),expression:\"callbackMeridian\"}],staticClass:\"form-control\",on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.callbackMeridian=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},function($event){return _vm.onCallbackMeridianChanged($event.target.value)}]}},[_c('option',{attrs:{\"value\":\"AM\"}},[_vm._v(\"AM\")]),_c('option',{attrs:{\"value\":\"PM\"}},[_vm._v(\"PM\")])]):_vm._e(),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('outcome-details.callback-hour')),expression:\"errors.has('outcome-details.callback-hour')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('outcome-details.callback-hour')))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('outcome-details.callback-minute')),expression:\"errors.has('outcome-details.callback-minute')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('outcome-details.callback-minute')))])])]),_c('div',{staticClass:\"form-group form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.useTwentyFourHours),expression:\"useTwentyFourHours\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"use-twenty-four-hours\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.useTwentyFourHours)?_vm._i(_vm.useTwentyFourHours,true)>-1:(_vm.useTwentyFourHours)},on:{\"change\":function($event){var $$a=_vm.useTwentyFourHours,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.useTwentyFourHours=$$a.concat([$$v]))}else{$$i>-1&&(_vm.useTwentyFourHours=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.useTwentyFourHours=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"use-twenty-four-hours\"}},[_vm._v(\"Show 24-Hour Format\")])])])]):_vm._e()]):_vm._e(),(_vm.outcomeIsNotSat || _vm.outcomeIsCancelled || (_vm.outcomeIsSat && !_vm.appointmentIsInitial))?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"notes\"}},[_vm._v(\"Notes\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcome.notes),expression:\"appointmentOutcome.notes\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('outcome-details.notes') },attrs:{\"name\":\"notes\",\"id\":\"notes\",\"data-vv-scope\":\"outcome-details\",\"data-vv-as\":\"notes\"},domProps:{\"value\":(_vm.appointmentOutcome.notes)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.appointmentOutcome, \"notes\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('outcome-details.notes')),expression:\"errors.has('outcome-details.notes')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('outcome-details.notes')))])]):_vm._e(),(_vm.outcomeIsSat && _vm.appointmentIsInitial)?_c('div',[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"estimated-estate-value\"}},[_vm._v(\"Estimated Estate Value\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}],null,false,4272410090)},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcome.estimatedEstateValue),expression:\"appointmentOutcome.estimatedEstateValue\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal:2'),expression:\"'required|decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('outcome-details.estimated-estate-value') },attrs:{\"type\":\"text\",\"name\":\"estimated-estate-value\",\"id\":\"estimated-estate-value\",\"data-vv-scope\":\"outcome-details\",\"data-vv-as\":\"estimated estate value\"},domProps:{\"value\":(_vm.appointmentOutcome.estimatedEstateValue)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.appointmentOutcome, \"estimatedEstateValue\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('outcome-details.estimated-estate-value')),expression:\"errors.has('outcome-details.estimated-estate-value')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('outcome-details.estimated-estate-value')))])])],1),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"professional-executor\"}},[_vm._v(\"Professional Executor\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcome.executorTypeId),expression:\"appointmentOutcome.executorTypeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('outcome-details.professional-executor') },attrs:{\"name\":\"professional-executor\",\"id\":\"professional-executor\",\"data-vv-scope\":\"outcome-details\",\"data-vv-as\":\"professional executor\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.appointmentOutcome, \"executorTypeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.appointmentExecutorTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('outcome-details.professional-executor')),expression:\"errors.has('outcome-details.professional-executor')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('outcome-details.professional-executor')))])])]):_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\nimport { Appointment } from '@/shared/appointments/appointment';\nimport { AppointmentOutcome } from '@/shared/appointments/appointment-outcome';\nimport { AppointmentCancellationType } from '@/shared/types/appointment-cancellation-type';\nimport { AppointmentExecutorType } from '@/shared/types/appointment-executor-type';\nimport { AppointmentOutcomeType } from '@/shared/types/appointment-outcome-type';\nimport { AppointmentType } from '@/shared/types/appointment-type';\nimport { formatDate } from '@/shared/utilities/date-utilities';\nimport { DateTime } from 'luxon';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\n\n@Component\nexport default class AppointmentOutcomeDetails extends Vue {\n @typesModule.Getter('activeAppointmentTypes') private appointmentTypes!: Array;\n @typesModule.Getter('activeAppointmentOutcomeTypes') private appointmentOutcomeTypes!: Array;\n @typesModule.Getter('activeAppointmentCancellationTypes') private appointmentCancellationTypes!: Array;\n @typesModule.Getter('activeAppointmentExecutorTypes') private appointmentExecutorTypes!: Array;\n\n @Prop({ required: true }) private appointment!: Appointment;\n @Prop({ required: true }) private appointmentOutcome!: AppointmentOutcome;\n @Prop({ required: false, default: false }) private isEdit!: boolean;\n\n private scheduleCallback: boolean = this.appointmentOutcome.callbackDate != null;\n private callbackDate: string | Date | null = this.appointmentOutcome.callbackDate != null ? formatDate(this.appointmentOutcome.callbackDate) : null;\n private callbackHour: number | null = this.appointmentOutcome.callbackDate != null ? formatDate(this.appointmentOutcome.callbackDate)!.getHours() : null;\n private callbackMinute: number | null = this.appointmentOutcome.callbackDate != null ? formatDate(this.appointmentOutcome.callbackDate)!.getMinutes() : null;\n private callbackMeridian: string = this.appointmentOutcome.callbackDate != null ? (formatDate(this.appointmentOutcome.callbackDate)!.getHours() >= 12 ? 'PM' : 'AM') : 'AM';\n private useTwentyFourHours: boolean = false;\n\n private get appointmentIsInitial(): boolean {\n if (this.appointment.appointmentTypeId == null) {\n return false;\n }\n\n const appointmentType = this.appointmentTypes.find((type) => type.id === this.appointment.appointmentTypeId);\n return appointmentType == null ? false : appointmentType.isInitialAppointment;\n }\n\n private get outcomeIsSat(): boolean {\n if (this.appointmentOutcome.outcomeTypeId == null) {\n return false;\n }\n\n const appointmentOutcomeType = this.appointmentOutcomeTypes.find((type) => type.id === this.appointmentOutcome.outcomeTypeId);\n return appointmentOutcomeType == null ? false : appointmentOutcomeType.isSat;\n }\n\n private get outcomeIsNotSat(): boolean {\n if (this.appointmentOutcome.outcomeTypeId == null) {\n return false;\n }\n\n const appointmentOutcomeType = this.appointmentOutcomeTypes.find((type) => type.id === this.appointmentOutcome.outcomeTypeId);\n return appointmentOutcomeType == null ? false : appointmentOutcomeType.isNotSat;\n }\n\n private get outcomeIsCancelled(): boolean {\n if (this.appointmentOutcome.outcomeTypeId == null) {\n return false;\n }\n\n const appointmentOutcomeType = this.appointmentOutcomeTypes.find((type) => type.id === this.appointmentOutcome.outcomeTypeId);\n return appointmentOutcomeType == null ? false : appointmentOutcomeType.isCancelled;\n }\n\n private get hours(): Array<{ value: number, label: string }> {\n const result: Array<{ value: number, label: string }> = [];\n\n for (let i = 0; i < (this.useTwentyFourHours ? 24 : 12); i++) {\n let value: number = i;\n let label: string = value.toString();\n\n if (!this.useTwentyFourHours) {\n value = i + 1;\n label = value.toString();\n\n if (this.callbackMeridian === 'AM') {\n if (value === 12) {\n value = 0;\n }\n } else {\n if (value !== 12) {\n value += 12;\n }\n }\n }\n\n result.push({ value, label: label.padStart(2, '0') });\n }\n\n return result;\n }\n\n private get minutes(): Array<{ value: number, label: string }> {\n return [\n { value: 0, label: '00' },\n { value: 15, label: '15' },\n { value: 30, label: '30' },\n { value: 45, label: '45' },\n ];\n }\n\n @Watch('scheduleCallback')\n private onScheduleCallbackChanged(): void {\n this.setCallbackDate();\n }\n\n @Watch('callbackDate')\n private onCallbackDateChanged(): void {\n this.setCallbackDate();\n }\n\n @Watch('callbackHour')\n private onCallbackHourChanged(): void {\n this.setCallbackDate();\n }\n\n @Watch('callbackMinute')\n private onCallbackMinuteChanged(): void {\n this.setCallbackDate();\n }\n\n private setCallbackDate(): void {\n if (!this.scheduleCallback || this.callbackDate == null) {\n this.appointmentOutcome.callbackDate = null;\n return;\n }\n\n this.appointmentOutcome.callbackDate = (this.callbackDate instanceof Date ? DateTime.fromJSDate(this.callbackDate) : DateTime.fromISO(this.callbackDate))\n .set({\n hour: this.callbackHour == null ? 0 : this.callbackHour,\n minute: this.callbackMinute == null ? 0 : this.callbackMinute,\n })\n .toJSDate();\n }\n\n @Watch('useTwentyFourHours')\n private onUseTwentyFourHoursChanged(): void {\n if (this.callbackHour == null) {\n return;\n }\n\n this.callbackMeridian = this.callbackHour >= 12 ? 'PM' : 'AM';\n }\n\n private onCallbackMeridianChanged(value: string | null): void {\n if (this.callbackHour == null) {\n return;\n }\n\n if (value === 'AM') {\n this.callbackHour = this.callbackHour === 12 ? 0 : this.callbackHour - 12;\n } else {\n this.callbackHour = this.callbackHour === 0 ? 12 : this.callbackHour + 12;\n }\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointment-outcome-details.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointment-outcome-details.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./appointment-outcome-details.vue?vue&type=template&id=652a1d72&\"\nimport script from \"./appointment-outcome-details.vue?vue&type=script&lang=ts&\"\nexport * from \"./appointment-outcome-details.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:\"appointment-outcome-instructed-products\"},[(_vm.willProducts.length)?_c('b-card',{staticClass:\"form-group\"},[_c('div',{staticClass:\"row\"},_vm._l((_vm.willProducts),function(product,productIndex){return _c('div',{key:productIndex,staticClass:\"col-4\"},[_c('div',{staticClass:\"form-group form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(product.instructionType === 3),expression:\"product.instructionType === 3\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":(\"instructedWillProduct-\" + productIndex),\"disabled\":_vm.disableProduct(product)},domProps:{\"checked\":Array.isArray(product.instructionType === 3)?_vm._i(product.instructionType === 3,null)>-1:(product.instructionType === 3)},on:{\"click\":function($event){return _vm.onProductSelected(product)},\"change\":function($event){var $$a=product.instructionType === 3,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(product, \"instructionType === 3\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(product, \"instructionType === 3\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(product, \"instructionType === 3\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":(\"instructedWillProduct-\" + productIndex)}},[_vm._v(_vm._s(_vm.appointmentProductTypeDescription(product)))])])])}),0)]):_vm._e(),(_vm.poaProducts.length)?_c('b-card',{staticClass:\"form-group\"},[_c('div',{staticClass:\"row\"},_vm._l((_vm.poaProducts),function(product,productIndex){return _c('div',{key:productIndex,staticClass:\"col-4\"},[_c('div',{staticClass:\"form-group form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(product.instructionType === 3),expression:\"product.instructionType === 3\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":(\"instructedPoaProduct-\" + productIndex),\"disabled\":_vm.disableProduct(product)},domProps:{\"checked\":Array.isArray(product.instructionType === 3)?_vm._i(product.instructionType === 3,null)>-1:(product.instructionType === 3)},on:{\"click\":function($event){return _vm.onProductSelected(product)},\"change\":function($event){var $$a=product.instructionType === 3,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(product, \"instructionType === 3\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(product, \"instructionType === 3\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(product, \"instructionType === 3\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":(\"instructedPoaProduct-\" + productIndex)}},[_vm._v(_vm._s(_vm.appointmentProductTypeDescription(product)))])])])}),0)]):_vm._e(),(_vm.otherProducts.length)?_c('b-card',{staticClass:\"form-group\"},[_c('div',{staticClass:\"row\"},_vm._l((_vm.otherProducts),function(product,productIndex){return _c('div',{key:productIndex,staticClass:\"col-4\"},[_c('div',{staticClass:\"form-group form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(product.instructionType === 3),expression:\"product.instructionType === 3\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":(\"instructedOtherProduct-\" + productIndex),\"disabled\":_vm.disableProduct(product)},domProps:{\"checked\":Array.isArray(product.instructionType === 3)?_vm._i(product.instructionType === 3,null)>-1:(product.instructionType === 3)},on:{\"click\":function($event){return _vm.onProductSelected(product)},\"change\":function($event){var $$a=product.instructionType === 3,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(product, \"instructionType === 3\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(product, \"instructionType === 3\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(product, \"instructionType === 3\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":(\"instructedOtherProduct-\" + productIndex)}},[_vm._v(_vm._s(_vm.appointmentProductTypeDescription(product)))])])])}),0)]):_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\nimport { Appointment } from '@/shared/appointments/appointment';\nimport { AppointmentOutcome } from '@/shared/appointments/appointment-outcome';\nimport { AppointmentOutcomeProduct } from '@/shared/appointments/appointment-outcome-product';\nimport { InstructionType } from '@/shared/instruction-type';\nimport { AppointmentProductType } from '@/shared/types/appointment-product-type';\nimport { formatCurrentDate, formatDate } from '@/shared/utilities/date-utilities';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\nconst userModule = namespace('user');\n\n@Component\nexport default class AppointmentOutcomeInstructedProducts extends Vue {\n @typesModule.Getter('activeAppointmentProductTypes') private appointmentProductTypes!: Array;\n @userModule.Getter('isInternalKeyStakeholder') public isInternalKeyStakeholder!: boolean;\n\n @Prop({ required: true }) private products!: Array;\n @Prop({ required: true }) private appointment!: Appointment;\n @Prop({ required: false, default: false }) private isEdit!: boolean;\n\n private originalAppointmentOutcome: AppointmentOutcome | null = this.appointment.outcome == null ? null : { ...this.appointment.outcome, products: [...this.appointment.outcome.products] };\n\n private get willProducts(): Array {\n return this.productByType((type) => type.isWill);\n }\n\n private get poaProducts(): Array {\n return this.productByType((type) => type.isLpa);\n }\n\n private get otherProducts(): Array {\n return this.productByType((type) => !type.isWill && !type.isLpa);\n }\n\n private productByType(callbackfn: (value: AppointmentProductType, index: number, array: Array) => unknown): Array {\n if (this.products == null || !this.products.length) {\n return [];\n }\n\n const productTypeIds = this.appointmentProductTypes.filter(callbackfn).map((type) => type.id!);\n const filteredProducts = this.products.filter((product) => productTypeIds.includes(product.productTypeId));\n\n if (this.isInternalKeyStakeholder || !this.isEdit || this.originalAppointmentOutcome == null) {\n return filteredProducts;\n }\n\n const originalProductTypeIds = this.originalAppointmentOutcome.products.map((product) => product.productTypeId);\n return filteredProducts.filter((product) => originalProductTypeIds.includes(product.productTypeId));\n }\n\n private appointmentProductTypeDescription(product: AppointmentOutcomeProduct): string {\n const appointmentProductType = this.appointmentProductTypes.find((type) => type.id === product.productTypeId);\n return appointmentProductType == null ? '' : appointmentProductType.value;\n }\n\n private disableProduct(product: AppointmentOutcomeProduct): boolean {\n if (this.isInternalKeyStakeholder || !this.isEdit || this.originalAppointmentOutcome == null) {\n return false;\n }\n\n const originalProduct = this.originalAppointmentOutcome.products.find((p) => p.productTypeId === product.productTypeId);\n return originalProduct == null || originalProduct.instructionType === InstructionType.Instructed || originalProduct.instructionType === InstructionType.NotInstructed;\n }\n\n private onProductSelected(product: AppointmentOutcomeProduct): void {\n if (product.instructionType !== InstructionType.Instructed) {\n product.instructionType = InstructionType.Instructed;\n product.instructedDate = !this.isEdit && this.appointment.date != null ? formatDate(this.appointment.date, true) : formatCurrentDate(true);\n\n return;\n }\n\n const originalProduct = this.originalAppointmentOutcome == null ? null : this.originalAppointmentOutcome.products.find((p) => p.productTypeId === product.productTypeId);\n this.resetProduct(product, originalProduct == null ? InstructionType.NotInstructed : originalProduct.instructionType);\n }\n\n private resetProduct(product: AppointmentOutcomeProduct, instructionType: InstructionType): void {\n product.instructionType = instructionType;\n product.instructedValue = null;\n product.paymentDetails = [];\n\n if (instructionType !== InstructionType.NotInstructed) {\n return;\n }\n\n product.instructedDate = null;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointment-outcome-instructed-products.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointment-outcome-instructed-products.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./appointment-outcome-instructed-products.vue?vue&type=template&id=10c1914c&\"\nimport script from \"./appointment-outcome-instructed-products.vue?vue&type=script&lang=ts&\"\nexport * from \"./appointment-outcome-instructed-products.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:\"appointment-outcome-not-instructed-products\"},[(_vm.willProducts.length)?_c('b-card',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-group row\"},[_c('div',{staticClass:\"col-4\"},[_c('label',[_vm._v(\" \")])]),_c('div',{staticClass:\"col-2 text-center\"},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Considering Options\")])]),_c('div',{staticClass:\"col-2 text-center\"},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"14 Day Cooling Off Period\")])]),_c('div',{staticClass:\"col-2 text-center\"},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Not Instructed\")])])]),_vm._l((_vm.willProducts),function(product,productIndex){return _c('div',{key:productIndex,staticClass:\"form-group row\"},[_c('div',{staticClass:\"col-4\"},[_c('label',[_vm._v(_vm._s(_vm.appointmentProductTypeDescription(product)))])]),_c('div',{staticClass:\"form-check col-2 text-center\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(product.instructionType),expression:\"product.instructionType\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":(\"will-product-\" + productIndex),\"id\":(\"will-product-\" + productIndex + \"-considering-options\"),\"disabled\":_vm.disableProduct(product)},domProps:{\"value\":2,\"checked\":_vm._q(product.instructionType,2)},on:{\"change\":function($event){return _vm.$set(product, \"instructionType\", 2)}}})]),_c('div',{staticClass:\"form-check col-2 text-center\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(product.instructionType),expression:\"product.instructionType\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":(\"will-product-\" + productIndex),\"id\":(\"will-product-\" + productIndex + \"-cooling-off\"),\"disabled\":_vm.disableProduct(product)},domProps:{\"value\":1,\"checked\":_vm._q(product.instructionType,1)},on:{\"change\":function($event){return _vm.$set(product, \"instructionType\", 1)}}})]),_c('div',{staticClass:\"form-check col-2 text-center\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(product.instructionType),expression:\"product.instructionType\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":(\"will-product=\" + productIndex),\"id\":(\"will-product-\" + productIndex + \"-not-instructed\"),\"disabled\":_vm.disableProduct(product)},domProps:{\"value\":0,\"checked\":_vm._q(product.instructionType,0)},on:{\"change\":function($event){return _vm.$set(product, \"instructionType\", 0)}}})])])})],2):_vm._e(),(_vm.poaProducts.length)?_c('b-card',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-group row\"},[_c('div',{staticClass:\"col-4\"},[_c('label',[_vm._v(\" \")])]),_c('div',{staticClass:\"col-2 text-center\"},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Considering Options\")])]),_c('div',{staticClass:\"col-2 text-center\"},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"14 Day Cooling Off Period\")])]),_c('div',{staticClass:\"col-2 text-center\"},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Not Instructed\")])])]),_vm._l((_vm.poaProducts),function(product,productIndex){return _c('div',{key:productIndex,staticClass:\"form-group row\"},[_c('div',{staticClass:\"col-4\"},[_c('label',[_vm._v(_vm._s(_vm.appointmentProductTypeDescription(product)))])]),_c('div',{staticClass:\"form-check col-2 text-center\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(product.instructionType),expression:\"product.instructionType\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":(\"poa-product-\" + productIndex),\"id\":(\"poa-product-\" + productIndex + \"-considering-options\"),\"disabled\":_vm.disableProduct(product)},domProps:{\"value\":2,\"checked\":_vm._q(product.instructionType,2)},on:{\"change\":function($event){return _vm.$set(product, \"instructionType\", 2)}}})]),_c('div',{staticClass:\"form-check col-2 text-center\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(product.instructionType),expression:\"product.instructionType\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":(\"poa-product-\" + productIndex),\"id\":(\"poa-product-\" + productIndex + \"-cooling-off\"),\"disabled\":_vm.disableProduct(product)},domProps:{\"value\":1,\"checked\":_vm._q(product.instructionType,1)},on:{\"change\":function($event){return _vm.$set(product, \"instructionType\", 1)}}})]),_c('div',{staticClass:\"form-check col-2 text-center\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(product.instructionType),expression:\"product.instructionType\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":(\"poa-product=\" + productIndex),\"id\":(\"poa-product-\" + productIndex + \"-not-instructed\"),\"disabled\":_vm.disableProduct(product)},domProps:{\"value\":0,\"checked\":_vm._q(product.instructionType,0)},on:{\"change\":function($event){return _vm.$set(product, \"instructionType\", 0)}}})])])})],2):_vm._e(),(_vm.otherProducts.length)?_c('b-card',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-group row\"},[_c('div',{staticClass:\"col-4\"},[_c('label',[_vm._v(\" \")])]),_c('div',{staticClass:\"col-2 text-center\"},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Considering Options\")])]),_c('div',{staticClass:\"col-2 text-center\"},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"14 Day Cooling Off Period\")])]),_c('div',{staticClass:\"col-2 text-center\"},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(\"Not Instructed\")])])]),_vm._l((_vm.otherProducts),function(product,productIndex){return _c('div',{key:productIndex,staticClass:\"form-group row\"},[_c('div',{staticClass:\"col-4\"},[_c('label',[_vm._v(_vm._s(_vm.appointmentProductTypeDescription(product)))])]),_c('div',{staticClass:\"form-check col-2 text-center\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(product.instructionType),expression:\"product.instructionType\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":(\"other-product-\" + productIndex),\"id\":(\"other-product-\" + productIndex + \"-considering-options\"),\"disabled\":_vm.disableProduct(product)},domProps:{\"value\":2,\"checked\":_vm._q(product.instructionType,2)},on:{\"change\":function($event){return _vm.$set(product, \"instructionType\", 2)}}})]),_c('div',{staticClass:\"form-check col-2 text-center\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(product.instructionType),expression:\"product.instructionType\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":(\"other-product-\" + productIndex),\"id\":(\"other-product-\" + productIndex + \"-cooling-off\"),\"disabled\":_vm.disableProduct(product)},domProps:{\"value\":1,\"checked\":_vm._q(product.instructionType,1)},on:{\"change\":function($event){return _vm.$set(product, \"instructionType\", 1)}}})]),_c('div',{staticClass:\"form-check col-2 text-center\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(product.instructionType),expression:\"product.instructionType\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":(\"other-product=\" + productIndex),\"id\":(\"other-product-\" + productIndex + \"-not-instructed\"),\"disabled\":_vm.disableProduct(product)},domProps:{\"value\":0,\"checked\":_vm._q(product.instructionType,0)},on:{\"change\":function($event){return _vm.$set(product, \"instructionType\", 0)}}})])])})],2):_vm._e(),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"no-instruction-type\"}},[_vm._v(\"Reason for Non-Instruction\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcome.noInstructionTypeId),expression:\"appointmentOutcome.noInstructionTypeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('not-instructed-products.no-instruction-type') },attrs:{\"name\":\"no-instruction-type\",\"id\":\"no-instruction-type\",\"data-vv-scope\":\"not-instructed-products\",\"data-vv-as\":\"reason for non-instruction\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.appointmentOutcome, \"noInstructionTypeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.appointmentNoInstructionTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('not-instructed-products.no-instruction-type')),expression:\"errors.has('not-instructed-products.no-instruction-type')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('not-instructed-products.no-instruction-type')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"no-instruction-notes\"}},[_vm._v(\"Notes\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcome.noInstructionNotes),expression:\"appointmentOutcome.noInstructionNotes\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('not-instructed-products.no-instruction-notes') },attrs:{\"name\":\"no-instruction-notes\",\"id\":\"no-instruction-notes\",\"data-vv-scope\":\"not-instructed-products\",\"data-vv-as\":\"notes\"},domProps:{\"value\":(_vm.appointmentOutcome.noInstructionNotes)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.appointmentOutcome, \"noInstructionNotes\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('not-instructed-products.no-instruction-notes')),expression:\"errors.has('not-instructed-products.no-instruction-notes')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('not-instructed-products.no-instruction-notes')))])])],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\n\n\n\n\n\n\n\nimport { Appointment } from '@/shared/appointments/appointment';\nimport { AppointmentOutcome } from '@/shared/appointments/appointment-outcome';\nimport { AppointmentOutcomeProduct } from '@/shared/appointments/appointment-outcome-product';\nimport { InstructionType } from '@/shared/instruction-type';\nimport { AppointmentNoInstructionType } from '@/shared/types/appointment-no-instruction-type';\nimport { AppointmentProductType } from '@/shared/types/appointment-product-type';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\nconst userModule = namespace('user');\n\n@Component\nexport default class AppointmentOutcomeNotInstructedProducts extends Vue {\n @typesModule.Getter('activeAppointmentProductTypes') private appointmentProductTypes!: Array;\n @typesModule.Getter('activeAppointmentNoInstructionTypes') private appointmentNoInstructionTypes!: Array;\n @userModule.Getter('isInternalKeyStakeholder') public isInternalKeyStakeholder!: boolean;\n\n @Prop({ required: true }) private products!: Array;\n @Prop({ required: true }) private appointment!: Appointment;\n @Prop({ required: true }) private appointmentOutcome!: AppointmentOutcome;\n @Prop({ required: false, default: false }) private isEdit!: boolean;\n\n private originalAppointmentOutcome: AppointmentOutcome | null = this.appointment.outcome == null ? null : { ...this.appointment.outcome, products: [...this.appointment.outcome.products] };\n\n private get willProducts(): Array {\n return this.productByType((type) => type.isWill).filter((product) => product.instructionType !== InstructionType.Instructed);\n }\n\n private get poaProducts(): Array {\n return this.productByType((type) => type.isLpa).filter((product) => product.instructionType !== InstructionType.Instructed);\n }\n\n private get otherProducts(): Array {\n return this.productByType((type) => !type.isWill && !type.isLpa).filter((product) => product.instructionType !== InstructionType.Instructed);\n }\n\n private productByType(callbackfn: (value: AppointmentProductType, index: number, array: Array) => unknown): Array {\n if (this.products == null || !this.products.length) {\n return [];\n }\n\n const productTypeIds = this.appointmentProductTypes.filter(callbackfn).map((type) => type.id!);\n const filteredProducts = this.products.filter((product) => productTypeIds.includes(product.productTypeId));\n\n if (this.isInternalKeyStakeholder || !this.isEdit || this.originalAppointmentOutcome == null) {\n return filteredProducts;\n }\n\n const originalProductTypeIds = this.originalAppointmentOutcome.products.map((product) => product.productTypeId);\n return filteredProducts.filter((product) => originalProductTypeIds.includes(product.productTypeId));\n }\n\n private appointmentProductTypeDescription(product: AppointmentOutcomeProduct): string {\n const appointmentProductType = this.appointmentProductTypes.find((type) => type.id === product.productTypeId);\n return appointmentProductType == null ? '' : appointmentProductType.value;\n }\n\n private disableProduct(product: AppointmentOutcomeProduct): boolean {\n if (this.isInternalKeyStakeholder || !this.isEdit || this.originalAppointmentOutcome == null) {\n return false;\n }\n\n const originalProduct = this.originalAppointmentOutcome.products.find((p) => p.productTypeId === product.productTypeId);\n\n return originalProduct == null || originalProduct.instructionType === InstructionType.Instructed || originalProduct.instructionType === InstructionType.NotInstructed;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointment-outcome-not-instructed-products.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointment-outcome-not-instructed-products.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./appointment-outcome-not-instructed-products.vue?vue&type=template&id=1bb75d2e&\"\nimport script from \"./appointment-outcome-not-instructed-products.vue?vue&type=script&lang=ts&\"\nexport * from \"./appointment-outcome-not-instructed-products.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:\"appointment-outcome-notes\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"notes\"}},[_vm._v(\"Notes\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcome.notes),expression:\"appointmentOutcome.notes\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('outcome-notes.notes') },attrs:{\"name\":\"notes\",\"id\":\"notes\",\"data-vv-scope\":\"outcome-notes\",\"data-vv-as\":\"notes\"},domProps:{\"value\":(_vm.appointmentOutcome.notes)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.appointmentOutcome, \"notes\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('outcome-notes.notes')),expression:\"errors.has('outcome-notes.notes')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('outcome-notes.notes')))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\nimport { AppointmentOutcome } from '@/shared/appointments/appointment-outcome';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class AppointmentOutcomeNotes extends Vue {\n @Prop({ required: true }) private appointmentOutcome!: AppointmentOutcome;\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointment-outcome-notes.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointment-outcome-notes.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./appointment-outcome-notes.vue?vue&type=template&id=7c4743a9&\"\nimport script from \"./appointment-outcome-notes.vue?vue&type=script&lang=ts&\"\nexport * from \"./appointment-outcome-notes.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:\"appointment-outcome-product-details\"},[_c('div',{attrs:{\"role\":\"tablist\"}},_vm._l((_vm.products),function(product,productIndex){return _c('b-card',{key:productIndex,attrs:{\"no-body\":\"\"}},[_c('b-card-header',{attrs:{\"role\":\"tab\"}},[_c('button',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:((\"accordion-\" + productIndex)),expression:\"`accordion-${productIndex}`\"}],staticClass:\"btn btn-block text-left\"},[_vm._v(\"\\n \"+_vm._s(_vm.appointmentProductTypeDescription(product))+\"\\n \"),_c('b-badge',{staticClass:\"mx-1\",attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm.appointmentInstructionTypeDescription(product)))]),(_vm.isEdit && product.paymentDetails != null)?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"info\"}},[_vm._v(_vm._s(_vm.appointmentPaymentStatusTypeDescription(product)))]):_vm._e(),(_vm.isEdit && product.instructedValue != null)?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"success\"}},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(product.instructedValue)))]):_vm._e()],1)]),_c('b-collapse',{attrs:{\"visible\":\"\",\"accordion\":\"product-accordion\",\"id\":(\"accordion-\" + productIndex),\"role\":\"tabpanel\"}},[_c('b-card-body',[_c('appointment-product-details',{attrs:{\"product\":product,\"appointment\":_vm.appointment}})],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\nimport { Appointment } from '@/shared/appointments/appointment';\nimport { AppointmentOutcomeProduct } from '@/shared/appointments/appointment-outcome-product';\nimport { InstructionType } from '@/shared/instruction-type';\nimport { AppointmentPaymentStatusType } from '@/shared/types/appointment-payment-status-type';\nimport { AppointmentProductType } from '@/shared/types/appointment-product-type';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\n\n@Component\nexport default class AppointmentOutcomeProductDetails extends Vue {\n @typesModule.Getter('appointmentProductTypes') private appointmentProductTypes!: Array;\n @typesModule.Getter('appointmentPaymentStatusTypes') private appointmentPaymentStatusTypes!: Array;\n\n @Prop({ required: true }) private products!: Array;\n @Prop({ required: true }) private appointment!: Appointment;\n @Prop({ required: false, default: false }) private isEdit!: boolean;\n\n private appointmentProductTypeDescription(product: AppointmentOutcomeProduct): string {\n const appointmentProductType = this.appointmentProductTypes.find((type) => type.id === product.productTypeId);\n return appointmentProductType == null ? '' : appointmentProductType.value;\n }\n\n private appointmentInstructionTypeDescription(product: AppointmentOutcomeProduct): string {\n switch (product.instructionType) {\n case InstructionType.NotInstructed:\n return 'Not Instructed';\n\n case InstructionType.CoolingOff:\n return '14 Day Cooling Off Period';\n\n case InstructionType.ConsideringOptions:\n return 'Considering Options';\n\n case InstructionType.Instructed:\n return 'Instructed';\n\n default:\n return '';\n }\n }\n\n private appointmentPaymentStatusTypeDescription(product: AppointmentOutcomeProduct): string {\n if (product.paymentDetails == null || !product.paymentDetails.length) {\n return '';\n }\n\n if (product.paymentDetails.length > 1) {\n for (const payment of product.paymentDetails) {\n const paymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.id === payment.paymentStatusId);\n\n if (paymentStatusType != null && paymentStatusType.isComplete) {\n continue;\n }\n\n return 'Part Payment';\n }\n\n return 'Cleared';\n }\n\n if (product.paymentDetails[0].paymentStatusId == null) {\n return '';\n }\n\n const productPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.id === product.paymentDetails[0].paymentStatusId);\n return productPaymentStatusType == null ? '' : productPaymentStatusType.value;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointment-outcome-product-details.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointment-outcome-product-details.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./appointment-outcome-product-details.vue?vue&type=template&id=5edbe313&\"\nimport script from \"./appointment-outcome-product-details.vue?vue&type=script&lang=ts&\"\nexport * from \"./appointment-outcome-product-details.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:\"form-group\"},[_c('label',{attrs:{\"for\":\"outcomeType\"}},[_vm._v(\"Outcome\")]),(_vm.canEditOutcomeType)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcome.outcomeTypeId),expression:\"appointmentOutcome.outcomeTypeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('outcome-type.outcomeType') },attrs:{\"name\":\"outcomeType\",\"id\":\"outcomeType\",\"data-vv-scope\":\"outcome-type\",\"data-vv-as\":\"outcome\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.appointmentOutcome, \"outcomeTypeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.appointmentOutcomeTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2):_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"outcomeType\"}},[_vm._v(_vm._s(_vm.appointmentOutcomeTypeDescription))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('outcome-type.outcomeType')),expression:\"errors.has('outcome-type.outcomeType')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('outcome-type.outcomeType')))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\nimport { AppointmentOutcome } from '@/shared/appointments/appointment-outcome';\nimport { AppointmentOutcomeType } from '@/shared/types/appointment-outcome-type';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\nconst userModule = namespace('user');\n\n@Component\nexport default class AppointmentOutcomeTypeSelect extends Vue {\n @typesModule.Getter('activeAppointmentOutcomeTypes') private appointmentOutcomeTypes!: Array;\n @userModule.Getter('isInternalKeyStakeholder') public isInternalKeyStakeholder!: boolean;\n\n @Prop({ required: true }) private appointmentOutcome!: AppointmentOutcome;\n @Prop({ required: false, default: false }) private isEdit!: boolean;\n\n private get canEditOutcomeType(): boolean {\n return !this.isEdit || this.isInternalKeyStakeholder;\n }\n\n private get appointmentOutcomeTypeDescription(): string {\n if (this.appointmentOutcome.outcomeTypeId == null) {\n return '';\n }\n\n const appointmentOutcomeType = this.appointmentOutcomeTypes.find((type) => type.id === this.appointmentOutcome.outcomeTypeId);\n return appointmentOutcomeType == null ? '' : appointmentOutcomeType.value;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointment-outcome-type-select.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointment-outcome-type-select.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./appointment-outcome-type-select.vue?vue&type=template&id=1f1d7c60&\"\nimport script from \"./appointment-outcome-type-select.vue?vue&type=script&lang=ts&\"\nexport * from \"./appointment-outcome-type-select.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 { AppointmentOutcomePaymentDetails } from '@/shared/appointments/appointment-outcome-payment-details';\nimport { AppointmentOutcomeProduct } from '@/shared/appointments/appointment-outcome-product';\nimport { InstructionType } from '@/shared/instruction-type';\n\nexport interface AppointmentOutcome {\n id?: string | null;\n appointmentId: string | null;\n outcomeTypeId: string | null;\n instructionType: InstructionType | null;\n cancellationTypeId: string | null;\n noInstructionTypeId: string | null;\n noInstructionNotes: string | null;\n estimatedEstateValue: string | null;\n executorTypeId: string | null;\n callbackDate: string | Date | null;\n notes: string | null;\n isLegacy: boolean;\n paymentDetails: AppointmentOutcomePaymentDetails | null;\n products: Array;\n version: number | null;\n}\n\nexport function createAppointmentOutcome(appointmentId: string | null): AppointmentOutcome {\n return {\n appointmentId,\n outcomeTypeId: null,\n instructionType: null,\n cancellationTypeId: null,\n noInstructionTypeId: null,\n noInstructionNotes: null,\n estimatedEstateValue: null,\n executorTypeId: null,\n callbackDate: null,\n notes: null,\n isLegacy: false,\n paymentDetails: null,\n products: new Array(),\n version: null,\n };\n}\n","import { AppointmentProductPaymentDetails } from '@/shared/appointments/appointment-product-payment-details';\nimport { InstructionType } from '@/shared/instruction-type';\n\nexport interface AppointmentOutcomeProduct {\n productTypeId: string;\n instructionType: InstructionType;\n instructedDate: string | Date | null;\n instructedValue: number | null;\n albReference: string | null;\n paymentDetails: Array;\n paymentStatusId?: string | null;\n version?: number;\n}\n\nexport function createAppointmentOutcomeProduct(productTypeId: string): AppointmentOutcomeProduct {\n return {\n productTypeId,\n instructionType: InstructionType.NotInstructed,\n instructedDate: null,\n instructedValue: null,\n albReference: null,\n paymentDetails: new Array(),\n };\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { AppointmentApi } from '@/api/appointments';\nimport { ClientAccountsApi } from '@/api/client-accounts';\nimport { AppointmentOutcomeProductRequest } from '@/api/requests/appointments/appointment-outcome-product-request';\nimport { AppointmentProductPaymentDetailsRequest } from '@/api/requests/appointments/appointment-product-payment-details-request';\nimport { CreateAppointmentOutcomeRequest } from '@/api/requests/appointments/create-appointment-outcome-request';\nimport appointmentOutcomeDetails from '@/components/appointments/appointment-outcome-details.vue';\nimport appointmentOutcomeInstructedProducts from '@/components/appointments/appointment-outcome-instructed-products.vue';\nimport appointmentOutcomeNotInstructedProducts from '@/components/appointments/appointment-outcome-not-instructed-products.vue';\nimport appointmentOutcomeNotes from '@/components/appointments/appointment-outcome-notes.vue';\nimport appointmentOutcomeProductDetails from '@/components/appointments/appointment-outcome-product-details.vue';\nimport appointmentOutcomeTypeSelect from '@/components/appointments/appointment-outcome-type-select.vue';\nimport bookAppointmentDialog from '@/components/appointments/book-appointment-dialog.vue';\nimport loading from '@/components/loading.vue';\nimport { Appointment } from '@/shared/appointments/appointment';\nimport { AppointmentOutcome, createAppointmentOutcome } from '@/shared/appointments/appointment-outcome';\nimport { AppointmentOutcomeProduct, createAppointmentOutcomeProduct } from '@/shared/appointments/appointment-outcome-product';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { InstructionType } from '@/shared/instruction-type';\nimport { AppointmentOutcomeType } from '@/shared/types/appointment-outcome-type';\nimport { AppointmentPaymentStatusType } from '@/shared/types/appointment-payment-status-type';\nimport { AppointmentProductType } from '@/shared/types/appointment-product-type';\nimport { AppointmentType } from '@/shared/types/appointment-type';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\n\nconst appointmentApi = new AppointmentApi();\nconst clientApi = new ClientAccountsApi();\n\n@Component({\n components: {\n appointmentOutcomeDetails,\n appointmentOutcomeInstructedProducts,\n appointmentOutcomeNotInstructedProducts,\n appointmentOutcomeNotes,\n appointmentOutcomeProductDetails,\n appointmentOutcomeTypeSelect,\n bookAppointmentDialog,\n loading,\n },\n})\nexport default class CompleteAppointmentDialog extends Vue {\n @typesModule.Getter('activeAppointmentTypes') private appointmentTypes!: Array;\n @typesModule.Getter('activeAppointmentOutcomeTypes') private appointmentOutcomeTypes!: Array;\n @typesModule.Getter('activeAppointmentProductTypes') private appointmentProductTypes!: Array;\n @typesModule.Getter('activeAppointmentPaymentStatusTypes') private appointmentPaymentStatusTypes!: Array;\n @Prop({ required: true }) private visible!: boolean;\n @Prop({ required: true }) private appointment!: Appointment;\n\n private isVisible: boolean = this.visible;\n private isLoading: boolean = true;\n private isSaving: boolean = false;\n private currentStep: number = 0;\n private signingDate: string | Date | null = null;\n private appointmentClient: ClientAccount | null = null;\n private appointmentOutcomeTypeCompleted: boolean = false;\n private instructedProductsCompleted: boolean = false;\n private notInstructedProductsCompleted: boolean = false;\n private detailsCompleted: boolean = false;\n private productDetailsCompleted: boolean = false;\n private appointmentOutcome: AppointmentOutcome = createAppointmentOutcome(this.appointment.id!);\n private appointmentProducts: Array = new Array();\n private showBookAppointmentDialog: boolean = false;\n\n private get size(): string {\n return this.showProducts ? 'xl' : 'lg';\n }\n\n private get maxSteps(): number {\n return this.showProducts ? 5 : 1;\n }\n\n private get showProducts(): boolean {\n if (this.selectedAppointmentType == null || this.selectedAppointmentOutcomeType == null) {\n return false;\n }\n\n return this.selectedAppointmentType.isInitialAppointment && this.selectedAppointmentOutcomeType.isSat;\n }\n\n private get selectedAppointmentType(): AppointmentType | null {\n if (this.appointment.appointmentTypeId == null) {\n return null;\n }\n\n const appointmentType = this.appointmentTypes.find((type) => type.id === this.appointment.appointmentTypeId);\n return appointmentType == null ? null : appointmentType;\n }\n\n private get selectedAppointmentOutcomeType(): AppointmentOutcomeType | null {\n if (this.appointmentOutcome.outcomeTypeId == null) {\n return null;\n }\n\n const appointmentOutcomeType = this.appointmentOutcomeTypes.find((type) => type.id === this.appointmentOutcome.outcomeTypeId);\n return appointmentOutcomeType == null ? null : appointmentOutcomeType;\n }\n\n private get productsToInstruct(): Array {\n if (!this.appointmentProducts.length) {\n return [];\n }\n\n return this.appointmentProducts.filter((product) => product.instructionType !== InstructionType.NotInstructed);\n }\n\n private get createAppointmentOutcomeRequest(): CreateAppointmentOutcomeRequest {\n const products: Array = new Array();\n\n for (const product of this.productsToInstruct) {\n const paymentDetails: Array = new Array();\n\n for (const payment of product.paymentDetails) {\n paymentDetails.push({ ...payment, paymentStatusId: payment.paymentStatusId! });\n }\n\n products.push({ ...product, paymentDetails });\n }\n\n return { ...this.appointmentOutcome, products, outcomeTypeId: this.appointmentOutcome.outcomeTypeId! };\n }\n\n private get isSigningAppointmentRequired(): boolean {\n if (!this.appointmentProducts.length) {\n return false;\n }\n\n this.signingDate = null;\n\n for (const product of this.appointmentProducts.filter((p) => p.instructionType === InstructionType.Instructed && p.paymentDetails.length)) {\n const paymentStatus = this.appointmentPaymentStatusTypes.find((type) => type.id === product.paymentDetails[0].paymentStatusId!);\n\n if (paymentStatus == null || !paymentStatus.isSigningBooked) {\n continue;\n }\n\n if (product.paymentDetails[0].signingDate != null && (this.signingDate == null || product.paymentDetails[0].signingDate < this.signingDate)) {\n this.signingDate = product.paymentDetails[0].signingDate;\n }\n }\n\n return this.signingDate != null;\n }\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.$validator.errors.clear();\n this.isVisible = visible;\n }\n\n @Watch('appointmentOutcome.outcomeTypeId')\n private onAppointmentOutcomeTypeIdChanged(): void {\n this.appointmentOutcomeTypeCompleted = false;\n this.instructedProductsCompleted = false;\n this.notInstructedProductsCompleted = false;\n this.detailsCompleted = false;\n this.productDetailsCompleted = false;\n\n this.resetAppointmentOutcome();\n\n if (this.showProducts) {\n this.createProducts();\n return;\n }\n\n this.clearProducts();\n }\n\n private appointmentProductTypeDescription(product: AppointmentOutcomeProduct): string {\n const appointmentProductType = this.appointmentProductTypes.find((type) => type.id === product.productTypeId);\n return appointmentProductType == null ? '' : appointmentProductType.value;\n }\n\n private appointmentInstructionTypeDescription(product: AppointmentOutcomeProduct): string {\n switch (product.instructionType) {\n case InstructionType.NotInstructed:\n return 'Not Instructed';\n\n case InstructionType.CoolingOff:\n return '14 Day Cooling Off Period';\n\n case InstructionType.ConsideringOptions:\n return 'Considering Options';\n\n case InstructionType.Instructed:\n return 'Instructed';\n\n default:\n return '';\n }\n }\n\n private async onSaveAsync(): Promise {\n if (this.showProducts && !(await (this.$refs.outcomeNotes as Vue).$validator.validateAll('outcome-notes'))) {\n return;\n }\n\n if (!this.showProducts && !(await (this.$refs.outcomeDetails as Vue).$validator.validateAll('outcome-details'))) {\n return;\n }\n\n this.isSaving = true;\n\n try {\n await appointmentApi.createAppointmentOutcomeAsync(this.appointment.id!, this.createAppointmentOutcomeRequest);\n\n if (this.isSigningAppointmentRequired) {\n this.appointmentClient = await clientApi.getClientAccountByIdAsync(this.appointment.clients[0].id!);\n\n if (this.appointmentClient == null) {\n this.$emit('ok', { ...this.appointmentOutcome });\n } else {\n this.showBookAppointmentDialog = true;\n }\n } else {\n this.$emit('ok', { ...this.appointmentOutcome });\n }\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not complete appointment, please try again.', type: 'is-danger' });\n }\n }\n\n this.isSaving = false;\n }\n\n private async onNextAsync(): Promise {\n let currentStep: number = this.currentStep;\n\n if (currentStep > 0 && !this.showProducts) {\n currentStep += 2;\n }\n\n switch (currentStep) {\n case 0:\n if (!(await (this.$refs.outcomeType as Vue).$validator.validateAll('outcome-type'))) {\n return;\n }\n\n this.appointmentOutcomeTypeCompleted = true;\n\n if (!this.showProducts) {\n this.notInstructedProductsCompleted = true;\n }\n\n break;\n\n case 1:\n this.instructedProductsCompleted = true;\n break;\n\n case 2:\n if (!(await (this.$refs.notInstructedProducts as Vue).$validator.validateAll('not-instructed-products'))) {\n return;\n }\n\n this.notInstructedProductsCompleted = true;\n break;\n\n case 3:\n if (!(await (this.$refs.outcomeDetails as Vue).$validator.validateAll('outcome-details'))) {\n return;\n }\n\n this.detailsCompleted = true;\n break;\n\n case 4:\n for (let index = 0; index < this.productsToInstruct.length; index++) {\n // @ts-ignore\n if (!(await this.$refs.productsToInstruct[index].validateProduct())) {\n return;\n }\n }\n\n this.productDetailsCompleted = true;\n break;\n }\n\n setTimeout(() => { this.currentStep++; }, 0);\n }\n\n private onPrevious(): void {\n this.currentStep--;\n }\n\n private onCancel(): void {\n this.showBookAppointmentDialog = false;\n this.$emit('cancel');\n }\n\n private onAppointmentBooked(): void {\n this.$snackbar.open({ message: 'Appointment successfully booked.', type: 'is-success' });\n this.$emit('ok', { ...this.appointmentOutcome });\n }\n\n private onAppointmentCancel(): void {\n this.showBookAppointmentDialog = false;\n this.$emit('ok', { ...this.appointmentOutcome });\n }\n\n private onProductChanged(product: { productTypeId: string, errors: boolean }): void {\n const appointmentProduct = this.appointmentProducts!.find((p) => p.productTypeId === product.productTypeId);\n\n if (appointmentProduct == null) {\n return;\n }\n\n appointmentProduct.errors = product.errors;\n }\n\n private resetAppointmentOutcome(): void {\n this.appointmentOutcome.instructionType = null;\n this.appointmentOutcome.cancellationTypeId = null;\n this.appointmentOutcome.noInstructionTypeId = null;\n this.appointmentOutcome.noInstructionNotes = null;\n this.appointmentOutcome.estimatedEstateValue = null;\n this.appointmentOutcome.executorTypeId = null;\n this.appointmentOutcome.callbackDate = null;\n this.appointmentOutcome.notes = null;\n\n this.clearProducts();\n }\n\n private createProducts(): void {\n this.appointmentProducts = new Array();\n\n for (const appointmentProductType of this.appointmentProductTypes) {\n this.appointmentProducts.push({ ...createAppointmentOutcomeProduct(appointmentProductType.id!), paymentStatusId: null, errors: false });\n }\n }\n\n private clearProducts(): void {\n this.appointmentProducts = [];\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`users/loadAllUsersAsync`),\n ]);\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./complete-appointment-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./complete-appointment-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./complete-appointment-dialog.vue?vue&type=template&id=b698903c&\"\nimport script from \"./complete-appointment-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./complete-appointment-dialog.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('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Edit Appointment Outcome\",\"size\":_vm.size,\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading appointment details, please wait...\")]),_c('b-tabs',{model:{value:(_vm.currentTab),callback:function ($$v) {_vm.currentTab=$$v},expression:\"currentTab\"}},[_c('b-tab',{staticClass:\"tab\"},[_c('template',{slot:\"title\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col\",class:{ 'pr-1': !_vm.isOutcomeTypeValid }},[_c('span',{staticClass:\"text-center\"},[_vm._v(\"Outcome\")])]),(!_vm.isOutcomeTypeValid)?_c('div',{staticClass:\"col-auto px-1\"},[_c('b-icon-exclamation-circle',{staticClass:\"text-danger\",attrs:{\"font-scale\":\"1.35rem\"}})],1):_vm._e()])]),_c('appointment-outcome-type-select',{ref:\"outcomeType\",attrs:{\"appointment-outcome\":_vm.appointmentOutcome,\"is-edit\":true}})],2),(_vm.showProducts)?_c('b-tab',{staticClass:\"tab\"},[_c('template',{slot:\"title\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('span',{staticClass:\"text-center\"},[_vm._v(\"Instructed Products\")])])])]),_c('appointment-outcome-instructed-products',{ref:\"instructedProducts\",attrs:{\"products\":_vm.appointmentProducts,\"appointment\":_vm.appointment,\"is-edit\":true}})],2):_vm._e(),(_vm.showProducts)?_c('b-tab',{staticClass:\"tab\"},[_c('template',{slot:\"title\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col\",class:{ 'pr-1': _vm.isNotInstructedProductsValid }},[_c('span',{staticClass:\"text-center\"},[_vm._v(\"Not Instructed Products\")])]),(!_vm.isNotInstructedProductsValid)?_c('div',{staticClass:\"col-auto px-1\"},[_c('b-icon-exclamation-circle',{staticClass:\"text-danger\",attrs:{\"font-scale\":\"1.35rem\"}})],1):_vm._e()])]),_c('appointment-outcome-not-instructed-products',{ref:\"notInstructedProducts\",attrs:{\"products\":_vm.appointmentProducts,\"appointment\":_vm.appointment,\"appointment-outcome\":_vm.appointmentOutcome,\"is-edit\":true}})],2):_vm._e(),(_vm.selectedAppointmentOutcomeType != null)?_c('b-tab',{staticClass:\"tab\"},[_c('template',{slot:\"title\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col\",class:{ 'pr-1': _vm.isOutcomeDetailsValid }},[_c('span',{staticClass:\"text-center\"},[_vm._v(\"Details\")])]),(!_vm.isOutcomeDetailsValid)?_c('div',{staticClass:\"col-auto px-1\"},[_c('b-icon-exclamation-circle',{staticClass:\"text-danger\",attrs:{\"font-scale\":\"1.35rem\"}})],1):_vm._e()])]),_c('appointment-outcome-details',{ref:\"outcomeDetails\",attrs:{\"appointment\":_vm.appointment,\"appointment-outcome\":_vm.appointmentOutcome,\"is-edit\":true}})],2):_vm._e(),(_vm.showProducts && _vm.productsToInstruct.length)?_c('b-tab',{staticClass:\"tab\"},[_c('template',{slot:\"title\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col\",class:{ 'pr-1': _vm.isProductDetailsValid }},[_c('span',{staticClass:\"text-center\"},[_vm._v(\"Instruction & Payment\")])]),(!_vm.isProductDetailsValid)?_c('div',{staticClass:\"col-auto px-1\"},[_c('b-icon-exclamation-circle',{staticClass:\"text-danger\",attrs:{\"font-scale\":\"1.35rem\"}})],1):_vm._e()])]),_c('div',{attrs:{\"role\":\"tablist\"}},_vm._l((_vm.productsToInstruct),function(product,productIndex){return _c('b-card',{key:productIndex,class:{ 'border-danger': product.errors },attrs:{\"no-body\":\"\"}},[_c('b-card-header',{class:{ 'border-danger': product.errors },attrs:{\"role\":\"tab\"}},[_c('button',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:((\"accordion-\" + productIndex)),expression:\"`accordion-${productIndex}`\"}],staticClass:\"btn btn-block p-0\"},[_c('div',{staticClass:\"row justify-content-between\"},[_c('div',{staticClass:\"col-auto\"},[_vm._v(\"\\n \"+_vm._s(_vm.appointmentProductTypeDescription(product))+\"\\n \"),_c('b-badge',{staticClass:\"mx-1\",attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm.appointmentInstructionTypeDescription(product)))]),(product.paymentDetails.length)?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"info\"}},[_vm._v(_vm._s(_vm.appointmentPaymentStatusTypeDescription(product)))]):_vm._e(),(product.instructedValue != null && product.instructedValue > 0)?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"success\"}},[_vm._v(\"£\"+_vm._s(product.instructedValue))]):_vm._e()],1),(product.errors)?_c('div',{staticClass:\"col-auto\"},[_c('span',{staticClass:\"text-danger\"},[_c('svg',{staticClass:\"feather feather-alert-circle\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('circle',{attrs:{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"12\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"16\",\"x2\":\"12.01\",\"y2\":\"16\"}})])])]):_vm._e()])])]),_c('b-collapse',{attrs:{\"visible\":\"\",\"accordion\":\"product-accordion\",\"id\":(\"accordion-\" + productIndex),\"role\":\"tabpanel\"}},[_c('b-card-body',[_c('appointment-product-details',{ref:\"productsToInstruct\",refInFor:true,attrs:{\"product\":product,\"appointment\":_vm.appointment,\"is-edit\":true},on:{\"product-changed\":_vm.onProductChanged}})],1)],1)],1)}),1)],2):_vm._e(),(_vm.showProducts)?_c('b-tab',{staticClass:\"tab\"},[_c('template',{slot:\"title\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col\",class:{ 'pr-1': !_vm.isNotesValid }},[_c('span',{staticClass:\"text-center\"},[_vm._v(\"Notes\")])]),(!_vm.isNotesValid)?_c('div',{staticClass:\"col-auto px-1\"},[_c('b-icon-exclamation-circle',{staticClass:\"text-danger\",attrs:{\"font-scale\":\"1.35rem\"}})],1):_vm._e()])]),_c('appointment-outcome-notes',{ref:\"outcomeNotes\",attrs:{\"appointment-outcome\":_vm.appointmentOutcome,\"is-edit\":true}})],2):_vm._e()],1),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onSaveAsync}},[_vm._v(\"Save\")])],1),(_vm.appointmentClient != null && _vm.showBookAppointmentDialog)?_c('book-appointment-dialog',{attrs:{\"visible\":_vm.showBookAppointmentDialog,\"client\":_vm.appointmentClient,\"is-signing\":true,\"appointment-date\":_vm.signingDate},on:{\"ok\":_vm.onAppointmentBooked,\"cancel\":_vm.onAppointmentCancel}}):_vm._e()],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { AppointmentApi } from '@/api/appointments';\nimport { ClientAccountsApi } from '@/api/client-accounts';\nimport { AppointmentOutcomeProductRequest } from '@/api/requests/appointments/appointment-outcome-product-request';\nimport { AppointmentProductPaymentDetailsRequest } from '@/api/requests/appointments/appointment-product-payment-details-request';\nimport { UpdateAppointmentOutcomeRequest } from '@/api/requests/appointments/update-appointment-outcome-request';\nimport appointmentOutcomeDetails from '@/components/appointments/appointment-outcome-details.vue';\nimport appointmentOutcomeInstructedProducts from '@/components/appointments/appointment-outcome-instructed-products.vue';\nimport appointmentOutcomeNotInstructedProducts from '@/components/appointments/appointment-outcome-not-instructed-products.vue';\nimport appointmentOutcomeNotes from '@/components/appointments/appointment-outcome-notes.vue';\nimport appointmentOutcomeProductDetails from '@/components/appointments/appointment-outcome-product-details.vue';\nimport appointmentOutcomeTypeSelect from '@/components/appointments/appointment-outcome-type-select.vue';\nimport bookAppointmentDialog from '@/components/appointments/book-appointment-dialog.vue';\nimport loading from '@/components/loading.vue';\nimport { Appointment } from '@/shared/appointments/appointment';\nimport { AppointmentOutcome } from '@/shared/appointments/appointment-outcome';\nimport { AppointmentOutcomeProduct, createAppointmentOutcomeProduct } from '@/shared/appointments/appointment-outcome-product';\nimport { AppointmentProductPaymentDetails } from '@/shared/appointments/appointment-product-payment-details';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { InstructionType } from '@/shared/instruction-type';\nimport { AppointmentOutcomeType } from '@/shared/types/appointment-outcome-type';\nimport { AppointmentPaymentStatusType } from '@/shared/types/appointment-payment-status-type';\nimport { AppointmentProductType } from '@/shared/types/appointment-product-type';\nimport { AppointmentType } from '@/shared/types/appointment-type';\nimport { formatDate } from '@/shared/utilities/date-utilities';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\nconst appointmentApi = new AppointmentApi();\nconst clientApi = new ClientAccountsApi();\n\n@Component({\n components: {\n appointmentOutcomeDetails,\n appointmentOutcomeInstructedProducts,\n appointmentOutcomeNotInstructedProducts,\n appointmentOutcomeNotes,\n appointmentOutcomeProductDetails,\n appointmentOutcomeTypeSelect,\n bookAppointmentDialog,\n loading,\n },\n})\nexport default class EditAppointmentOutcomeDialog extends Vue {\n @Prop({ required: true }) public appointment!: Appointment;\n @Prop({ required: true }) public visible!: boolean;\n\n @typesModule.Getter('appointmentTypes') private appointmentTypes!: Array;\n @typesModule.Getter('appointmentOutcomeTypes') private appointmentOutcomeTypes!: Array;\n @typesModule.Getter('appointmentPaymentStatusTypes') private appointmentPaymentStatusTypes!: Array;\n @typesModule.Getter('appointmentProductTypes') private appointmentProductTypes!: Array;\n\n private isVisible: boolean = this.visible;\n private isLoading: boolean = true;\n private isSaving: boolean = false;\n private currentTab: number = 0;\n private isOutcomeTypeValid: boolean = true;\n private isNotInstructedProductsValid: boolean = true;\n private isOutcomeDetailsValid: boolean = true;\n private isProductDetailsValid: boolean = true;\n private isNotesValid: boolean = true;\n\n private appointmentOutcome: AppointmentOutcome = { ...this.appointment.outcome! };\n private appointmentProducts: Array = new Array();\n\n private showBookAppointmentDialog: boolean = false;\n private appointmentClient: ClientAccount | null = null;\n private signingDate: string | Date | null = null;\n\n public get size(): string {\n return this.showProducts ? 'xl' : 'lg';\n }\n\n private get showProducts(): boolean {\n if (this.selectedAppointmentType == null || this.selectedAppointmentOutcomeType == null) {\n return false;\n }\n\n return this.selectedAppointmentType.isInitialAppointment && this.selectedAppointmentOutcomeType.isSat;\n }\n\n private get selectedAppointmentType(): AppointmentType | null {\n return this.appointment.appointmentTypeId == null ? null : this.appointmentTypes.find((type) => type.id === this.appointment.appointmentTypeId)!;\n }\n\n private get selectedAppointmentOutcomeType(): AppointmentOutcomeType | null {\n return this.appointmentOutcome.outcomeTypeId == null ? null : this.appointmentOutcomeTypes.find((type) => type.id === this.appointmentOutcome.outcomeTypeId)!;\n }\n\n private get productsToInstruct(): Array {\n if (!this.appointmentProducts.length) {\n return [];\n }\n\n return this.appointmentProducts.filter((product) => product.instructionType !== InstructionType.NotInstructed);\n }\n\n private get updateAppointmentOutcomeRequest(): UpdateAppointmentOutcomeRequest {\n const products: Array = new Array();\n\n const productsToInclude = this.appointmentProducts.length\n ? this.appointmentProducts.filter((product) => this.appointment.outcome!.products.some((p) => p.productTypeId === product.productTypeId) || product.instructionType !== InstructionType.NotInstructed)\n : [];\n\n for (const product of productsToInclude) {\n const paymentDetails: Array = new Array();\n\n for (const payment of product.paymentDetails) {\n paymentDetails.push({ ...payment, paymentStatusId: payment.paymentStatusId! });\n }\n\n products.push({ ...product, paymentDetails });\n }\n\n return { ...this.appointmentOutcome, products, outcomeTypeId: this.appointmentOutcome.outcomeTypeId!, version: this.appointmentOutcome.version!, paymentDetails: null };\n }\n\n private get isSigningAppointmentRequired(): boolean {\n if (!this.appointmentProducts.length) {\n return false;\n }\n\n this.signingDate = null;\n\n for (const product of this.appointmentProducts.filter((p) => p.instructionType === InstructionType.Instructed && p.paymentDetails.length)) {\n const paymentStatus = this.appointmentPaymentStatusTypes.find((type) => type.id === product.paymentDetails[0].paymentStatusId!);\n\n if (paymentStatus == null || !paymentStatus.isSigningBooked) {\n continue;\n }\n\n if (product.paymentDetails[0].signingDate == null || (this.signingDate != null && product.paymentDetails[0].signingDate > this.signingDate)) {\n continue;\n }\n\n const originalProduct = this.appointment.outcome!.products.find((p) => p.productTypeId === product.productTypeId);\n\n if (originalProduct == null || !originalProduct.paymentDetails.length || originalProduct.paymentDetails[0].signingDate !== product.paymentDetails[0].signingDate) {\n this.signingDate = product.paymentDetails[0].signingDate;\n }\n }\n\n return this.signingDate != null;\n }\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.$validator.errors.clear();\n this.isVisible = visible;\n }\n\n @Watch('appointmentOutcome', { deep: true })\n private async onAppointmentOutcomeChanged(): Promise {\n await this.isValid();\n }\n\n @Watch('appointmentProducts', { deep: true })\n private async onAppointmentProductsChanged(): Promise {\n await this.isValid();\n }\n\n @Watch('appointmentOutcome.outcomeTypeId')\n private onOutcomeTypeChanged(): void {\n this.clearAppointmentOutcome();\n\n if (this.showProducts) {\n this.createProducts();\n return;\n }\n\n this.clearProducts();\n }\n\n private appointmentProductTypeDescription(product: AppointmentOutcomeProduct): string {\n const appointmentProductType = this.appointmentProductTypes.find((type) => type.id === product.productTypeId);\n return appointmentProductType == null ? '' : appointmentProductType.value;\n }\n\n private appointmentInstructionTypeDescription(product: AppointmentOutcomeProduct): string {\n switch (product.instructionType) {\n case InstructionType.NotInstructed:\n return 'Not Instructed';\n\n case InstructionType.CoolingOff:\n return '14 Day Cooling Off Period';\n\n case InstructionType.ConsideringOptions:\n return 'Considering Options';\n\n case InstructionType.Instructed:\n return 'Instructed';\n\n default:\n return '';\n }\n }\n\n private appointmentPaymentStatusTypeDescription(product: AppointmentOutcomeProduct): string {\n if (!product.paymentDetails.length) {\n return '';\n }\n\n if (product.paymentDetails.length > 1) {\n return 'Part Payment';\n }\n\n const appointmentPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.id === product.paymentDetails[0].paymentStatusId);\n return appointmentPaymentStatusType == null ? 'Unknown' : appointmentPaymentStatusType.value;\n }\n\n private async isValid(): Promise {\n this.isOutcomeTypeValid = await (this.$refs.outcomeType as Vue).$validator.validateAll('outcome-type');\n this.isOutcomeDetailsValid = await (this.$refs.outcomeDetails as Vue).$validator.validateAll('outcome-details');\n\n if (!this.showProducts) {\n return this.isOutcomeTypeValid && this.isOutcomeDetailsValid;\n }\n\n this.isNotInstructedProductsValid = await (this.$refs.notInstructedProducts as Vue).$validator.validateAll('not-instructed-products');\n this.isNotesValid = await (this.$refs.outcomeNotes as Vue).$validator.validateAll('outcome-notes');\n\n this.isProductDetailsValid = true;\n\n for (let index = 0; index < this.productsToInstruct.length; index++) {\n // @ts-ignore\n if (!(await this.$refs.productsToInstruct[index].validateProduct())) {\n this.isProductDetailsValid = false;\n }\n }\n\n return this.isOutcomeTypeValid && this.isOutcomeDetailsValid && this.isNotInstructedProductsValid && this.isNotesValid && this.isProductDetailsValid;\n }\n\n private async onSaveAsync(): Promise {\n if (!(await this.isValid())) {\n return;\n }\n\n this.isSaving = true;\n\n try {\n await appointmentApi.updateAppointmentOutcomeAsync(this.appointment.id!, this.appointment.outcome!.id!, this.updateAppointmentOutcomeRequest);\n\n if (this.isSigningAppointmentRequired) {\n this.appointmentClient = await clientApi.getClientAccountByIdAsync(this.appointment.clients[0].id!);\n\n if (this.appointmentClient == null) {\n this.$emit('ok', { ...this.appointmentOutcome });\n } else {\n this.showBookAppointmentDialog = true;\n }\n } else {\n this.$emit('ok', { ...this.appointmentOutcome });\n }\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not update appointment outcome, please try again.', type: 'is-danger' });\n }\n }\n\n this.isSaving = false;\n }\n\n private onCancel(): void {\n this.showBookAppointmentDialog = false;\n this.$emit('cancel');\n }\n\n private onAppointmentBooked(): void {\n this.$snackbar.open({ message: `Appointment successfully booked.`, type: 'is-success' });\n this.$emit('ok', { ...this.appointmentOutcome });\n }\n\n private onAppointmentCancel(): void {\n this.showBookAppointmentDialog = false;\n this.$emit('ok', { ...this.appointmentOutcome });\n }\n\n private onProductChanged(product: { productTypeId: string, errors: boolean }): void {\n const appointmentProduct = this.appointmentProducts!.find((p) => p.productTypeId === product.productTypeId);\n\n if (appointmentProduct == null) {\n return;\n }\n\n appointmentProduct.errors = product.errors;\n }\n\n private clearAppointmentOutcome(): void {\n this.appointmentOutcome.instructionType = null;\n this.appointmentOutcome.cancellationTypeId = null;\n this.appointmentOutcome.noInstructionTypeId = null;\n this.appointmentOutcome.noInstructionNotes = null;\n this.appointmentOutcome.estimatedEstateValue = null;\n this.appointmentOutcome.executorTypeId = null;\n this.appointmentOutcome.callbackDate = null;\n this.appointmentOutcome.notes = null;\n\n this.clearProducts();\n }\n\n private createProducts(): void {\n this.appointmentProducts = new Array();\n\n for (const appointmentProductType of this.appointmentProductTypes) {\n this.appointmentProducts.push({ ...createAppointmentOutcomeProduct(appointmentProductType.id!), paymentStatusId: null, errors: false });\n }\n }\n\n private populateProducts(): void {\n this.createProducts();\n\n if (this.appointment.outcome!.products == null || !this.appointment.outcome!.products.length) {\n return;\n }\n\n for (const product of this.appointment.outcome!.products) {\n if (!this.appointmentProducts!.some((p) => p.productTypeId === product.productTypeId)) {\n continue;\n }\n\n const paymentDetails: Array = new Array();\n\n for (const payment of product.paymentDetails) {\n paymentDetails.push({\n ...payment,\n signingDate: formatDate(payment.signingDate),\n bankedDate: formatDate(payment.bankedDate),\n clearedDate: formatDate(payment.clearedDate),\n debtorDate: formatDate(payment.debtorDate),\n noLongerProceedingDate: formatDate(payment.noLongerProceedingDate),\n writtenOffDate: formatDate(payment.writtenOffDate),\n });\n }\n\n const appointmentProduct: AppointmentOutcomeProduct & { errors: boolean } = { ...product, paymentDetails, instructedDate: formatDate(product.instructedDate), errors: false };\n\n if (product.paymentDetails.length) {\n const partPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.isPartPayment);\n appointmentProduct.paymentStatusId = product.paymentDetails.length > 1 ? partPaymentStatusType!.id! : product.paymentDetails[0].paymentStatusId;\n }\n\n const index = this.appointmentProducts!.findIndex((p) => p.productTypeId === product.productTypeId);\n\n if (index > -1) {\n this.appointmentProducts!.splice(index, 1, appointmentProduct);\n }\n }\n }\n\n private clearProducts(): void {\n this.appointmentProducts = [];\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`users/loadAllUsersAsync`),\n ]);\n\n if (this.showProducts) {\n this.populateProducts();\n }\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-appointment-outcome-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-appointment-outcome-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./edit-appointment-outcome-dialog.vue?vue&type=template&id=1f5cf2ba&\"\nimport script from \"./edit-appointment-outcome-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./edit-appointment-outcome-dialog.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('b-modal',{attrs:{\"size\":\"lg\",\"body-class\":\"modal-stepper\",\"centered\":\"\",\"title\":\"Edit Appointment Outcome\",\"ok-title\":\"Next\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"cancel\":_vm.onCancel},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header\"},[_c('h5',{staticClass:\"modal-title\"},[_vm._v(\"Edit Appointment Outcome\")]),_c('b-button-close',{on:{\"click\":function($event){return _vm.$emit('cancel')}}})],1),_c('stepper',{model:{value:(_vm.currentStep),callback:function ($$v) {_vm.currentStep=$$v},expression:\"currentStep\"}},[_c('step',{attrs:{\"title\":\"Details\",\"disabled\":false,\"completed\":false}},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"Outcome\")]),(_vm.canEditOutcomeType)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcome.outcomeTypeId),expression:\"appointmentOutcome.outcomeTypeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('outcomeTypeId') },attrs:{\"name\":\"outcomeTypeId\",\"data-vv-as\":\"outcome\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.appointmentOutcome, \"outcomeTypeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.outcomeTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])}),0):_vm._e(),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('outcomeTypeId')),expression:\"errors.has('outcomeTypeId')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('outcomeTypeId')))]),(!_vm.canEditOutcomeType)?_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\"}},[_vm._v(_vm._s(_vm.outcomeTypeDescription))]):_vm._e()]),(!_vm.isNotSat && !_vm.isCancelled)?_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"Instructed\")]),(_vm.canEditInstructionType)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcome.instructionType),expression:\"appointmentOutcome.instructionType\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('instructionType') },attrs:{\"name\":\"instructionType\",\"data-vv-as\":\"instructed\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.appointmentOutcome, \"instructionType\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.instructionTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])}),0):_vm._e(),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('instructedTypeId')),expression:\"errors.has('instructedTypeId')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('instructedTypeId')))]),(!_vm.canEditInstructionType)?_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\"}},[_vm._v(_vm._s(_vm.instructionTypeDescription))]):_vm._e()]):_vm._e(),(!_vm.isNotSat && _vm.isInstructedAsYes)?_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"Estimated Estate Value\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcome.estimatedEstateValue),expression:\"appointmentOutcome.estimatedEstateValue\"},{name:\"validate\",rawName:\"v-validate\",value:(_vm.isInstructedAsYes ? 'required' : ''),expression:\"isInstructedAsYes ? 'required' : ''\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('estimatedEstateValue') },attrs:{\"type\":\"text\",\"name\":\"estimatedEstateValue\",\"data-vv-as\":\"estimated estate value\"},domProps:{\"value\":(_vm.appointmentOutcome.estimatedEstateValue)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.appointmentOutcome, \"estimatedEstateValue\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('estimatedEstateValue')),expression:\"errors.has('estimatedEstateValue')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('estimatedEstateValue')))])]):_vm._e(),(!_vm.isNotSat && _vm.isInstructedAsYes)?_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"Professional Executor\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcome.executorTypeId),expression:\"appointmentOutcome.executorTypeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('professionalExecutorTypeId') },attrs:{\"name\":\"professionalExecutorTypeId\",\"data-vv-as\":\"professional executor\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.appointmentOutcome, \"executorTypeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.professionalExecutorTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('professionalExecutorTypeId')),expression:\"errors.has('professionalExecutorTypeId')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('professionalExecutorTypeId')))])]):_vm._e(),(!_vm.isNotSat && !_vm.isInstructedAsYes && !_vm.isCancelled)?_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"Reason for Not Instructed\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcome.noInstructionTypeId),expression:\"appointmentOutcome.noInstructionTypeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('noInstructionTypeId') },attrs:{\"name\":\"noInstructionTypeId\",\"data-vv-as\":\"reason for not instructed\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.appointmentOutcome, \"noInstructionTypeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.noInstructionTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('noInstructionTypeId')),expression:\"errors.has('noInstructionTypeId')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('noInstructionTypeId')))])]):_vm._e(),(_vm.isCancelled)?_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"Reason for Cancellation\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcome.cancellationTypeId),expression:\"appointmentOutcome.cancellationTypeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('cancellationTypeId') },attrs:{\"name\":\"cancellationTypeId\",\"data-vv-as\":\"reason for cancellation\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.appointmentOutcome, \"cancellationTypeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.cancellationTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('cancellationTypeId')),expression:\"errors.has('cancellationTypeId')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('cancellationTypeId')))])]):_vm._e(),((!_vm.isNotSat && !_vm.isInstructedAsYes) || _vm.isNotSat || _vm.isCancelled)?_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"Notes\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcome.notes),expression:\"appointmentOutcome.notes\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('notes') },attrs:{\"name\":\"notes\",\"data-vv-as\":\"notes\"},domProps:{\"value\":(_vm.appointmentOutcome.notes)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.appointmentOutcome, \"notes\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('notes')),expression:\"errors.has('notes')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('notes')))])]):_vm._e()]),(_vm.showProductsSold)?_c('step',{attrs:{\"title\":\"Products sold\",\"disabled\":false,\"completed\":false}},[_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"row\"},_vm._l((_vm.products),function(product,index){return _c('div',{key:product.id,staticClass:\"col-6 border-top\",staticStyle:{\"padding\":\"0.75rem\"}},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(product.selected),expression:\"product.selected\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":index,\"disabled\":!_vm.canEditProduct(product)},domProps:{\"value\":product,\"checked\":Array.isArray(product.selected)?_vm._i(product.selected,product)>-1:(product.selected)},on:{\"change\":function($event){var $$a=product.selected,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=product,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(product, \"selected\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(product, \"selected\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(product, \"selected\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":index}},[_vm._v(_vm._s(product.value))])])])}),0)])]):_vm._e(),(_vm.showPaymentTab)?_c('step',{attrs:{\"title\":\"Payment details\",\"disabled\":false,\"completed\":false}},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"Instructed Value\")]),(_vm.canEditInstructedValue)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcome.paymentDetails.value),expression:\"appointmentOutcome.paymentDetails.value\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal:2'),expression:\"'required|decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('value') },attrs:{\"type\":\"text\",\"name\":\"value\",\"data-vv-as\":\"value\"},domProps:{\"value\":(_vm.appointmentOutcome.paymentDetails.value)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.appointmentOutcome.paymentDetails, \"value\", $event.target.value)}}}):_vm._e(),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('value')),expression:\"errors.has('value')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('value')))]),(!_vm.canEditInstructedValue)?_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\"}},[_vm._v(_vm._s(_vm.appointmentOutcome.paymentDetails.value))]):_vm._e()]),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"Payment Status\")]),(_vm.paymentStatuses.length)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcome.paymentDetails.paymentStatusId),expression:\"appointmentOutcome.paymentDetails.paymentStatusId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('paymentStatusId') },attrs:{\"name\":\"paymentStatusId\",\"data-vv-as\":\"payment status\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.appointmentOutcome.paymentDetails, \"paymentStatusId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.paymentStatuses),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2):_vm._e(),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('paymentStatusId')),expression:\"errors.has('paymentStatusId')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('paymentStatusId')))]),(!_vm.paymentStatuses.length)?_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\"}},[_vm._v(_vm._s(_vm.outcomePaymentStatusTypeDescription))]):_vm._e()]),(_vm.showNumberOfPayments)?_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"Number of Payments\")]),(_vm.canEditNumberOfPayments)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcome.paymentDetails.numberOfPayments),expression:\"appointmentOutcome.paymentDetails.numberOfPayments\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('numberOfPayments') },attrs:{\"name\":'numberOfPayments',\"data-vv-as\":\"number of payments\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.appointmentOutcome.paymentDetails, \"numberOfPayments\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((11),function(n){return _c('option',{key:n,domProps:{\"value\":n + 1}},[_vm._v(_vm._s(n + 1))])})],2):_vm._e(),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('numberOfPayments')),expression:\"errors.has('numberOfPayments')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('numberOfPayments')))]),(!_vm.canEditNumberOfPayments)?_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\"}},[_vm._v(_vm._s(_vm.appointmentOutcome.paymentDetails.numberOfPayments))]):_vm._e()]):_vm._e(),(_vm.showSigningDate)?_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"Signing Date\")]),(_vm.canEditSigningDate)?_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:((\"required|date_format:dd/MM/yyyy|after:\" + _vm.validateAfterAppointmentDate)),expression:\"`required|date_format:dd/MM/yyyy|after:${validateAfterAppointmentDate}`\"}],class:{ 'is-invalid': _vm.errors.has('signingDate') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"disableDates\":{ to: _vm.signingStartDate },\"wrapper-class\":'datepicker-wrapper',\"calendar-class\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"signingDate\",\"data-vv-as\":\"signing date\"},model:{value:(_vm.appointmentOutcome.paymentDetails.signingDate),callback:function ($$v) {_vm.$set(_vm.appointmentOutcome.paymentDetails, \"signingDate\", $$v)},expression:\"appointmentOutcome.paymentDetails.signingDate\"}}):_vm._e(),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('signingDate')),expression:\"errors.has('signingDate')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('signingDate')))]),(!_vm.canEditSigningDate)?_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\"}},[_vm._v(_vm._s(_vm._f(\"date\")(_vm.appointmentOutcome.paymentDetails.signingDate)))]):_vm._e()],1):_vm._e()]):_vm._e(),(_vm.showPaymentTab)?_c('step',{attrs:{\"title\":\"Notes\",\"disabled\":false,\"completed\":false}},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"Notes\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcome.notes),expression:\"appointmentOutcome.notes\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('notes') },attrs:{\"name\":\"notes\",\"data-vv-as\":\"notes\"},domProps:{\"value\":(_vm.appointmentOutcome.notes)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.appointmentOutcome, \"notes\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('notes')),expression:\"errors.has('notes')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('notes')))])])]):_vm._e()],1),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.saving},on:{\"click\":function($event){return _vm.$emit('cancel')}}},[_vm._v(\"Cancel\")]),(_vm.currentStep > 0)?_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.saving},on:{\"click\":_vm.onPrevious}},[_vm._v(\"Previous\")]):_vm._e(),(_vm.currentStep < _vm.maxSteps)?_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.saving},on:{\"click\":_vm.onNext}},[_vm._v(\"Next\")]):_vm._e(),(_vm.currentStep === _vm.maxSteps)?_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.saving},on:{\"click\":_vm.onSave}},[_vm._v(\"Save\")]):_vm._e()],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export interface AppointmentOutcomePaymentDetails {\n id?: string | null;\n paymentStatusId: string | null;\n value: number | null;\n signingDate: string | Date | null;\n isDirectDebitFormCompleted: boolean;\n numberOfPayments: number | null;\n version?: number | null;\n}\n\nexport function createAppointmentOutcomePaymentDetails(): AppointmentOutcomePaymentDetails {\n return {\n paymentStatusId: null,\n value: null,\n signingDate: null,\n isDirectDebitFormCompleted: false,\n numberOfPayments: null,\n };\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { AppointmentApi } from '@/api/appointments';\nimport { UpdateAppointmentOutcomeRequest } from '@/api/requests/appointments/update-appointment-outcome-request';\nimport { instructionTypeDescription, outcomePaymentStatusTypeDescription, outcomeTypeDescription } from '@/components/appointments/appointment-utilities';\nimport { Appointment } from '@/shared/appointments/appointment';\nimport { AppointmentOutcome } from '@/shared/appointments/appointment-outcome';\nimport { createAppointmentOutcomePaymentDetails } from '@/shared/appointments/appointment-outcome-payment-details';\nimport { InstructionType } from '@/shared/instruction-type';\nimport { AppointmentCancellationType } from '@/shared/types/appointment-cancellation-type';\nimport { AppointmentExecutorType } from '@/shared/types/appointment-executor-type';\nimport { AppointmentNoInstructionType } from '@/shared/types/appointment-no-instruction-type';\nimport { AppointmentOutcomeType } from '@/shared/types/appointment-outcome-type';\nimport { AppointmentPaymentStatusType } from '@/shared/types/appointment-payment-status-type';\nimport { AppointmentProductType } from '@/shared/types/appointment-product-type';\nimport { AppointmentType } from '@/shared/types/appointment-type';\nimport { DateTime } from 'luxon';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\nconst userModule = namespace('user');\nconst appointmentApi = new AppointmentApi();\n\n@Component\nexport default class EditAppointmentOutcomeLegacyDialog extends Vue {\n @typesModule.Getter('appointmentTypes') public appointmentTypes!: Array;\n @typesModule.Getter('activeAppointmentNoInstructionTypes') public noInstructionTypes!: Array;\n @typesModule.Getter('activeAppointmentCancellationTypes') public cancellationTypes!: Array;\n @typesModule.Getter('activeAppointmentProductTypes') public appointmentProductTypes!: Array;\n @typesModule.Getter('activeAppointmentOutcomeTypes') public outcomeTypes!: Array;\n @typesModule.Getter('activeAppointmentExecutorTypes') public professionalExecutorTypes!: Array;\n @typesModule.Getter('activeAppointmentPaymentStatusTypes') public paymentStatusTypes!: Array;\n\n @userModule.Getter('isInternalKeyStakeholder') public isInternalKeyStakeholder!: boolean;\n @userModule.Getter('isHeadOfDepartment') private isHoD!: boolean;\n\n @Prop({ required: true }) public appointment!: Appointment;\n @Prop({ required: true }) public visible!: boolean;\n\n private currentStep: number = 0;\n private saving: boolean = false;\n private isVisible: boolean = this.visible;\n private appointmentOutcome: AppointmentOutcome = {\n ...this.appointment.outcome!,\n paymentDetails: this.appointment.outcome!.paymentDetails == null ? null : { ...this.appointment.outcome!.paymentDetails },\n products: [...this.appointment.outcome!.products],\n };\n private products: Array = new Array();\n\n private get canEditOutcomeType(): boolean {\n return this.isInternalKeyStakeholder;\n }\n\n private get canEditInstructionType(): boolean {\n if (this.isInternalKeyStakeholder) {\n return true;\n }\n\n return this.appointment.outcome!.instructionType == null ? false : this.appointment.outcome!.instructionType === InstructionType.CoolingOff || this.appointment.outcome!.instructionType === InstructionType.ConsideringOptions;\n }\n\n private get canEditInstructedValue(): boolean {\n if (this.isInternalKeyStakeholder) {\n return true;\n }\n\n if (this.appointment.outcome!.paymentDetails == null) {\n return true;\n }\n\n const paymentStatusType = this.paymentStatusTypes.find((type) => type.id === this.appointment.outcome!.paymentDetails!.paymentStatusId!);\n\n return paymentStatusType == null || paymentStatusType.isSigningPending || paymentStatusType.isSigningBooked;\n }\n\n private get canEditNumberOfPayments(): boolean {\n if (this.isInternalKeyStakeholder) {\n return true;\n }\n\n if (this.appointment.outcome!.paymentDetails == null) {\n return true;\n }\n\n const paymentStatusType = this.paymentStatusTypes.find((type) => type.id === this.appointment.outcome!.paymentDetails!.paymentStatusId!);\n\n return paymentStatusType == null || paymentStatusType.isSigningPending || paymentStatusType.isSigningBooked;\n }\n\n private get canEditSigningDate(): boolean {\n if (this.isInternalKeyStakeholder) {\n return true;\n }\n\n if (this.appointment.outcome!.paymentDetails == null) {\n return true;\n }\n\n const paymentStatusType = this.paymentStatusTypes.find((type) => type.id === this.appointment.outcome!.paymentDetails!.paymentStatusId!);\n\n return paymentStatusType == null || paymentStatusType.isSigningPending || paymentStatusType.isSigningBooked || paymentStatusType.isDebtor || paymentStatusType.isNoLongerProceeding;\n }\n\n private get outcomeTypeDescription(): string {\n return outcomeTypeDescription(this.appointmentOutcome.outcomeTypeId);\n }\n\n private get instructionTypeDescription(): string {\n return instructionTypeDescription(this.appointmentOutcome.instructionType!);\n }\n\n private get outcomePaymentStatusTypeDescription(): string {\n return outcomePaymentStatusTypeDescription(this.appointmentOutcome.paymentDetails!.paymentStatusId!);\n }\n\n private get signingStartDate(): Date {\n return new Date(this.appointment.date!.toString());\n }\n\n private get validateAfterAppointmentDate(): string {\n const start = DateTime.fromJSDate(this.signingStartDate).minus({ days: 1 }).toFormat('dd/MM/yyyy');\n return `${start}`;\n }\n\n private get showSigningDate(): boolean {\n if (this.appointmentOutcome!.paymentDetails == null || this.appointmentOutcome!.paymentDetails!.paymentStatusId == null) {\n return false;\n }\n\n const paymentStatusType = this.paymentStatusTypes.find((type) => type.id === this.appointmentOutcome!.paymentDetails!.paymentStatusId!);\n return paymentStatusType == null ? false : paymentStatusType.isSigningBooked;\n }\n\n private get showNumberOfPayments(): boolean {\n if (this.appointmentOutcome!.paymentDetails == null || this.appointmentOutcome!.paymentDetails!.paymentStatusId == null) {\n return false;\n }\n\n const paymentStatusType = this.paymentStatusTypes.find((type) => type.id === this.appointmentOutcome!.paymentDetails!.paymentStatusId!);\n return paymentStatusType == null ? false : paymentStatusType.isPartPayment;\n }\n\n private get paymentStatuses(): Array {\n if (this.isInternalKeyStakeholder || this.isHoD) {\n return this.paymentStatusTypes.filter((type) => !type.isArchived);\n }\n\n return this.paymentStatusTypes.filter((type) => !type.isArchived && !type.isAdminOnly);\n }\n\n private get instructionTypes(): Array<{ id: InstructionType, value: string }> {\n return new Array<{ id: InstructionType, value: string }>(...[\n { id: InstructionType.NotInstructed, value: 'Not Instructed' },\n { id: InstructionType.CoolingOff, value: '14 Day Cooling Off Period' },\n { id: InstructionType.ConsideringOptions, value: 'Considering Options' },\n { id: InstructionType.Instructed, value: 'Instructed' },\n ]);\n }\n\n private get maxSteps(): number {\n let steps = 0;\n\n if (this.showProductsSold) {\n steps++;\n }\n\n if (this.showPaymentTab) {\n steps += 2;\n }\n\n return steps;\n }\n\n private get isInstructedAsYes(): boolean {\n return this.appointmentOutcome.instructionType === InstructionType.Instructed;\n }\n\n private get isNotSat(): boolean {\n const outcomeType = this.outcomeTypes.find((type) => type.id === this.appointmentOutcome.outcomeTypeId);\n return outcomeType == null ? true : outcomeType.isNotSat;\n }\n\n private get isCancelled(): boolean {\n const outcomeType = this.outcomeTypes.find((type) => type.id === this.appointmentOutcome.outcomeTypeId);\n return outcomeType == null ? false : outcomeType.isCancelled;\n }\n\n public get isInitialAppointment(): boolean {\n if (this.appointment.appointmentTypeId == null) {\n return false;\n }\n\n const appointmentType = this.appointmentTypes.find((type) => type.id === this.appointment.appointmentTypeId);\n return appointmentType == null ? false : appointmentType.isInitialAppointment;\n }\n\n public get showProductsSold(): boolean {\n const outcomeType = this.outcomeTypes.find((type) => type.id === this.appointmentOutcome.outcomeTypeId!);\n return outcomeType == null ? false : this.isInitialAppointment && outcomeType.isSat && this.appointmentOutcome.instructionType === InstructionType.Instructed;\n }\n\n private get showPaymentTab(): boolean {\n const outcomeType = this.outcomeTypes.find((type) => type.id === this.appointmentOutcome.outcomeTypeId!);\n return outcomeType == null ? false : this.isInstructedAsYes;\n }\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.$validator.errors.clear();\n this.isVisible = visible;\n }\n\n @Watch('appointmentOutcome.outcomeTypeId')\n private onOutcomeTypeChanged(): void {\n const outcomeType = this.outcomeTypes.find((type) => type.id === this.appointmentOutcome.outcomeTypeId);\n\n this.appointmentOutcome.instructionType = outcomeType != null && outcomeType.isSat ? InstructionType.NotInstructed : null;\n this.appointmentOutcome.cancellationTypeId = null;\n this.appointmentOutcome.noInstructionTypeId = null;\n this.appointmentOutcome.noInstructionNotes = null;\n this.appointmentOutcome.estimatedEstateValue = null;\n this.appointmentOutcome.executorTypeId = null;\n this.appointmentOutcome.paymentDetails = null;\n\n for (const product of this.products) {\n product.selected = false;\n }\n }\n\n @Watch('appointmentOutcome.instructionType')\n private onInstructionTypeChanged(instructionType: InstructionType): void {\n this.appointmentOutcome.noInstructionTypeId = null;\n this.appointmentOutcome.noInstructionNotes = null;\n this.appointmentOutcome.estimatedEstateValue = null;\n this.appointmentOutcome.executorTypeId = null;\n this.appointmentOutcome.paymentDetails = instructionType === InstructionType.Instructed ? createAppointmentOutcomePaymentDetails() : null;\n\n for (const product of this.products) {\n product.selected = false;\n }\n }\n\n @Watch('appointmentOutcome.paymentDetails.paymentStatusId')\n private onPaymentStatusChanged(id: string | null): void {\n if (id == null) {\n this.appointmentOutcome.paymentDetails!.signingDate = null;\n }\n\n const paymentStatus = this.paymentStatuses.find((type) => type.id === id);\n\n if (paymentStatus == null || (!paymentStatus.isDebtor && !paymentStatus.isNoLongerProceeding)) {\n this.appointmentOutcome.paymentDetails!.signingDate = null;\n }\n }\n\n private canEditProduct(product: AppointmentProductType & { selected: boolean }): boolean {\n if (this.isInternalKeyStakeholder) {\n return true;\n }\n\n if (this.appointment.outcome!.paymentDetails == null) {\n return true;\n }\n\n const paymentStatus = this.paymentStatuses.find((type) => type.id === this.appointment.outcome!.paymentDetails!.paymentStatusId!);\n\n if (paymentStatus == null) {\n return true;\n }\n\n if (!paymentStatus.isSigningPending && !paymentStatus.isSigningBooked) {\n return false;\n }\n\n const originalProduct = this.appointment.outcome!.products.find((p) => p.productTypeId === product.id);\n\n return originalProduct == null;\n }\n\n private async onSave(): Promise {\n const isValid = await this.$validator.validateAll();\n\n if (!isValid) {\n return;\n }\n\n this.saving = true;\n\n try {\n const request: UpdateAppointmentOutcomeRequest = {\n ...this.appointmentOutcome,\n outcomeTypeId: this.appointmentOutcome.outcomeTypeId!,\n paymentDetails: this.appointmentOutcome.paymentDetails == null ? null : { ...this.appointmentOutcome.paymentDetails },\n products: this.products.filter((p) => p.selected).map((p) => {\n return {\n productTypeId: p.id!,\n instructedDate: null,\n instructedValue: null,\n instructionType: null,\n albReference: null,\n paymentDetails: [],\n };\n }),\n version: this.appointmentOutcome.version!,\n };\n\n await appointmentApi.updateAppointmentOutcomeAsync(this.appointment.id!, this.appointment.outcome!.id!, request);\n this.$emit('ok', { ...this.appointmentOutcome });\n } catch (exception) {\n this.$snackbar.open({ message: 'Could not update appointment, please try again.', type: 'is-danger' });\n }\n\n this.saving = false;\n }\n\n private async onNext(): Promise {\n const isValid = await this.$validator.validateAll();\n\n if (!isValid) {\n return;\n }\n\n setTimeout(() => {\n this.currentStep++;\n }, 0);\n }\n\n private onPrevious(): void {\n this.currentStep--;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n\n private populateProducts(): Array {\n const results = new Array();\n\n for (const productType of this.appointmentProductTypes) {\n const select = this.appointmentOutcome!.products.some((p) => p.productTypeId === productType.id);\n\n if (select || !productType.isArchived) {\n results.push({ ...productType, selected: select });\n }\n }\n\n return results;\n }\n\n private async mounted(): Promise {\n const types = [\n this.$store.dispatch(`types/loadTypesAsync`),\n ];\n\n await Promise.all(types);\n\n this.products = this.populateProducts();\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-appointment-outcome-legacy-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-appointment-outcome-legacy-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./edit-appointment-outcome-legacy-dialog.vue?vue&type=template&id=4af80e61&\"\nimport script from \"./edit-appointment-outcome-legacy-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./edit-appointment-outcome-legacy-dialog.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('b-modal',{attrs:{\"size\":\"lg\",\"centered\":\"\",\"title\":\"View Appointment\",\"ok-title\":\"Close\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"cancel\":_vm.onCancel},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header\"},[_c('h5',{staticClass:\"modal-title\"},[_vm._v(\"View Appointment\")]),_c('b-button-close',{on:{\"click\":function($event){return _vm.$emit('cancel')}}})],1),_c('b-tabs',{model:{value:(_vm.tabIndex),callback:function ($$v) {_vm.tabIndex=$$v},expression:\"tabIndex\"}},[_c('b-tab',{attrs:{\"title\":\"Details\"}},[_c('div',{staticClass:\"form-row mt-3\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"clientName\"}},[_vm._v(\"Client(s)\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"clientName\"}},[_vm._v(\"\\n \"+_vm._s(_vm.clientName(_vm.appointment))+\"\\n \")])])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"appointmentType\"}},[_vm._v(\"Appointment Type\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"appointmentType\"}},[_vm._v(\"\\n \"+_vm._s(_vm.appointmentTypeDescription(_vm.appointment.appointmentTypeId))+\"\\n \")])])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"legalAdvisor\"}},[_vm._v(\"Legal Advisor\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"legalAdvisor\"}},[_vm._v(\"\\n \"+_vm._s(_vm.userName(_vm.appointment.legalAdvisorId))+\"\\n \")])])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"appointmentDate\"}},[_vm._v(\"Date\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"appointmentDate\"}},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(_vm.appointment.date))+\"\\n \")])]),_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"appointmentTime\"}},[_vm._v(\"Time\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"appointmentTime\"}},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"time\")(_vm.appointment.date))+\"\\n \")])])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"locationType\"}},[_vm._v(\"Location Type\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"locationType\"}},[_vm._v(\"\\n \"+_vm._s(_vm.locationTypeDescription(_vm.appointment.locationType))+\"\\n \")])])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"booker\"}},[_vm._v(\"Booker\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"booker\"}},[_vm._v(\"\\n \"+_vm._s(_vm.appointment.booker.name)+\"\\n \")])])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"status\"}},[_vm._v(\"Status\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"status\"}},[_vm._v(\"\\n \"+_vm._s(_vm.outcomeTypeDescription(_vm.appointment))+\"\\n \")])])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"notes\"}},[_vm._v(\"Notes\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointment.notes),expression:\"appointment.notes\"}],staticClass:\"form-control\",attrs:{\"reaodnly\":\"\",\"disabled\":\"\"},domProps:{\"value\":(_vm.appointment.notes)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.appointment, \"notes\", $event.target.value)}}})])])]),(_vm.showAddressTab)?_c('b-tab',{attrs:{\"title\":\"Address\"}},[_c('div',{staticClass:\"form-row mt-3\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"addressLine1\"}},[_vm._v(\"Address Line 1\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"addressLine1\"}},[_vm._v(\"\\n \"+_vm._s(_vm.addressLine1)+\"\\n \")])])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"addressLine2\"}},[_vm._v(\"Address Line 2\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"addressLine2\"}},[_vm._v(\"\\n \"+_vm._s(_vm.addressLine2)+\"\\n \")])])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"addressLine3\"}},[_vm._v(\"Address Line 3\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"addressLine3\"}},[_vm._v(\"\\n \"+_vm._s(_vm.addressLine3)+\"\\n \")])])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"town\"}},[_vm._v(\"Town\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"town\"}},[_vm._v(\"\\n \"+_vm._s(_vm.town)+\"\\n \")])])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"county\"}},[_vm._v(\"County\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"county\"}},[_vm._v(\"\\n \"+_vm._s(_vm.county)+\"\\n \")])])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"postcode\"}},[_vm._v(\"Postcode\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"postcode\"}},[_vm._v(\"\\n \"+_vm._s(_vm.postcode)+\"\\n \")])])])]):_vm._e(),(_vm.showReasonsTab)?_c('b-tab',{attrs:{\"title\":\"Reasons\"}},[_c('ul',{staticClass:\"list-group list-group-flush mt-3\"},_vm._l((_vm.appointment.reasons),function(reason){return _c('li',{staticClass:\"list-group-item\"},[_vm._v(_vm._s(_vm.reasonTypeDescription(reason.reasonTypeId)))])}),0)]):_vm._e(),(_vm.showOutcomeTab)?_c('b-tab',{attrs:{\"title\":\"Outcome\"}},[_c('div',{staticClass:\"form-row mt-3\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"outcomeType\"}},[_vm._v(\"Outcome Type\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"outcomeType\"}},[_vm._v(\"\\n \"+_vm._s(_vm.outcomeTypeDescription(_vm.appointment))+\"\\n \")])])]),(_vm.appointment.outcome.isLegacy && _vm.appointment.outcome.instructionType != null)?_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"instruction\"}},[_vm._v(\"Instruction\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"instruction\"}},[_vm._v(\"\\n \"+_vm._s(_vm.instructionTypeDescription(_vm.appointment.outcome.instructionType))+\"\\n \")])])]):_vm._e(),(_vm.appointment.outcome.estimatedEstateValue != null)?_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"estimatedEstateValue\"}},[_vm._v(\"Estimated Estate Value\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"estimatedEstateValue\"}},[_vm._v(\"\\n \"+_vm._s(_vm.appointment.outcome.estimatedEstateValue)+\"\\n \")])])]):_vm._e(),(_vm.appointment.outcome.executorTypeId != null)?_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"executorType\"}},[_vm._v(\"Professional Executor\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"executorType\"}},[_vm._v(\"\\n \"+_vm._s(_vm.executorTypeDescription(_vm.appointment.outcome.executorTypeId))+\"\\n \")])])]):_vm._e(),(_vm.appointment.outcome.cancellationTypeId != null)?_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"cancellationReason\"}},[_vm._v(\"Reason for Cancellation\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"cancellationReason\"}},[_vm._v(\"\\n \"+_vm._s(_vm.cancellationTypeDescription(_vm.appointment.outcome.cancellationTypeId))+\"\\n \")])])]):_vm._e(),(!_vm.appointment.outcome.isLegacy && _vm.appointment.outcome.noInstructionTypeId != null)?_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"noInstructionReason\"}},[_vm._v(\"Reason for Not Instructed\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"noInstructionReason\"}},[_vm._v(\"\\n \"+_vm._s(_vm.noInstructionTypeDescription(_vm.appointment.outcome.noInstructionTypeId))+\"\\n \")])])]):_vm._e(),(!_vm.appointment.outcome.isLegacy && _vm.appointment.outcome.noInstructionTypeId != null)?_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointment.outcome.noInstructionNotes),expression:\"appointment.outcome.noInstructionNotes\"}],staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"disabled\":\"\"},domProps:{\"value\":(_vm.appointment.outcome.noInstructionNotes)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.appointment.outcome, \"noInstructionNotes\", $event.target.value)}}})])]):_vm._e(),(_vm.appointment.outcome.isLegacy && _vm.appointment.outcome.paymentDetails != null)?_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"value\"}},[_vm._v(\"Value\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"value\"}},[_vm._v(\"\\n \"+_vm._s(_vm.appointment.outcome.paymentDetails.value)+\"\\n \")])])]):_vm._e(),(_vm.appointment.outcome.isLegacy && _vm.appointment.outcome.paymentDetails != null)?_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"paymentStatus\"}},[_vm._v(\"Payment Status\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"paymentStatus\"}},[_vm._v(\"\\n \"+_vm._s(_vm.paymentStatusTypeDescription(_vm.appointment.outcome.paymentDetails.paymentStatusId))+\"\\n \")])])]):_vm._e(),(_vm.appointment.outcome.isLegacy && _vm.showNumberOfPayments)?_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"numberOfPayments\"}},[_vm._v(\"Number of Payments\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"numberOfPayments\"}},[_vm._v(\"\\n \"+_vm._s(_vm.appointment.outcome.paymentDetails.numberOfPayments)+\"\\n \")])])]):_vm._e(),(_vm.appointment.outcome.isLegacy && _vm.showSigningDate)?_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"signingDate\"}},[_vm._v(\"Signing Date\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"signingDate\"}},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(_vm.appointment.outcome.paymentDetails.signingDate))+\"\\n \")])])]):_vm._e(),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"outcomeNotes\"}},[_vm._v(\"Notes\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointment.outcome.notes),expression:\"appointment.outcome.notes\"}],staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"disabled\":\"\"},domProps:{\"value\":(_vm.appointment.outcome.notes)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.appointment.outcome, \"notes\", $event.target.value)}}})])])]):_vm._e(),(_vm.showProductsTab)?_c('b-tab',{attrs:{\"title\":\"Products\"}},[(_vm.appointment.outcome.isLegacy)?_c('ul',{staticClass:\"list-group list-group-flush mt-3\"},_vm._l((_vm.appointment.outcome.products),function(product){return _c('li',{staticClass:\"list-group-item\"},[_vm._v(_vm._s(_vm.productTypeDescription(product.productTypeId)))])}),0):_vm._e(),(!_vm.appointment.outcome.isLegacy)?_c('div',{staticClass:\"mt-3\",attrs:{\"role\":\"tablist\"}},_vm._l((_vm.appointment.outcome.products),function(product,productIndex){return _c('b-card',{key:product.productTypeId,staticClass:\"mb-n1\",attrs:{\"no-body\":\"\"}},[_c('b-card-header',{staticClass:\"mb-0\",attrs:{\"role\":\"tab\"}},[_c('button',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:('accordion' + productIndex),expression:\"'accordion' + productIndex\"}],staticClass:\"btn\",attrs:{\"block\":\"\"}},[_vm._v(\"\\n \"+_vm._s(_vm.productTypeDescription(product.productTypeId))+\"\\n \"),_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm.instructionTypeDescription(product.instructionType)))]),(product.instructionType === 3)?_c('b-badge',{attrs:{\"variant\":\"success\"}},[_vm._v(_vm._s(_vm.productPaymentStatusTypeDescription(product.paymentDetails)))]):_vm._e()],1)]),(_vm.includeProductDetails(product))?_c('b-collapse',{attrs:{\"id\":'accordion' + productIndex,\"accordion\":\"my-accordion\",\"role\":\"tabpanel\"}},[_c('b-card-body',[_c('div',{staticClass:\"form-row\"},[(product.instructedDate != null)?_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":\"'instructedDate' + productIndex\"}},[_vm._v(\"Instructed Date\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"'instructedDate' + productIndex\"}},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(product.instructedDate))+\"\\n \")])]):_vm._e(),(product.instructedValue != null)?_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":\"'instructedValue' + productIndex\"}},[_vm._v(\"Instructed Value\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"'instructedValue' + productIndex\"}},[_vm._v(\"\\n \"+_vm._s(product.instructedValue)+\"\\n \")])]):_vm._e(),(product.paymentDetails != null && product.paymentDetails.length && product.paymentDetails[0].signingDate != null)?_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":\"'signingDate' + productIndex\"}},[_vm._v(\"Signing Date\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"'signingDate' + productIndex\"}},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(product.paymentDetails[0].signingDate))+\"\\n \")])]):_vm._e(),(product.paymentDetails != null && product.paymentDetails.length > 1)?_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":\"'numberOfPayments' + productIndex\"}},[_vm._v(\"Number of Payments\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"'numberOfPayments' + productIndex\"}},[_vm._v(\"\\n \"+_vm._s(product.paymentDetails.length)+\"\\n \")])]):_vm._e()]),_vm._l((_vm.productPayments(product)),function(payment,paymentIndex){return (product.paymentDetails != null && product.paymentDetails.length)?_c('div',{staticClass:\"form-row\"},[(payment.value != null)?_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":\"'amount' + productIndex + '-' + paymentIndex\"}},[_vm._v(\"Amount\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"'amount' + productIndex + '-' + paymentIndex\"}},[_vm._v(\"\\n \"+_vm._s(payment.value)+\"\\n \")])]):_vm._e(),(payment.value != null)?_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":\"'amount' + productIndex + '-' + paymentIndex\"}},[_vm._v(\"Payment Status\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"'amount' + productIndex + '-' + paymentIndex\"}},[_vm._v(\"\\n \"+_vm._s(_vm.partPaymentStatusTypeDescription(payment.paymentStatusId))+\"\\n \")])]):_vm._e(),(payment.value != null && payment.bankedDate != null)?_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":\"'bankedDate' + productIndex + '-' + paymentIndex\"}},[_vm._v(\"Banked Date\")]),(payment.bankedDate === null)?_c('b-badge',{staticClass:\"ml-1\",attrs:{\"variant\":\"warning\"}},[_vm._v(\"Pending\")]):_vm._e(),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"'bankedDate' + productIndex + '-' + paymentIndex\"}},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(payment.bankedDate))+\"\\n \")])],1):_vm._e(),(payment.value != null && payment.clearedDate != null)?_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":\"'clearedDate' + productIndex + '-' + paymentIndex\"}},[_vm._v(\"Cleared Date\")]),(payment.clearedDate === null)?_c('b-badge',{staticClass:\"ml-1\",attrs:{\"variant\":\"warning\"}},[_vm._v(\"Pending\")]):_vm._e(),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"'clearedDate' + productIndex + '-' + paymentIndex\"}},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(payment.clearedDate))+\"\\n \")])],1):_vm._e(),(payment.debtorDate != null)?_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":\"'debtorDate' + productIndex + '-' + paymentIndex\"}},[_vm._v(\"DebtorDate\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"'debtorDate' + productIndex\"}},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(payment.debtorDate))+\"\\n \")])]):_vm._e(),(payment.noLongerProceedingDate != null)?_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":\"'noLongerProceedingDate' + productIndex + '-' + paymentIndex\"}},[_vm._v(\"No Longer Proceeding Date\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"'noLongerProceedingDate' + productIndex\"}},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(payment.noLongerProceedingDate))+\"\\n \")])]):_vm._e(),(payment.writtenOffDate != null)?_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":\"'writtenOffDate' + productIndex + '-' + paymentIndex\"}},[_vm._v(\"Written Off Date\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"'writtenOffDate' + productIndex\"}},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(payment.writtenOffDate))+\"\\n \")])]):_vm._e()]):_vm._e()})],2)],1):_vm._e()],1)}),1):_vm._e()]):_vm._e()],1),_c('div',{staticClass:\"mt-2\"},[_c('small',{staticClass:\"font-weight-bold font-italic\"},[_vm._v(\"Created By: \")]),_c('small',{staticClass:\"font-weight-italic\"},[_vm._v(_vm._s(_vm.userName(_vm.appointment.createdBy))+\" on \"+_vm._s(_vm._f(\"date\")(_vm.appointment.createdDate))+\" at \"+_vm._s(_vm._f(\"time\")(_vm.appointment.createdDate)))])]),(_vm.appointment.lastModifiedDate != null)?_c('div',[_c('small',{staticClass:\"font-weight-bold font-italic\"},[_vm._v(\"Last Modified By: \")]),_c('small',{staticClass:\"font-weight-italic\"},[_vm._v(_vm._s(_vm.userName(_vm.appointment.lastModifiedBy))+\" on \"+_vm._s(_vm._f(\"date\")(_vm.appointment.lastModifiedDate))+\" at \"+_vm._s(_vm._f(\"time\")(_vm.appointment.lastModifiedDate)))])]):_vm._e(),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{on:{\"click\":_vm.onCancel}},[_vm._v(\"Close\")])],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { PartnerPracticeApi } from '@/api/partner-practice';\nimport { Appointment } from '@/shared/appointments/appointment';\nimport { AppointmentOutcomeProduct } from '@/shared/appointments/appointment-outcome-product';\nimport { AppointmentProductPaymentDetails } from '@/shared/appointments/appointment-product-payment-details';\nimport { InstructionType } from '@/shared/instruction-type';\nimport { LocationType } from '@/shared/location-type';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { AppointmentCancellationType } from '@/shared/types/appointment-cancellation-type';\nimport { AppointmentExecutorType } from '@/shared/types/appointment-executor-type';\nimport { AppointmentNoInstructionType } from '@/shared/types/appointment-no-instruction-type';\nimport { AppointmentOutcomeType } from '@/shared/types/appointment-outcome-type';\nimport { AppointmentPaymentStatusType } from '@/shared/types/appointment-payment-status-type';\nimport { AppointmentType } from '@/shared/types/appointment-type';\nimport { User } from '@/shared/user';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\nimport { appointmentProductTypeDescription, appointmentTypeDescription, cancellationTypeDescription, executorTypeDescription, instructionTypeDescription, locationTypeDescription, noInstructionTypeDescription, outcomePaymentStatusTypeDescription, outcomeTypeDescription, productPaymentStatusTypeDescription, reasonTypeDescription } from './appointment-utilities';\n\nconst typesModule = namespace('types');\nconst usersModule = namespace('users');\n\nconst partnerPracticeApi = new PartnerPracticeApi();\n\n@Component\nexport default class ViewAppointmentDialog extends Vue {\n @typesModule.Getter('appointmentPaymentStatusTypes') private paymentStatusTypes!: Array;\n @typesModule.Getter('appointmentTypes') private appointmentTypes!: Array;\n @typesModule.Getter('appointmentCancellationTypes') private cancellationTypes!: Array;\n @typesModule.Getter('appointmentNoInstructionTypes') private noInstructionTypes!: Array;\n @typesModule.Getter('appointmentOutcomeTypes') private outcomeTypes!: Array;\n @typesModule.Getter('appointmentExecutorTypes') private executorTypes!: Array;\n\n @usersModule.Getter('users') private users!: Array;\n\n @Prop({ required: true }) private appointment!: Appointment;\n @Prop({ required: true }) private visible!: boolean;\n\n private isVisible: boolean = this.visible;\n private tabIndex: number = 0;\n private partnerPractice: PartnerPractice | null = null;\n\n private get showAddressTab(): boolean {\n return this.appointment.locationType === LocationType.Office || this.appointment.locationType === LocationType.Home;\n }\n\n private get showReasonsTab(): boolean {\n return this.appointment.reasons != null && this.appointment.reasons.length > 0;\n }\n\n private get showOutcomeTab(): boolean {\n return this.appointment.outcome != null;\n }\n\n private get showProductsTab(): boolean {\n return this.appointment.outcome != null && this.appointment.outcome.products != null && this.appointment.outcome.products.length > 0;\n }\n\n private get showNumberOfPayments(): boolean {\n if (this.appointment.outcome == null || this.appointment.outcome.paymentDetails == null || this.appointment.outcome.paymentDetails.paymentStatusId == null) {\n return false;\n }\n\n const paymentStatusType = this.paymentStatusTypes.find((type) => type.id === this.appointment.outcome!.paymentDetails!.paymentStatusId);\n\n return paymentStatusType == null ? false : paymentStatusType.isPartPayment;\n }\n\n private get showSigningDate(): boolean {\n if (this.appointment.outcome == null || this.appointment.outcome.paymentDetails == null || this.appointment.outcome.paymentDetails.paymentStatusId == null) {\n return false;\n }\n\n const paymentStatusType = this.paymentStatusTypes.find((type) => type.id === this.appointment.outcome!.paymentDetails!.paymentStatusId);\n\n return paymentStatusType == null ? false : paymentStatusType.isSigningBooked;\n }\n\n private get addressLine1(): string | null {\n if (this.appointment.locationType !== LocationType.Office) {\n return this.appointment.addressLine1;\n }\n\n if (this.partnerPractice == null) {\n return '';\n }\n\n const address = this.partnerPractice.addresses.find((a) => a.id === this.appointment.partnerPracticeAddressId!);\n return address == null ? '' : address.addressLine1;\n }\n\n private get addressLine2(): string | null {\n if (this.appointment.locationType !== LocationType.Office) {\n return this.appointment.addressLine2;\n }\n\n if (this.partnerPractice == null) {\n return '';\n }\n\n const address = this.partnerPractice.addresses.find((a) => a.id === this.appointment.partnerPracticeAddressId!);\n return address == null ? '' : address.addressLine2;\n }\n\n private get addressLine3(): string | null {\n if (this.appointment.locationType !== LocationType.Office) {\n return this.appointment.addressLine3;\n }\n\n if (this.partnerPractice == null) {\n return '';\n }\n\n const address = this.partnerPractice.addresses.find((a) => a.id === this.appointment.partnerPracticeAddressId!);\n return address == null ? '' : address.addressLine3;\n }\n\n private get town(): string | null {\n if (this.appointment.locationType !== LocationType.Office) {\n return this.appointment.town;\n }\n\n if (this.partnerPractice == null) {\n return '';\n }\n\n const address = this.partnerPractice.addresses.find((a) => a.id === this.appointment.partnerPracticeAddressId!);\n return address == null ? '' : address.town;\n }\n\n private get county(): string | null {\n if (this.appointment.locationType !== LocationType.Office) {\n return this.appointment.county;\n }\n\n if (this.partnerPractice == null) {\n return '';\n }\n\n const address = this.partnerPractice.addresses.find((a) => a.id === this.appointment.partnerPracticeAddressId!);\n return address == null ? '' : address.county;\n }\n\n private get postcode(): string | null {\n if (this.appointment.locationType !== LocationType.Office) {\n return this.appointment.postcode;\n }\n\n if (this.partnerPractice == null) {\n return '';\n }\n\n const address = this.partnerPractice.addresses.find((a) => a.id === this.appointment.partnerPracticeAddressId!);\n return address == null ? '' : address.postcode;\n }\n\n private includeProductDetails(product: AppointmentOutcomeProduct): boolean {\n if (product == null) {\n return false;\n }\n\n if (product.instructionType === InstructionType.NotInstructed) {\n return false;\n }\n\n if (product.instructionType === InstructionType.Instructed) {\n return true;\n }\n\n return product.instructedValue != null;\n }\n\n private productPayments(product: AppointmentOutcomeProduct): Array | null {\n if (product == null || product.paymentDetails == null) {\n return null;\n }\n\n const payments = [...product.paymentDetails];\n const orderedPayments = payments.sort((n1, n2) => {\n if (n1.index == null || n2.index == null) {\n return 0;\n }\n\n if (n1.index > n2.index) {\n return 1;\n }\n\n if (n1.index < n2.index) {\n return -1;\n }\n\n return 0;\n });\n\n return orderedPayments;\n }\n\n private clientName(appointment: Appointment): string {\n if (appointment.clients == null || appointment.clients.length < 1) {\n return '';\n }\n\n if (appointment.clients.length < 2) {\n return `${appointment.clients[0].firstName} ${appointment.clients[0].lastName}`;\n }\n\n if (appointment.clients[0].lastName != null && appointment.clients[1].lastName != null && appointment.clients[0].lastName.toLowerCase() === appointment.clients[1].lastName.toLowerCase()) {\n return `${appointment.clients[0].firstName} & ${appointment.clients[1].firstName} ${appointment.clients[0].lastName}`;\n }\n\n return `${appointment.clients[0].firstName} ${appointment.clients[0].lastName} & ${appointment.clients[1].firstName} ${appointment.clients[1].lastName}`;\n }\n\n private userName(userId: string | null): string {\n if (userId == null) {\n return '';\n }\n\n const user = this.users.find((u) => u.id === userId);\n\n return user == null ? '' : `${user.firstName == null ? '' : user.firstName} ${user.lastName == null ? '' : user.lastName}`;\n }\n\n private appointmentTypeDescription(appointmentTypeId: string | null): string {\n return appointmentTypeDescription(appointmentTypeId);\n }\n\n private locationTypeDescription(locationType: LocationType): string {\n return locationTypeDescription(locationType);\n }\n\n private outcomeTypeDescription(appointment: Appointment): string {\n if (appointment.outcome == null) {\n return appointment.isRebooked ? 'Re-booked' : 'Pending';\n }\n\n const description = outcomeTypeDescription(appointment.outcome.outcomeTypeId);\n return appointment.isRebooked ? `${description} - Re-booked` : description;\n }\n\n private reasonTypeDescription(reasonTypeId: string | null): string {\n return reasonTypeDescription(reasonTypeId);\n }\n\n private instructionTypeDescription(instructionType: InstructionType): string {\n return instructionTypeDescription(instructionType);\n }\n\n private executorTypeDescription(executorTypeId: string): string {\n return executorTypeDescription(executorTypeId);\n }\n\n private cancellationTypeDescription(cancellationTypeId: string): string {\n return cancellationTypeDescription(cancellationTypeId);\n }\n\n private noInstructionTypeDescription(noInstructionTypeId: string): string {\n return noInstructionTypeDescription(noInstructionTypeId);\n }\n\n private productTypeDescription(productTypeId: string | null): string {\n return appointmentProductTypeDescription(productTypeId);\n }\n\n private paymentStatusTypeDescription(paymentStatusTypeId: string): string {\n return outcomePaymentStatusTypeDescription(paymentStatusTypeId);\n }\n\n private productPaymentStatusTypeDescription(paymentDetails: Array): string {\n return productPaymentStatusTypeDescription(paymentDetails);\n }\n\n private partPaymentStatusTypeDescription(paymentStatusId: string): string {\n if (paymentStatusId == null) {\n return '';\n }\n\n const paymentStatusType = this.paymentStatusTypes.find((type) => type.id === paymentStatusId);\n\n if (paymentStatusType == null) {\n return '';\n }\n\n if (paymentStatusType.isPartPayment) {\n return 'Pending';\n }\n\n return paymentStatusType.value;\n }\n\n @Watch('visible')\n private onVisibleChanged(newValue: boolean): void {\n this.isVisible = newValue;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n\n public async mounted(): Promise {\n await Promise.all([\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`users/loadAllUsersAsync`),\n ]);\n\n this.partnerPractice = await partnerPracticeApi.getPartnerPracticeAsync(this.appointment.partnerPracticeId!);\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./view-appointment-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./view-appointment-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./view-appointment-dialog.vue?vue&type=template&id=5a1ed3cd&\"\nimport script from \"./view-appointment-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./view-appointment-dialog.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { AppointmentApi } from '@/api/appointments';\nimport { ClientAccountsApi } from '@/api/client-accounts';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport appointmentList from '@/components/appointments/appointment-list.vue';\nimport bookAppointmentDialog from '@/components/appointments/book-appointment-dialog.vue';\nimport completeAppointmentDialog from '@/components/appointments/complete-appointment/complete-appointment-dialog.vue';\nimport editAppointmentOutcomeDialog from '@/components/appointments/edit-appointment-outcome-dialog.vue';\nimport editAppointmentOutcomeLegacyDialog from '@/components/appointments/edit-appointment-outcome-legacy-dialog.vue';\nimport viewAppointmentDialog from '@/components/appointments/view-appointment-dialog.vue';\nimport loading from '@/components/loading.vue';\nimport layout from '@/layouts/app.vue';\nimport { Appointment } from '@/shared/appointments/appointment';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { LocationType } from '@/shared/location-type';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { RoleName } from '@/shared/role-name';\nimport { Role } from '@/shared/roles/role';\nimport { AppointmentType } from '@/shared/types/appointment-type';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\nconst usersModule = namespace('users');\n\nconst appointmentApi = new AppointmentApi();\nconst clientAccountApi = new ClientAccountsApi();\n\n@Component({\n components: {\n appointmentList,\n bookAppointmentDialog,\n completeAppointmentDialog,\n editAppointmentOutcomeDialog,\n editAppointmentOutcomeLegacyDialog,\n viewAppointmentDialog,\n loading,\n layout,\n },\n})\nexport default class Appointments extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n\n @typesModule.Getter('activeAppointmentTypes') private appointmentTypes!: Array;\n\n @usersModule.Getter('roles') private roles!: Array;\n\n private isLoading: boolean = true;\n private appointments: Array = new Array();\n private partnerPracticeFilter: string | null = null;\n private accountNumberFilter: number | null = null;\n private clientFirstNameFilter: string | null = null;\n private clientLastNameFilter: string | null = null;\n private legalAdvisorFilter: string | null = null;\n private appointmentTypeFilter: string | null = null;\n private locationTypeFilter: number | null = null;\n private addressFilter: string | null = null;\n private appointmentDatePeriodFilter: number | null = 0;\n private appointmentDateFromFilter: string | Date | null = null;\n private appointmentDateToFilter: string | Date | null = null;\n private appointmentStatusFilter: number | null = 0;\n private appointmentOutcomeFilter: number | null = null;\n private paymentStatusFilter: number | null = null;\n private bookerRoleFilter: string | null = null;\n private bookerFilter: string | null = null;\n private originalSourceTypeFilter: string | null = null;\n private selectedAppointment: Appointment | null = null;\n private selectedClient: ClientAccount | null = null;\n private viewDialogVisible: boolean = false;\n private bookDialogVisible: boolean = false;\n private completeDialogVisible: boolean = false;\n private editOutcomeDialogVisible: boolean = false;\n private editOutcomeLegacyDialogVisible: boolean = false;\n private deleteAppointmentConfirmationDialogVisible: boolean = false;\n private deleteOutcomeConfirmationDialogVisible: boolean = false;\n private isAppointmentRebook: boolean = false;\n private isAppointmentEdit: boolean = false;\n private showProductTabs: boolean = false;\n\n private locationTypes = new Array<{ id: number | null, value: string }>(...[\n { id: null, value: 'All' },\n { id: 0, value: 'Office' },\n { id: 1, value: 'Home' },\n { id: 2, value: 'Telephone' },\n { id: 3, value: 'Video' },\n ]);\n\n private statusTypes = new Array<{ id: number | null, value: string }>(...[\n { id: null, value: 'All' },\n { id: 0, value: 'Pending' },\n { id: 1, value: 'Incomplete' },\n { id: 2, value: 'Complete' },\n ]);\n\n private datePeriods = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Current Day' },\n { id: 1, value: 'Current Week' },\n { id: 2, value: 'Previous Week' },\n { id: 3, value: 'Current Month' },\n { id: 4, value: 'Previous Month' },\n { id: 5, value: 'Current Quarter' },\n { id: 6, value: 'Previous Quarter' },\n { id: 7, value: 'Current Year' },\n { id: 8, value: 'Previous Year' },\n { id: 9, value: 'Custom Dates' },\n ]);\n\n private outcomeTypes = new Array<{ id: number | null, value: string }>(...[\n { id: null, value: 'All' },\n { id: 0, value: 'No Show' },\n { id: 1, value: 'Cancelled' },\n { id: 2, value: 'Re-booked' },\n { id: 3, value: 'Considering Options' },\n { id: 4, value: '14 Day Cooling Off Period' },\n { id: 5, value: 'Instructed' },\n { id: 6, value: 'Didn\\'t Instruct' },\n ]);\n\n private paymentStatuses = new Array<{ id: number | null, value: string }>(...[\n { id: null, value: 'All' },\n { id: 0, value: 'Signing Pending' },\n { id: 1, value: 'Signing Booked' },\n { id: 2, value: 'Debtor' },\n { id: 3, value: 'No Longer Proceeding' },\n { id: 4, value: 'Written Off' },\n { id: 5, value: 'Part Payment' },\n { id: 6, value: 'Banked' },\n { id: 7, value: 'Cleared' },\n ]);\n\n private get isCustomDatePeriod(): boolean {\n return this.appointmentDatePeriodFilter === 9;\n }\n\n private get showAddressFilter(): boolean {\n return this.locationTypeFilter === LocationType.Office || this.locationTypeFilter === LocationType.Home;\n }\n\n private get bookerRoles(): Array {\n return this.roles.filter((role) => role.name.toLowerCase() !== RoleName.System.toLowerCase());\n }\n\n @Watch('locationTypeFilter')\n private onLocationTypeFilterChanged(): void {\n if (this.locationTypeFilter !== LocationType.Office && this.locationTypeFilter !== LocationType.Home) {\n this.addressFilter = null;\n }\n }\n\n @Watch('appointmentDatePeriodFilter')\n private async onAppointmentDatePeriodFilterChanged(): Promise {\n this.appointmentDateFromFilter = null;\n this.appointmentDateToFilter = null;\n }\n\n private async showViewDialog(appointment: Appointment): Promise {\n this.selectedAppointment = appointment;\n this.selectedClient = await clientAccountApi.getClientAccountByIdAsync(appointment.clients[0].id!);\n this.viewDialogVisible = true;\n }\n\n private async showRebookDialog(appointment: Appointment): Promise {\n this.selectedAppointment = appointment;\n this.selectedClient = await clientAccountApi.getClientAccountByIdAsync(appointment.clients[0].id!);\n this.isAppointmentRebook = true;\n this.bookDialogVisible = true;\n }\n\n private async showEditDialog(appointment: Appointment): Promise {\n this.selectedAppointment = appointment;\n this.selectedClient = await clientAccountApi.getClientAccountByIdAsync(appointment.clients[0].id!);\n this.isAppointmentEdit = true;\n this.bookDialogVisible = true;\n }\n\n private async showCompletionDialog(appointment: Appointment): Promise {\n this.selectedAppointment = appointment;\n this.selectedClient = await clientAccountApi.getClientAccountByIdAsync(appointment.clients[0].id!);\n this.completeDialogVisible = true;\n }\n\n private async showEditOutcomeDialog(appointment: Appointment): Promise {\n this.selectedAppointment = appointment;\n\n if (appointment.outcome == null) { return; }\n\n if (appointment.outcome.isLegacy) {\n this.editOutcomeLegacyDialogVisible = true;\n return;\n }\n\n this.showProductTabs = appointment.outcome.products != null && appointment.outcome.products.length > 0;\n this.editOutcomeDialogVisible = true;\n }\n\n private async showDeleteAppointmentDialog(appointment: Appointment): Promise {\n this.selectedAppointment = appointment;\n this.deleteAppointmentConfirmationDialogVisible = true;\n }\n\n private async showDeleteOutcomeDialog(appointment: Appointment): Promise {\n this.selectedAppointment = appointment;\n this.deleteOutcomeConfirmationDialogVisible = true;\n }\n\n private onCancel(): void {\n this.deleteAppointmentConfirmationDialogVisible = false;\n this.deleteOutcomeConfirmationDialogVisible = false;\n this.bookDialogVisible = false;\n this.viewDialogVisible = false;\n this.completeDialogVisible = false;\n this.editOutcomeDialogVisible = false;\n this.editOutcomeLegacyDialogVisible = false;\n this.isAppointmentRebook = false;\n this.isAppointmentEdit = false;\n }\n\n private async onAppointmentBooked(): Promise {\n if (this.isAppointmentEdit) {\n this.$snackbar.open({ message: `Appointment successfully updated`, type: 'is-success' });\n } else {\n this.$snackbar.open({ message: `Appointment successfully re-booked`, type: 'is-success' });\n }\n\n this.onCancel();\n await this.loadAppointmentsAsync();\n }\n\n private onBookingCancel(appointment: Appointment): void {\n this.onCancel();\n }\n\n private async onCompleted(): Promise {\n this.$snackbar.open({ message: `Appointment successfully completed`, type: 'is-success' });\n this.onCancel();\n await this.loadAppointmentsAsync();\n }\n\n private onCompletionCancel(): void {\n this.selectedAppointment = null;\n this.onCancel();\n }\n\n private onViewCancel(): void {\n this.onCancel();\n }\n\n private async onOutcomeChanged(appointment: Appointment): Promise {\n this.$snackbar.open({ message: `Appointment outcome successfully updated`, type: 'is-success' });\n this.onCancel();\n await this.loadAppointmentsAsync();\n }\n\n private async onDeleteAppointment(): Promise {\n try {\n await appointmentApi.deleteAppointmentAsync(this.selectedAppointment!);\n } catch (e) {\n this.$snackbar.open({ message: 'Could not delete appointment, please try again.', type: 'is-danger' });\n }\n\n this.onCancel();\n await this.loadAppointmentsAsync();\n }\n\n private async onDeleteOutcome(): Promise {\n try {\n await appointmentApi.deleteAppointmentOutcomeAsync(this.selectedAppointment!);\n } catch (e) {\n this.$snackbar.open({ message: 'Could not delete appointment outcome, please try again.', type: 'is-danger' });\n }\n\n this.onCancel();\n await this.loadAppointmentsAsync();\n }\n\n private async loadAppointmentsAsync(): Promise {\n const partnerPracticeFilterIsValid = await this.$validator.validateAll('partner-practice-select');\n const dateRangeIsValid = await this.$validator.validateAll();\n\n if (!partnerPracticeFilterIsValid || !dateRangeIsValid) { return; }\n\n this.isLoading = true;\n await this.fetchAllAppointmentsAsync();\n this.isLoading = false;\n }\n\n private async fetchAllAppointmentsAsync(): Promise {\n try {\n this.appointments = await appointmentApi.getAppointmentsAsync({\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter!,\n accountNumber: this.accountNumberFilter,\n clientFirstName: this.clientFirstNameFilter,\n clientLastName: this.clientLastNameFilter,\n legalAdvisorId: this.legalAdvisorFilter,\n appointmentTypeId: this.appointmentTypeFilter,\n locationType: this.locationTypeFilter,\n address: this.addressFilter,\n appointmentDatePeriod: this.appointmentDatePeriodFilter,\n appointmentDateFrom: this.appointmentDateFromFilter,\n appointmentDateTo: this.appointmentDateToFilter,\n appointmentStatus: this.appointmentStatusFilter,\n appointmentOutcome: this.appointmentOutcomeFilter,\n paymentStatus: this.paymentStatusFilter,\n bookerRoleId: this.bookerRoleFilter,\n bookerId: this.bookerFilter,\n originalSourceTypeId: this.originalSourceTypeFilter,\n });\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not load appointments.', type: 'is-danger' });\n }\n }\n }\n\n private async clearFilters(): Promise {\n this.partnerPracticeFilter = null;\n this.accountNumberFilter = null;\n this.clientFirstNameFilter = null;\n this.clientLastNameFilter = null;\n this.legalAdvisorFilter = null;\n this.appointmentTypeFilter = null;\n this.locationTypeFilter = null;\n this.addressFilter = null;\n this.appointmentDatePeriodFilter = 0;\n this.appointmentDateFromFilter = null;\n this.appointmentDateToFilter = null;\n this.appointmentStatusFilter = 0;\n this.appointmentOutcomeFilter = null;\n this.paymentStatusFilter = null;\n this.bookerRoleFilter = null;\n this.bookerFilter = null;\n this.originalSourceTypeFilter = null;\n }\n\n public async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`users/loadAllUsersAsync`),\n this.$store.dispatch(`users/loadRolesAsync`),\n ]);\n\n if (this.partnerPractices.length === 1) {\n await this.fetchAllAppointmentsAsync();\n }\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointments.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointments.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./appointments.vue?vue&type=template&id=07f5a582&\"\nimport script from \"./appointments.vue?vue&type=script&lang=ts&\"\nexport * from \"./appointments.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:\"manage-call-list\"},[_vm._m(0),_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading calls, please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-lg-4 col-xl-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true,\"rlg-data\":true},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-lg-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"dueDateFilter\"}},[_vm._v(\"Due Date (on or before):\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('dueDateFilter') },attrs:{\"name\":\"dueDateFilter\",\"data-vv-as\":\"due date\"},model:{value:(_vm.dueDateFilter),callback:function ($$v) {_vm.dueDateFilter=$$v},expression:\"dueDateFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('dueDateFilter')),expression:\"errors.has('dueDateFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('dueDateFilter')))])],1)]),_c('div',{staticClass:\"col-lg-4 col-xl-2\"},[_c('original-source-select',{attrs:{\"partner-practice-id\":_vm.partnerPracticeFilter},model:{value:(_vm.originalSourceFilter),callback:function ($$v) {_vm.originalSourceFilter=$$v},expression:\"originalSourceFilter\"}})],1),_c('div',{staticClass:\"col-lg-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"callTypeFilter\"}},[_vm._v(\"Call Type:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.callTypeFilter),expression:\"callTypeFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"callTypeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.callTypeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_c('option',{domProps:{\"value\":0}},[_vm._v(\"Call\")]),_c('option',{domProps:{\"value\":1}},[_vm._v(\"Callback\")])])])]),_c('div',{staticClass:\"col-lg-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"assignedStatusFilter\"}},[_vm._v(\"Assigned Status:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.assignedStatusFilter),expression:\"assignedStatusFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"assignedStatusFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.assignedStatusFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_c('option',{domProps:{\"value\":false}},[_vm._v(\"Unassigned\")]),_c('option',{domProps:{\"value\":true}},[_vm._v(\"Assigned\")])])])])]),_c('b-collapse',{attrs:{\"id\":\"advancedSearch\"}},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-lg-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientFirstNameFilter\"}},[_vm._v(\"Client First Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientFirstNameFilter),expression:\"clientFirstNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"clientFirstNameFilter\"},domProps:{\"value\":(_vm.clientFirstNameFilter)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.clientFirstNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-lg-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientLastNameFilter\"}},[_vm._v(\"Client Last Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientLastNameFilter),expression:\"clientLastNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"cientLastNameFilter\"},domProps:{\"value\":(_vm.clientLastNameFilter)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.clientLastNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-lg-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"lastCalledDatePeriodFilter\"}},[_vm._v(\"Date Last Called Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.lastCalledDatePeriodFilter),expression:\"lastCalledDatePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"lastCalledDatePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.lastCalledDatePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomLastCalledDatePeriodFilter)?_c('div',{staticClass:\"col-lg-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"lastCalledDateFromFilter\"}},[_vm._v(\"Date Last Called From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('lastCalledDateFromFilter') },attrs:{\"name\":\"lastCalledDateFromFilter\",\"data-vv-as\":\"date last called from\"},model:{value:(_vm.lastCalledDateFromFilter),callback:function ($$v) {_vm.lastCalledDateFromFilter=$$v},expression:\"lastCalledDateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('lastCalledDateFromFilter')),expression:\"errors.has('lastCalledDateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('lastCalledDateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomLastCalledDatePeriodFilter)?_c('div',{staticClass:\"col-lg-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"lastCalledDateToFilter\"}},[_vm._v(\"Date Last Called To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('lastCalledDateToFilter') },attrs:{\"name\":\"lastCalledDateToFilter\",\"data-vv-as\":\"date last called to\"},model:{value:(_vm.lastCalledDateToFilter),callback:function ($$v) {_vm.lastCalledDateToFilter=$$v},expression:\"lastCalledDateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('lastCalledDateToFilter')),expression:\"errors.has('lastCalledDateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('lastCalledDateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-lg-8 col-xl-4\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"dueTimeHourFilter\"}},[_vm._v(\"Time (on or before):\")]),_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dueTimeHourFilter),expression:\"dueTimeHourFilter\"}],staticClass:\"form-control\",on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.dueTimeHourFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.hours),function(hour){return _c('option',{key:hour.id,domProps:{\"value\":hour.id}},[_vm._v(_vm._s(hour.value))])}),0)]),_c('div',{staticClass:\"col-auto\"},[_vm._v(\"\\n :\\n \")]),_c('div',{staticClass:\"col\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dueTimeMinuteFilter),expression:\"dueTimeMinuteFilter\"}],staticClass:\"form-control\",on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.dueTimeMinuteFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.minutes),function(minute){return _c('option',{key:minute.id,domProps:{\"value\":minute.id}},[_vm._v(_vm._s(minute.value))])}),0)]),_c('div',{staticClass:\"col\"},[(!_vm.dueTimeUseTwentyFourHours)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dueTimeMeridianFilter),expression:\"dueTimeMeridianFilter\"}],staticClass:\"form-control\",on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.dueTimeMeridianFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},function($event){return _vm.onDueTimeMeridianFilterChanged($event.target.value)}]}},[_c('option',{attrs:{\"value\":\"AM\"}},[_vm._v(\"AM\")]),_c('option',{attrs:{\"value\":\"PM\"}},[_vm._v(\"PM\")])]):_vm._e()])])])]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dueTimeUseTwentyFourHours),expression:\"dueTimeUseTwentyFourHours\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"dueTimeUseTwentyFourHours\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.dueTimeUseTwentyFourHours)?_vm._i(_vm.dueTimeUseTwentyFourHours,true)>-1:(_vm.dueTimeUseTwentyFourHours)},on:{\"change\":function($event){var $$a=_vm.dueTimeUseTwentyFourHours,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.dueTimeUseTwentyFourHours=$$a.concat([$$v]))}else{$$i>-1&&(_vm.dueTimeUseTwentyFourHours=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.dueTimeUseTwentyFourHours=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"dueTimeUseTwentyFourHours\"}},[_vm._v(\"Show 24-Hour Format\")])])])])])]),_c('div',{staticClass:\"col-lg-4 col-xl-2\"},[_c('user-select',{attrs:{\"type\":\"assigned call\",\"partner-practice-id\":_vm.partnerPracticeFilter},model:{value:(_vm.assignedUserFilter),callback:function ($$v) {_vm.assignedUserFilter=$$v},expression:\"assignedUserFilter\"}},[_vm._v(\"\\n Assigned User:\\n \")])],1)])]),_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-lg-8 col-xl-4\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-btn',{staticClass:\"form-control\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.fetchCallsAsync}},[_vm._v(\"Filter\")])],1)]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('br'),_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.advancedSearch\",modifiers:{\"advancedSearch\":true}}],attrs:{\"href\":\"#\"}},[_vm._v(\"Advanced Search\")]),_vm._v(\"\\n  | \\n \"),_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.onClearFilters}},[_vm._v(\"Clear Filters\")])])])])])])],1)],1),_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading calls, please wait...\")]),_c('div',{staticClass:\"col\"},[_c('calls-table',{attrs:{\"calls\":_vm.calls,\"page\":_vm.currentPage,\"page-size\":_vm.pageSize,\"total\":_vm.total},on:{\"page-changed\":_vm.onPageChangedAsync,\"assign-calls\":_vm.onAssignCalls,\"unassign-calls\":_vm.onUnassignCalls}})],1)],1),(_vm.selectedCalls != null && _vm.selectedCalls.length > 0 && _vm.assignCallDialogVisible)?_c('assign-call-dialog',{attrs:{\"calls\":_vm.selectedCalls,\"visible\":_vm.assignCallDialogVisible},on:{\"ok\":_vm.onCallsAssignedAsync,\"cancel\":_vm.onCancel}}):_vm._e(),_c('confirmation-dialog',{ref:\"modal\",attrs:{\"centered\":\"\",\"title\":\"Are you sure?\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true,\"variant\":\"danger\",\"ok-text\":\"Un-assign\"},on:{\"ok\":_vm.onCallsUnassignedAsync,\"cancel\":_vm.onCancel},model:{value:(_vm.unassignCallConfirmationVisible),callback:function ($$v) {_vm.unassignCallConfirmationVisible=$$v},expression:\"unassignCallConfirmationVisible\"}},[_c('div',[_vm._v(\"\\n Are you sure you want to un-assign all users from the selected call(s)?\\n \")])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row pb-3 align-items-center justify-content-between\"},[_c('div',{staticClass:\"col\"},[_c('h2',[_vm._v(\"Call Management\")])])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Assign Call\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"User\")]),_c('multiselect',{attrs:{\"options\":_vm.users,\"multiple\":true,\"close-on-select\":false,\"clear-on-select\":false,\"placeholder\":\"Select users\",\"hide-selected\":true,\"custom-label\":_vm.fullName,\"track-by\":\"id\"},model:{value:(_vm.selectedUsers),callback:function ($$v) {_vm.selectedUsers=$$v},expression:\"selectedUsers\"}})],1),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onSaveAsync}},[_vm._v(\"Assign\")])],1)],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\nimport { CallApi } from '@/api/call';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport { Call } from '@/shared/call';\nimport { User } from '@/shared/user';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst usersModule = namespace('users');\nconst callApi = new CallApi();\n\n@Component\nexport default class AssignCallDialog extends Vue {\n @usersModule.Getter('activeCustomerExperienceUsers') private users!: Array;\n\n @Prop({ required: true }) private visible!: boolean;\n @Prop({ required: true }) private calls!: Array;\n\n private isVisible: boolean = this.visible;\n private isSaving: boolean = false;\n private selectedUsers: Array = [];\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean) {\n this.isVisible = visible;\n }\n\n private async onSaveAsync(): Promise {\n try {\n this.isSaving = true;\n\n await callApi.assignCallsAsync({\n calls: this.calls.map((call) => call.id!),\n users: this.selectedUsers.map((user) => user.id!),\n });\n\n this.$emit('ok');\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: `forbidden` });\n } else if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not assign calls, please try again.', type: 'is-danger' });\n }\n }\n\n this.isSaving = false;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n\n private fullName(user: User): string {\n return `${user.firstName!.trim()} ${user.lastName!.trim()}`.trim();\n }\n}\n","export enum CallReason {\n General = 0,\n CancelledAppointment = 1,\n GeneralReview = 2,\n NoShow = 3,\n}\n","export enum CallType {\n Call = 0,\n Callback,\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./assign-call-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./assign-call-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./assign-call-dialog.vue?vue&type=template&id=7222503f&\"\nimport script from \"./assign-call-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./assign-call-dialog.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:\"calls-table\"},[_c('div',[(_vm.canAssignCalls)?_c('b-btn',{staticClass:\"mb-3\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onAssignCalls}},[_vm._v(_vm._s(_vm.assignCallsText))]):_vm._e(),(_vm.canUnassignCalls)?_c('b-btn',{staticClass:\"mb-3 ml-1\",attrs:{\"variant\":\"danger\"},on:{\"click\":_vm.onUnassignCalls}},[_vm._v(_vm._s(_vm.unassignCallsText))]):_vm._e()],1),_c('div',[_c('table',{staticClass:\"table table-hover\"},[_c('thead',[_c('tr',[_c('th',{attrs:{\"scope\":\"col\"}},[_c('b-form-checkbox',{model:{value:(_vm.selectAll),callback:function ($$v) {_vm.selectAll=$$v},expression:\"selectAll\"}})],1),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Account No\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Client Name\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Assigned To\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Introducer\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Last Interaction Date\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Call Due Date\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Time\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Call Type\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Status\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Assigned User(s)\")])])]),_c('tbody',_vm._l((_vm.rows),function(call,index){return _c('tr',{key:index},[_c('td',[_c('b-form-checkbox',{model:{value:(call.selected),callback:function ($$v) {_vm.$set(call, \"selected\", $$v)},expression:\"call.selected\"}})],1),_c('td',[_vm._v(_vm._s(call.accountNo))]),_c('td',[_vm._v(_vm._s(_vm.clientName(call)))]),_c('td',[_vm._v(_vm._s(_vm.partnerPracticeName(call.partnerPracticeId)))]),_c('td',[_vm._v(_vm._s(_vm.originalSourceDescription(call.originalSourceId)))]),_c('td',[_vm._v(_vm._s(_vm._f(\"date\")(call.lastInteractionDate)))]),_c('td',[_vm._v(_vm._s(_vm._f(\"date\")(call.date)))]),_c('td',[_vm._v(_vm._s(_vm._f(\"time\")(call.date)))]),_c('td',[_c('div',[_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"primary\"}},[_vm._v(_vm._s(_vm.callTypeText(call.type)))]),_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"info\"}},[_vm._v(_vm._s(_vm.callReasonText(call.reason)))])],1)]),_c('td',[_c('div',[_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"warning\"}},[_vm._v(\"Pending\")])],1)]),_c('td',[_vm._v(_vm._s(_vm.formatAssignedUsers(call.users)))])])}),0),(_vm.rows.length == 0)?_c('tfoot',[_vm._m(0)]):_vm._e()]),_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.total,\"per-page\":_vm.pageSize},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}),_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))])],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{staticClass:\"text-center\",attrs:{\"colspan\":\"11\"}},[_vm._v(\"No Calls found matching the search filters\")])])}]\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\nimport { Call } from '@/shared/call';\nimport { CallReason } from '@/shared/call-reason';\nimport { CallType } from '@/shared/call-type';\nimport { CallUser } from '@/shared/call-user';\nimport { ClientOriginalSourceType } from '@/shared/types/client-original-source-type';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\n\n@Component\nexport default class CallsTable extends Vue {\n @partnerPracticesModule.Getter('partnerPracticeName') private partnerPracticeName!: (partnerPracticeId: string | null) => string;\n\n @typesModule.Getter('clientOriginalSourceTypes') private clientOriginalSourceTypes!: Array;\n\n @Prop({ required: true }) public calls!: Array;\n @Prop({ required: true }) public page!: number;\n @Prop({ required: true }) public pageSize!: number;\n @Prop({ required: true }) public total!: number;\n\n private currentPage: number = this.page;\n\n private rows: Array = new Array();\n private selectedCalls: Array = new Array();\n private selectAll: boolean = false;\n\n private get paginationDescription(): string {\n const start = (this.calls.length < 1) ? 0 : ((this.currentPage - 1) * this.pageSize) + 1;\n const end = start + this.pageSize > this.total ? this.total : start + this.pageSize - 1;\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.total.toLocaleString()}`;\n }\n\n private get canAssignCalls(): boolean {\n return this.selectedCalls.length > 0;\n }\n\n private get canUnassignCalls(): boolean {\n return this.selectedCalls.length > 0 && this.selectedCalls.some((call) => call.users.length > 0);\n }\n\n private get assignCallsText(): string {\n if (this.selectedCalls.length === 1 && this.selectedCalls.some((call) => call.users.length > 0)) {\n return 'Re-assign Call';\n } else if (this.selectedCalls.length > 1 && this.selectedCalls.some((call) => call.users.length > 0)) {\n return 'Re-assign Calls';\n } else if (this.selectedCalls.length > 1) {\n return 'Assign Calls';\n } else {\n return 'Assign Call';\n }\n }\n\n public get unassignCallsText(): string {\n return this.selectedCalls.length > 1 ? 'Un-assign Calls' : 'Un-assign Call';\n }\n\n @Watch('page')\n private onPageChanged(page: number) {\n this.currentPage = page;\n }\n\n @Watch('currentPage')\n private onCurrentPageChanged(): void {\n this.$emit('page-changed', this.currentPage);\n }\n\n @Watch('selectAll')\n private onSelectAllChanged() {\n this.rows.forEach((row) => row.selected = this.selectAll);\n }\n\n @Watch('calls')\n private onCallsChanged(calls: Array): void {\n this.rows = [];\n calls.forEach((call) => this.rows.push({ ...call, selected: false }));\n }\n\n @Watch('rows', { deep: true })\n private onRowsChanged(): void {\n this.selectedCalls = this.rows.filter((row) => row.selected);\n }\n\n @Watch('selectedCalls')\n private onSelectedCallsChanged(): void {\n if (this.selectedCalls.length === 0) { this.selectAll = false; }\n }\n\n private clientName(call: Call): string {\n return `${call.firstName!.trim()} ${call.lastName!.trim()}`.trim();\n }\n\n private callTypeText(type: CallType): string | null {\n switch (type) {\n case CallType.Call:\n return 'Call';\n case CallType.Callback:\n return 'Callback';\n default:\n return '';\n }\n }\n\n private callReasonText(reason: CallReason): string | null {\n switch (reason) {\n case CallReason.General:\n return 'General';\n case CallReason.CancelledAppointment:\n return 'Appointment cancelled';\n case CallReason.GeneralReview:\n return 'General Review';\n case CallReason.NoShow:\n return 'No Show';\n default:\n return '';\n }\n }\n\n private originalSourceDescription(originalSourceId: string | null): string {\n const originalSource = this.clientOriginalSourceTypes.find((type) => type.id === originalSourceId!);\n return originalSource == null ? '' : originalSource.value;\n }\n\n private formatAssignedUsers(users: Array): string {\n const names = users.map((user) => `${user.firstName!.trim()} ${user.lastName!.trim()}`.trim());\n return names\n .sort((a, b) => {\n if (a > b) { return 1; }\n if (a < b) { return -1; }\n return 0;\n })\n .join(', ');\n }\n\n private async onAssignCalls(): Promise {\n this.$emit('assign-calls', [...this.selectedCalls]);\n }\n\n private onUnassignCalls(): void {\n this.$emit('unassign-calls', [...this.selectedCalls]);\n }\n}\n\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./calls-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./calls-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./calls-table.vue?vue&type=template&id=2beb21dc&\"\nimport script from \"./calls-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./calls-table.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { CallApi } from '@/api/call';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport assignCallDialog from '@/components/call-management/assign-call-dialog.vue';\nimport callsTable from '@/components/call-management/calls-table.vue';\nimport loading from '@/components/loading.vue';\nimport layout from '@/layouts/app.vue';\nimport { Call } from '@/shared/call';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { DateTime } from 'luxon';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst callApi = new CallApi();\n\nconst AM = 'AM';\nconst PM = 'PM';\n\n@Component({\n components: {\n assignCallDialog,\n callsTable,\n layout,\n loading,\n },\n})\nexport default class ManageCallList extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n\n private isLoading: boolean = false;\n private currentPage: number = 1;\n private pageSize: number = 50;\n private total: number = 0;\n private calls: Array = new Array();\n private partnerPracticeFilter: string | null = null;\n private dueDateFilter: string | Date | null = new Date();\n private originalSourceFilter: string | null = null;\n private callTypeFilter: number | null = null;\n private assignedStatusFilter: boolean | null = null;\n private clientFirstNameFilter: string | null = null;\n private clientLastNameFilter: string | null = null;\n private lastCalledDatePeriodFilter: number | null = null;\n private lastCalledDateFromFilter: string | Date | null = null;\n private lastCalledDateToFilter: string | Date | null = null;\n private dueTimeHourFilter: number = 23;\n private dueTimeMinuteFilter: number = 45;\n private dueTimeMeridianFilter: string = PM;\n private dueTimeUseTwentyFourHours: boolean = false;\n private assignedUserFilter: string | null = null;\n private selectedCalls: Array = new Array();\n private selectedPartnerPractice: PartnerPractice | null = null;\n private assignCallDialogVisible: boolean = false;\n private unassignCallConfirmationVisible: boolean = false;\n\n private datePeriods = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Current Day' },\n { id: 1, value: 'Current Week' },\n { id: 2, value: 'Previous Week' },\n { id: 3, value: 'Current Month' },\n { id: 4, value: 'Previous Month' },\n { id: 5, value: 'Current Quarter' },\n { id: 6, value: 'Previous Quarter' },\n { id: 7, value: 'Current Year' },\n { id: 8, value: 'Previous Year' },\n { id: 9, value: 'Custom Dates' },\n ]);\n\n private get isCustomLastCalledDatePeriodFilter(): boolean {\n return this.lastCalledDatePeriodFilter === 9;\n }\n\n public get hours(): Array<{ id: number, value: string }> {\n const result: Array<{ id: number, value: string }> = [];\n\n for (let i = 0; i < (this.dueTimeUseTwentyFourHours ? 24 : 12); i++) {\n let id = i;\n let value: string = id.toString();\n\n if (!this.dueTimeUseTwentyFourHours) {\n id = i + 1;\n value = id.toString();\n\n if (this.dueTimeMeridianFilter === AM) {\n if (id === 12) {\n id = 0;\n }\n } else {\n if (id !== 12) {\n id += 12;\n }\n }\n }\n\n result.push({ id, value: value.padStart(2, '0') });\n }\n\n return result;\n }\n\n private get minutes(): Array<{ id: number, value: string }> {\n return [\n { id: 0, value: '00' },\n { id: 15, value: '15' },\n { id: 30, value: '30' },\n { id: 45, value: '45' },\n ];\n }\n\n @Watch('dueTimeUseTwentyFourHours')\n private onDueTimeUseTwentyFourHoursChanged(): void {\n this.dueTimeMeridianFilter = this.dueTimeHourFilter >= 12 ? PM : AM;\n }\n\n private async fetchCallsAsync(): Promise {\n if (!await this.$validator.validateAll()) { return; }\n\n try {\n this.isLoading = true;\n\n const selectedDueDate = DateTime.fromJSDate(new Date(this.dueDateFilter!))\n .set({ hour: this.dueTimeHourFilter!, minute: this.dueTimeMinuteFilter! })\n .toUTC()\n .toJSDate();\n\n const result = await callApi.getCallsAsync({\n page: this.currentPage,\n pageSize: this.pageSize,\n partnerPracticeId: this.partnerPracticeFilter,\n dueDate: selectedDueDate,\n originalSourceId: this.originalSourceFilter,\n callType: this.callTypeFilter,\n assignedStatus: this.assignedStatusFilter,\n clientFirstName: this.clientFirstNameFilter,\n clientLastName: this.clientLastNameFilter,\n lastInteractionDatePeriod: this.lastCalledDatePeriodFilter,\n lastInteractionDateFrom: this.lastCalledDateFromFilter,\n lastInteractionDateTo: this.lastCalledDateToFilter,\n assignedUserId: this.assignedUserFilter,\n });\n\n this.calls = result.calls;\n this.total = result.total;\n } catch (e) {\n if (e instanceof (Forbidden)) {\n this.$router.push({ name: `forbidden` });\n } else if (e instanceof (Error)) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not load calls.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private async onPageChangedAsync(value: number): Promise {\n this.currentPage = value;\n await this.fetchCallsAsync();\n }\n\n private onAssignCalls(calls: Array): void {\n this.selectedCalls = calls;\n this.assignCallDialogVisible = true;\n }\n\n private onUnassignCalls(calls: Array): void {\n this.selectedCalls = calls;\n this.unassignCallConfirmationVisible = true;\n }\n\n private async onCallsAssignedAsync(): Promise {\n this.$snackbar.open({ message: `Calls successfully assigned.`, type: 'is-success' });\n\n this.onCancel();\n await this.fetchCallsAsync();\n }\n\n private async onCallsUnassignedAsync(): Promise {\n try {\n await callApi.unassignCallsAsync({ calls: this.selectedCalls.map((call) => call.id!) });\n this.$snackbar.open({ message: `Calls successfully un-assigned.`, type: 'is-success' });\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: `forbidden` });\n } else if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not un-assign calls, please try again.`, type: 'is-danger' });\n }\n }\n\n this.onCancel();\n await this.fetchCallsAsync();\n }\n\n private onClearFilters(): void {\n this.partnerPracticeFilter = null;\n this.dueDateFilter = new Date();\n this.originalSourceFilter = null;\n this.callTypeFilter = null;\n this.assignedStatusFilter = null;\n this.clientFirstNameFilter = null;\n this.clientLastNameFilter = null;\n this.lastCalledDatePeriodFilter = null;\n this.lastCalledDateFromFilter = null;\n this.lastCalledDateToFilter = null;\n this.dueTimeHourFilter = 23;\n this.dueTimeMinuteFilter = 45;\n this.dueTimeMeridianFilter = PM;\n this.assignedUserFilter = null;\n }\n\n private onCancel(): void {\n this.assignCallDialogVisible = false;\n this.unassignCallConfirmationVisible = false;\n this.selectedCalls = [];\n }\n\n private onDueTimeMeridianFilterChanged(value: string | null): void {\n if (value === AM) {\n this.dueTimeHourFilter = this.dueTimeHourFilter === 12 ? 0 : this.dueTimeHourFilter - 12;\n } else {\n this.dueTimeHourFilter = this.dueTimeHourFilter === 0 ? 12 : this.dueTimeHourFilter + 12;\n }\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`users/loadAllUsersAsync`),\n ]);\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manage-call-list.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manage-call-list.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./manage-call-list.vue?vue&type=template&id=74da8626&\"\nimport script from \"./manage-call-list.vue?vue&type=script&lang=ts&\"\nexport * from \"./manage-call-list.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:\"call-list\"},[_c('div',{staticClass:\"row pb-3 align-items-center justify-content-between\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading calls, please wait...\")]),_vm._m(0)],1),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('next-available-call-table',{attrs:{\"call\":_vm.nextAvailableCall},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar call = ref.call;\nreturn [_c('b-btn',{attrs:{\"size\":\"sm\"},on:{\"click\":function($event){return _vm.beginCallAsync(call)}}},[_vm._v(\"Begin Call\")])]}}])})],1)]),_vm._m(1),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('my-callbacks-table',{attrs:{\"calls\":_vm.callbacks},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar call = ref.call;\nreturn [_c('b-btn',{attrs:{\"size\":\"sm\"},on:{\"click\":function($event){return _vm.beginCallAsync(call)}}},[_vm._v(\"Begin Call\")])]}}])})],1)]),_vm._m(2),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('my-active-calls-table',{attrs:{\"calls\":_vm.activeCalls},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar call = ref.call;\nreturn [_c('b-btn',{attrs:{\"size\":\"sm\",\"to\":{ name: 'view-client', params: { id: call.clientId } },\"target\":\"_blank\"}},[_vm._v(\"View Client\")])]}}])})],1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col\"},[_c('h2',[_vm._v(\"Next Available Call\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row pb-3 align-items-center justify-content-between\"},[_c('div',{staticClass:\"col\"},[_c('h2',[_vm._v(\"My Callbacks\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row pb-3 align-items-center justify-content-between\"},[_c('div',{staticClass:\"col\"},[_c('h2',[_vm._v(\"My Active Calls\")])])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"my-active-calls-table\"},[_c('b-table',{attrs:{\"fixed\":\"\",\"hover\":\"\",\"show-empty\":\"\",\"items\":_vm.calls,\"fields\":_vm.callFields,\"current-page\":_vm.currentPage,\"per-page\":_vm.pageSize,\"empty-text\":\"No calls available\"},scopedSlots:_vm._u([{key:\"cell(client)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.clientName(item))+\"\\n \")]}},{key:\"cell(partnerPractice)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.partnerPracticeName(item.partnerPracticeId))+\"\\n \")]}},{key:\"cell(originalSource)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.originalSourceDescription(item.originalSourceId))+\"\\n \")]}},{key:\"cell(date)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.startedDate))+\"\\n \")]}},{key:\"cell(time)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"time\")(item.startedDate))+\"\\n \")]}},{key:\"cell(type)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(_vm._s(_vm.callTypeText(item.type)))]),_c('b-badge',{attrs:{\"variant\":\"info\"}},[_vm._v(_vm._s(_vm.callReasonText(item.reason)))])]}},{key:\"cell(actions)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._t(\"actions\",null,{\"call\":item})]}}],null,true)}),(_vm.totalRows > _vm.pageSize)?_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"per-page\":_vm.pageSize,\"totalRows\":_vm.totalRows},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}):_vm._e(),(_vm.totalRows > _vm.pageSize)?_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))]):_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\nimport { Call } from '@/shared/call';\nimport { CallReason } from '@/shared/call-reason';\nimport { CallType } from '@/shared/call-type';\nimport { ClientOriginalSourceType } from '@/shared/types/client-original-source-type';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\n\n@Component\nexport default class MyActiveCallsTable extends Vue {\n @partnerPracticesModule.Getter('partnerPracticeName') private partnerPracticeName!: (partnerPracticeId: string | null) => string;\n @typesModule.Getter('clientOriginalSourceTypes') private clientOriginalSourceTypes!: Array;\n\n @Prop({ required: true }) private calls!: Array;\n\n private currentPage: number = 1;\n private pageSize: number = 10;\n\n private get callFields(): Array<{}> {\n return [\n { key: 'accountNo', label: 'Account No' },\n { key: 'client', label: 'Client Name' },\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'originalSource', label: 'Introducer' },\n { key: 'date', label: 'Call Date' },\n { key: 'time', label: 'Time' },\n { key: 'type', label: 'Call Type' },\n { key: 'actions', label: '', class: 'col-1', tdClass: 'text-right' },\n ];\n }\n\n private get totalRows(): number {\n return this.calls.length;\n }\n\n private get paginationDescription(): string {\n const start: number = (this.calls.length < 1) ? 0 : ((this.currentPage - 1) * this.pageSize) + 1;\n const end: number = start + this.pageSize > this.totalRows ? this.totalRows : start + this.pageSize - 1;\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.totalRows.toLocaleString()}`;\n }\n\n private clientName(call: Call): string {\n return `${call.firstName!.trim()} ${call.lastName!.trim()}`.trim();\n }\n\n private originalSourceDescription(originalSourceId: string | null): string {\n const originalSource = this.clientOriginalSourceTypes.find((type) => type.id! === originalSourceId!);\n return originalSource == null ? '' : originalSource.value;\n }\n\n private callTypeText(type: CallType): string {\n switch (type) {\n case CallType.Call:\n return 'Call';\n case CallType.Callback:\n return 'Callback';\n default:\n return '';\n }\n }\n\n private callReasonText(reason: CallReason): string {\n switch (reason) {\n case CallReason.General:\n return 'General';\n case CallReason.CancelledAppointment:\n return 'Appointment Cancelled';\n case CallReason.GeneralReview:\n return 'General Review';\n case CallReason.NoShow:\n return 'No Show';\n default:\n return '';\n }\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./my-active-calls-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./my-active-calls-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./my-active-calls-table.vue?vue&type=template&id=237fd374&\"\nimport script from \"./my-active-calls-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./my-active-calls-table.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:\"my-callbacks-table\"},[_c('b-table',{attrs:{\"fixed\":\"\",\"hover\":\"\",\"show-empty\":\"\",\"items\":_vm.calls,\"fields\":_vm.callFields,\"current-page\":_vm.currentPage,\"per-page\":_vm.pageSize,\"empty-text\":\"No calls available\"},scopedSlots:_vm._u([{key:\"cell(client)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.clientName(item))+\"\\n \")]}},{key:\"cell(partnerPractice)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.partnerPracticeName(item.partnerPracticeId))+\"\\n \")]}},{key:\"cell(originalSource)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.originalSourceDescription(item.originalSourceId))+\"\\n \")]}},{key:\"cell(date)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.date))+\"\\n \")]}},{key:\"cell(time)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"time\")(item.date))+\"\\n \")]}},{key:\"cell(type)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(_vm._s(_vm.callTypeText(item.type)))]),_c('b-badge',{attrs:{\"variant\":\"info\"}},[_vm._v(_vm._s(_vm.callReasonText(item.reason)))])]}},{key:\"cell(actions)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._t(\"actions\",null,{\"call\":item})]}}],null,true)}),(_vm.totalRows > _vm.pageSize)?_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"per-page\":_vm.pageSize,\"totalRows\":_vm.totalRows},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}):_vm._e(),(_vm.totalRows > _vm.pageSize)?_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))]):_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\nimport { Call } from '@/shared/call';\nimport { CallReason } from '@/shared/call-reason';\nimport { CallType } from '@/shared/call-type';\nimport { ClientOriginalSourceType } from '@/shared/types/client-original-source-type';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\n\n@Component\nexport default class MyCallbacksTable extends Vue {\n @partnerPracticesModule.Getter('partnerPracticeName') private partnerPracticeName!: (partnerPracticeId: string | null) => string;\n @typesModule.Getter('clientOriginalSourceTypes') private clientOriginalSourceTypes!: Array;\n\n @Prop({ required: true }) private calls!: Array;\n\n private currentPage: number = 1;\n private pageSize: number = 10;\n\n private get callFields(): Array<{}> {\n return [\n { key: 'accountNo', label: 'Account No' },\n { key: 'client', label: 'Client Name' },\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'originalSource', label: 'Introducer' },\n { key: 'date', label: 'Callback Date' },\n { key: 'time', label: 'Time' },\n { key: 'type', label: 'Call Type' },\n { key: 'actions', label: '', class: 'col-1', tdClass: 'text-right' },\n ];\n }\n\n private get totalRows(): number {\n return this.calls.length;\n }\n\n private get paginationDescription(): string {\n const start: number = (this.calls.length < 1) ? 0 : ((this.currentPage - 1) * this.pageSize) + 1;\n const end: number = start + this.pageSize > this.totalRows ? this.totalRows : start + this.pageSize - 1;\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.totalRows.toLocaleString()}`;\n }\n\n private clientName(call: Call): string {\n return `${call.firstName!.trim()} ${call.lastName!.trim()}`.trim();\n }\n\n private originalSourceDescription(originalSourceId: string | null): string {\n const originalSource = this.clientOriginalSourceTypes.find((type) => type.id! === originalSourceId!);\n return originalSource == null ? '' : originalSource.value;\n }\n\n private callTypeText(type: CallType): string {\n switch (type) {\n case CallType.Call:\n return 'Call';\n case CallType.Callback:\n return 'Callback';\n default:\n return '';\n }\n }\n\n private callReasonText(reason: CallReason): string {\n switch (reason) {\n case CallReason.General:\n return 'General';\n case CallReason.CancelledAppointment:\n return 'Appointment Cancelled';\n case CallReason.GeneralReview:\n return 'General Review';\n case CallReason.NoShow:\n return 'No Show';\n default:\n return '';\n }\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./my-callbacks-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./my-callbacks-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./my-callbacks-table.vue?vue&type=template&id=08778a7c&\"\nimport script from \"./my-callbacks-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./my-callbacks-table.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:\"next-available-call-table\"},[_c('b-table',{attrs:{\"fixed\":\"\",\"hover\":\"\",\"show-empty\":\"\",\"items\":_vm.calls,\"fields\":_vm.callFields,\"empty-text\":\"No calls available\"},scopedSlots:_vm._u([{key:\"cell(client)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.clientName(item))+\"\\n \")]}},{key:\"cell(partnerPractice)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.partnerPracticeName(item.partnerPracticeId))+\"\\n \")]}},{key:\"cell(originalSource)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.originalSourceDescription(item.originalSourceId))+\"\\n \")]}},{key:\"cell(date)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.date))+\"\\n \")]}},{key:\"cell(time)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"time\")(item.date))+\"\\n \")]}},{key:\"cell(type)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(_vm._s(_vm.callTypeText(item.type)))]),_c('b-badge',{attrs:{\"variant\":\"info\"}},[_vm._v(_vm._s(_vm.callReasonText(item.reason)))])]}},{key:\"cell(actions)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._t(\"actions\",null,{\"call\":item})]}}],null,true)})],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\nimport { Call } from '@/shared/call';\nimport { CallReason } from '@/shared/call-reason';\nimport { CallType } from '@/shared/call-type';\nimport { ClientOriginalSourceType } from '@/shared/types/client-original-source-type';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\n\n@Component\nexport default class NextAvailableCallTable extends Vue {\n @partnerPracticesModule.Getter('partnerPracticeName') private partnerPracticeName!: (partnerPracticeId: string | null) => string;\n @typesModule.Getter('clientOriginalSourceTypes') private clientOriginalSourceTypes!: Array;\n\n @Prop({ required: true }) private call!: Call;\n\n private get calls(): Array {\n return this.call == null ? [] : [{ ...this.call! }];\n }\n\n private get callFields(): Array<{}> {\n return [\n { key: 'accountNo', label: 'Account No' },\n { key: 'client', label: 'Client Name' },\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'originalSource', label: 'Introducer' },\n { key: 'date', label: 'Call Due Date' },\n { key: 'time', label: 'Time' },\n { key: 'type', label: 'Call Type' },\n { key: 'actions', label: '', class: 'col-1', tdClass: 'text-right' },\n ];\n }\n\n private clientName(call: Call): string {\n return `${call.firstName!.trim()} ${call.lastName!.trim()}`.trim();\n }\n\n private originalSourceDescription(originalSourceId: string | null): string {\n const originalSource = this.clientOriginalSourceTypes.find((type) => type.id! === originalSourceId!);\n return originalSource == null ? '' : originalSource.value;\n }\n\n private callTypeText(type: CallType): string {\n switch (type) {\n case CallType.Call:\n return 'Call';\n case CallType.Callback:\n return 'Callback';\n default:\n return '';\n }\n }\n\n private callReasonText(reason: CallReason): string {\n switch (reason) {\n case CallReason.General:\n return 'General';\n case CallReason.CancelledAppointment:\n return 'Appointment Cancelled';\n case CallReason.GeneralReview:\n return 'General Review';\n case CallReason.NoShow:\n return 'No Show';\n default:\n return '';\n }\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./next-available-call-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./next-available-call-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./next-available-call-table.vue?vue&type=template&id=f9a0a114&\"\nimport script from \"./next-available-call-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./next-available-call-table.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\nimport { CallApi } from '@/api/call';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport myActiveCallsTable from '@/components/calls/my-active-calls-table.vue';\nimport myCallbacksTable from '@/components/calls/my-callbacks-table.vue';\nimport nextAvailableCallTable from '@/components/calls/next-available-call-table.vue';\nimport loading from '@/components/loading.vue';\nimport layout from '@/layouts/app.vue';\nimport { Call } from '@/shared/call';\nimport { Component, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst callsModule = namespace('calls');\nconst callApi = new CallApi();\n\n@Component({\n components: {\n layout,\n loading,\n myActiveCallsTable,\n myCallbacksTable,\n nextAvailableCallTable,\n },\n})\nexport default class CallList extends Vue {\n @callsModule.Getter('nextAvailableCall') private nextAvailableCall!: Call | null;\n @callsModule.Getter('callbacks') private callbacks!: Array;\n @callsModule.Getter('activeCalls') private activeCalls!: Array;\n\n private isLoading: boolean = true;\n\n private async beginCallAsync(call: Call): Promise {\n try {\n await callApi.beginCallAsync(call);\n this.$router.push({ name: 'view-client', params: { id: call.clientId! } });\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not begin call with ${call.firstName!.trim()} ${call.lastName!.trim()}.`, type: 'is-danger' });\n }\n }\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`calls/loadMyCallsAsync`),\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n ]);\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./call-list.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./call-list.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./call-list.vue?vue&type=template&id=69b5c46b&\"\nimport script from \"./call-list.vue?vue&type=script&lang=ts&\"\nexport * from \"./call-list.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:\"search-clients\"},[_c('div',{staticClass:\"row pb-3 align-items-center justify-content-between\"},[_vm._m(0),_c('div',{staticClass:\"col text-right\"},[_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.showAddClientDialog}},[_vm._v(\"Add Client\")])],1)]),_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-sm-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true,\"rlg-data\":true},model:{value:(_vm.partnerPracticeId),callback:function ($$v) {_vm.partnerPracticeId=$$v},expression:\"partnerPracticeId\"}})],1),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_vm._m(1),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accountNumber),expression:\"accountNumber\"},{name:\"validate\",rawName:\"v-validate\",value:('numeric'),expression:\"'numeric'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('accountNo') },attrs:{\"type\":\"text\",\"name\":\"accountNo\",\"data-vv-as\":\"account no\"},domProps:{\"value\":(_vm.accountNumber)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onSearch($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.accountNumber=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('accountNo')),expression:\"errors.has('accountNo')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('accountNo')))])])]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_vm._m(2),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.lastName),expression:\"lastName\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"surname\"},domProps:{\"value\":(_vm.lastName)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onSearch($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.lastName=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_vm._m(3),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.firstName),expression:\"firstName\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"firstName\"},domProps:{\"value\":(_vm.firstName)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onSearch($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.firstName=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_vm._m(4),_c('datepicker',{attrs:{\"name\":\"dateOfBirth\"},model:{value:(_vm.dateOfBirth),callback:function ($$v) {_vm.dateOfBirth=$$v},expression:\"dateOfBirth\"}})],1)])]),_c('b-collapse',{attrs:{\"id\":\"advancedSearch\"}},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"postcode\"}},[_c('strong',[_vm._v(\"Postcode:\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.postcode),expression:\"postcode\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"postcode\"},domProps:{\"value\":(_vm.postcode)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onSearch($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.postcode=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"accountStatus\"}},[_c('strong',[_vm._v(\"Account Status: \")])]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accountStatusId),expression:\"accountStatusId\"}],staticClass:\"form-control\",attrs:{\"name\":\"accountStatus\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.accountStatusId=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.statusTypes),function(status){return _c('option',{key:status.id,domProps:{\"value\":status.id}},[_vm._v(_vm._s(status.value))])})],2)])]),_c('div',{staticClass:\"col-sm-2\"},[_c('original-source-select',{attrs:{\"partner-practice-id\":_vm.partnerPracticeId},model:{value:(_vm.originalSourceId),callback:function ($$v) {_vm.originalSourceId=$$v},expression:\"originalSourceId\"}})],1),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"telephone\"}},[_c('strong',[_vm._v(\"Telephone:\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.telephone),expression:\"telephone\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"telephone\"},domProps:{\"value\":(_vm.telephone)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onSearch($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.telephone=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"rlgReference\"}},[_c('strong',[_vm._v(\"Right Legal Reference:\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.rlgReference),expression:\"rlgReference\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"rlgReference\"},domProps:{\"value\":(_vm.rlgReference)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onSearch($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.rlgReference=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"partnerPracticeReference\"}},[_c('strong',[_vm._v(\"Partner Practice Reference:\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.partnerPracticeReference),expression:\"partnerPracticeReference\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"partnerPracticeReference\"},domProps:{\"value\":(_vm.partnerPracticeReference)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onSearch($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.partnerPracticeReference=$event.target.value}}})])])])]),_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"\"}},[_vm._v(\" \")]),_c('b-btn',{staticClass:\"form-control\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onSearch}},[_vm._v(\"Search\")])],1)]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('br'),_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.advancedSearch\",modifiers:{\"advancedSearch\":true}}],attrs:{\"href\":\"#\"}},[_vm._v(\"Advanced Search\")]),_vm._v(\"\\n  | \\n \"),_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.clearFilters}},[_vm._v(\"Clear Filters\")])])])]),_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading clients, please wait...\")]),_c('div',{staticClass:\"col\"},[_c('clients-table',{staticClass:\"mt-3\",attrs:{\"clients\":_vm.clients,\"page\":_vm.currentPage,\"page-size\":_vm.pageSize,\"total\":_vm.total,\"empty-text\":_vm.emptyText},on:{\"page-changed\":_vm.onPageChanged},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar client = ref.client;\nreturn [_c('b-dropdown',{attrs:{\"size\":\"sm\",\"text\":\"Actions\",\"right\":\"\"}},[_c('b-dropdown-item',{attrs:{\"to\":{ name: 'view-client', params: { id: client.id } },\"target\":\"_blank\"}},[_vm._v(\"View Client Account\")]),(_vm.canAddPartner(client))?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.showAddPartnerDialog(client)}}},[_vm._v(\"Add Partner\")]):_vm._e(),(client.partner != null)?_c('b-dropdown-item',{attrs:{\"to\":{ name: 'view-client', params: { id: client.partner.id } },\"target\":\"_blank\"}},[_vm._v(\"View Partner\")]):_vm._e(),(_vm.canBookAppointment(client))?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.showBookAppointmentDialog(client)}}},[_vm._v(\"Book Appointment\")]):_vm._e(),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.showLogInteractionDialog(client)}}},[_vm._v(\"Log Interaction\")])],1)]}}])})],1)],1),(_vm.addClientDialogVisible)?_c('add-client-dialog',{attrs:{\"visible\":_vm.addClientDialogVisible},on:{\"ok\":_vm.onClientCreated,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.selectedClient != null && _vm.bookAppointmentDialogVisible)?_c('book-appointment-dialog',{attrs:{\"visible\":_vm.bookAppointmentDialogVisible,\"client\":_vm.selectedClient},on:{\"ok\":_vm.onAppointmentBooked,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.selectedClient != null && _vm.logInteractionDialogVisible)?_c('log-interaction-dialog',{attrs:{\"client\":_vm.selectedClient,\"visible\":_vm.logInteractionDialogVisible},on:{\"ok\":_vm.onInteractionLogged,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.selectedClient != null && _vm.addPartnerDialogVisible)?_c('add-partner-dialog',{attrs:{\"client\":_vm.selectedClient,\"visible\":_vm.addPartnerDialogVisible},on:{\"ok\":_vm.onPartnerAdded,\"cancel\":_vm.onCancel}}):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col\"},[_c('h2',[_vm._v(\"Clients\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{attrs:{\"for\":\"accountNo\"}},[_c('strong',[_vm._v(\"Account Number:\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{attrs:{\"for\":\"surname\"}},[_c('strong',[_vm._v(\"Surname: \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{attrs:{\"for\":\"firstName\"}},[_c('strong',[_vm._v(\"First Name: \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{attrs:{\"for\":\"dateOfBirth\"}},[_c('strong',[_vm._v(\"Date of Birth: \")])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"centered\":\"\",\"body-class\":\"modal-stepper\",\"title\":\"Add Client\",\"size\":\"xl\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('stepper',{model:{value:(_vm.currentStep),callback:function ($$v) {_vm.currentStep=$$v},expression:\"currentStep\"}},[_c('step',{attrs:{\"title\":\"Account Details\",\"completed\":_vm.accountDetailsCompleted}},[_c('add-client-account-details',{ref:\"accountDetails\",attrs:{\"client\":_vm.client}})],1),_c('step',{attrs:{\"title\":\"Client Details\",\"disabled\":!_vm.accountDetailsCompleted,\"completed\":_vm.clientDetailsCompleted}},[_c('add-client-details',{ref:\"clientDetails\",attrs:{\"client\":_vm.client}})],1),_c('step',{attrs:{\"title\":\"Address Details\",\"disabled\":!_vm.clientDetailsCompleted,\"completed\":_vm.addressDetailsCompleted}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('loading',{attrs:{\"active\":_vm.isCheckingDuplicates}},[_vm._v(\"Checking for potential duplicate client accounts, please wait...\")]),_c('address-with-lookup',{ref:\"addressDetails\",attrs:{\"address\":_vm.client,\"allow-foreign-address\":true,\"compact\":true}})],1)])]),(_vm.duplicateAccounts.length > 0)?_c('step',{attrs:{\"title\":\"Potential Duplicates\",\"disabled\":!_vm.addressDetailsCompleted,\"completed\":_vm.duplicateAccountsCompleted}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('potential-duplicate-details',{ref:\"duplicateDetails\",attrs:{\"client\":_vm.client,\"duplicate-accounts\":_vm.duplicateAccounts}})],1)])]):_vm._e(),_c('step',{attrs:{\"title\":\"Additional Information\",\"disabled\":!_vm.duplicateAccountsCompleted,\"completed\":_vm.additionalInformationCompleted}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('add-client-additional-details',{ref:\"additionalDetails\",attrs:{\"client\":_vm.client}})],1)])]),_c('step',{attrs:{\"title\":\"Contact Preferences\",\"disabled\":!_vm.additionalInformationCompleted}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('contact-preference-details',{ref:\"contactDetails\",attrs:{\"client\":_vm.client}})],1)])])],1),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isBusy},on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),(_vm.currentStep > 0)?_c('b-btn',{attrs:{\"disabled\":_vm.isBusy},on:{\"click\":_vm.onPrevious}},[_vm._v(\"Previous\")]):_vm._e(),(_vm.currentStep < _vm.maxSteps)?_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isBusy},on:{\"click\":_vm.onNext}},[_vm._v(\"Next\")]):_vm._e(),(_vm.currentStep === _vm.maxSteps)?_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isBusy},on:{\"click\":function($event){return _vm.onSave(false)}}},[_vm._v(\"Create\")]):_vm._e(),(_vm.currentStep === _vm.maxSteps && _vm.canSaveAddAnother)?_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isBusy},on:{\"click\":function($event){return _vm.onSave(true)}}},[_vm._v(\"Create & Add Another\")]):_vm._e()],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export interface CreateClientRequest {\n id?: string | null;\n titleId: string | null;\n firstName: string | null;\n middleNames: string | null;\n lastName: string | null;\n dateOfBirth: Date | string | null;\n email: string | null;\n telephone: string | null;\n mobile: string | null;\n accountStatusId: string | null;\n partnerPracticeId: string | null;\n originalSourceId: string | null;\n addressLine1: string | null;\n addressLine2: string | null;\n addressLine3: string | null;\n town: string | null;\n county: string | null;\n postcode: string | null;\n isForeignAddress: boolean | false;\n foreignAddress: string | null;\n occupation: string | null;\n relationshipStatusId: string | null;\n nationalInsuranceNumber: string | null;\n isSensitive: boolean;\n hasCourtOfProtection: boolean;\n hasChildren: boolean | null;\n hasChildrenUnderEighteen: boolean | null;\n isHomeOwner: boolean | null;\n isBusinessOwner: boolean | null;\n canPost: boolean;\n canText: boolean;\n canEmail: boolean;\n canTelephone: boolean;\n}\n\nexport function createClientRequest(): CreateClientRequest {\n return {\n id: null,\n titleId: null,\n firstName: null,\n middleNames: null,\n lastName: null,\n dateOfBirth: null,\n email: null,\n telephone: null,\n mobile: null,\n accountStatusId: null,\n partnerPracticeId: null,\n originalSourceId: null,\n addressLine1: null,\n addressLine2: null,\n addressLine3: null,\n town: null,\n county: null,\n postcode: null,\n isForeignAddress: false,\n foreignAddress: null,\n occupation: null,\n relationshipStatusId: null,\n nationalInsuranceNumber: null,\n isSensitive: false,\n hasCourtOfProtection: false,\n hasChildren: null,\n hasChildrenUnderEighteen: null,\n isHomeOwner: null,\n isBusinessOwner: null,\n canPost: true,\n canText: true,\n canEmail: true,\n canTelephone: true,\n };\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"add-client-account-details\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"accountStatus\"}},[_vm._v(\"Account Status\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.accountStatusId),expression:\"client.accountStatusId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('account-details.accountStatus') },attrs:{\"name\":\"accountStatus\",\"id\":\"accountStatus\",\"data-vv-scope\":\"account-details\",\"data-vv-as\":\"account status\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.client, \"accountStatusId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.clientStatusTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('account-details.accountStatus')),expression:\"errors.has('account-details.accountStatus')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('account-details.accountStatus')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"partnerPractice\"}},[_vm._v(\"Assigned To\")]),(_vm.partnerPracticeTypes.length === 1)?_c('div',{staticClass:\"form-control\"},[_vm._v(_vm._s(_vm.partnerPracticeTypes[0].value))]):_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.partnerPracticeId),expression:\"client.partnerPracticeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('account-details.partnerPractice') },attrs:{\"name\":\"partnerPractice\",\"id\":\"partnerPractice\",\"data-vv-scope\":\"account-details\",\"data-vv-as\":\"assigned to\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.client, \"partnerPracticeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_c('option',{attrs:{\"value\":\"00000000-0000-0000-0000-000000000000\"}},[_vm._v(\"RLG Data\")]),_vm._l((_vm.partnerPracticeTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('account-details.partnerPractice')),expression:\"errors.has('account-details.partnerPractice')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('account-details.partnerPractice')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"introducer\"}},[_vm._v(\"Introducer\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.originalSourceId),expression:\"client.originalSourceId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('account-details.introducer') },attrs:{\"disabled\":_vm.isIntroducerDisabled,\"name\":\"introducer\",\"id\":\"introducer\",\"data-vv-scope\":\"account-details\",\"data-vv-as\":\"introducer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.client, \"originalSourceId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.filteredClientOriginalSourceTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('account-details.introducer')),expression:\"errors.has('account-details.introducer')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('account-details.introducer')))])])])])])}\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\nimport { PartnerPracticeApi } from '@/api/partner-practice';\nimport { CreateClientRequest } from '@/api/requests/clients/create-client-request';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { ClientOriginalSourceType } from '@/shared/types/client-original-source-type';\nimport { ClientStatusType } from '@/shared/types/client-status-type';\nimport { PartnerPracticeType } from '@/shared/types/partner-practice-type';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\nconst partnerPracticeApi = new PartnerPracticeApi();\n\n@Component\nexport default class AddClientAccountDetails extends Vue {\n @typesModule.Getter('activeClientStatusTypes') private clientStatusTypes!: Array;\n @typesModule.Getter('activeClientOriginalSourceTypes') private clientOriginalSourceTypes!: Array;\n @typesModule.Getter('activePartnerPracticeTypesForCurrentUser') private partnerPracticeTypes!: Array;\n\n @Prop({ required: true }) private client!: CreateClientRequest;\n\n private selectedPartnerPractice: PartnerPractice | null = null;\n\n private get isIntroducerDisabled(): boolean {\n return this.client.id != null || this.client.partnerPracticeId == null;\n }\n\n private get isRlgAcquisition(): boolean {\n return this.client.partnerPracticeId! === '00000000-0000-0000-0000-000000000000';\n }\n\n private get filteredClientOriginalSourceTypes(): Array {\n let originalSourceTypes: Array;\n\n if (this.isRlgAcquisition) {\n originalSourceTypes = [... this.clientOriginalSourceTypes.filter((type) => type.isValidForAcquisition)];\n } else if (this.selectedPartnerPractice == null) {\n return [];\n } else {\n originalSourceTypes = [... this.clientOriginalSourceTypes.filter((type) => this.selectedPartnerPractice!.originalSourceTypes.some((t) => t === type.id))];\n }\n\n return originalSourceTypes.sort((t1, t2) => {\n if (t1.value > t2.value) { return 1; }\n if (t1.value < t2.value) { return -1; }\n return 0;\n });\n }\n\n @Watch('client.partnerPracticeId', { immediate: true })\n private async onClientPartnerPracticeIdChanged(): Promise {\n if (this.client.partnerPracticeId == null) {\n this.client.originalSourceId = null;\n this.selectedPartnerPractice = null;\n return;\n }\n\n if (this.isRlgAcquisition) {\n const clientOriginalSourceType = this.clientOriginalSourceTypes.find((type) => type.id === this.client.originalSourceId);\n\n if (clientOriginalSourceType == null || !clientOriginalSourceType.isValidForAcquisition) {\n this.client.originalSourceId = null;\n }\n\n return;\n }\n\n this.selectedPartnerPractice = await partnerPracticeApi.getPartnerPracticeAsync(this.client.partnerPracticeId!);\n\n if (!this.selectedPartnerPractice.originalSourceTypes.some((type) => type === this.client.originalSourceId!)) {\n this.client.originalSourceId = null;\n }\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-client-account-details.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-client-account-details.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./add-client-account-details.vue?vue&type=template&id=333ee8ac&\"\nimport script from \"./add-client-account-details.vue?vue&type=script&lang=ts&\"\nexport * from \"./add-client-account-details.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:\"add-client-additional-details\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"occupation\"}},[_vm._v(\"Occupation\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.occupation),expression:\"client.occupation\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"occupation\"},domProps:{\"value\":(_vm.client.occupation)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.client, \"occupation\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"relationshipStatus\"}},[_vm._v(\"Relationship Status\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.relationshipStatusId),expression:\"client.relationshipStatusId\"}],staticClass:\"form-control\",attrs:{\"id\":\"relationshipStatus\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.client, \"relationshipStatusId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.clientRelationshipTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2)]),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"National Insurance Number\")]),_c('national-insurance-number-input',{ref:\"nationalInsuranceNumber\",attrs:{\"national-insurance-number\":_vm.client.nationalInsuranceNumber},on:{\"change\":_vm.onNationalInsuranceNumberChanged}})],1)]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"list-group list-group-flush\"},[_c('div',{staticClass:\"list-group-item\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_vm._m(0),_c('div',{staticClass:\"col-md-12 col-lg-8\"},[_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.isSensitive),expression:\"client.isSensitive\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":\"isSensitive\",\"id\":\"isSensitiveYes\"},domProps:{\"value\":true,\"checked\":_vm._q(_vm.client.isSensitive,true)},on:{\"change\":function($event){return _vm.$set(_vm.client, \"isSensitive\", true)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isSensitiveYes\"}},[_vm._v(\"Yes\")])]),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.isSensitive),expression:\"client.isSensitive\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":\"isSensitive\",\"id\":\"isSensitiveNo\"},domProps:{\"value\":false,\"checked\":_vm._q(_vm.client.isSensitive,false)},on:{\"change\":function($event){return _vm.$set(_vm.client, \"isSensitive\", false)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isSensitiveNo\"}},[_vm._v(\"No\")])])])])]),_c('div',{staticClass:\"list-group-item\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_vm._m(1),_c('div',{staticClass:\"col-md-12 col-lg-8\"},[_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.hasCourtOfProtection),expression:\"client.hasCourtOfProtection\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":\"hasCourtOfProtection\",\"id\":\"hasCourtOfProtectionYes\"},domProps:{\"value\":true,\"checked\":_vm._q(_vm.client.hasCourtOfProtection,true)},on:{\"change\":function($event){return _vm.$set(_vm.client, \"hasCourtOfProtection\", true)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"hasCourtOfProtectionYes\"}},[_vm._v(\"Yes\")])]),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.hasCourtOfProtection),expression:\"client.hasCourtOfProtection\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":\"hasCourtOfProtection\",\"id\":\"hasCourtOfProtectionNo\"},domProps:{\"value\":false,\"checked\":_vm._q(_vm.client.hasCourtOfProtection,false)},on:{\"change\":function($event){return _vm.$set(_vm.client, \"hasCourtOfProtection\", false)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"hasCourtOfProtectionNo\"}},[_vm._v(\"No\")])])])])]),_c('div',{staticClass:\"list-group-item\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_vm._m(2),_c('div',{staticClass:\"col-md-12 col-lg-8\"},[_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.hasChildren),expression:\"client.hasChildren\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":\"hasChildren\",\"id\":\"hasChildrenYes\"},domProps:{\"value\":true,\"checked\":_vm._q(_vm.client.hasChildren,true)},on:{\"change\":function($event){return _vm.$set(_vm.client, \"hasChildren\", true)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"hasChildrenYes\"}},[_vm._v(\"Yes\")])]),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.hasChildren),expression:\"client.hasChildren\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":\"hasChildren\",\"id\":\"hasChildrenNo\"},domProps:{\"value\":false,\"checked\":_vm._q(_vm.client.hasChildren,false)},on:{\"click\":_vm.onHasChildrenNoClicked,\"change\":function($event){return _vm.$set(_vm.client, \"hasChildren\", false)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"hasChildrenNo\"}},[_vm._v(\"No\")])]),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.hasChildren),expression:\"client.hasChildren\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":\"hasChildren\",\"id\":\"hasChildrenUnknown\"},domProps:{\"value\":null,\"checked\":_vm._q(_vm.client.hasChildren,null)},on:{\"click\":_vm.onHasChildrenUnknownClicked,\"change\":function($event){return _vm.$set(_vm.client, \"hasChildren\", null)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"hasChildrenUnknown\"}},[_vm._v(\"Unknown\")])])])])]),_c('div',{staticClass:\"list-group-item\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_vm._m(3),_c('div',{staticClass:\"col-md-12 col-lg-8\"},[_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.hasChildrenUnderEighteen),expression:\"client.hasChildrenUnderEighteen\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":\"hasChildrenUnderEighteen\",\"id\":\"hasChildrenUnderEighteenYes\"},domProps:{\"value\":true,\"checked\":_vm._q(_vm.client.hasChildrenUnderEighteen,true)},on:{\"click\":_vm.onHasChildrenUnderEighteenYesClicked,\"change\":function($event){return _vm.$set(_vm.client, \"hasChildrenUnderEighteen\", true)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"hasChildrenUnderEighteenYes\"}},[_vm._v(\"Yes\")])]),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.hasChildrenUnderEighteen),expression:\"client.hasChildrenUnderEighteen\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":\"hasChildrenUnderEighteen\",\"id\":\"hasChildrenUnderEighteenNo\"},domProps:{\"value\":false,\"checked\":_vm._q(_vm.client.hasChildrenUnderEighteen,false)},on:{\"change\":function($event){return _vm.$set(_vm.client, \"hasChildrenUnderEighteen\", false)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"hasChildrenUnderEighteenNo\"}},[_vm._v(\"No\")])]),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.hasChildrenUnderEighteen),expression:\"client.hasChildrenUnderEighteen\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":\"hasChildrenUnderEighteen\",\"id\":\"hasChildrenUnderEighteenUnknown\"},domProps:{\"value\":null,\"checked\":_vm._q(_vm.client.hasChildrenUnderEighteen,null)},on:{\"change\":function($event){return _vm.$set(_vm.client, \"hasChildrenUnderEighteen\", null)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"hasChildrenUnderEighteenUnknown\"}},[_vm._v(\"Unknown\")])])])])]),_c('div',{staticClass:\"list-group-item\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_vm._m(4),_c('div',{staticClass:\"col-md-12 col-lg-8\"},[_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.isHomeOwner),expression:\"client.isHomeOwner\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":\"isHomeOwner\",\"id\":\"isHomeOwnerYes\"},domProps:{\"value\":true,\"checked\":_vm._q(_vm.client.isHomeOwner,true)},on:{\"change\":function($event){return _vm.$set(_vm.client, \"isHomeOwner\", true)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isHomeOwnerYes\"}},[_vm._v(\"Yes\")])]),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.isHomeOwner),expression:\"client.isHomeOwner\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":\"isHomeOwner\",\"id\":\"isHomeOwnerNo\"},domProps:{\"value\":false,\"checked\":_vm._q(_vm.client.isHomeOwner,false)},on:{\"change\":function($event){return _vm.$set(_vm.client, \"isHomeOwner\", false)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isHomeOwnerNo\"}},[_vm._v(\"No\")])]),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.isHomeOwner),expression:\"client.isHomeOwner\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":\"isHomeOwner\",\"id\":\"isHomeOwnerUnknown\"},domProps:{\"value\":null,\"checked\":_vm._q(_vm.client.isHomeOwner,null)},on:{\"change\":function($event){return _vm.$set(_vm.client, \"isHomeOwner\", null)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isHomeOwnerUnknown\"}},[_vm._v(\"Unknown\")])])])])]),_c('div',{staticClass:\"list-group-item\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_vm._m(5),_c('div',{staticClass:\"col-md-12 col-lg-8\"},[_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.isBusinessOwner),expression:\"client.isBusinessOwner\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":\"isBusinessOwner\",\"id\":\"isBusinessOwnerYes\"},domProps:{\"value\":true,\"checked\":_vm._q(_vm.client.isBusinessOwner,true)},on:{\"change\":function($event){return _vm.$set(_vm.client, \"isBusinessOwner\", true)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isBusinessOwnerYes\"}},[_vm._v(\"Yes\")])]),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.isBusinessOwner),expression:\"client.isBusinessOwner\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":\"isBusinessOwner\",\"id\":\"isBusinessOwnerNo\"},domProps:{\"value\":false,\"checked\":_vm._q(_vm.client.isBusinessOwner,false)},on:{\"change\":function($event){return _vm.$set(_vm.client, \"isBusinessOwner\", false)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isBusinessOwnerNo\"}},[_vm._v(\"No\")])]),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.isBusinessOwner),expression:\"client.isBusinessOwner\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":\"isBusinessOwner\",\"id\":\"isBusinessOwnerUnknown\"},domProps:{\"value\":null,\"checked\":_vm._q(_vm.client.isBusinessOwner,null)},on:{\"change\":function($event){return _vm.$set(_vm.client, \"isBusinessOwner\", null)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isBusinessOwnerUnknown\"}},[_vm._v(\"Unknown\")])])])])])])])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-md-12 col-lg-4\"},[_c('div',{staticClass:\"font-weight-bold text-danger\"},[_vm._v(\"SENSITIVE\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-md-12 col-lg-4\"},[_c('div',{staticClass:\"font-weight-bold text-warning\"},[_vm._v(\"Court of Protection\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-md-12 col-lg-4\"},[_c('div',{staticClass:\"font-weight-bold\"},[_vm._v(\"Children\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-md-12 col-lg-4\"},[_c('div',{staticClass:\"font-weight-bold\"},[_vm._v(\"Children Under 18\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-md-12 col-lg-4\"},[_c('div',{staticClass:\"font-weight-bold\"},[_vm._v(\"Homeowner\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-md-12 col-lg-4\"},[_c('div',{staticClass:\"font-weight-bold\"},[_vm._v(\"Business Owner\")])])}]\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientRelationshipType } from '@/shared/types/client-relationship-type';\nimport { Validator } from 'vee-validate';\nimport { Component, Inject, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\n\n@Component\nexport default class AddClientAdditionalDetails extends Vue {\n @typesModule.Getter('activeClientRelationshipTypes') private clientRelationshipTypes!: Array;\n\n @Inject('$validator') public $validator!: Validator;\n @Prop({ required: true }) private client!: ClientAccount;\n\n private onNationalInsuranceNumberChanged(nationalInsuranceNumber: string | null): void {\n this.client.nationalInsuranceNumber = nationalInsuranceNumber;\n }\n\n private onHasChildrenNoClicked(): void {\n this.client.hasChildrenUnderEighteen = false;\n }\n\n private onHasChildrenUnknownClicked(): void {\n this.client.hasChildrenUnderEighteen = null;\n }\n\n private onHasChildrenUnderEighteenYesClicked(): void {\n this.client.hasChildren = true;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-client-additional-details.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-client-additional-details.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./add-client-additional-details.vue?vue&type=template&id=240b8fb1&\"\nimport script from \"./add-client-additional-details.vue?vue&type=script&lang=ts&\"\nexport * from \"./add-client-additional-details.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:\"add-client-details\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"title\"}},[_vm._v(\"Title\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.titleId),expression:\"client.titleId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('client-details.title') },attrs:{\"name\":\"title\",\"id\":\"title\",\"data-vv-scope\":\"client-details\",\"data-vv-as\":\"title\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.client, \"titleId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.clientTitleTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('client-details.title')),expression:\"errors.has('client-details.title')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('client-details.title')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"firstName\"}},[_vm._v(\"First Name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.firstName),expression:\"client.firstName\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('client-details.firstName') },attrs:{\"type\":\"text\",\"name\":\"firstName\",\"id\":\"firstName\",\"data-vv-scope\":\"client-details\",\"data-vv-as\":\"first name\"},domProps:{\"value\":(_vm.client.firstName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.client, \"firstName\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('client-details.firstName')),expression:\"errors.has('client-details.firstName')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('client-details.firstName')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"middleNames\"}},[_vm._v(\"Middle Name(s)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.middleNames),expression:\"client.middleNames\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"middleNames\"},domProps:{\"value\":(_vm.client.middleNames)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.client, \"middleNames\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"lastName\"}},[_vm._v(\"Last Name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.lastName),expression:\"client.lastName\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('client-details.lastName') },attrs:{\"type\":\"text\",\"name\":\"lastName\",\"id\":\"lastName\",\"data-vv-scope\":\"client-details\",\"data-vv-as\":\"last name\"},domProps:{\"value\":(_vm.client.lastName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.client, \"lastName\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('client-details.lastName')),expression:\"errors.has('client-details.lastName')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('client-details.lastName')))])])]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"dateOfBirth\"}},[_vm._v(\"Date of Birth\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:((\"date_format:dd/MM/yyyy|before:\" + _vm.validDateOfBirth)),expression:\"`date_format:dd/MM/yyyy|before:${validDateOfBirth}`\"}],class:{ 'is-invalid': _vm.errors.has('client-details.dateOfBirth') },attrs:{\"disabledDates\":{ from: _vm.endDate },\"open-date\":_vm.endDate,\"name\":\"dateOfBirth\",\"id\":\"dateOfBirth\",\"data-vv-scope\":\"client-details\",\"data-vv-as\":\"date of birth\"},model:{value:(_vm.client.dateOfBirth),callback:function ($$v) {_vm.$set(_vm.client, \"dateOfBirth\", $$v)},expression:\"client.dateOfBirth\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('client-details.dateOfBirth')),expression:\"errors.has('client-details.dateOfBirth')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('client-details.dateOfBirth')))])],1),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"emailAddress\"}},[_vm._v(\"Email Address\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.email),expression:\"client.email\"},{name:\"validate\",rawName:\"v-validate\",value:('email'),expression:\"'email'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('client-details.emailAddress') },attrs:{\"type\":\"text\",\"name\":\"emailAddress\",\"id\":\"emailAddress\",\"data-vv-scope\":\"client-details\",\"data-vv-as\":\"e-mail address\"},domProps:{\"value\":(_vm.client.email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.client, \"email\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('client-details.emailAddress')),expression:\"errors.has('client-details.emailAddress')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('client-details.emailAddress')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"telephone\"}},[_vm._v(\"Telephone\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.telephone),expression:\"client.telephone\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"telephone\"},domProps:{\"value\":(_vm.client.telephone)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.client, \"telephone\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"mobile\"}},[_vm._v(\"Mobile\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.mobile),expression:\"client.mobile\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"mobile\"},domProps:{\"value\":(_vm.client.mobile)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.client, \"mobile\", $event.target.value)}}})])])])])}\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\nimport { CreateClientRequest } from '@/api/requests/clients/create-client-request';\nimport { ClientTitleType } from '@/shared/types/client-title-type';\nimport { DateTime } from 'luxon';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\n\n@Component\nexport default class AddClientDetails extends Vue {\n @typesModule.Getter('activeClientTitleTypes') private clientTitleTypes!: Array;\n\n @Prop({ required: true }) private client!: CreateClientRequest;\n\n private endDate: Date = DateTime.local().minus({ years: 18 }).toJSDate();\n\n private get validDateOfBirth(): string {\n const validDate = DateTime.fromJSDate(this.endDate).plus({ days: 1 }).toFormat('dd/MM/yyyy');\n return `${validDate}`;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-client-details.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-client-details.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./add-client-details.vue?vue&type=template&id=1c4252df&\"\nimport script from \"./add-client-details.vue?vue&type=script&lang=ts&\"\nexport * from \"./add-client-details.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:\"contact-preference-details\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"list-group list-group-flush\"},[_c('div',{staticClass:\"list-group-item\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.canPost),expression:\"client.canPost\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"canPost\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.client.canPost)?_vm._i(_vm.client.canPost,true)>-1:(_vm.client.canPost)},on:{\"change\":function($event){var $$a=_vm.client.canPost,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.client, \"canPost\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.client, \"canPost\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.client, \"canPost\", $$c)}}}}),_c('label',{staticClass:\"form-check-label ml-1\",attrs:{\"for\":\"canPost\"}},[_vm._v(\"Post\")])])]),_c('div',{staticClass:\"list-group-item\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.canText),expression:\"client.canText\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"canSms\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.client.canText)?_vm._i(_vm.client.canText,true)>-1:(_vm.client.canText)},on:{\"change\":function($event){var $$a=_vm.client.canText,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.client, \"canText\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.client, \"canText\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.client, \"canText\", $$c)}}}}),_c('label',{staticClass:\"form-check-label ml-1\",attrs:{\"for\":\"canSms\"}},[_vm._v(\"SMS\")])])]),_c('div',{staticClass:\"list-group-item\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.canEmail),expression:\"client.canEmail\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"canEmail\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.client.canEmail)?_vm._i(_vm.client.canEmail,true)>-1:(_vm.client.canEmail)},on:{\"change\":function($event){var $$a=_vm.client.canEmail,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.client, \"canEmail\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.client, \"canEmail\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.client, \"canEmail\", $$c)}}}}),_c('label',{staticClass:\"form-check-label ml-1\",attrs:{\"for\":\"canEmail\"}},[_vm._v(\"E-Mail\")])])]),_c('div',{staticClass:\"list-group-item\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.canTelephone),expression:\"client.canTelephone\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"canTelephone\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.client.canTelephone)?_vm._i(_vm.client.canTelephone,true)>-1:(_vm.client.canTelephone)},on:{\"change\":function($event){var $$a=_vm.client.canTelephone,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.client, \"canTelephone\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.client, \"canTelephone\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.client, \"canTelephone\", $$c)}}}}),_c('label',{staticClass:\"form-check-label ml-1\",attrs:{\"for\":\"canTelephone\"}},[_vm._v(\"Telephone\")])])])])])])])])}\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\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class ContactPreferenceDetails extends Vue {\n @Prop({ required: true }) private client!: ClientAccount;\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contact-preference-details.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contact-preference-details.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./contact-preference-details.vue?vue&type=template&id=091d7d62&\"\nimport script from \"./contact-preference-details.vue?vue&type=script&lang=ts&\"\nexport * from \"./contact-preference-details.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:\"potential-duplicate-details\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"list-group selectable\"},_vm._l((_vm.duplicateAccounts),function(duplicate,index){return _c('div',{key:index,staticClass:\"list-group-item\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('div',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(duplicate.firstName)+\" \"+_vm._s(duplicate.lastName))]),_vm._v(\" – \"+_vm._s(_vm._f(\"singlelineaddress\")(duplicate))+\" \")]),_c('div',[_c('small',[_vm._v(\"Match: \"),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(duplicate.matchPercent)+\"%\")]),_vm._v(\", \")]),_c('small',[_vm._v(\"Account No: \"),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(duplicate.accountNo))]),_vm._v(\", \")]),(duplicate.dateOfBirth != null)?_c('small',[_vm._v(\"Date of Birth: \"),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm._f(\"date\")(duplicate.dateOfBirth)))]),_vm._v(\", \")]):_vm._e(),_c('small',[_vm._v(\"Account Status: \"),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.clientStatusTypeDescription(duplicate)))]),_vm._v(\", \")]),_c('small',[_vm._v(\"Assigned To: \"),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.partnerPracticeName(duplicate.partnerPracticeId)))]),_vm._v(\", \")]),_c('small',[_vm._v(\"Introducer: \"),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.clientOriginalSourceTypeDescription(duplicate)))])])])]),_c('div',{staticClass:\"col-auto\"},[(_vm.client.id === duplicate.id)?_c('b-btn',{attrs:{\"variant\":\"warning\",\"size\":\"sm\"},on:{\"click\":_vm.onCancelMerge}},[_vm._v(\"Cancel Merge\")]):_c('b-btn',{attrs:{\"variant\":\"danger\",\"size\":\"sm\"},on:{\"click\":function($event){return _vm.onMerge(duplicate)}}},[_c('svg',{staticClass:\"feather feather-git-merge\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('circle',{attrs:{\"cx\":\"18\",\"cy\":\"18\",\"r\":\"3\"}}),_c('circle',{attrs:{\"cx\":\"6\",\"cy\":\"6\",\"r\":\"3\"}}),_c('path',{attrs:{\"d\":\"M6 21V9a9 9 0 0 0 9 9\"}})]),_vm._v(\"\\n Merge\\n \")])],1),_c('div',{staticClass:\"col-auto\"},[_c('b-btn',{attrs:{\"variant\":\"light\",\"size\":\"sm\",\"target\":\"_blank\",\"to\":{ name: 'view-client', params: { id: duplicate.id } }}},[_c('svg',{staticClass:\"feather feather-external-link\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('path',{attrs:{\"d\":\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"}}),_c('polyline',{attrs:{\"points\":\"15 3 21 3 21 9\"}}),_c('line',{attrs:{\"x1\":\"10\",\"y1\":\"14\",\"x2\":\"21\",\"y2\":\"3\"}})]),_vm._v(\"\\n View\\n \")])],1)])])}),0)])])])}\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\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientAccountDuplicate } from '@/shared/clients/client-account-duplicate';\nimport { ClientOriginalSourceType } from '@/shared/types/client-original-source-type';\nimport { ClientStatusType } from '@/shared/types/client-status-type';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\n\n@Component\nexport default class PotentialDuplicateDetails extends Vue {\n @partnerPracticesModule.Getter('partnerPracticeName') private partnerPracticeName!: (partnerPracticeId: string | null) => string;\n @typesModule.Getter('clientStatusTypes') private clientStatusTypes!: Array;\n @typesModule.Getter('clientOriginalSourceTypes') private clientOriginalSourceTypes!: Array;\n\n @Prop({ required: true }) private client!: ClientAccount;\n @Prop({ required: true }) private duplicateAccounts!: Array;\n\n private originalClient: ClientAccount = { ...this.client };\n\n private clientStatusTypeDescription(duplicate: ClientAccountDuplicate): string {\n const clientStatusType = this.clientStatusTypes.find((type) => type.id === duplicate.accountStatusId);\n return clientStatusType == null ? '' : clientStatusType.value;\n }\n\n private clientOriginalSourceTypeDescription(duplicate: ClientAccountDuplicate): string {\n const clientOriginalSourceType = this.clientOriginalSourceTypes.find((type) => type.id === duplicate.originalSourceId);\n return clientOriginalSourceType == null ? '' : clientOriginalSourceType.value;\n }\n\n private onMerge(duplicate: ClientAccountDuplicate): void {\n this.client.id = duplicate.id!;\n }\n\n private onCancelMerge(): void {\n this.client.id = null;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./potential-duplicate-details.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./potential-duplicate-details.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./potential-duplicate-details.vue?vue&type=template&id=b7380c60&\"\nimport script from \"./potential-duplicate-details.vue?vue&type=script&lang=ts&\"\nexport * from \"./potential-duplicate-details.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\nimport { ClientAccountsApi } from '@/api/client-accounts';\nimport { CreateClientRequest, createClientRequest } from '@/api/requests/clients/create-client-request';\nimport addressWithLookup from '@/components/address-with-lookup.vue';\nimport addClientAccountDetails from '@/components/client/add-client/add-client-account-details.vue';\nimport addClientAdditionalDetails from '@/components/client/add-client/add-client-additional-details.vue';\nimport addClientDetails from '@/components/client/add-client/add-client-details.vue';\nimport contactPreferenceDetails from '@/components/client/add-client/contact-preference-details.vue';\nimport potentialDuplicateDetails from '@/components/client/add-client/potential-duplicate-details.vue';\nimport loading from '@/components/loading.vue';\nimport { ClientAccountDuplicate } from '@/shared/clients/client-account-duplicate';\nimport { PartnerPracticeType } from '@/shared/types/partner-practice-type';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\nconst userModule = namespace('user');\n\nconst clientApi = new ClientAccountsApi();\n\n@Component({\n components: {\n addressWithLookup,\n addClientAccountDetails,\n addClientAdditionalDetails,\n addClientDetails,\n contactPreferenceDetails,\n potentialDuplicateDetails,\n loading,\n },\n})\nexport default class AddClientDialog extends Vue {\n @typesModule.Getter('activePartnerPracticeTypesForCurrentUser') private partnerPracticeTypes!: Array;\n\n @userModule.Getter('isDataCreationExecutive') private isDataCreationExecutive!: boolean;\n @userModule.Getter('isDataCreationTeamLeader') private isDataCreationTeamLeader!: boolean;\n\n @Prop({ required: true }) private visible!: boolean;\n\n private isVisible: boolean = this.visible;\n private client: CreateClientRequest = createClientRequest();\n private currentStep: number = 0;\n private isBusy: boolean = false;\n private isCheckingDuplicates: boolean = false;\n private accountDetailsCompleted: boolean = false;\n private clientDetailsCompleted: boolean = false;\n private addressDetailsCompleted: boolean = false;\n private duplicateAccountsCompleted: boolean = false;\n private additionalInformationCompleted: boolean = false;\n private duplicateAccounts: Array = new Array();\n\n private get canSaveAddAnother(): boolean {\n return this.isDataCreationExecutive || this.isDataCreationTeamLeader;\n }\n\n private get maxSteps(): number {\n return this.duplicateAccounts.length ? 5 : 4;\n }\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.isVisible = visible;\n this.reset();\n }\n\n private async onNext(): Promise {\n let currentStep = this.currentStep;\n\n if (this.currentStep > 2 && !this.duplicateAccounts.length) {\n currentStep++;\n }\n\n switch (currentStep) {\n case 0: // Account Details\n if (!(await (this.$refs.accountDetails as Vue).$validator.validateAll('account-details'))) {\n return;\n }\n\n this.accountDetailsCompleted = true;\n break;\n\n case 1: // Client Details\n if (!(await (this.$refs.clientDetails as Vue).$validator.validateAll('client-details'))) {\n return;\n }\n\n this.clientDetailsCompleted = true;\n break;\n\n case 2: // Address Details\n if (!(await (this.$refs.addressDetails as Vue).$validator.validateAll('address-details'))) {\n return;\n }\n\n this.addressDetailsCompleted = true;\n\n if ((await this.getDuplicateClientAccounts()) < 1) {\n this.duplicateAccountsCompleted = true;\n }\n\n break;\n\n case 3: // Potential Duplicates\n this.duplicateAccountsCompleted = true;\n break;\n\n case 4: // Additional Information\n if (!(await (this.$refs.additionalDetails as Vue).$validator.validateAll('national-insurance-number'))) {\n return;\n }\n\n this.additionalInformationCompleted = true;\n break;\n }\n\n setTimeout(() => {\n this.currentStep++;\n }, 0);\n }\n\n private onPrevious(): void {\n this.currentStep--;\n }\n\n private async onSave(addAnother: boolean): Promise {\n if (!(await this.$validator.validateAll('account-details')) && !(await this.$validator.validateAll('client-details')) &&\n !(await this.$validator.validateAll('address-details')) && !(await this.$validator.validateAll('national-insurance-number'))) {\n return;\n }\n\n this.isBusy = true;\n\n try {\n const id = await clientApi.createClientAccountAsync(this.client);\n\n if (addAnother) {\n if (this.client.id == null) {\n this.$snackbar.open({ message: 'Client account successfully created.', type: 'is-success' });\n } else {\n this.$snackbar.open({ message: 'Client account successfully merged and updated.', type: 'is-success' });\n }\n\n this.reset();\n } else {\n this.$emit('ok', { id, isNew: this.client.id == null });\n }\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not create new client account, please try again.', type: 'is-danger' });\n }\n }\n\n this.isBusy = false;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n\n private reset(): void {\n this.currentStep = 0;\n this.isBusy = false;\n this.accountDetailsCompleted = false;\n this.clientDetailsCompleted = false;\n this.addressDetailsCompleted = false;\n this.duplicateAccountsCompleted = false;\n this.additionalInformationCompleted = false;\n this.client = createClientRequest();\n this.duplicateAccounts = [];\n this.$validator.errors.clear();\n\n if (this.partnerPracticeTypes.length === 1) {\n this.client.partnerPracticeId = this.partnerPracticeTypes[0].id!;\n }\n }\n\n private async getDuplicateClientAccounts(): Promise {\n this.isCheckingDuplicates = true;\n\n this.duplicateAccounts = [];\n\n const result = await clientApi.getDuplicatesAsync({ ...this.client });\n\n if (result != null && result.length) {\n this.duplicateAccounts = result.sort((n1, n2) => {\n if (n1.matchPercent! < n2.matchPercent!) { return 1; }\n if (n1.matchPercent! > n2.matchPercent!) { return -1; }\n return 0;\n });\n }\n\n this.isCheckingDuplicates = false;\n\n return this.duplicateAccounts.length;\n }\n\n private async mounted(): Promise {\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n this.$store.dispatch(`users/loadAllUsersAsync`),\n ]);\n\n if (this.partnerPracticeTypes.length === 1) {\n this.client.partnerPracticeId = this.partnerPracticeTypes[0].id!;\n }\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-client-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-client-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./add-client-dialog.vue?vue&type=template&id=fe3e7f06&\"\nimport script from \"./add-client-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./add-client-dialog.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('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"items\":_vm.clients,\"fields\":_vm.clientFields,\"no-provider-paging\":true,\"empty-text\":_vm.emptyText},scopedSlots:_vm._u([{key:\"cell(dateOfBirth)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.dateOfBirth))+\"\\n \")]}},{key:\"cell(accountStatus)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.getAccountStatus(item.accountStatusId))+\"\\n \")]}},{key:\"cell(partnerPractice)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.partnerPracticeName(item.partnerPracticeId))+\"\\n \")]}},{key:\"cell(originalSource)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.getOriginalSource(item.originalSourceId))+\"\\n \")]}},{key:\"cell(actions)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._t(\"actions\",null,{\"client\":item})]}},{key:\"cell(address)\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.isForeignAddress)?_c('span',[_vm._v(\"\\n \"+_vm._s(item.foreignAddress)+\"\\n \")]):_c('span',[_vm._v(\"\\n \"+_vm._s(_vm._f(\"singlelineaddress\")(item))+\"\\n \")])]}}],null,true)}),(_vm.total > 0)?_c('div',[_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.total,\"per-page\":_vm.pageSize},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}),_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))])],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\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientOriginalSourceType } from '@/shared/types/client-original-source-type';\nimport { ClientStatusType } from '@/shared/types/client-status-type';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\n\n@Component\nexport default class ClientsTable extends Vue {\n @partnerPracticesModule.Getter('partnerPracticeName') private partnerPracticeName!: (partnerPracticeId: string | null) => string;\n\n @typesModule.Getter('clientStatusTypes') private clientStatusTypes!: Array;\n @typesModule.Getter('clientOriginalSourceTypes') private clientOriginalSourceTypes!: Array;\n\n @Prop({ required: true }) private clients!: Array;\n @Prop({ required: true }) private page!: number;\n @Prop({ required: true }) private pageSize!: number;\n @Prop({ required: true }) private total!: number;\n @Prop({ required: true }) private emptyText!: string;\n\n private currentPage: number = this.page;\n\n public get clientFields(): Array<{}> {\n const fields = [\n { key: 'accountNo', label: 'Account No' },\n { key: 'firstName', label: 'First Name' },\n { key: 'lastName', label: 'Surname' },\n { key: 'dateOfBirth', label: 'Date of Birth' },\n { key: 'accountStatus', label: 'Account Status' },\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'originalSource', label: 'Introducer' },\n { key: 'address', label: 'Address' },\n { key: 'actions', label: '', class: 'col-1', tdClass: 'text-right' },\n ];\n\n return fields;\n }\n\n public get paginationDescription(): string {\n const start = (this.clients.length < 1)\n ? 0\n : ((this.currentPage - 1) * this.pageSize) + 1;\n\n const end = start + this.pageSize > this.total\n ? this.total\n : start + this.pageSize - 1;\n\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.total.toLocaleString()}`;\n }\n\n @Watch('page')\n private onPageChanged(page: number): void {\n this.currentPage = page;\n }\n\n @Watch('currentPage')\n private onCurrentPageChanged(): void {\n this.$emit('page-changed', this.currentPage);\n }\n\n private getAccountStatus(accountStatusId: string): string {\n const type = this.clientStatusTypes.find((t) => t.id === accountStatusId);\n return type == null ? '' : type.value;\n }\n\n private getOriginalSource(originalSourceId: string): string {\n const type = this.clientOriginalSourceTypes.find((t) => t.id === originalSourceId);\n return type == null ? '' : type.value;\n }\n}\n\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./clients-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./clients-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./clients-table.vue?vue&type=template&id=5c837d2c&\"\nimport script from \"./clients-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./clients-table.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('b-modal',{ref:\"modal\",attrs:{\"size\":\"xl\",\"centered\":\"\",\"title\":\"Assign partner\",\"ok-title\":\"Next\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"cancel\":_vm.onCancel},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header\"},[_c('h5',{staticClass:\"modal-title\"},[_vm._v(\"Assign partner\")]),_c('b-button-close',{on:{\"click\":function($event){return _vm.$emit('cancel')}}})],1),_c('div',{staticClass:\"form-row mt-3 align-items-center\"},[_c('div',{staticClass:\"form-group col-3\"},[_c('label',[_vm._v(\"Account Number\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accountNo),expression:\"accountNo\"},{name:\"validate\",rawName:\"v-validate\",value:('numeric'),expression:\"'numeric'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('accountNo') },attrs:{\"type\":\"text\",\"name\":\"accountNo\",\"data-vv-as\":\"account number\"},domProps:{\"value\":(_vm.accountNo)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.fetchClientsAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.accountNo=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('accountNo')),expression:\"errors.has('accountNo')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('accountNo')))])]),_c('div',{staticClass:\"form-group col-3\"},[_c('label',[_vm._v(\"First Name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.firstName),expression:\"firstName\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.firstName)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.fetchClientsAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.firstName=$event.target.value}}})]),_c('div',{staticClass:\"form-group col-3\"},[_c('label',[_vm._v(\"Last Name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.lastName),expression:\"lastName\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.lastName)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.fetchClientsAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.lastName=$event.target.value}}})]),_c('div',{staticClass:\"form-group col-1\"},[_c('label',[_vm._v(\" \")]),_c('b-btn',{staticClass:\"form-control\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.fetchClientsAsync}},[_vm._v(\"Filter\")])],1),_c('div',{staticClass:\"form-group col-1\"},[_c('label',[_vm._v(\" \")]),_c('div',{staticClass:\"form-inline\"},[_c('a',{staticClass:\"btn btn-link form-control px-0\",on:{\"click\":_vm.clearFilters}},[_vm._v(\"Clear Filters\")])])])]),_c('div',[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading potential client partners, please wait...\")]),_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"items\":_vm.clients,\"fields\":_vm.clientFields,\"no-provider-paging\":true,\"empty-text\":\"No clients found matching the search filters.\"},scopedSlots:_vm._u([{key:\"cell(select)\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.client.id != item.id)?_c('input',{attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":_vm.selectedClient === item},on:{\"change\":function($event){return _vm.onClientSelected(item)}}}):_vm._e()]}},{key:\"cell(dateOfBirth)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.dateOfBirth))+\"\\n \")]}},{key:\"cell(accountStatus)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.accountStatusDescription(item.accountStatusId))+\"\\n \")]}},{key:\"cell(partnerPractice)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.partnerPracticeName(item.partnerPracticeId))+\"\\n \")]}},{key:\"cell(address)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"singlelineaddress\")(item))+\"\\n \")]}}])}),(_vm.total > _vm.pageSize)?_c('div',[_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.total,\"per-page\":_vm.pageSize},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}),_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))])],1):_vm._e()],1),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{on:{\"click\":function($event){return _vm.$emit('cancel')}}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.selectedClient == null},on:{\"click\":_vm.onAssign}},[_vm._v(\"Assign partner\")])],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { ClientAccountsApi } from '@/api/client-accounts';\nimport loading from '@/components/loading.vue';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientStatusType } from '@/shared/types/client-status-type';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\nconst clientApi = new ClientAccountsApi();\n\n@Component({\n components: {\n loading,\n },\n})\nexport default class AddPartnerDialog extends Vue {\n @partnerPracticesModule.Getter('partnerPracticeName') private partnerPracticeName!: (partnerPracticeId: string | null) => string;\n\n @typesModule.Getter('activeClientStatusTypes') private clientStatusTypes!: Array;\n\n @Prop({ required: true }) public client!: ClientAccount;\n @Prop({ required: true }) public visible!: boolean;\n\n private isVisible: boolean = this.visible;\n private isLoading: boolean = true;\n private selectedClient: ClientAccount | null = null;\n private currentPage: number = 1;\n private pageSize: number = 10;\n private total: number = 0;\n private clients: Array = new Array();\n private accountNo: number | null = null;\n private firstName: string | null = null;\n private lastName: string | null = null;\n\n private get clientFields(): Array<{}> {\n const fields = [\n { key: 'select', label: '', sortable: false },\n { key: 'accountNo', label: 'Account No', sortable: true },\n { key: 'firstName', label: 'First Name', sortable: true },\n { key: 'lastName', label: 'Surname', sortable: true },\n { key: 'dateOfBirth', label: 'Date of Birth', sortable: true },\n { key: 'accountStatus', label: 'Account Status', sortable: true },\n { key: 'partnerPractice', label: 'Assigned To', sortable: true },\n { key: 'address', label: 'Address', sortable: true, thClass: 'col-4' },\n ];\n\n return fields;\n }\n\n private get paginationDescription(): string {\n const start = (this.clients.length < 1)\n ? 0\n : ((this.currentPage - 1) * this.pageSize) + 1;\n\n const end = start + this.pageSize > this.total\n ? this.total\n : start + this.pageSize - 1;\n\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.total.toLocaleString()}`;\n }\n\n private accountStatusDescription(accountStatusId: string | null): string {\n if (accountStatusId == null) {\n return '';\n }\n\n const type = this.clientStatusTypes.find((t) => t.id === accountStatusId);\n\n return type == null ? '' : type.value;\n }\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.selectedClient = null;\n this.isVisible = visible;\n }\n\n @Watch('currentPage')\n private async onCurrentPageChanged(): Promise {\n await this.fetchClientsAsync();\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n\n private async fetchClientsAsync(): Promise {\n if (!await this.$validator.validateAll()) { return; }\n\n try {\n this.isLoading = true;\n\n const result = await clientApi.getClientPotentialPartnersAsync(this.client!.id!, {\n page: this.currentPage,\n pageSize: this.pageSize,\n accountNo: this.accountNo,\n firstName: this.firstName,\n lastName: this.lastName,\n });\n\n this.clients = result.clients;\n this.total = result.total;\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not load potential client partners.', type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private onAssign(): void {\n this.$emit('ok', this.selectedClient);\n }\n\n private onClientSelected(client: ClientAccount | null): void {\n if (this.selectedClient == null || client == null) {\n this.selectedClient = client;\n return;\n }\n\n if (this.selectedClient.id === client.id) {\n this.selectedClient = null;\n } else {\n this.selectedClient = client;\n }\n }\n\n private clearFilters(): void {\n this.accountNo = null;\n this.firstName = null;\n this.lastName = null;\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n const types = [\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n ];\n\n await Promise.all(types);\n\n await this.fetchClientsAsync();\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-partner-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-partner-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./add-partner-dialog.vue?vue&type=template&id=4658f31e&\"\nimport script from \"./add-partner-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./add-partner-dialog.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('b-modal',{attrs:{\"size\":\"lg\",\"centered\":\"\",\"title\":\"Log Interaction\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"cancel\":_vm.onCancel},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header\"},[_c('h5',{staticClass:\"modal-title\"},[_vm._v(\"Log Interaction\")]),_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"log-interaction\"},[(_vm.client.partner!=null)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"client\"}},[_vm._v(\"Client\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedClientId),expression:\"selectedClientId\"}],staticClass:\"form-control\",attrs:{\"id\":\"client\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedClientId=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":_vm.client.id}},[_vm._v(_vm._s(((_vm.client.firstName.trim()) + \" \" + (_vm.client.lastName.trim())).trim()))]),_c('option',{domProps:{\"value\":_vm.client.partner.id}},[_vm._v(_vm._s(((_vm.client.partner.firstName.trim()) + \" \" + (_vm.client.partner.lastName.trim())).trim()))]),_c('option',{domProps:{\"value\":'both'}},[_vm._v(_vm._s(_vm.formatClientAndPartnerNames))])])]):_vm._e(),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"interactionTypeId\"}},[_vm._v(\"Interaction Type\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.interaction.interactionTypeId),expression:\"interaction.interactionTypeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('interactionTypeId') },attrs:{\"name\":\"interactionTypeId\",\"data-vv-as\":\"interaction type\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.interaction, \"interactionTypeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.interactionTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('interactionTypeId')),expression:\"errors.has('interactionTypeId')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('interactionTypeId')))])]),(_vm.filteredInteractionOutcomeTypes != null && _vm.filteredInteractionOutcomeTypes.length > 0)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"interactionOutcomeTypeId\"}},[_vm._v(\"Outcome Type\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.interaction.interactionOutcomeTypeId),expression:\"interaction.interactionOutcomeTypeId\"}],staticClass:\"form-control\",attrs:{\"name\":\"interactionOutcomeTypeId\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.interaction, \"interactionOutcomeTypeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.filteredInteractionOutcomeTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2)]):_vm._e(),(_vm.isFutureContactConfirmationRequired)?_c('div',{staticClass:\"form-group\"},[_c('div',[_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Allow Future Contact?\")])]),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.allowFutureContact),expression:\"allowFutureContact\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-check-input\",class:{ 'is-invalid': _vm.errors.has('allowFutureContact') },attrs:{\"type\":\"radio\",\"name\":\"allowFutureContact\",\"id\":\"allowFutureContactYes\",\"data-vv-as\":\"allow future contact\"},domProps:{\"value\":true,\"checked\":_vm._q(_vm.allowFutureContact,true)},on:{\"change\":function($event){_vm.allowFutureContact=true}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"allowFutureContactYes\"}},[_vm._v(\"Yes\")])]),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.allowFutureContact),expression:\"allowFutureContact\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-check-input\",class:{ 'is-invalid': _vm.errors.has('allowFutureContact') },attrs:{\"type\":\"radio\",\"name\":\"allowFutureContact\",\"id\":\"allowFutureContactNo\",\"data-vv-as\":\"allow future contact\"},domProps:{\"value\":false,\"checked\":_vm._q(_vm.allowFutureContact,false)},on:{\"change\":function($event){_vm.allowFutureContact=false}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"allowFutureContactNo\"}},[_vm._v(\"No\")])]),_c('div',[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('allowFutureContact')),expression:\"errors.has('allowFutureContact')\"}],staticClass:\"invalid-radio-feedback\"},[_vm._v(_vm._s(_vm.errors.first('allowFutureContact')))])])]):_vm._e(),(_vm.isAppointmentRequired)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"appointment\"}},[_vm._v(\"Appointment\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedAppointment),expression:\"selectedAppointment\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('appointment') },attrs:{\"name\":\"appointment\",\"data-vv-as\":\"appointment\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedAppointment=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.filteredClientAppointments),function(appointment){return _c('option',{key:appointment.id,domProps:{\"value\":appointment}},[_vm._v(_vm._s(_vm.appointmentTypeDescription(appointment.appointmentTypeId))+\" with \"+_vm._s(_vm.legalAdvisorName(appointment.legalAdvisorId))+\" at \"+_vm._s(_vm._f(\"datetime\")(appointment.date)))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointment')),expression:\"errors.has('appointment')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointment')))])]):_vm._e(),(_vm.isAppointmentCancellationTypeRequired)?_c('div',[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"appointmentCancellationType\"}},[_vm._v(\"Reason for Cancellation\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedAppointmentCancellationTypeId),expression:\"selectedAppointmentCancellationTypeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('appointmentCancellationType') },attrs:{\"name\":\"appointmentCancellationType\",\"data-vv-as\":\"reason for cancellation\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedAppointmentCancellationTypeId=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.appointmentCancellationTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentCancellationType')),expression:\"errors.has('appointmentCancellationType')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentCancellationType')))])]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.scheduleCallback),expression:\"scheduleCallback\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"scheduleCallback\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.scheduleCallback)?_vm._i(_vm.scheduleCallback,true)>-1:(_vm.scheduleCallback)},on:{\"change\":function($event){var $$a=_vm.scheduleCallback,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.scheduleCallback=$$a.concat([$$v]))}else{$$i>-1&&(_vm.scheduleCallback=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.scheduleCallback=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"scheduleCallback\"}},[_vm._v(\"Schedule Callback?\")])])])]):_vm._e(),(_vm.isCallbackRequired)?_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"callbackDate\"}},[_vm._v(\"Callback Date\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('callbackDate') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"wrapper-class\":'datepicker-wrapper',\"calendar-class\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"callbackDate\",\"data-vv-as\":\"callback date\"},model:{value:(_vm.callbackDate),callback:function ($$v) {_vm.callbackDate=$$v},expression:\"callbackDate\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('callbackDate')),expression:\"errors.has('callbackDate')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('callbackDate')))])],1)]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"callbackHour\"}},[_vm._v(\"Callback Time\")]),_c('div',{staticClass:\"form-inline\"},[_c('div',{staticClass:\"form-group\",class:{ 'is-invalid': _vm.errors.has('callbackHour') || _vm.errors.has('callbackMinute') }},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.callbackHour),expression:\"callbackHour\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('callbackHour') },attrs:{\"placeholder\":\"HH\",\"name\":\"callbackHour\",\"data-vv-as\":\"callback hour\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.callbackHour=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.hours),function(hour){return _c('option',{key:hour.value,domProps:{\"value\":hour.value}},[_vm._v(_vm._s(hour.label))])}),0),_c('span',{staticClass:\"is-colon\"},[_vm._v(\"  : \")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.callbackMinute),expression:\"callbackMinute\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('callbackMinute') },attrs:{\"placeholder\":\"mm\",\"name\":\"callbackMinute\",\"data-vv-as\":\"callback minute\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.callbackMinute=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.minutes),function(minute){return _c('option',{key:minute.value,domProps:{\"value\":minute.value}},[_vm._v(_vm._s(minute.label))])}),0),_c('span',[_vm._v(\" \")]),(!_vm.useTwentyFourHours)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedMeridian),expression:\"selectedMeridian\"}],staticClass:\"form-control\",on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedMeridian=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},function($event){return _vm.onMeridianChanged($event.target.value)}]}},[_c('option',{domProps:{\"value\":'AM'}},[_vm._v(\"AM\")]),_c('option',{domProps:{\"value\":'PM'}},[_vm._v(\"PM\")])]):_vm._e(),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('callbackHour')),expression:\"errors.has('callbackHour')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('callbackHour')))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('callbackMinute')),expression:\"errors.has('callbackMinute')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('callbackMinute')))])])]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.useTwentyFourHours),expression:\"useTwentyFourHours\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"useTwentyFourHours\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.useTwentyFourHours)?_vm._i(_vm.useTwentyFourHours,true)>-1:(_vm.useTwentyFourHours)},on:{\"change\":function($event){var $$a=_vm.useTwentyFourHours,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.useTwentyFourHours=$$a.concat([$$v]))}else{$$i>-1&&(_vm.useTwentyFourHours=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.useTwentyFourHours=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"useTwentyFourHours\"}},[_vm._v(\"Show 24-Hour Format\")])])])])])]):_vm._e(),(_vm.isLetterTypeRequired)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"letterTypeId\"}},[_vm._v(\"Letter Type\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.interaction.letterTypeId),expression:\"interaction.letterTypeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('letterTypeId') },attrs:{\"name\":\"letterTypeId\",\"data-vv-as\":\"letter type\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.interaction, \"letterTypeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.interactionLetterTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('letterTypeId')),expression:\"errors.has('letterTypeId')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('letterTypeId')))])]):_vm._e(),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"interactionNotes\"}},[_vm._v(\"Notes\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.interaction.notes),expression:\"interaction.notes\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('interactionNotes') },attrs:{\"name\":\"interactionNotes\",\"data-vv-as\":\"notes\"},domProps:{\"value\":(_vm.interaction.notes)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.interaction, \"notes\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('interactionNotes')),expression:\"errors.has('interactionNotes')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('interactionNotes')))])])]),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onSave}},[_vm._v(\"Save\")])],1),(_vm.client != null && _vm.bookAppointmentDialogVisible)?_c('book-appointment-dialog',{attrs:{\"visible\":_vm.bookAppointmentDialogVisible,\"client\":_vm.client,\"original-appointment\":_vm.selectedAppointment,\"is-rebook\":_vm.selectedAppointment != null,\"interaction-id\":_vm.newInteractionId,\"client-id\":_vm.selectedClientId},on:{\"ok\":_vm.onAppointmentBooked,\"cancel\":_vm.onAppointmentCancel}}):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { CreateInteractionRequest } from '@/api/requests/interaction/create-interaction-request';\nimport { UpdateInteractionRequest } from '@/api/requests/interaction/update-interaction-request';\nimport { Interaction } from '@/shared/interaction';\nimport { Api } from './api';\n\nexport class InteractionApi extends Api {\n public async getInteractionByIdAsync(interactionId: string): Promise {\n return await this.getAsync(`v1/interaction/${interactionId}`);\n }\n\n public async createInteractionAsync(request: CreateInteractionRequest): Promise {\n const url = this.buildUrl(`v1/interaction`);\n const location = await this.postAsync(`v1/interaction`, request);\n return location.replace(`${url}/`, ``);\n }\n\n public async updateInteractionAsync(interactionId: string, request: UpdateInteractionRequest): Promise {\n const url = this.buildUrl(`v1/interaction/${interactionId}`);\n const location = await this.putAsync(`v1/interaction/${interactionId}`, request);\n return location.replace(`${url}/`, ``);\n }\n\n public async deleteInteractionAsync(interactionId: string): Promise {\n const url = this.buildUrl(`v1/interaction/${interactionId}`);\n const location = await this.deleteAsync(`v1/interaction/${interactionId}`);\n return location.replace(`${url}/`, ``);\n }\n\n public constructor() {\n super();\n }\n}\n","import { InteractionAppointment } from '@/shared/interaction-appointment';\nimport { InteractionClient } from '@/shared/interaction-client';\n\nexport interface Interaction {\n id?: string | null;\n interactionTypeId: string | null;\n interactionOutcomeTypeId: string | null;\n letterTypeId: string | null;\n notes: string | null;\n callbackDate: string | Date | null;\n allowFutureContact: boolean | null;\n version?: number;\n createdDate?: string | Date | null;\n createdBy?: string | null;\n lastModifiedDate?: string | Date | null;\n lastModifiedBy?: string | null;\n originalAppointment: InteractionAppointment | null;\n appointment?: InteractionAppointment | null;\n clients?: Array;\n}\n\nexport function createInteraction(): Interaction {\n return {\n interactionTypeId: null,\n interactionOutcomeTypeId: null,\n letterTypeId: null,\n notes: null,\n callbackDate: null,\n allowFutureContact: null,\n originalAppointment: null,\n };\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { ClientAccountsApi } from '@/api/client-accounts';\nimport { InteractionApi } from '@/api/interaction';\nimport { CreateInteractionRequest } from '@/api/requests/interaction/create-interaction-request';\nimport bookAppointmentDialog from '@/components/appointments/book-appointment-dialog.vue';\nimport { Appointment } from '@/shared/appointments/appointment';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { createInteraction, Interaction } from '@/shared/interaction';\nimport { AppointmentCancellationType } from '@/shared/types/appointment-cancellation-type';\nimport { AppointmentType } from '@/shared/types/appointment-type';\nimport { InteractionLetterType } from '@/shared/types/interaction-letter-type';\nimport { InteractionOutcomeType } from '@/shared/types/interaction-outcome-type';\nimport { InteractionType } from '@/shared/types/interaction-type';\nimport { User } from '@/shared/user';\nimport { DateTime } from 'luxon';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst clientApi = new ClientAccountsApi();\nconst interactionApi = new InteractionApi();\nconst typesModule = namespace('types');\nconst usersModule = namespace('users');\n\nconst MERIDIAN_AM = 'AM';\nconst MERIDIAN_PM = 'PM';\n\n\n@Component({\n components: {\n bookAppointmentDialog,\n },\n})\nexport default class LogInteractionDialog extends Vue {\n @typesModule.Getter('activeInteractionTypes') private interactionTypes!: Array;\n @typesModule.Getter('activeInteractionLetterTypes') private interactionLetterTypes!: Array;\n @typesModule.Getter('activeInteractionOutcomeTypes') private interactionOutcomeTypes!: Array;\n @typesModule.Getter('activeAppointmentCancellationTypes') private appointmentCancellationTypes!: Array;\n @typesModule.Getter('appointmentTypes') private appointmentTypes!: Array;\n\n @usersModule.Getter('users') private users!: Array;\n\n @Prop({ required: true }) public visible!: boolean;\n @Prop({ required: true }) public client!: ClientAccount;\n\n private isVisible: boolean = this.visible;\n private isSaving: boolean = false;\n private selectedClientId: string = this.client.id!;\n private callbackDate: string | Date | null = null;\n private callbackHour: number | null = null;\n private callbackMinute: number | null = null;\n private selectedMeridian: string = MERIDIAN_AM;\n private useTwentyFourHours: boolean = false;\n private scheduleCallback: boolean = false;\n private allowFutureContact: boolean | null = null;\n private bookAppointmentDialogVisible: boolean = false;\n private interaction: Interaction = createInteraction();\n private clientAppointments: Array | null = null;\n private partnerAppointments: Array | null = null;\n private selectedAppointment: Appointment | null = null;\n private selectedAppointmentCancellationTypeId: string | null = null;\n private newInteractionId: string | null = null;\n\n private get allowFutureContactState(): boolean {\n return this.interaction.allowFutureContact != null;\n }\n\n private get filteredInteractionOutcomeTypes(): Array {\n if (this.interactionOutcomeTypes == null || !this.interactionOutcomeTypes.length) {\n return [];\n }\n\n const interactionType = this.interactionTypes.find((type) => type.id === this.interaction.interactionTypeId);\n\n if (interactionType == null) {\n return [];\n }\n\n if (interactionType.isCallMade) {\n return this.interactionOutcomeTypes.filter((type) => type.isCallMadeOutcome && type.isAllowContact === this.client.doNotContact);\n } else if (interactionType.isCallReceived) {\n return this.interactionOutcomeTypes.filter((type) => type.isCallReceivedOutcome && type.isAllowContact === this.client.doNotContact);\n } else if (interactionType.isLFTSY) {\n return this.interactionOutcomeTypes.filter((type) => type.isLFTSYOutcome);\n } else {\n return [];\n }\n }\n\n private get filteredClientAppointments(): Array {\n let appointments: Array | null;\n\n if (this.selectedClientId === this.client.id!) {\n const partnerAppointmentIds = this.partnerAppointments!.map((appointment) => appointment.id!);\n appointments = this.clientAppointments!.filter((appointment) => !partnerAppointmentIds.includes(appointment.id!));\n } else if (this.client.partner != null && this.selectedClientId === this.client.partner.id!) {\n const clientAppointmentIds = this.clientAppointments!.map((appointment) => appointment.id!);\n appointments = this.partnerAppointments!.filter((appointment) => !clientAppointmentIds.includes(appointment.id!));\n } else {\n const partnerAppointmentIds = this.partnerAppointments!.map((appointment) => appointment.id!);\n appointments = this.clientAppointments!.filter((appointment) => partnerAppointmentIds.includes(appointment.id!));\n }\n\n return appointments == null\n ? []\n : appointments\n .filter((appointment) => !appointment.isRebooked && appointment.outcome == null)\n .sort((a1, a2) => {\n if (a1.date! > a2.date!) { return 1; }\n if (a1.date! < a2.date!) { return -1; }\n return 0;\n });\n }\n\n private get hours(): Array<{ value: number, label: string }> {\n const result: Array<{ value: number, label: string }> = [];\n\n for (let i = 0; i < (this.useTwentyFourHours ? 24 : 12); i++) {\n let value = i;\n let label: string = value.toString();\n\n if (!this.useTwentyFourHours) {\n value = i + 1;\n label = value.toString();\n\n if (this.selectedMeridian === MERIDIAN_AM) {\n if (value === 12) {\n value = 0;\n }\n } else {\n if (value !== 12) {\n value += 12;\n }\n }\n }\n\n result.push({\n value,\n label: label.padStart(2, '0'),\n });\n }\n\n return result;\n }\n\n private get minutes(): Array<{ value: number, label: string }> {\n return [\n { value: 0, label: '00' },\n { value: 15, label: '15' },\n { value: 30, label: '30' },\n { value: 45, label: '45' },\n ];\n }\n\n private get isLetterTypeRequired(): boolean {\n if (this.interaction.interactionTypeId == null) {\n return false;\n }\n\n const interactionType = this.interactionTypes.find((type) => type.id === this.interaction.interactionTypeId);\n return interactionType == null ? false : interactionType.isLetterTypeRequired;\n }\n\n private get isCallbackRequired(): boolean {\n if (this.interaction.interactionOutcomeTypeId == null) {\n return false;\n }\n\n const interactionOutcomeType = this.interactionOutcomeTypes.find((type) => type.id === this.interaction.interactionOutcomeTypeId);\n return interactionOutcomeType == null ? false : interactionOutcomeType.isCallback || this.scheduleCallback;\n }\n\n private get isAppointmentRequired(): boolean {\n const interactionType = this.interactionTypes.find((type) => type.id === this.interaction.interactionTypeId);\n const outcomeType = this.interactionOutcomeTypes.find((type) => type.id === this.interaction.interactionOutcomeTypeId);\n\n return interactionType == null || outcomeType == null ? false : interactionType.isLFTSY || outcomeType.isAppointmentRebooked || outcomeType.isAppointmentCancelled;\n }\n\n private get isAppointmentCancellationTypeRequired(): boolean {\n const outcomeType = this.interactionOutcomeTypes.find((type) => type.id === this.interaction.interactionOutcomeTypeId);\n return outcomeType == null ? false : outcomeType.isAppointmentCancelled;\n }\n\n private get isAppointmentBooked(): boolean {\n if (this.interaction.interactionOutcomeTypeId == null) {\n return false;\n }\n\n const interactionOutcomeType = this.interactionOutcomeTypes.find((type) => type.id === this.interaction.interactionOutcomeTypeId);\n return interactionOutcomeType == null ? false : interactionOutcomeType.isAppointmentBooked;\n }\n\n private get isAppointmentRebooked(): boolean {\n if (this.interaction.interactionOutcomeTypeId == null) {\n return false;\n }\n\n const interactionOutcomeType = this.interactionOutcomeTypes.find((type) => type.id === this.interaction.interactionOutcomeTypeId);\n return interactionOutcomeType == null ? false : interactionOutcomeType.isAppointmentRebooked;\n }\n\n private get isFutureContactConfirmationRequired(): boolean {\n if (this.interaction.interactionOutcomeTypeId == null) {\n return false;\n }\n\n const interactionOutcomeType = this.interactionOutcomeTypes.find((type) => type.id === this.interaction.interactionOutcomeTypeId);\n return interactionOutcomeType == null ? false : interactionOutcomeType.isWillVoid || interactionOutcomeType.isWillReleased;\n }\n\n private get formatClientAndPartnerNames(): string {\n const clientFirstName = this.client.firstName != null ? this.client.firstName.trim() : '';\n const clientLastName = this.client.lastName != null ? this.client.lastName.trim() : '';\n\n if (this.client.partner == null) {\n return `${clientFirstName} ${clientLastName}`;\n }\n\n const partnerFirstName = this.client.partner.firstName != null ? this.client.partner.firstName.trim() : '';\n const partnerLastName = this.client.partner.lastName != null ? this.client.partner.lastName.trim() : '';\n\n return clientLastName.toLowerCase() === partnerLastName.toLowerCase()\n ? `${clientFirstName} and ${partnerFirstName} ${clientLastName}`.trim()\n : `${clientFirstName} ${clientLastName} and ${partnerFirstName} ${partnerLastName}`.trim();\n }\n\n @Watch('interaction.interactionTypeId')\n private onInteractionTypeChanged(): void {\n this.interaction.interactionOutcomeTypeId = null;\n this.interaction.letterTypeId = null;\n this.selectedAppointment = null;\n this.selectedAppointmentCancellationTypeId = null;\n this.scheduleCallback = false;\n }\n\n @Watch('interaction.interactionOutcomeTypeId')\n private onInteractionOutcomeTypeChanged(): void {\n this.selectedAppointment = null;\n this.selectedAppointmentCancellationTypeId = null;\n this.scheduleCallback = false;\n }\n\n @Watch('visible')\n private onVisibleChanged(newValue: boolean): void {\n this.interaction = createInteraction();\n this.$validator.errors.clear();\n this.isVisible = newValue;\n }\n\n @Watch('useTwentyFourHours')\n private onUseTwentyFourHoursChanged(newValue: boolean): void {\n if (this.callbackHour == null) {\n return;\n }\n\n this.selectedMeridian = this.callbackHour >= 12 ? MERIDIAN_PM : MERIDIAN_AM;\n }\n\n private appointmentTypeDescription(appointmentTypeId: string | null): string {\n if (appointmentTypeId == null) {\n return '';\n }\n\n const appointmentType = this.appointmentTypes.find((type) => type.id === appointmentTypeId);\n return appointmentType == null ? '' : appointmentType.value;\n }\n\n private legalAdvisorName(userId: string | null): string {\n if (userId == null) {\n return '';\n }\n\n const user = this.users.find((u) => u.id === userId);\n return user == null ? '' : `${user.firstName.trim()} ${user.lastName.trim()}`;\n }\n\n private async onSave(): Promise {\n const isValid = await this.$validator.validateAll();\n\n if (!isValid) {\n return;\n }\n\n this.isSaving = true;\n\n try {\n const clientIds: Array = new Array();\n\n if (this.selectedClientId === 'both') {\n clientIds.push(this.client.id!);\n clientIds.push(this.client.partner!.id!);\n } else {\n clientIds.push(this.selectedClientId);\n }\n\n const request: CreateInteractionRequest = {\n clientIds,\n ...this.interaction,\n interactionTypeId: this.interaction.interactionTypeId!,\n notes: this.interaction.notes!,\n callbackDate: this.isCallbackRequired\n ? DateTime.fromJSDate(new Date(this.callbackDate!))\n .set({ hour: this.callbackHour!, minute: this.callbackMinute! })\n .toUTC()\n .toJSDate()\n : null,\n allowFutureContact: this.isFutureContactConfirmationRequired ? this.allowFutureContact! : null,\n originalAppointmentId: this.selectedAppointment == null ? null : this.selectedAppointment.id!,\n appointmentCancellationTypeId: this.isAppointmentCancellationTypeRequired ? this.selectedAppointmentCancellationTypeId! : null,\n };\n\n this.newInteractionId = await interactionApi.createInteractionAsync(request);\n\n if (this.isAppointmentBooked || (this.isAppointmentRebooked && this.selectedAppointment != null)) {\n this.bookAppointmentDialogVisible = true;\n } else {\n this.$emit('ok', { ...this.interaction });\n }\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not log interaction, please try again.', type: 'is-danger' });\n }\n }\n\n this.isSaving = false;\n }\n\n private onCancel(): void {\n this.bookAppointmentDialogVisible = false;\n this.$emit('cancel');\n }\n\n private onAppointmentBooked(): void {\n this.bookAppointmentDialogVisible = false;\n this.$snackbar.open({ message: 'Appointment successfully booked.', type: 'is-success' });\n this.$emit('ok', { ...this.interaction });\n }\n\n private onAppointmentCancel(): void {\n this.bookAppointmentDialogVisible = false;\n this.$emit('ok', { ...this.interaction });\n }\n\n private onMeridianChanged(value: string | null): void {\n if (this.callbackHour == null) {\n return;\n }\n\n if (value === MERIDIAN_AM) {\n this.callbackHour = this.callbackHour === 12 ? 0 : this.callbackHour - 12;\n } else {\n this.callbackHour = this.callbackHour === 0 ? 12 : this.callbackHour + 12;\n }\n }\n\n public async mounted(): Promise {\n await Promise.all([\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`users/loadAllUsersAsync`),\n ]);\n\n this.clientAppointments = await clientApi.getClientAppointmentBookingsAsync(this.client.id!);\n this.partnerAppointments = this.client.partner != null ? await clientApi.getClientAppointmentBookingsAsync(this.client.partner.id!) : [];\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./log-interaction-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./log-interaction-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./log-interaction-dialog.vue?vue&type=template&id=262ca7d5&\"\nimport script from \"./log-interaction-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./log-interaction-dialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./log-interaction-dialog.vue?vue&type=style&index=0&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 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\nimport { ClientAccountsApi } from '@/api/client-accounts';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport bookAppointmentDialog from '@/components/appointments/book-appointment-dialog.vue';\nimport addClientDialog from '@/components/client/add-client/add-client-dialog.vue';\nimport clientsTable from '@/components/client/list-clients/clients-table.vue';\nimport addPartnerDialog from '@/components/client/view-client/add-partner-dialog.vue';\nimport logInteractionDialog from '@/components/client/view-client/log-interaction-dialog.vue';\nimport loading from '@/components/loading.vue';\nimport layout from '@/layouts/app.vue';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { Interaction } from '@/shared/interaction';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { ClientStatusType } from '@/shared/types/client-status-type';\nimport { Component, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\n\nconst clientApi = new ClientAccountsApi();\n\n@Component({\n components: {\n addClientDialog,\n addPartnerDialog,\n bookAppointmentDialog,\n clientsTable,\n layout,\n loading,\n logInteractionDialog,\n },\n})\nexport default class ListClients extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n\n @typesModule.Getter('activeClientStatusTypes') public statusTypes!: Array;\n\n private currentPage: number = 1;\n private pageSize: number = 10;\n private total: number = 0;\n private clients: Array = new Array();\n private selectedClient: ClientAccount | null = null;\n private isLoading: boolean = false;\n private partnerPracticeId: string | null = null;\n private accountNumber: number | null = null;\n private lastName: string | null = null;\n private firstName: string | null = null;\n private dateOfBirth: string | null = null;\n private postcode: string | null = null;\n private accountStatusId: string | null = null;\n private originalSourceId: string | null = null;\n private telephone: string | null = null;\n private rlgReference: string | null = null;\n private partnerPracticeReference: string | null = null;\n private addClientDialogVisible: boolean = false;\n private bookAppointmentDialogVisible: boolean = false;\n private addPartnerDialogVisible: boolean = false;\n private logInteractionDialogVisible: boolean = false;\n private emptyText: string | null = 'Please enter some search filters and click Filter to show clients';\n\n private async onPageChanged(page: number): Promise {\n if (page === this.currentPage) {\n return;\n }\n\n this.currentPage = page;\n this.saveQueryString();\n await this.fetchClientsAsync();\n }\n\n private async onSearch(): Promise {\n if (!await this.$validator.validateAll()) { return; }\n\n this.currentPage = 1;\n this.saveQueryString();\n await this.fetchClientsAsync();\n }\n\n private async fetchClientsAsync(): Promise {\n if (!await this.$validator.validateAll()) { return; }\n\n try {\n this.isLoading = true;\n\n const result = await clientApi.getClientAccountsAsync({\n page: this.currentPage,\n pageSize: this.pageSize,\n accountNo: this.accountNumber,\n firstName: this.firstName,\n lastName: this.lastName,\n dateOfBirth: this.dateOfBirth,\n postcode: this.postcode != null ? this.postcode.replace(/ /g, '') : null,\n telephone: this.telephone,\n rlgReference: this.rlgReference,\n partnerPracticeReference: this.partnerPracticeReference,\n accountStatusId: this.accountStatusId,\n originalSourceId: this.originalSourceId,\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeId,\n });\n\n this.emptyText = 'No clients found matching the search filters';\n\n this.clients = result.clients;\n this.total = result.total;\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not load clients.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private onClientCreated(result: { id: string, isNew: boolean }): void {\n if (result.isNew) {\n this.$snackbar.open({ message: 'Client account successfully created.', type: 'is-success' });\n } else {\n this.$snackbar.open({ message: 'Client account successfully merged and updated.', type: 'is-success' });\n }\n\n this.$router.push({ name: 'view-client', params: { id: result.id } });\n }\n\n private async onAppointmentBooked(): Promise {\n this.selectedClient = null;\n this.$snackbar.open({ message: `Appointment successfully booked.`, type: 'is-success' });\n this.onCancel();\n }\n\n private async onInteractionLogged(interaction: Interaction): Promise {\n this.selectedClient = null;\n this.$snackbar.open({ message: `Interaction successfully logged.`, type: 'is-success' });\n\n this.onCancel();\n await this.fetchClientsAsync();\n }\n\n private async onPartnerAdded(partner: ClientAccount): Promise {\n try {\n await clientApi.assignClientPartnerAsync(this.selectedClient!, partner.id!);\n\n this.$snackbar.open({ message: `Partner successfully added.`, type: 'is-success' });\n } catch (e) {\n this.$snackbar.open({ message: 'Could not assign partner, please try again.', type: 'is-danger' });\n }\n\n this.onCancel();\n await this.fetchClientsAsync();\n }\n\n private showAddClientDialog(): void {\n this.addClientDialogVisible = true;\n }\n\n private showBookAppointmentDialog(client: ClientAccount | null): void {\n this.selectedClient = client;\n this.bookAppointmentDialogVisible = true;\n }\n\n private showAddPartnerDialog(client: ClientAccount | null): void {\n this.selectedClient = client;\n this.addPartnerDialogVisible = true;\n }\n\n private showLogInteractionDialog(client: ClientAccount | null): void {\n this.selectedClient = client;\n this.logInteractionDialogVisible = true;\n }\n\n private onCancel(): void {\n this.addClientDialogVisible = false;\n this.bookAppointmentDialogVisible = false;\n this.addPartnerDialogVisible = false;\n this.logInteractionDialogVisible = false;\n }\n\n private canBookAppointment(client: ClientAccount): boolean {\n return !client.doNotContact\n && !client.isDeceased\n && !client.isAccountArchived;\n }\n\n private canAddPartner(client: ClientAccount): boolean {\n return client.partner == null;\n }\n\n private setFilters(queryString: any): void {\n this.partnerPracticeId = queryString.partnerPracticeId;\n this.accountNumber = queryString.acountNumber;\n this.lastName = queryString.lastName;\n this.firstName = queryString.firstName;\n this.dateOfBirth = queryString.dateOfBirthMonth != null && queryString.dateOfBirthDay != null && queryString.dateOfBirthYear != null ?\n `${+queryString.dateOfBirthMonth + 1}/${queryString.dateOfBirthDay}/${queryString.dateOfBirthYear}` :\n null;\n this.postcode = queryString.postcode;\n this.accountStatusId = queryString.accountStatusId;\n this.originalSourceId = queryString.originalSourceId;\n this.telephone = queryString.telephone;\n this.rlgReference = queryString.rlgReference;\n this.partnerPracticeReference = queryString.partnerPracticeReference;\n this.currentPage = +queryString.currentPage;\n }\n\n private clearFilters(): void {\n\n this.partnerPracticeId = null;\n this.accountNumber = null;\n this.lastName = null;\n this.firstName = null;\n this.dateOfBirth = null;\n this.postcode = null;\n this.accountStatusId = null;\n this.originalSourceId = null;\n this.telephone = null;\n this.rlgReference = null;\n this.partnerPracticeReference = null;\n }\n\n private async saveQueryString(): Promise {\n const queryString = {\n name: 'clients',\n query: {\n currentPage: this.currentPage.toString(),\n firstName: this.firstName,\n lastName: this.lastName,\n dateOfBirthDay: this.dateOfBirth != null ? new Date(this.dateOfBirth!).getDate().toString() : null,\n dateOfBirthMonth: this.dateOfBirth != null ? new Date(this.dateOfBirth!).getMonth().toString() : null,\n dateOfBirthYear: this.dateOfBirth != null ? new Date(this.dateOfBirth!).getFullYear().toString() : null,\n postcode: this.postcode != null ? this.postcode.replace(/ /g, '') : null,\n telephone: this.telephone,\n rlgReference: this.rlgReference,\n partnerPracticeReference: this.partnerPracticeReference,\n accountStatusId: this.accountStatusId,\n originalSourceId: this.originalSourceId,\n partnerPracticeId: this.partnerPracticeId,\n },\n };\n\n if (JSON.stringify(this.$route.query) === JSON.stringify(queryString.query)) {\n return;\n }\n\n this.$router.push(queryString);\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n ]);\n\n const queryString = this.$route.query;\n\n if (Object.keys(queryString).length > 0) {\n this.setFilters(queryString);\n await this.fetchClientsAsync();\n }\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./list-clients.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./list-clients.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./list-clients.vue?vue&type=template&id=0d7b00a6&\"\nimport script from \"./list-clients.vue?vue&type=script&lang=ts&\"\nexport * from \"./list-clients.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:\"view-client\"},[(_vm.client != null && !_vm.loading)?_c('div',[_c('div',{staticClass:\"client-warnings\"},[(_vm.originalClient != null && _vm.originalClient.lockedDate != null)?_c('client-locked-warning',{attrs:{\"client\":_vm.originalClient}}):_vm._e(),(_vm.originalClient != null && _vm.originalClient.isSensitive)?_c('client-sensitive-warning',{attrs:{\"client\":_vm.originalClient}}):_vm._e(),(_vm.client != null && _vm.client.doNotContact)?_c('client-do-not-contact-warning',{attrs:{\"client\":_vm.client}}):_vm._e(),(_vm.originalClient != null && _vm.originalClient.hasCourtOfProtection)?_c('client-court-of-protection-warning',{attrs:{\"client\":_vm.originalClient}}):_vm._e()],1),_c('div',{staticClass:\"row align-items-top justify-content-between\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"d-flex align-items-center\"},[_c('h2',[_vm._v(_vm._s(_vm.getFullName(_vm.originalClient)))])]),_c('div',[_c('span',[_c('strong',[_vm._v(\"Account Number:\")]),_vm._v(\" \"+_vm._s(_vm.originalClient.accountNo))])]),_c('div',{staticClass:\"mt-2\"},[_c('span',[_c('strong',[_vm._v(\"Account Status:\")]),_vm._v(\" \"),_c('b-badge',{attrs:{\"variant\":_vm.accountStatusBadgeColor}},[_vm._v(_vm._s(_vm.accountStatusText))])],1)]),_c('div',{staticClass:\"mt-2\"},[_c('span',[_c('strong',[_vm._v(\"Assigned To:\")]),_vm._v(\" \"+_vm._s(_vm.partnerPracticeName(_vm.originalClient.partnerPracticeId)))])]),(_vm.originalClient.telephone != null)?_c('div',{staticClass:\"mt-2\"},[_c('span',[_c('strong',[_vm._v(\"Telephone:\")]),_vm._v(\" \"+_vm._s(_vm.originalClient.telephone))])]):_vm._e(),(_vm.originalClient.email != null)?_c('div',{staticClass:\"mt-2\"},[_c('span',[_c('strong',[_vm._v(\"Email:\")]),_vm._v(\" \"+_vm._s(_vm.originalClient.email))])]):_vm._e(),_c('div',{staticClass:\"mt-2\"},[_c('small',[_c('em',[_vm._v(\"Created by \"+_vm._s(_vm.getUserName(_vm.originalClient.createdBy))+\" on \"+_vm._s(_vm._f(\"datetime\")(_vm.originalClient.createdDate)))])])]),(_vm.originalClient.lastModifiedDate != null)?_c('div',[_c('small',[_c('em',[_vm._v(\"Last Modified by \"+_vm._s(_vm.getUserName(_vm.originalClient.lastModifiedBy))+\" on \"+_vm._s(_vm._f(\"datetime\")(_vm.originalClient.lastModifiedDate)))])])]):_vm._e(),_c('div',[_c('small',[_c('em',[_vm._v(\"Current Revision: \"+_vm._s(_vm.originalClient.version))])])])]),_c('div',{staticClass:\"col-auto\"},[_c('b-btn',{staticClass:\"mr-3\",attrs:{\"variant\":\"primary\",\"disabled\":_vm.saving},on:{\"click\":_vm.saveClient}},[_vm._v(\"Save Changes\")]),_c('b-dropdown',{attrs:{\"text\":\"Actions\",\"right\":\"\"}},[(_vm.canBookAppointment)?_c('b-dropdown-item',{on:{\"click\":_vm.showBookAppointmentDialog}},[_vm._v(\"Book Appointment\")]):_vm._e(),_c('b-dropdown-item',{on:{\"click\":_vm.showLogInteractionDialog}},[_vm._v(\"Log Interaction\")]),_c('b-dropdown-divider'),_c('b-dropdown-item',{on:{\"click\":_vm.showAddProductDialog}},[_vm._v(\"Add Product\")]),_c('b-dropdown-item',{on:{\"click\":_vm.showAddNoteDialog}},[_vm._v(\"Add Note\")]),_c('b-dropdown-divider'),(_vm.canAddPartner)?_c('b-dropdown-item',{on:{\"click\":_vm.showAddPartnerDialog}},[_vm._v(\"Add Partner\")]):_vm._e(),(_vm.client.partner != null)?_c('b-dropdown-item',{attrs:{\"to\":{ name: 'view-client', params: { id: _vm.client.partner.id } },\"target\":\"_blank\"}},[_vm._v(\"View Partner\")]):_vm._e(),(_vm.canRemovePartner)?_c('b-dropdown-item',{staticClass:\"text-danger\",on:{\"click\":_vm.onPartnerRemoved}},[_vm._v(\"Remove Partner\")]):_vm._e(),(_vm.canDeleteClient())?_c('b-dropdown-divider'):_vm._e(),(_vm.canDeleteClient())?_c('b-dropdown-item',{staticClass:\"text-danger\",on:{\"click\":_vm.showDeleteConfirmationDialog}},[_vm._v(\"Delete\")]):_vm._e()],1)],1)]),_c('div',{staticClass:\"pt-5\"},[_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('tabs',{attrs:{\"card\":\"\"},model:{value:(_vm.currentTab),callback:function ($$v) {_vm.currentTab=$$v},expression:\"currentTab\"}},[_c('tab',{attrs:{\"title\":\"Details\"}},[_c('div',{staticClass:\"pt-2 pl-1 pr-1\"},[_c('client-details',{attrs:{\"client\":_vm.client},on:{\"partner-practice-changed\":_vm.onPartnerPracticeChanged}})],1)]),_c('tab',{attrs:{\"title\":\"Address\"}},[_c('div',{staticClass:\"pt-2 pl-1 pr-1\"},[_c('client-address-details',{attrs:{\"client\":_vm.client}})],1)]),_c('tab',{attrs:{\"title\":\"Additional Information\"}},[_c('div',{staticClass:\"pt-2 pl-1 pr-1\"},[_c('client-additional-details',{attrs:{\"client\":_vm.client}})],1)]),_c('tab',{attrs:{\"title\":\"Additional Documents\"}},[_c('div',{staticClass:\"pt-2 pl-1 pr-1\"},[_c('client-additional-documents',{attrs:{\"client\":_vm.client},on:{\"change\":_vm.onAdditionalDocumentsChanged}})],1)]),_c('tab',{attrs:{\"title\":\"Contact\"}},[_c('div',{staticClass:\"pt-2 pl-1 pr-1\"},[_c('client-marketing-details',{attrs:{\"client\":_vm.client}})],1)]),(_vm.client.deeds != null && _vm.client.deeds.length > 0)?_c('tab',{attrs:{\"title\":\"Deeds\"}},[_c('div',{staticClass:\"pt-3\"},[_c('client-deeds',{attrs:{\"client\":_vm.client}})],1)]):_vm._e(),(_vm.client.factFind != null)?_c('tab',{attrs:{\"title\":\"Fact Find\"}},[_c('div',{staticClass:\"pt-3\"},[_c('client-fact-find',{attrs:{\"client\":_vm.client},on:{\"fact-find-removed\":_vm.onFactFindDeleted}})],1)]):_vm._e(),(_vm.client.powerOfAttorneys != null && _vm.client.powerOfAttorneys.length > 0)?_c('tab',{attrs:{\"title\":\"Power of Attorney\"}},[_c('div',{staticClass:\"pt-3\"},[_c('client-power-of-attorneys',{attrs:{\"client\":_vm.client}})],1)]):_vm._e(),(_vm.client.will != null)?_c('tab',{attrs:{\"title\":\"Will\"}},[_c('div',{staticClass:\"pt-3\"},[_c('client-will',{attrs:{\"client\":_vm.client},on:{\"will-removed\":_vm.onWillRemoved}})],1)]):_vm._e(),(_vm.appointments != null && _vm.appointments.length > 0)?_c('tab',{attrs:{\"title\":\"Appointments\",\"title-item-class\":'ml-auto'}},[_c('div',{staticClass:\"pt-3\"},[_c('client-appointments',{attrs:{\"client\":_vm.client,\"appointments\":_vm.appointments},on:{\"appointment-updated\":_vm.onAppointmentUpdated,\"appointment-rebooked\":_vm.onAppointmentRebooked,\"appointment-completed\":_vm.onAppointmentCompleted,\"appointment-removed\":_vm.onAppointmentRemoved,\"outcome-removed\":_vm.onOutcomeRemoved,\"appointment-outcome-changed\":_vm.onAppointmentOutcomeChanged}})],1)]):_vm._e(),_c('tab',{attrs:{\"title\":\"Contact History\",\"title-item-class\":_vm.appointments == null || _vm.appointments.length < 1 ? 'ml-auto' : ''}},[_c('div',{staticClass:\"pt-3\"},[_c('contact-history',{attrs:{\"client\":_vm.client,\"contact-history\":_vm.contactHistory},on:{\"interaction-updated\":_vm.onInteractionUpdated,\"interaction-deleted\":_vm.onInteractionDeleted}})],1)]),_c('tab',{attrs:{\"title\":\"Will History\"}},[_c('div',{staticClass:\"pt-3\"},[_c('will-history',{attrs:{\"client\":_vm.client,\"wills\":_vm.willHistoryItems},on:{\"will-history-updated\":_vm.onWillHistoryUpdated,\"will-history-deleted\":_vm.onWillHistoryDeleted}})],1)]),_c('tab',{attrs:{\"title\":\"Notes\"}},[_c('div',{staticClass:\"pt-3\"},[_c('client-notes',{attrs:{\"client\":_vm.client,\"notes\":_vm.notes},on:{\"note-updated\":_vm.onNoteUpdated,\"note-deleted\":_vm.onNoteDeleted}})],1)])],1)],1)],1),_c('confirmation-dialog',{ref:\"modal\",attrs:{\"title\":\"Are you sure?\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true,\"variant\":\"danger\",\"ok-text\":\"Delete\",\"centered\":\"\"},on:{\"ok\":_vm.handleDeleteClient,\"cancel\":_vm.onCancel},model:{value:(_vm.confirmationDialogVisible),callback:function ($$v) {_vm.confirmationDialogVisible=$$v},expression:\"confirmationDialogVisible\"}},[_c('div',[_vm._v(\"\\n Are you sure you want to delete this client?\\n \")])]),_c('confirmation-dialog',{ref:\"modal\",attrs:{\"centered\":\"\",\"title\":\"Please Confirm\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true,\"variant\":\"primary\",\"ok-text\":\"Permanent\",\"cancel-variant\":\"primary\",\"cancel-text\":\"Appointment Only\"},on:{\"ok\":_vm.onConfirmAssignedToPermanent,\"cancel\":_vm.onComfirmAssignedToAppointmentOnly},model:{value:(_vm.confirmAssignedToChangedDialogVisible),callback:function ($$v) {_vm.confirmAssignedToChangedDialogVisible=$$v},expression:\"confirmAssignedToChangedDialogVisible\"}},[_c('div',[_vm._v(\"\\n This client is marked as an acquistion client. Please confirm if the update to \"),_c('b',[_vm._v(\"Assigned To\")]),_vm._v(\" is \"),_c('i',[_vm._v(\"permanent\")]),_vm._v(\" or for \"),_c('i',[_vm._v(\"appointment purposes only\")]),_vm._v(\".\\n \")])]),(_vm.client != null && _vm.productDialogVisible)?_c('add-product-dialog',{attrs:{\"client\":_vm.client,\"visible\":_vm.productDialogVisible},on:{\"ok\":_vm.onProductSelected,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.client != null && _vm.addWillDialogVisible)?_c('add-will-dialog',{attrs:{\"client\":_vm.client,\"visible\":_vm.addWillDialogVisible},on:{\"ok\":_vm.onWillAdded,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.client != null && _vm.addPowerOfAttorneyDialogVisible)?_c('add-power-of-attorney-dialog',{attrs:{\"client\":_vm.client,\"visible\":_vm.addPowerOfAttorneyDialogVisible},on:{\"ok\":_vm.onPowerOfAttorneyAdded,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.client != null && _vm.addDeedDialogVisible)?_c('add-deed-dialog',{attrs:{\"visible\":_vm.addDeedDialogVisible},on:{\"ok\":_vm.onDeedAdded,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.client != null && _vm.factFindDialogVisible)?_c('add-fact-find-dialog',{attrs:{\"client\":_vm.client,\"visible\":_vm.factFindDialogVisible},on:{\"ok\":_vm.onFactFindAdded,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.client != null && _vm.addNoteDialogVisible)?_c('add-note-dialog',{attrs:{\"client\":_vm.client,\"visible\":_vm.addNoteDialogVisible},on:{\"ok\":_vm.onNoteAdded,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.client != null && _vm.bookAppointmentDialogVisible)?_c('book-appointment-dialog',{attrs:{\"client\":_vm.client,\"visible\":_vm.bookAppointmentDialogVisible},on:{\"ok\":_vm.onAppointmentBooked,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.client != null && _vm.logInteractionDialogVisible)?_c('log-interaction-dialog',{attrs:{\"client\":_vm.client,\"visible\":_vm.logInteractionDialogVisible},on:{\"ok\":_vm.onInteractionLogged,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.client != null && _vm.addPartnerDialogVisible)?_c('add-partner-dialog',{attrs:{\"client\":_vm.client,\"visible\":_vm.addPartnerDialogVisible},on:{\"ok\":_vm.onPartnerAdded,\"cancel\":_vm.onCancel}}):_vm._e()],1):_vm._e(),_c('loading',{attrs:{\"active\":_vm.loading}},[_vm._v(\"\\n Loading client details, please wait...\\n \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Api } from '@/api/api';\nimport { CreateAccessLogRequest } from '@/api/requests/access-logs/create-access-log-request';\nimport { CreateAccessLogResponse } from '@/api/responses/access-logs/create-access-log-response';\n\nexport class AccessLogApi extends Api {\n\n public async createAccessLog(request: CreateAccessLogRequest): Promise {\n return await this.postAsync(`v1/AccessLog`, request);\n }\n\n public async updateAccessLog(id: string | null, clientId: string | null | undefined): Promise {\n if (id === null || clientId === null || clientId === undefined) {\n return;\n }\n return this.putAsync(`v1/AccessLog/${id}/client`, { clientId });\n }\n\n public constructor() {\n super();\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Add deed\",\"size\":\"lg\",\"body-class\":\"modal-stepper\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('stepper',{model:{value:(_vm.currentStep),callback:function ($$v) {_vm.currentStep=$$v},expression:\"currentStep\"}},[_c('step',{attrs:{\"title\":\"Address\",\"completed\":_vm.addressDetailsValid}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('address-with-lookup',{ref:\"address\",attrs:{\"address\":_vm.deed}})],1)])]),_c('step',{attrs:{\"title\":\"Additional Information\",\"disabled\":!_vm.addressDetailsValid}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"RLG Reference\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.deed.rightLegalReference),expression:\"deed.rightLegalReference\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.deed.rightLegalReference)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.deed, \"rightLegalReference\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"PP reference\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.deed.partnerPracticeReference),expression:\"deed.partnerPracticeReference\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.deed.partnerPracticeReference)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.deed, \"partnerPracticeReference\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"Name(s) on Deed\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.deed.nameOnDeed),expression:\"deed.nameOnDeed\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.deed.nameOnDeed)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.deed, \"nameOnDeed\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.deed.isLandRegistered),expression:\"deed.isLandRegistered\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"is-land-registered\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.deed.isLandRegistered)?_vm._i(_vm.deed.isLandRegistered,true)>-1:(_vm.deed.isLandRegistered)},on:{\"change\":function($event){var $$a=_vm.deed.isLandRegistered,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.deed, \"isLandRegistered\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.deed, \"isLandRegistered\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.deed, \"isLandRegistered\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"is-land-registered\"}},[_vm._v(\"Land Registered?\")])])])])])],1),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),(_vm.currentStep > 0)?_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onPrevious}},[_vm._v(\"Previous\")]):_vm._e(),(_vm.currentStep < 1)?_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onNextAsync}},[_vm._v(\"Next\")]):_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onSave}},[_vm._v(\"Save deed\")])],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export interface ClientAccountDeed {\n id?: string | null;\n date?: string | Date | null;\n partnerPracticeReference: string | null;\n rightLegalReference: string | null;\n nameOnDeed: string | null;\n isLandRegistered: boolean;\n addressLine1: string | null;\n addressLine2: string | null;\n addressLine3: string | null;\n town: string | null;\n county: string | null;\n postcode: string | null;\n version?: number;\n\n}\n\nexport function createClientAccountDeed(): ClientAccountDeed {\n return {\n partnerPracticeReference: null,\n rightLegalReference: null,\n isLandRegistered: false,\n nameOnDeed: null,\n addressLine1: null,\n addressLine2: null,\n addressLine3: null,\n town: null,\n county: null,\n postcode: null,\n };\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport addressWithLookup from '@/components/address-with-lookup.vue';\nimport { ClientAccountDeed, createClientAccountDeed } from '@/shared/clients/client-account-deed';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component({\n components: {\n addressWithLookup,\n },\n})\nexport default class AddDeedDialog extends Vue {\n @Prop({ required: true }) public visible!: boolean;\n\n private isVisible: boolean = this.visible;\n private currentStep: number = 0;\n private addressDetailsValid: boolean = false;\n private deed: ClientAccountDeed = createClientAccountDeed();\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.currentStep = 0;\n this.isVisible = visible;\n }\n\n private async onNextAsync(): Promise {\n if (!await (this.$refs.address as Vue).$validator.validateAll('address-details')) { return; }\n\n this.addressDetailsValid = true;\n\n setTimeout(() => {\n this.currentStep++;\n }, 0);\n }\n\n private onPrevious(): void {\n this.currentStep--;\n }\n\n private onSave(): void {\n this.$emit('ok', { ...this.deed });\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-deed-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-deed-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./add-deed-dialog.vue?vue&type=template&id=bd0efe98&\"\nimport script from \"./add-deed-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./add-deed-dialog.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('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Add Fact Find\",\"size\":\"lg\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('table',{staticClass:\"table\"},[_c('thead',[_c('tr',[_c('th',{staticClass:\"col-6 border-0 p-0\"}),_c('th',{staticClass:\"col-6 border-0 p-0\"})])]),_c('tbody',[_c('tr',[_c('td',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.factFind.hasGuardiansInsurance),expression:\"factFind.hasGuardiansInsurance\"}],staticClass:\"mb-0\",attrs:{\"type\":\"checkbox\",\"name\":\"guardians-insurance\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.factFind.hasGuardiansInsurance)?_vm._i(_vm.factFind.hasGuardiansInsurance,true)>-1:(_vm.factFind.hasGuardiansInsurance)},on:{\"change\":function($event){var $$a=_vm.factFind.hasGuardiansInsurance,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.factFind, \"hasGuardiansInsurance\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.factFind, \"hasGuardiansInsurance\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.factFind, \"hasGuardiansInsurance\", $$c)}}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"mb-0\",attrs:{\"for\":\"guardians-insurance\"}},[_vm._v(\"Guardians Insurance\")])])])]),_c('td',{staticClass:\"col-1\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.factFind.hasLifeInsurance),expression:\"factFind.hasLifeInsurance\"}],staticClass:\"mb-0\",attrs:{\"type\":\"checkbox\",\"name\":\"life-insurance\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.factFind.hasLifeInsurance)?_vm._i(_vm.factFind.hasLifeInsurance,true)>-1:(_vm.factFind.hasLifeInsurance)},on:{\"change\":function($event){var $$a=_vm.factFind.hasLifeInsurance,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.factFind, \"hasLifeInsurance\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.factFind, \"hasLifeInsurance\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.factFind, \"hasLifeInsurance\", $$c)}}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"mb-0\",attrs:{\"for\":\"life-insurance\"}},[_vm._v(\"Life Insurance\")])])])])]),_c('tr',[_c('td',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.factFind.hasLifeInsuranceInTrust),expression:\"factFind.hasLifeInsuranceInTrust\"}],staticClass:\"mb-0\",attrs:{\"type\":\"checkbox\",\"name\":\"life-insurance-in-trust\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.factFind.hasLifeInsuranceInTrust)?_vm._i(_vm.factFind.hasLifeInsuranceInTrust,true)>-1:(_vm.factFind.hasLifeInsuranceInTrust)},on:{\"change\":function($event){var $$a=_vm.factFind.hasLifeInsuranceInTrust,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.factFind, \"hasLifeInsuranceInTrust\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.factFind, \"hasLifeInsuranceInTrust\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.factFind, \"hasLifeInsuranceInTrust\", $$c)}}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"mb-0\",attrs:{\"for\":\"life-insurance-in-trust\"}},[_vm._v(\"Life Insurance in a Trust\")])])])]),_c('td',{staticClass:\"col-1\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.factFind.hasForeignProperty),expression:\"factFind.hasForeignProperty\"}],staticClass:\"mb-0\",attrs:{\"type\":\"checkbox\",\"name\":\"foreign-property\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.factFind.hasForeignProperty)?_vm._i(_vm.factFind.hasForeignProperty,true)>-1:(_vm.factFind.hasForeignProperty)},on:{\"change\":function($event){var $$a=_vm.factFind.hasForeignProperty,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.factFind, \"hasForeignProperty\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.factFind, \"hasForeignProperty\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.factFind, \"hasForeignProperty\", $$c)}}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"mb-0\",attrs:{\"for\":\"foreign-property\"}},[_vm._v(\"Foreign Property\")])])])])]),_c('tr',[_c('td',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.factFind.hasPension),expression:\"factFind.hasPension\"}],staticClass:\"mb-0\",attrs:{\"type\":\"checkbox\",\"name\":\"pension\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.factFind.hasPension)?_vm._i(_vm.factFind.hasPension,true)>-1:(_vm.factFind.hasPension)},on:{\"change\":function($event){var $$a=_vm.factFind.hasPension,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.factFind, \"hasPension\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.factFind, \"hasPension\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.factFind, \"hasPension\", $$c)}}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"mb-0\",attrs:{\"for\":\"pension\"}},[_vm._v(\"Pension\")])])])]),_c('td',{staticClass:\"col-1\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.factFind.hasInvestments),expression:\"factFind.hasInvestments\"}],staticClass:\"mb-0\",attrs:{\"type\":\"checkbox\",\"name\":\"investments\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.factFind.hasInvestments)?_vm._i(_vm.factFind.hasInvestments,true)>-1:(_vm.factFind.hasInvestments)},on:{\"change\":function($event){var $$a=_vm.factFind.hasInvestments,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.factFind, \"hasInvestments\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.factFind, \"hasInvestments\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.factFind, \"hasInvestments\", $$c)}}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"mb-0\",attrs:{\"for\":\"investments\"}},[_vm._v(\"Investments\")])])])])]),_c('tr',[_c('td',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.factFind.hasFuneralPlan),expression:\"factFind.hasFuneralPlan\"}],staticClass:\"mb-0\",attrs:{\"type\":\"checkbox\",\"name\":\"funeral-plan\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.factFind.hasFuneralPlan)?_vm._i(_vm.factFind.hasFuneralPlan,true)>-1:(_vm.factFind.hasFuneralPlan)},on:{\"change\":function($event){var $$a=_vm.factFind.hasFuneralPlan,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.factFind, \"hasFuneralPlan\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.factFind, \"hasFuneralPlan\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.factFind, \"hasFuneralPlan\", $$c)}}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"mb-0\",attrs:{\"for\":\"funeral-plan\"}},[_vm._v(\"Funeral Plan\")])])])]),_c('td',{staticClass:\"col-1\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.factFind.hasEquityRelease),expression:\"factFind.hasEquityRelease\"}],staticClass:\"mb-0\",attrs:{\"type\":\"checkbox\",\"name\":\"equity-release\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.factFind.hasEquityRelease)?_vm._i(_vm.factFind.hasEquityRelease,true)>-1:(_vm.factFind.hasEquityRelease)},on:{\"change\":function($event){var $$a=_vm.factFind.hasEquityRelease,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.factFind, \"hasEquityRelease\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.factFind, \"hasEquityRelease\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.factFind, \"hasEquityRelease\", $$c)}}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"mb-0\",attrs:{\"for\":\"equity-release\"}},[_vm._v(\"Equity Release\")])])])])]),_c('tr',{staticClass:\"border-bottom\"},[_c('td',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.factFind.hasBusinessInterests),expression:\"factFind.hasBusinessInterests\"}],staticClass:\"mb-0\",attrs:{\"type\":\"checkbox\",\"name\":\"business-interests\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.factFind.hasBusinessInterests)?_vm._i(_vm.factFind.hasBusinessInterests,true)>-1:(_vm.factFind.hasBusinessInterests)},on:{\"change\":function($event){var $$a=_vm.factFind.hasBusinessInterests,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.factFind, \"hasBusinessInterests\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.factFind, \"hasBusinessInterests\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.factFind, \"hasBusinessInterests\", $$c)}}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"mb-0\",attrs:{\"for\":\"business-interests\"}},[_vm._v(\"Business Interests\")])])])]),_c('td')])])])])]),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.saving},on:{\"click\":_vm.onSave}},[_vm._v(\"Add\")])],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export interface ClientAccountFactFind {\n id?: string | null;\n date?: string | Date | null;\n hasGuardiansInsurance: boolean;\n hasLifeInsurance: boolean;\n hasLifeInsuranceInTrust: boolean;\n hasPension: boolean;\n hasFuneralPlan: boolean;\n hasForeignProperty: boolean;\n hasInvestments: boolean;\n hasEquityRelease: boolean;\n hasBusinessInterests: boolean;\n version?: number;\n}\n\nexport function createClientAccountFactFind(): ClientAccountFactFind {\n return {\n hasGuardiansInsurance: false,\n hasLifeInsurance: false,\n hasLifeInsuranceInTrust: false,\n hasPension: false,\n hasFuneralPlan: false,\n hasForeignProperty: false,\n hasInvestments: false,\n hasEquityRelease: false,\n hasBusinessInterests: false,\n };\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientAccountFactFind, createClientAccountFactFind } from '@/shared/clients/client-account-fact-find';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n\n@Component\nexport default class AddFactFindDialog extends Vue {\n @Prop({ required: true }) public client!: ClientAccount;\n @Prop({ required: true }) public visible!: boolean;\n\n private isVisible: boolean = this.visible;\n private saving: boolean = false;\n private factFind: ClientAccountFactFind = createClientAccountFactFind();\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.factFind = createClientAccountFactFind();\n this.isVisible = visible;\n }\n private onCancel(): void {\n this.$emit('cancel');\n }\n private async onSave(): Promise {\n this.saving = true;\n\n try {\n this.$emit('ok', { ...this.factFind });\n } catch (e) {\n this.$snackbar.open({ message: `Could not create new fact find, please try again.`, type: 'is-danger' });\n }\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-fact-find-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-fact-find-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./add-fact-find-dialog.vue?vue&type=template&id=02070f1d&\"\nimport script from \"./add-fact-find-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./add-fact-find-dialog.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('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Add Note\",\"size\":\"lg\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"note\"}},[_vm._v(\"Note\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.note.text),expression:\"note.text\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('note') },attrs:{\"name\":\"note\",\"id\":\"note\",\"data-vv-as\":\"note\"},domProps:{\"value\":(_vm.note.text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.note, \"text\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('note')),expression:\"errors.has('note')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('note')))])]),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onSave}},[_vm._v(\"Add Note\")])],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ClientNoteType } from '@/shared/client-note-type';\n\nexport interface ClientAccountNote {\n id?: string | null;\n type?: ClientNoteType | null;\n actioned?: boolean | null;\n text: string | null;\n version?: number;\n createdDate?: string | Date | null;\n createdBy?: string | null;\n lastModifiedDate?: string | Date | null;\n lastModifiedBy?: string | null;\n}\n\nexport function createClientAccountNote(): ClientAccountNote {\n return {\n text: null,\n };\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { ClientAccountsApi } from '@/api/client-accounts';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientAccountNote, createClientAccountNote } from '@/shared/clients/client-account-note';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\nconst clientApi = new ClientAccountsApi();\n\n@Component\nexport default class AddNoteDialog extends Vue {\n @Prop({ required: true }) private visible!: boolean;\n @Prop({ required: true }) private client!: ClientAccount;\n\n private isVisible: boolean = this.visible;\n private isSaving: boolean = false;\n private note: ClientAccountNote = createClientAccountNote();\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.note = createClientAccountNote();\n this.$validator.errors.clear();\n this.isVisible = visible;\n }\n private async onSave(): Promise {\n const isValid = await this.$validator.validateAll();\n\n if (!isValid) {\n return;\n }\n\n this.isSaving = true;\n\n try {\n await clientApi.createClientNoteAsync(this.client.id!, { ...this.note });\n this.$emit('ok', { ...this.note });\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not create new client note, please try again.', type: 'is-danger' });\n }\n }\n\n this.isSaving = false;\n }\n private onCancel(): void {\n this.$emit('cancel');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-note-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-note-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./add-note-dialog.vue?vue&type=template&id=1c7766bd&\"\nimport script from \"./add-note-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./add-note-dialog.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('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Add Power of Attorney\",\"size\":\"xl\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"powerOfAttorneyType\"}},[_vm._v(\"Type\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientPowerOfAttorney.powerOfAttorneyTypeId),expression:\"clientPowerOfAttorney.powerOfAttorneyTypeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('powerOfAttorneyType') },attrs:{\"name\":\"powerOfAttorneyType\",\"data-vv-as\":\"power of attorney type\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.clientPowerOfAttorney, \"powerOfAttorneyTypeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.filteredPowerOfAttorneyTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('powerOfAttorneyType')),expression:\"errors.has('powerOfAttorneyType')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('powerOfAttorneyType')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"ppReference\"}},[_vm._v(\"PP Reference\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientPowerOfAttorney.partnerPracticeReference),expression:\"clientPowerOfAttorney.partnerPracticeReference\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"ppReference\"},domProps:{\"value\":(_vm.clientPowerOfAttorney.partnerPracticeReference)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.clientPowerOfAttorney, \"partnerPracticeReference\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"rlgReference\"}},[_vm._v(\"RLG Reference\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientPowerOfAttorney.rightLegalReference),expression:\"clientPowerOfAttorney.rightLegalReference\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"rlgReference\"},domProps:{\"value\":(_vm.clientPowerOfAttorney.rightLegalReference)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.clientPowerOfAttorney, \"rightLegalReference\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"signatureDate\"}},[_vm._v(\"Signature Date\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('signatureDate') },attrs:{\"name\":\"signatureDate\",\"data-vv-as\":\"signature date\"},model:{value:(_vm.clientPowerOfAttorney.signatureDate),callback:function ($$v) {_vm.$set(_vm.clientPowerOfAttorney, \"signatureDate\", $$v)},expression:\"clientPowerOfAttorney.signatureDate\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('signatureDate')),expression:\"errors.has('signatureDate')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('signatureDate')))])],1),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientPowerOfAttorney.isRegistered),expression:\"clientPowerOfAttorney.isRegistered\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"isRegistered\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.clientPowerOfAttorney.isRegistered)?_vm._i(_vm.clientPowerOfAttorney.isRegistered,true)>-1:(_vm.clientPowerOfAttorney.isRegistered)},on:{\"change\":function($event){var $$a=_vm.clientPowerOfAttorney.isRegistered,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.clientPowerOfAttorney, \"isRegistered\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.clientPowerOfAttorney, \"isRegistered\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.clientPowerOfAttorney, \"isRegistered\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isRegistered\"}},[_vm._v(\"Is Registered?\")])])]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientPowerOfAttorney.hasChoicesIWouldMakeForm),expression:\"clientPowerOfAttorney.hasChoicesIWouldMakeForm\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"hasChoicesIWouldMakeForm\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.clientPowerOfAttorney.hasChoicesIWouldMakeForm)?_vm._i(_vm.clientPowerOfAttorney.hasChoicesIWouldMakeForm,true)>-1:(_vm.clientPowerOfAttorney.hasChoicesIWouldMakeForm)},on:{\"change\":function($event){var $$a=_vm.clientPowerOfAttorney.hasChoicesIWouldMakeForm,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.clientPowerOfAttorney, \"hasChoicesIWouldMakeForm\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.clientPowerOfAttorney, \"hasChoicesIWouldMakeForm\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.clientPowerOfAttorney, \"hasChoicesIWouldMakeForm\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"hasChoicesIWouldMakeForm\"}},[_vm._v(\"Choices I Would Make?\")])])])]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"attorney1\"}},[_vm._v(\"Attorney 1\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientPowerOfAttorney.attorney1),expression:\"clientPowerOfAttorney.attorney1\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('attorney1') },attrs:{\"type\":\"text\",\"name\":\"attorney1\",\"data-vv-as\":\"attorney 1\"},domProps:{\"value\":(_vm.clientPowerOfAttorney.attorney1)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.clientPowerOfAttorney, \"attorney1\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('attorney1')),expression:\"errors.has('attorney1')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('attorney1')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"attorney2\"}},[_vm._v(\"Attorney 2\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientPowerOfAttorney.attorney2),expression:\"clientPowerOfAttorney.attorney2\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"attorney2\"},domProps:{\"value\":(_vm.clientPowerOfAttorney.attorney2)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.clientPowerOfAttorney, \"attorney2\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"attorney3\"}},[_vm._v(\"Attorney 3\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientPowerOfAttorney.attorney3),expression:\"clientPowerOfAttorney.attorney3\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"attorney3\"},domProps:{\"value\":(_vm.clientPowerOfAttorney.attorney3)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.clientPowerOfAttorney, \"attorney3\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"attorney4\"}},[_vm._v(\"Attorney 4\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientPowerOfAttorney.attorney4),expression:\"clientPowerOfAttorney.attorney4\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"attorney4\"},domProps:{\"value\":(_vm.clientPowerOfAttorney.attorney4)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.clientPowerOfAttorney, \"attorney4\", $event.target.value)}}})])])]),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onSave}},[_vm._v(\"Save\")]),_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onSaveAndAddAnother}},[_vm._v(\"Save & Add Another\")])],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export interface ClientPowerOfAttorney {\n id?: string | null;\n powerOfAttorneyTypeId: string | null;\n partnerPracticeReference: string | null;\n rightLegalReference: string | null;\n signatureDate?: string | Date | null;\n attorney1: string | null;\n attorney2: string | null;\n attorney3: string | null;\n attorney4: string | null;\n isRegistered: boolean;\n hasChoicesIWouldMakeForm: boolean;\n version?: number | null;\n}\n\nexport function createClientPowerOfAttorney(): ClientPowerOfAttorney {\n return {\n powerOfAttorneyTypeId: null,\n partnerPracticeReference: null,\n rightLegalReference: null,\n signatureDate: null,\n attorney1: null,\n attorney2: null,\n attorney3: null,\n attorney4: null,\n isRegistered: false,\n hasChoicesIWouldMakeForm: false,\n };\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientPowerOfAttorney, createClientPowerOfAttorney } from '@/shared/clients/client-power-of-attorney';\nimport { PowerOfAttorneyType } from '@/shared/types/power-of-attorney-type';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\n\n@Component\nexport default class AddPowerOfAttorney extends Vue {\n @typesModule.Getter('activePowerOfAttorneyTypes') private powerOfAttorneyTypes!: Array;\n\n @Prop({ required: true }) private visible!: boolean;\n @Prop({ required: true }) private client!: ClientAccount;\n\n private isVisible: boolean = this.visible;\n private clientPowerOfAttorney: ClientPowerOfAttorney = createClientPowerOfAttorney();\n\n private get filteredPowerOfAttorneyTypes(): Array {\n if (!this.powerOfAttorneyTypes.length) {\n return [];\n }\n\n const result = [];\n\n for (const type of this.powerOfAttorneyTypes) {\n if (type.isUnknown || (type.isExclusive && this.client.powerOfAttorneys.some((poa) => poa.powerOfAttorneyTypeId === type.id))) {\n continue;\n }\n\n result.push({ ...type });\n }\n\n return result;\n }\n\n @Watch('visible')\n private onVisibleChanged(value: boolean): void {\n this.isVisible = value;\n }\n\n private async onSave(): Promise {\n const isValid = await this.$validator.validateAll();\n\n if (!isValid) {\n return;\n }\n\n try {\n this.$emit('ok', { ...this.clientPowerOfAttorney }, false);\n } catch (e) {\n this.$snackbar.open({ message: `Could not create power of attorney. Please try again.`, type: 'is-danger' });\n }\n }\n\n private async onSaveAndAddAnother(): Promise {\n const isValid = await this.$validator.validateAll();\n\n if (!isValid) {\n return;\n }\n\n try {\n this.$emit('ok', { ...this.clientPowerOfAttorney }, true);\n this.reset();\n } catch (e) {\n this.$snackbar.open({ message: `Could not create power of attorney. Please try again.`, type: 'is-danger' });\n }\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n\n private reset(): void {\n this.clientPowerOfAttorney = createClientPowerOfAttorney();\n this.$validator.errors.clear();\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-power-of-attorney-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-power-of-attorney-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./add-power-of-attorney-dialog.vue?vue&type=template&id=56977521&\"\nimport script from \"./add-power-of-attorney-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./add-power-of-attorney-dialog.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('b-modal',{ref:\"modal\",attrs:{\"size\":\"md\",\"centered\":\"\",\"title\":\"Add Product\",\"ok-title\":\"Next\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"cancel\":_vm.onCancel},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header\"},[_c('h5',{staticClass:\"modal-title\"},[_vm._v(\"Add Product\")]),_c('b-button-close',{on:{\"click\":function($event){return _vm.$emit('cancel')}}})],1),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"Product\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedProduct),expression:\"selectedProduct\"}],staticClass:\"form-control\",on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedProduct=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_c('option',{attrs:{\"value\":\"deed\"}},[_vm._v(\"Deed\")]),(_vm.client.factFind == null)?_c('option',{attrs:{\"value\":\"fact-find\"}},[_vm._v(\"Fact Find\")]):_vm._e(),_c('option',{attrs:{\"value\":\"power-of-attorney\"}},[_vm._v(\"Power of Attorney\")]),_c('option',{attrs:{\"value\":\"will\"}},[_vm._v(\"Will\")])])]),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{on:{\"click\":function($event){return _vm.$emit('cancel')}}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onNext}},[_vm._v(\"Next\")])],1)],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\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class AddProductDialog extends Vue {\n @Prop({ required: true }) public client!: ClientAccount;\n @Prop({ required: true }) public visible!: boolean;\n\n private isVisible: boolean = this.visible;\n private selectedProduct: string | null = null;\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.selectedProduct = null;\n this.isVisible = visible;\n }\n private onCancel(): void {\n this.$emit('cancel');\n }\n private onNext(): void {\n this.$emit('ok', this.selectedProduct);\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-product-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-product-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./add-product-dialog.vue?vue&type=template&id=47cec5b0&\"\nimport script from \"./add-product-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./add-product-dialog.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('b-modal',{ref:\"modal\",attrs:{\"size\":\"xl\",\"body-class\":\"modal-stepper\",\"centered\":\"\",\"title\":\"Add Fact Find\",\"ok-title\":\"Next\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"cancel\":_vm.onCancel},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header\"},[_c('h5',{staticClass:\"modal-title\"},[_vm._v(\"Add Will\")]),_c('b-button-close',{on:{\"click\":function($event){return _vm.$emit('cancel')}}})],1),_c('stepper',{model:{value:(_vm.currentStep),callback:function ($$v) {_vm.currentStep=$$v},expression:\"currentStep\"}},[_c('step',{attrs:{\"title\":\"Details\",\"disabled\":false,\"completed\":_vm.detailsValid}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"title\"}},[_vm._v(\"PP Reference\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.partnerPracticeReference),expression:\"will.partnerPracticeReference\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"partnerPracticeReference\"},domProps:{\"value\":(_vm.will.partnerPracticeReference)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.will, \"partnerPracticeReference\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"title\"}},[_vm._v(\"RLG Reference\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.rightLegalReference),expression:\"will.rightLegalReference\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.will.rightLegalReference)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.will, \"rightLegalReference\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasGuardianAppointed),expression:\"will.hasGuardianAppointed\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.will.hasGuardianAppointed)?_vm._i(_vm.will.hasGuardianAppointed,true)>-1:(_vm.will.hasGuardianAppointed)},on:{\"change\":function($event){var $$a=_vm.will.hasGuardianAppointed,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasGuardianAppointed\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasGuardianAppointed\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasGuardianAppointed\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Guardian Appointed\")])])]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"title\"}},[_vm._v(\"Will Type\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.willTypeId),expression:\"will.willTypeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('will-details.willTypeId') },attrs:{\"name\":\"willTypeId\",\"data-vv-as\":\"will type\",\"data-vv-scope\":\"will-details\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.will, \"willTypeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.willTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('will-details.willTypeId')),expression:\"errors.has('will-details.willTypeId')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('will-details.willTypeId')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"dateOfBirth\"}},[_vm._v(\"Will Date\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('will-details.willDate') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"wrapper-class\":'datepicker-wrapper',\"calendar-class\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"willDate\",\"data-vv-as\":\"will date\",\"data-vv-scope\":\"will-details\"},model:{value:(_vm.will.date),callback:function ($$v) {_vm.$set(_vm.will, \"date\", $$v)},expression:\"will.date\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('will-details.willDate')),expression:\"errors.has('will-details.willDate')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('will-details.willDate')))])],1)])])]),(_vm.will.hasGuardianAppointed)?_c('step',{attrs:{\"title\":\"Guardians\",\"completed\":_vm.guardiansValid}},[(!_vm.showGuardiansForm)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('table',{staticClass:\"table\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(\"Name\")]),_c('th')])]),_c('tbody',[_vm._l((_vm.will.guardians),function(guardian){return _c('tr',{key:guardian.id},[_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(guardian.name))]),_c('td',{staticClass:\"col-auto text-right\"},[_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onEditGuardian(guardian)}}},[_vm._v(\"Edit\")]),_c('b-dropdown-divider'),_c('b-dropdown-item',{staticClass:\"text-danger\",on:{\"click\":function($event){return _vm.onRemoveGuardian(guardian)}}},[_vm._v(\"Remove\")])],1)],1)])}),(!_vm.will.guardians.length)?_c('tr',[_c('td',{staticClass:\"text-center\",attrs:{\"colspan\":\"2\"}},[_vm._v(\"\\n No guardians, \"),_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.onAddGuardian}},[_vm._v(\"click here\")]),_vm._v(\" to add a new guardian.\\n \")])]):_c('tr',[_c('td',{staticClass:\"text-center\",attrs:{\"colspan\":\"2\"}},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.onAddGuardian}},[_vm._v(\"Click here\")]),_vm._v(\" to add another guardian.\\n \")])])],2)])])]):_c('div',[_c('will-guardian-detail',{ref:\"guardian\",attrs:{\"guardian\":_vm.currentGuardian}})],1)]):_vm._e(),_c('step',{attrs:{\"title\":\"Will packet contents\",\"disabled\":false,\"completed\":_vm.willPacketContentsValid}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('table',{staticClass:\"table\"},[_c('thead',[_c('tr',[_c('th',{staticClass:\"col-4 border-0 p-0\"}),_c('th',{staticClass:\"col-4 border-0 p-0\"})])]),_c('tbody',[_c('tr',[_c('td',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasAttendanceNotes),expression:\"will.hasAttendanceNotes\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.will.hasAttendanceNotes)?_vm._i(_vm.will.hasAttendanceNotes,null)>-1:(_vm.will.hasAttendanceNotes)},on:{\"change\":function($event){var $$a=_vm.will.hasAttendanceNotes,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasAttendanceNotes\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasAttendanceNotes\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasAttendanceNotes\", $$c)}}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Attendance Notes\")])])])]),_c('td',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasFactFind),expression:\"will.hasFactFind\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.will.hasFactFind)?_vm._i(_vm.will.hasFactFind,null)>-1:(_vm.will.hasFactFind)},on:{\"change\":function($event){var $$a=_vm.will.hasFactFind,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasFactFind\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasFactFind\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasFactFind\", $$c)}}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Fact Find\")])])])]),_c('td',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasLetterOfWishes),expression:\"will.hasLetterOfWishes\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.will.hasLetterOfWishes)?_vm._i(_vm.will.hasLetterOfWishes,null)>-1:(_vm.will.hasLetterOfWishes)},on:{\"change\":function($event){var $$a=_vm.will.hasLetterOfWishes,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasLetterOfWishes\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasLetterOfWishes\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasLetterOfWishes\", $$c)}}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Letter of Wishes\")])])])])]),_c('tr',{staticClass:\"border-bottom\"},[_c('td',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasJustToLetYouKnow),expression:\"will.hasJustToLetYouKnow\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.will.hasJustToLetYouKnow)?_vm._i(_vm.will.hasJustToLetYouKnow,null)>-1:(_vm.will.hasJustToLetYouKnow)},on:{\"change\":function($event){var $$a=_vm.will.hasJustToLetYouKnow,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasJustToLetYouKnow\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasJustToLetYouKnow\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasJustToLetYouKnow\", $$c)}}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Just to Let You Know\")])])])]),_c('td',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasNoticeOfSeverance),expression:\"will.hasNoticeOfSeverance\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.will.hasNoticeOfSeverance)?_vm._i(_vm.will.hasNoticeOfSeverance,null)>-1:(_vm.will.hasNoticeOfSeverance)},on:{\"change\":function($event){var $$a=_vm.will.hasNoticeOfSeverance,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasNoticeOfSeverance\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasNoticeOfSeverance\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasNoticeOfSeverance\", $$c)}}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Notice of Severance\")])])])]),_c('td',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasOldWill),expression:\"will.hasOldWill\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.will.hasOldWill)?_vm._i(_vm.will.hasOldWill,null)>-1:(_vm.will.hasOldWill)},on:{\"change\":function($event){var $$a=_vm.will.hasOldWill,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasOldWill\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasOldWill\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasOldWill\", $$c)}}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Old Will\")])])])])])])])])])]),_c('step',{attrs:{\"title\":\"Executors\",\"completed\":_vm.executorsValid}},[(!_vm.showExecutorsForm)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('table',{staticClass:\"table\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(\"Name\")]),_c('th',[_vm._v(\"Telephone\")]),_c('th',[_vm._v(\"Email\")]),_c('th',[_vm._v(\"Address\")]),_c('th',[_vm._v(\"Type\")]),_c('th')])]),_c('tbody',[_vm._l((_vm.will.executors),function(executor){return _c('tr',{key:executor.id},[_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(executor.name))]),_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(executor.telephone))]),_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(executor.email))]),_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(_vm._f(\"singlelineaddress\")(executor)))]),_c('td',{staticClass:\"col-auto\"},[(executor.isProfessionalExecutor && executor.isRLGExecutor)?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"info\"}},[_vm._v(\"Professional - RLG Exec\")]):_vm._e(),(executor.isProfessionalExecutor && !executor.isRLGExecutor)?_c('b-badge',{staticClass:\"mr=1\",attrs:{\"variant\":\"info\"}},[_vm._v(\"Professional - PP Exec\")]):_vm._e(),(_vm.firstOrSubstituteExecutorTypeDescription(executor) != null)?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm.firstOrSubstituteExecutorTypeDescription(executor)))]):_vm._e(),(_vm.soleOrCoExecutorTypeDescription(executor) != null)?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"success\"}},[_vm._v(_vm._s(_vm.soleOrCoExecutorTypeDescription(executor)))]):_vm._e()],1),_c('td',{staticClass:\"col-auto text-right\"},[_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onEditExecutor(executor)}}},[_vm._v(\"Edit\")]),_c('b-dropdown-divider'),_c('b-dropdown-item',{staticClass:\"text-danger\",on:{\"click\":function($event){return _vm.onRemoveExecutor(executor)}}},[_vm._v(\"Remove\")])],1)],1)])}),(!_vm.will.executors.length)?_c('tr',[_c('td',{staticClass:\"text-center\",attrs:{\"colspan\":\"6\"}},[_vm._v(\"\\n No executors, \"),_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.onAddExecutor}},[_vm._v(\"click here\")]),_vm._v(\" to add a new executor.\\n \")])]):_c('tr',[_c('td',{staticClass:\"text-center\",attrs:{\"colspan\":\"6\"}},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.onAddExecutor}},[_vm._v(\"Click here\")]),_vm._v(\" to add another executor.\\n \")])])],2)])])]):_c('div',[_c('will-executor-detail',{ref:\"executor\",attrs:{\"client\":_vm.client,\"executor\":_vm.currentExecutor,\"executor-type-required\":true}})],1)]),_c('step',{attrs:{\"title\":\"Notes\",\"disabled\":false,\"completed\":_vm.notesValid}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"title\"}},[_vm._v(\"Notes\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.notes),expression:\"will.notes\"}],staticClass:\"form-control\",staticStyle:{\"min-height\":\"10rem\"},domProps:{\"value\":(_vm.will.notes)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.will, \"notes\", $event.target.value)}}})])])])])],1),_c('template',{slot:\"modal-footer\"},[(!_vm.showGuardiansForm && !_vm.showExecutorsForm)?_c('b-btn',{on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]):_vm._e(),(!_vm.showExecutorsForm && !_vm.showGuardiansForm && _vm.currentStep > 0)?_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onPrevious}},[_vm._v(\"Previous\")]):_vm._e(),(!_vm.showExecutorsForm && !_vm.showGuardiansForm && _vm.currentStep < _vm.maxSteps)?_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onNext}},[_vm._v(\"Next\")]):_vm._e(),(_vm.currentStep === _vm.maxSteps)?_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onSave}},[_vm._v(\"Add Will\")]):_vm._e(),(_vm.showGuardiansForm)?_c('b-btn',{on:{\"click\":_vm.onCancelGuardian}},[_vm._v(\"Cancel\")]):_vm._e(),(_vm.showGuardiansForm)?_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onSaveGuardian}},[_vm._v(_vm._s(_vm.isEditingGuardian ? 'Update' : 'Add')+\" Guardian\")]):_vm._e(),(_vm.showExecutorsForm)?_c('b-btn',{on:{\"click\":_vm.onCancelExecutor}},[_vm._v(\"Cancel\")]):_vm._e(),(_vm.showExecutorsForm)?_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onSaveExecutor}},[_vm._v(_vm._s(_vm.isEditingExecutor ? 'Update' : 'Add')+\" Executor\")]):_vm._e()],1)],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('div',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"name\"}},[_vm._v(\"Name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.executor.name),expression:\"executor.name\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('executor-details.name') },attrs:{\"type\":\"text\",\"name\":\"name\",\"data-vv-scope\":\"executor-details\",\"data-vv-as\":\"executor name\"},domProps:{\"value\":(_vm.executor.name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.executor, \"name\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('executor-details.name')),expression:\"errors.has('executor-details.name')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('executor-details.name')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"telephone\"}},[_vm._v(\"Telephone\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.executor.telephone),expression:\"executor.telephone\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"telephone\"},domProps:{\"value\":(_vm.executor.telephone)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.executor, \"telephone\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"email\"}},[_vm._v(\"Email\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.executor.email),expression:\"executor.email\"},{name:\"validate\",rawName:\"v-validate\",value:('email'),expression:\"'email'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('executor-details.email') },attrs:{\"type\":\"text\",\"name\":\"email\",\"data-vv-scope\":\"executor-details\",\"data-vv-as\":\"executor e-mail\"},domProps:{\"value\":(_vm.executor.email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.executor, \"email\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('executor-details.email')),expression:\"errors.has('executor-details.email')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('executor-details.email')))])]),_c('div',{staticClass:\"form-group\"},[_c('address-with-lookup',{ref:\"address\",attrs:{\"address\":_vm.executor,\"required\":false,\"compact\":true}})],1),_c('div',{staticClass:\"form-group\"},[_vm._m(0),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.executor.isProfessionalExecutor),expression:\"executor.isProfessionalExecutor\"},{name:\"validate\",rawName:\"v-validate\",value:(_vm.executorTypeRequired ? 'required' : ''),expression:\"executorTypeRequired ? 'required' : ''\"}],staticClass:\"form-check-input\",class:{ 'is-invalid': _vm.errors.has('executor-details.isProfessionalExecutor') },attrs:{\"type\":\"radio\",\"name\":\"isProfessionalExecutor\",\"id\":\"isProfessionalExecutorNo\",\"data-vv-scope\":\"executor-details\",\"data-vv-as\":\"professional executor\"},domProps:{\"value\":false,\"checked\":_vm._q(_vm.executor.isProfessionalExecutor,false)},on:{\"change\":function($event){return _vm.$set(_vm.executor, \"isProfessionalExecutor\", false)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isProfessionalExecutorNo\"}},[_vm._v(\"No\")])]),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.executor.isProfessionalExecutor),expression:\"executor.isProfessionalExecutor\"},{name:\"validate\",rawName:\"v-validate\",value:(_vm.executorTypeRequired ? 'required' : ''),expression:\"executorTypeRequired ? 'required' : ''\"}],staticClass:\"form-check-input\",class:{ 'is-invalid': _vm.errors.has('executor-details.isProfessionalExecutor') },attrs:{\"type\":\"radio\",\"name\":\"isProfessionalExecutor\",\"id\":\"isProfessionalExecutorYes\",\"data-vv-scope\":\"executor-details\",\"data-vv-as\":\"professional executor\"},domProps:{\"value\":true,\"checked\":_vm._q(_vm.executor.isProfessionalExecutor,true)},on:{\"change\":function($event){return _vm.$set(_vm.executor, \"isProfessionalExecutor\", true)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isProfessionalExecutorYes\"}},[_vm._v(\"Yes\")])]),_c('div',[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('executor-details.isProfessionalExecutor')),expression:\"errors.has('executor-details.isProfessionalExecutor')\"}],staticClass:\"invalid-radio-feedback\"},[_vm._v(_vm._s(_vm.errors.first('executor-details.isProfessionalExecutor')))])])]),(_vm.showIsRlgExecutor)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"isRlgExecutor\"}},[_vm._v(\"Appointed\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.executor.isRLGExecutor),expression:\"executor.isRLGExecutor\"},{name:\"validate\",rawName:\"v-validate\",value:(_vm.executorTypeRequired ? 'required' : ''),expression:\"executorTypeRequired ? 'required' : ''\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('executor-details.isRlgExecutor') },attrs:{\"name\":\"isRlgExecutor\",\"data-vv-scope\":\"executor-details\",\"data-vv-as\":\"appointed\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.executor, \"isRLGExecutor\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_c('option',{domProps:{\"value\":true}},[_vm._v(\"Right Legal Group\")]),_c('option',{domProps:{\"value\":false}},[_vm._v(_vm._s(_vm.partnerPracticeName(this.client.partnerPracticeId)))])]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('executor-details.isRlgExecutor')),expression:\"errors.has('executor-details.isRlgExecutor')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('executor-details.isRlgExecutor')))])]):_vm._e(),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.executor.isFirstOrSubstituteExecutor),expression:\"executor.isFirstOrSubstituteExecutor\"},{name:\"validate\",rawName:\"v-validate\",value:(_vm.executorTypeRequired ? 'required' : ''),expression:\"executorTypeRequired ? 'required' : ''\"}],staticClass:\"form-check-input\",class:{ 'is-invalid': _vm.errors.has('executor-details.isFirstOrSubstituteExecutor') },attrs:{\"type\":\"radio\",\"name\":\"isFirstOrSubstituteExecutor\",\"id\":\"isFirstExecutor\",\"data-vv-scope\":\"executor-details\",\"data-vv-as\":\"first/substitute executor\"},domProps:{\"value\":false,\"checked\":_vm._q(_vm.executor.isFirstOrSubstituteExecutor,false)},on:{\"change\":function($event){return _vm.$set(_vm.executor, \"isFirstOrSubstituteExecutor\", false)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isFirstExecutor\"}},[_vm._v(\"First Executor\")])]),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.executor.isFirstOrSubstituteExecutor),expression:\"executor.isFirstOrSubstituteExecutor\"},{name:\"validate\",rawName:\"v-validate\",value:(_vm.executorTypeRequired ? 'required' : ''),expression:\"executorTypeRequired ? 'required' : ''\"}],staticClass:\"form-check-input\",class:{ 'is-invalid': _vm.errors.has('executor-details.isFirstOrSubstituteExecutor') },attrs:{\"type\":\"radio\",\"name\":\"isFirstOrSubstituteExecutor\",\"id\":\"isSubstituteExecutor\",\"data-vv-scope\":\"executor-details\",\"data-vv-as\":\"first/substitute executor\"},domProps:{\"value\":true,\"checked\":_vm._q(_vm.executor.isFirstOrSubstituteExecutor,true)},on:{\"change\":function($event){return _vm.$set(_vm.executor, \"isFirstOrSubstituteExecutor\", true)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isSubstituteExecutor\"}},[_vm._v(\"Substitute Executor\")])]),_c('div',[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('executor-details.isFirstOrSubstituteExecutor')),expression:\"errors.has('executor-details.isFirstOrSubstituteExecutor')\"}],staticClass:\"invalid-radio-feedback\"},[_vm._v(_vm._s(_vm.errors.first('executor-details.isFirstOrSubstituteExecutor')))])])]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.executor.isSoleOrCoExecutor),expression:\"executor.isSoleOrCoExecutor\"},{name:\"validate\",rawName:\"v-validate\",value:(_vm.executorTypeRequired ? 'required' : ''),expression:\"executorTypeRequired ? 'required' : ''\"}],staticClass:\"form-check-input\",class:{ 'is-invalid': _vm.errors.has('executor-details.isSoleOrCoExecutor') },attrs:{\"type\":\"radio\",\"name\":\"isSoleOrCoExecutor\",\"id\":\"isSoleExecutor\",\"data-vv-scope\":\"executor-details\",\"data-vv-as\":\"sole/co executor\"},domProps:{\"value\":false,\"checked\":_vm._q(_vm.executor.isSoleOrCoExecutor,false)},on:{\"change\":function($event){return _vm.$set(_vm.executor, \"isSoleOrCoExecutor\", false)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isSoleExecutor\"}},[_vm._v(\"Sole Executor\")])]),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.executor.isSoleOrCoExecutor),expression:\"executor.isSoleOrCoExecutor\"},{name:\"validate\",rawName:\"v-validate\",value:(_vm.executorTypeRequired ? 'required' : ''),expression:\"executorTypeRequired ? 'required' : ''\"}],staticClass:\"form-check-input\",class:{ 'is-invalid': _vm.errors.has('executor-details.isSoleOrCoExecutor') },attrs:{\"type\":\"radio\",\"name\":\"isSoleOrCoExecutor\",\"id\":\"isCoExecutor\",\"data-vv-scope\":\"executor-details\",\"data-vv-as\":\"sole/co executor\"},domProps:{\"value\":true,\"checked\":_vm._q(_vm.executor.isSoleOrCoExecutor,true)},on:{\"change\":function($event){return _vm.$set(_vm.executor, \"isSoleOrCoExecutor\", true)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isCoExecutor\"}},[_vm._v(\"Co-Executor\")])]),_c('div',[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('executor-details.isSoleOrCoExecutor')),expression:\"errors.has('executor-details.isSoleOrCoExecutor')\"}],staticClass:\"invalid-radio-feedback\"},[_vm._v(_vm._s(_vm.errors.first('executor-details.isSoleOrCoExecutor')))])])])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Professional Executor?\")])])}]\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\n\n\n\n\n\n\n\n\n\n\n\n\nimport addressWithLookup from '@/components/address-with-lookup.vue';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientAccountWillExecutor } from '@/shared/clients/client-account-will-executor';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\n\n@Component({\n components: {\n addressWithLookup,\n },\n})\nexport default class WillExecutorDetail extends Vue {\n @partnerPracticesModule.Getter('partnerPracticeName') private partnerPracticeName!: (partnerPracticeId: string | null) => string;\n\n @Prop({ required: true }) public client!: ClientAccount;\n @Prop({ required: true }) public executor!: ClientAccountWillExecutor;\n @Prop({ required: true }) public executorTypeRequired!: boolean;\n @Prop({ required: true }) public addressStep!: number;\n\n private showIsRlgExecutor: boolean = false;\n\n @Watch('executor.isProfessionalExecutor', { immediate: true })\n private onIsProfessionalExecutorChanged(value: boolean | null): void {\n this.showIsRlgExecutor = value === true;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./will-executor-detail.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./will-executor-detail.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./will-executor-detail.vue?vue&type=template&id=46eba250&\"\nimport script from \"./will-executor-detail.vue?vue&type=script&lang=ts&\"\nexport * from \"./will-executor-detail.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('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"name\"}},[_vm._v(\"Name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.guardian.name),expression:\"guardian.name\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('guardian-details.name') },attrs:{\"type\":\"text\",\"name\":\"name\",\"data-vv-scope\":\"guardian-details\",\"data-vv-as\":\"guardian name\"},domProps:{\"value\":(_vm.guardian.name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.guardian, \"name\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('guardian-details.name')),expression:\"errors.has('guardian-details.name')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('guardian-details.name')))])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { ClientAccountWillGuardian } from '@/shared/clients/client-account-will-guardian';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class WillGuardianDetail extends Vue {\n @Prop({ required: true }) public guardian!: ClientAccountWillGuardian;\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./will-guardian-detail.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./will-guardian-detail.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./will-guardian-detail.vue?vue&type=template&id=32e6f1b1&\"\nimport script from \"./will-guardian-detail.vue?vue&type=script&lang=ts&\"\nexport * from \"./will-guardian-detail.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 { ClientAccountWillExecutor } from '@/shared/clients/client-account-will-executor';\nimport { ClientAccountWillGuardian } from '@/shared/clients/client-account-will-guardian';\n\nexport interface ClientAccountWill {\n id?: string | null;\n partnerPracticeReference: string | null;\n rightLegalReference: string | null;\n willTypeId: string | null;\n date: string | Date | null;\n hasGuardianAppointed: boolean;\n hasAttendanceNotes: boolean;\n hasFactFind: boolean;\n hasLetterOfWishes: boolean;\n hasJustToLetYouKnow: boolean;\n hasNoticeOfSeverance: boolean;\n hasOldWill: boolean;\n notes: string | null;\n isNewWill?: boolean;\n isHistorical?: boolean;\n guardians: Array;\n executors: Array;\n version?: number;\n createdDate?: string | Date | null;\n createdBy?: string | null;\n}\n\nexport function createClientAccountWill(): ClientAccountWill {\n return {\n partnerPracticeReference: null,\n rightLegalReference: null,\n willTypeId: null,\n date: null,\n hasGuardianAppointed: false,\n hasAttendanceNotes: false,\n hasFactFind: false,\n hasLetterOfWishes: false,\n hasJustToLetYouKnow: false,\n hasNoticeOfSeverance: false,\n hasOldWill: false,\n notes: null,\n guardians: new Array(),\n executors: new Array(),\n };\n}\n","export interface ClientAccountWillExecutor {\n id?: string | null;\n name: string | null;\n telephone: string | null;\n email: string | null;\n addressLine1: null;\n addressLine2: null;\n addressLine3: null;\n town: null;\n county: null;\n postcode: null;\n isProfessionalExecutor?: boolean | null;\n isRLGExecutor?: boolean | null;\n isFirstOrSubstituteExecutor?: boolean | null;\n isSoleOrCoExecutor?: boolean | null;\n displayOrder?: number;\n version?: number;\n}\n\nexport function createClientAccountWillExecutor(): ClientAccountWillExecutor {\n return {\n name: null,\n telephone: null,\n email: null,\n addressLine1: null,\n addressLine2: null,\n addressLine3: null,\n town: null,\n county: null,\n postcode: null,\n isProfessionalExecutor: null,\n isRLGExecutor: null,\n isFirstOrSubstituteExecutor: null,\n isSoleOrCoExecutor: null,\n };\n}\n","export interface ClientAccountWillGuardian {\n id?: string | null;\n name: string | null;\n version?: number;\n\n}\n\nexport function createClientAccountWillGuardian(): ClientAccountWillGuardian {\n return {\n name: null,\n };\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport willExecutorDetail from '@/components/client/view-client/will-executor-detail.vue';\nimport willGuardianDetail from '@/components/client/view-client/will-guardian-detail.vue';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientAccountWill, createClientAccountWill } from '@/shared/clients/client-account-will';\nimport { ClientAccountWillExecutor, createClientAccountWillExecutor } from '@/shared/clients/client-account-will-executor';\nimport { ClientAccountWillGuardian, createClientAccountWillGuardian } from '@/shared/clients/client-account-will-guardian';\nimport { WillType } from '@/shared/types/will-type';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\n\n@Component({\n components: {\n willExecutorDetail,\n willGuardianDetail,\n },\n})\nexport default class AddWillDialog extends Vue {\n @typesModule.Getter('activeWillTypes') public willTypes!: Array;\n\n @Prop({ required: true }) public client!: ClientAccount;\n @Prop({ required: true }) public visible!: boolean;\n\n private isVisible: boolean = this.visible;\n private currentStep: number = 0;\n private showExecutorsForm: boolean = false;\n private isEditingExecutor: boolean = false;\n private currentExecutor: ClientAccountWillExecutor | null = null;\n private showGuardiansForm: boolean = false;\n private isEditingGuardian: boolean = false;\n private currentGuardian: ClientAccountWillGuardian | null = null;\n private will: ClientAccountWill = createClientAccountWill();\n private detailsValid: boolean = false;\n private willPacketContentsValid: boolean = false;\n private guardiansValid: boolean = false;\n private executorsValid: boolean = false;\n private notesValid: boolean = false;\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.currentStep = 0;\n this.$validator.errors.clear();\n this.will = createClientAccountWill();\n this.isVisible = visible;\n }\n\n private get maxSteps(): number {\n return this.will.hasGuardianAppointed ? 4 : 3;\n }\n\n private async onSave(): Promise {\n const isValid = this.$validator.validateAll();\n\n if (!isValid) {\n return;\n }\n\n try {\n this.$emit('ok', { ...this.will, executors: [...this.will.executors], guardians: [...this.will.guardians] });\n } catch (e) {\n this.$snackbar.open({ message: `Could not create will. Please try again.`, type: 'is-danger' });\n }\n }\n\n private async onNext(): Promise {\n let currentStep = this.currentStep;\n\n if (this.currentStep > 0 && !this.will.hasGuardianAppointed) {\n currentStep++;\n }\n\n switch (currentStep) {\n case 0: {\n const isValid = await this.$validator.validateAll('will-details');\n\n if (!isValid) {\n return;\n }\n\n this.detailsValid = true;\n break;\n }\n case 1:\n this.guardiansValid = true;\n break;\n case 2:\n this.willPacketContentsValid = true;\n break;\n case 3:\n this.executorsValid = true;\n break;\n case 4:\n this.notesValid = true;\n break;\n }\n\n setTimeout(() => {\n this.currentStep++;\n }, 0);\n }\n\n private onPrevious(): void {\n this.currentStep--;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n\n private async onSaveGuardian(): Promise {\n const isValid = await (this.$refs.guardian as Vue).$validator.validateAll('guardian-details');\n\n if (!isValid) {\n return;\n }\n\n if (!this.isEditingGuardian) {\n this.will.guardians.push({ ...this.currentGuardian! });\n } else {\n const index = this.will.guardians.findIndex((g) => g.id === this.currentGuardian!.id);\n\n if (index < 0) {\n this.$snackbar.open({ message: 'Could not update guardian. Please try again.', type: 'is-danger' });\n } else {\n if (this.currentGuardian!.id === 'editing') {\n this.currentGuardian!.id = null;\n }\n\n this.will.guardians.splice(index, 1, { ...this.currentGuardian! });\n }\n }\n\n this.currentGuardian = null;\n this.showGuardiansForm = false;\n this.isEditingGuardian = false;\n }\n\n private onAddGuardian(): void {\n this.currentGuardian = createClientAccountWillGuardian();\n this.showGuardiansForm = true;\n }\n\n private onEditGuardian(guardian: ClientAccountWillGuardian): void {\n if (guardian.id == null) {\n guardian.id = 'editing';\n }\n\n this.currentGuardian = { ...guardian };\n this.showGuardiansForm = true;\n this.isEditingGuardian = true;\n }\n\n private onRemoveGuardian(guardian: ClientAccountWillGuardian): void {\n if (guardian.id == null) {\n guardian.id = 'editing';\n }\n\n const index = this.will.guardians.findIndex((g) => g.id === guardian.id);\n\n if (index < 0) {\n this.$snackbar.open({ message: 'Could not remove guardian. Please try again.', type: 'is-danger' });\n } else {\n this.will.guardians.splice(index, 1);\n }\n\n this.currentGuardian = null;\n }\n\n private onCancelGuardian(): void {\n for (const guardian of this.will.guardians.filter((g) => g.id === 'editing')) {\n guardian.id = null;\n }\n\n this.currentGuardian = null;\n this.showGuardiansForm = false;\n this.isEditingGuardian = false;\n }\n\n private async onSaveExecutor(): Promise {\n const isValid = await (this.$refs.executor as Vue).$validator.validateAll('executor-details');\n\n if (!isValid) {\n return;\n }\n\n if (!this.isEditingExecutor) {\n this.will.executors.push({ ...this.currentExecutor! });\n } else {\n const index = this.will.executors.findIndex((e) => e.id === this.currentExecutor!.id);\n\n if (index < 0) {\n this.$snackbar.open({ message: 'Could not update executor. Please try again.', type: 'is-danger' });\n } else {\n if (this.currentExecutor!.id === 'editing') {\n this.currentExecutor!.id = null;\n }\n\n this.will.executors.splice(index, 1, { ...this.currentExecutor! });\n }\n }\n\n this.currentExecutor = null;\n this.showExecutorsForm = false;\n this.isEditingExecutor = false;\n }\n\n private onAddExecutor(): void {\n this.currentExecutor = createClientAccountWillExecutor();\n this.showExecutorsForm = true;\n }\n\n private onEditExecutor(executor: ClientAccountWillExecutor): void {\n if (executor.id == null) {\n executor.id = 'editing';\n }\n\n this.currentExecutor = { ...executor };\n this.showExecutorsForm = true;\n this.isEditingExecutor = true;\n }\n\n private onRemoveExecutor(executor: ClientAccountWillExecutor): void {\n if (executor.id == null) {\n executor.id = 'editing';\n }\n\n const index = this.will.executors.findIndex((e) => e.id === executor.id);\n\n if (index < 0) {\n this.$snackbar.open({ message: 'Could not remove executor. Please try again.', type: 'is-danger' });\n } else {\n this.will.executors.splice(index, 1);\n }\n\n this.currentExecutor = null;\n }\n\n private onCancelExecutor(): void {\n for (const executor of this.will.executors.filter((e) => e.id === 'editing')) {\n executor.id = null;\n }\n\n this.currentExecutor = null;\n this.showExecutorsForm = false;\n this.isEditingExecutor = false;\n }\n\n private firstOrSubstituteExecutorTypeDescription(executor: ClientAccountWillExecutor): string | null {\n if (executor == null || executor.isFirstOrSubstituteExecutor == null) {\n return null;\n }\n\n return executor.isFirstOrSubstituteExecutor ? 'Sub Exec' : 'First Exec';\n }\n\n private soleOrCoExecutorTypeDescription(executor: ClientAccountWillExecutor): string | null {\n if (executor == null || executor.isSoleOrCoExecutor == null) {\n return null;\n }\n\n return executor.isSoleOrCoExecutor ? 'Co-Exec' : 'Sole Exec';\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-will-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-will-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./add-will-dialog.vue?vue&type=template&id=f0815c08&\"\nimport script from \"./add-will-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./add-will-dialog.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:\"client-address-details\"},[_vm._m(0),_c('div',{staticClass:\"row pt-3\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"occupation\"}},[_vm._v(\"Occupation\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.occupation),expression:\"client.occupation\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"occupation\"},domProps:{\"value\":(_vm.client.occupation)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.client, \"occupation\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"relationshipStatus\"}},[_vm._v(\"Relationship Status\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.relationshipStatusId),expression:\"client.relationshipStatusId\"}],staticClass:\"form-control\",attrs:{\"name\":\"relationshipStatus\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.client, \"relationshipStatusId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.relationshipTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2)]),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"National Insurance Number\")]),_c('national-insurance-number-input',{ref:\"nationalInsuranceNumber\",attrs:{\"national-insurance-number\":_vm.client.nationalInsuranceNumber},on:{\"change\":_vm.onNationalInsuranceNumberChanged}})],1),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"estimated-estate-value\"}},[_vm._v(\"Estimated Estate Value\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}])},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.estimatedEstateValue),expression:\"client.estimatedEstateValue\"},{name:\"validate\",rawName:\"v-validate\",value:('decimal:2'),expression:\"'decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('additional-details.estimated-estate-value') },attrs:{\"type\":\"text\",\"name\":\"estimated-estate-value\",\"id\":\"estimated-estate-value\",\"data-vv-scope\":\"additional-details\",\"data-vv-as\":\"estimated estate value\"},domProps:{\"value\":(_vm.client.estimatedEstateValue)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.client, \"estimatedEstateValue\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('additional-details.estimated-estate-value')),expression:\"errors.has('additional-details.estimated-estate-value')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('additional-details.estimated-estate-value')))])])],1),(_vm.showMatterDetails)?_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col-12 col-lg-6\"},[_c('label',{attrs:{\"for\":\"matter-id\"}},[_vm._v(\"Matter ID\")]),(_vm.isInternalKeyStakeholder)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.matterId),expression:\"client.matterId\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"matter-id\"},domProps:{\"value\":(_vm.client.matterId)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.client, \"matterId\", $event.target.value)}}}):_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"matter-id\"}},[_vm._v(_vm._s(_vm.client.matterId))])]),_c('div',{staticClass:\"form-group col-md-12 col-lg-6\"},[_c('label',{attrs:{\"for\":\"matter-received\"}},[_vm._v(\"Date Referral Received\")]),(_vm.isInternalKeyStakeholder)?_c('datepicker',{attrs:{\"id\":\"matter-received\"},model:{value:(_vm.client.matterReceived),callback:function ($$v) {_vm.$set(_vm.client, \"matterReceived\", $$v)},expression:\"client.matterReceived\"}}):_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"matter-id\"}},[_vm._v(_vm._s(_vm._f(\"date\")(_vm.client.matterReceived)))])],1),_c('div',{staticClass:\"form-group col-12 col-lg-6\"},[_c('label',{attrs:{\"for\":\"matter-opened\"}},[_vm._v(\"Date Matter Opened\")]),(_vm.isInternalKeyStakeholder)?_c('datepicker',{attrs:{\"id\":\"matter-opened\"},model:{value:(_vm.client.matterOpened),callback:function ($$v) {_vm.$set(_vm.client, \"matterOpened\", $$v)},expression:\"client.matterOpened\"}}):_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"matter-opened\"}},[_vm._v(_vm._s(_vm._f(\"date\")(_vm.client.matterOpened)))])],1),_c('div',{staticClass:\"form-group col-12 col-lg-6\"},[_c('label',{attrs:{\"for\":\"matter-closed\"}},[_vm._v(\"Date Matter Closed\")]),(_vm.isInternalKeyStakeholder)?_c('datepicker',{attrs:{\"id\":\"matter-closed\"},model:{value:(_vm.client.matterClosed),callback:function ($$v) {_vm.$set(_vm.client, \"matterClosed\", $$v)},expression:\"client.matterClosed\"}}):_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"matter-id\"}},[_vm._v(_vm._s(_vm._f(\"date\")(_vm.client.matterClosed)))])],1),_c('div',{staticClass:\"form-group col-12\"},[_c('label',{attrs:{\"for\":\"matter-description\"}},[_vm._v(\"Matter Description\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.matterDescription),expression:\"client.matterDescription\"}],staticClass:\"form-control\",attrs:{\"readonly\":!_vm.isInternalKeyStakeholder,\"type\":\"text\",\"id\":\"matter-description\"},domProps:{\"value\":(_vm.client.matterDescription)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.client, \"matterDescription\", $event.target.value)}}})])]):_vm._e()])])]),_c('div',{staticClass:\"col\"},[_c('ul',{staticClass:\"list-group list-group-flush\"},[_c('li',{staticClass:\"list-group-item\"},[_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col-4\"},[_c('b-form-checkbox',{attrs:{\"switch\":\"\",\"id\":\"is-sensitive\"},model:{value:(_vm.client.isSensitive),callback:function ($$v) {_vm.$set(_vm.client, \"isSensitive\", $$v)},expression:\"client.isSensitive\"}})],1),_vm._m(1)])]),_c('li',{staticClass:\"list-group-item\"},[_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col-4\"},[_c('b-form-checkbox',{attrs:{\"switch\":\"\",\"id\":\"has-court-of-protection\"},model:{value:(_vm.client.hasCourtOfProtection),callback:function ($$v) {_vm.$set(_vm.client, \"hasCourtOfProtection\", $$v)},expression:\"client.hasCourtOfProtection\"}})],1),_vm._m(2)])]),_c('li',{staticClass:\"list-group-item\"},[_c('tri-state-input',{ref:\"hasChildren\",model:{value:(_vm.client.hasChildren),callback:function ($$v) {_vm.$set(_vm.client, \"hasChildren\", $$v)},expression:\"client.hasChildren\"}},[_vm._v(\"Children\")])],1),_c('li',{staticClass:\"list-group-item\"},[_c('tri-state-input',{ref:\"hasChildrenUnderEighteen\",model:{value:(_vm.client.hasChildrenUnderEighteen),callback:function ($$v) {_vm.$set(_vm.client, \"hasChildrenUnderEighteen\", $$v)},expression:\"client.hasChildrenUnderEighteen\"}},[_vm._v(\"Children Under 18\")])],1),_c('li',{staticClass:\"list-group-item\"},[_c('tri-state-input',{ref:\"isHomeOwner\",model:{value:(_vm.client.isHomeOwner),callback:function ($$v) {_vm.$set(_vm.client, \"isHomeOwner\", $$v)},expression:\"client.isHomeOwner\"}},[_vm._v(\"Homeowner\")])],1),_c('li',{staticClass:\"list-group-item\"},[_c('tri-state-input',{ref:\"isBusinessOwner\",model:{value:(_vm.client.isBusinessOwner),callback:function ($$v) {_vm.$set(_vm.client, \"isBusinessOwner\", $$v)},expression:\"client.isBusinessOwner\"}},[_vm._v(\"Business Owner\")])],1)])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('h5',[_vm._v(\"Additional Information\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-6\"},[_c('label',{staticClass:\"form-check-label text-danger font-weight-bold\",attrs:{\"for\":\"is-sensitive\"}},[_vm._v(\"SENSITIVE\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-6\"},[_c('label',{staticClass:\"form-check-label text-warning font-weight-bold\",attrs:{\"for\":\"has-court-of-protection\"}},[_vm._v(\"COP\")])])}]\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\n\n\n\n\n\n\n\n\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientRelationshipType } from '@/shared/types/client-relationship-type';\nimport { Validator } from 'vee-validate';\nimport { Component, Inject, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\nconst userModule = namespace('user');\n\n@Component\nexport default class ClientAdditionalDetails extends Vue {\n @typesModule.Getter('activeClientRelationshipTypes') private relationshipTypes!: Array;\n @userModule.Getter('isInternalKeyStakeholder') private isInternalKeyStakeholder!: boolean;\n\n @Inject('$validator') public $validator!: Validator;\n @Prop({ required: true }) private client!: ClientAccount;\n\n private foo: boolean | null = null;\n\n private get showMatterDetails(): boolean {\n return this.client.matterId != null\n || this.client.matterReceived != null\n || this.client.matterOpened != null\n || this.client.matterClosed != null\n || this.client.matterDescription != null;\n }\n\n @Watch('client.hasChildren')\n private onHasChildrenChanged(value: boolean | null) {\n if (value === null) {\n this.client.hasChildrenUnderEighteen = null;\n return;\n }\n if (value === false) {\n this.client.hasChildrenUnderEighteen = false;\n return;\n }\n }\n\n @Watch('client.hasChildrenUnderEighteen')\n private onHasChildrenUnderEighteenChanged(value: boolean | null) {\n if (value === true) {\n this.client.hasChildren = true;\n }\n }\n\n private onNationalInsuranceNumberChanged(nationalInsuranceNumber: string | null): void {\n this.client.nationalInsuranceNumber = nationalInsuranceNumber;\n }\n}\n\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./additional.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./additional.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./additional.vue?vue&type=template&id=d1d370ca&\"\nimport script from \"./additional.vue?vue&type=script&lang=ts&\"\nexport * from \"./additional.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:\"client-address-details\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6\"},[_vm._m(0),_c('address-with-lookup',{ref:\"address\",attrs:{\"address\":_vm.client,\"allowForeignAddress\":true}})],1),_c('div',{staticClass:\"col\"})])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pb-3\"},[_c('h5',[_vm._v(\"Address\")])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport addressWithLookup from '@/components/address-with-lookup.vue';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { Validator } from 'vee-validate';\nimport { Component, Inject, Prop, Vue } from 'vue-property-decorator';\n\n@Component({\n components: {\n addressWithLookup,\n },\n})\nexport default class ClientAddressDetails extends Vue {\n @Inject('$validator') public $validator!: Validator;\n @Prop({ required: true }) public client!: ClientAccount;\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./address.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./address.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./address.vue?vue&type=template&id=480ac1b2&\"\nimport script from \"./address.vue?vue&type=script&lang=ts&\"\nexport * from \"./address.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:\"client-appointments\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_vm._m(0),_c('div',{staticClass:\"list-group list-group-flush mt-4\"},_vm._l((_vm.orderedAppointments),function(appointment){return _c('div',{key:appointment.id,staticClass:\"list-group-item\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('div',[_c('strong',[_vm._v(\"Appointment type: \")]),_vm._v(\" \"+_vm._s(_vm.appointmentTypeDescription(appointment.appointmentTypeId))+\"\\n \")]),_c('div',[_c('strong',[_vm._v(\"Legal advisor: \")]),_vm._v(\" \"+_vm._s(_vm.userName(appointment.legalAdvisorId))+\"\\n \")]),_c('div',[_c('strong',[_vm._v(\"Date: \")]),_vm._v(\" \"+_vm._s(_vm._f(\"datetime\")(appointment.date))+\"\\n \")]),_c('div',[_c('strong',[_vm._v(\"Booker: \")]),_vm._v(\" \"+_vm._s(appointment.booker.name)+\"\\n \")]),_c('div',[_c('strong',[_vm._v(\"Status: \")]),(_vm.isUnsaved(appointment))?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"info\"}},[_vm._v(\"Unsaved\")]):_vm._e(),(_vm.isPending(appointment))?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"warning\"}},[_vm._v(\"Pending\")]):_vm._e(),(_vm.showOutcomeType(appointment))?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"info\"}},[_vm._v(_vm._s(_vm.outcomeTypeDescription(appointment.outcome.outcomeTypeId)))]):_vm._e(),(_vm.showInstructionType(appointment))?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm.instructionTypeDescription(appointment.outcome.instructionType)))]):_vm._e(),(_vm.showNotInstructed(appointment))?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"secondary\"}},[_vm._v(\"Not Instructed\")]):_vm._e(),(_vm.showOutcomePaymentStatus(appointment))?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"success\"}},[_vm._v(_vm._s(_vm.outcomePaymentStatusTypeDescription(appointment.outcome.paymentDetails.paymentStatusId)))]):_vm._e(),(_vm.isRebook(appointment))?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"primary\"}},[_vm._v(\"Re-book\")]):_vm._e(),(_vm.isRebooked(appointment))?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"danger\"}},[_vm._v(\"Re-booked\")]):_vm._e()],1),(_vm.showOutcomeProducts(appointment))?_c('div',_vm._l((appointment.outcome.products),function(product,index){return _c('div',{key:index},[_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"light\"}},[_vm._v(\"\\n \"+_vm._s(_vm.appointmentProductTypeDescription(product.productTypeId))+\"\\n \"),_c('b-badge',{staticClass:\"mr-1\",staticStyle:{\"font-size\":\"100%\"},attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm.instructionTypeDescription(product.instructionType)))]),(_vm.showProductPaymentStatus(product))?_c('b-badge',{staticClass:\"mr-1\",staticStyle:{\"font-size\":\"100%\"},attrs:{\"variant\":\"success\"}},[_vm._v(_vm._s(_vm.productPaymentStatusTypeDescription(product.paymentDetails)))]):_vm._e()],1)],1)}),0):_vm._e(),_c('div',{staticClass:\"mt-2\"},[_c('small',[_c('em',[_c('strong',[_vm._v(\"Created by: \")]),_vm._v(_vm._s(_vm.userName(appointment.createdBy))+\" on \"+_vm._s(_vm._f(\"datetime\")(appointment.createdDate)))])])]),(appointment.lastModifiedBy != null && appointment.lastModifiedDate != null)?_c('div',[_c('small',[_c('em',[_c('strong',[_vm._v(\"Last Modified by: \")]),_vm._v(_vm._s(_vm.userName(appointment.lastModifiedBy))+\" on \"+_vm._s(_vm._f(\"datetime\")(appointment.lastModifiedDate)))])])]):_vm._e()]),_c('div',{staticClass:\"col-auto\"},[_c('b-dropdown',{attrs:{\"size\":\"sm\",\"text\":\"Actions\",\"right\":\"\"}},[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.showViewAppointmentDialog(appointment)}}},[_vm._v(\"View Appointment\")]),(_vm.canEditAppointment(appointment))?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.showEditAppointmentDialog(appointment)}}},[_vm._v(\"Edit Appointment Booking\")]):_vm._e(),(_vm.canRebookAppointment(appointment))?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.showRebookAppointmentDialog(appointment)}}},[_vm._v(\"Re-book Appointment\")]):_vm._e(),(_vm.canCreateOutcome(appointment))?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.showCompleteAppointmentDialog(appointment)}}},[_vm._v(\"Complete Appointment\")]):_vm._e(),(_vm.canEditOutcome(appointment))?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.showEditOutcomeDialog(appointment)}}},[_vm._v(\"Edit Appointment Outcome\")]):_vm._e(),(_vm.canDeleteAppointment() || _vm.canDeleteOutcome(appointment))?_c('b-dropdown-divider'):_vm._e(),(_vm.canDeleteAppointment())?_c('b-dropdown-item',{staticClass:\"text-danger\",attrs:{\"disabled\":_vm.saving},on:{\"click\":function($event){return _vm.showDeleteAppointmentConfirmationDialog(appointment)}}},[_vm._v(\"Delete Appointment\")]):_vm._e(),(_vm.canDeleteOutcome(appointment))?_c('b-dropdown-item',{staticClass:\"text-danger\",attrs:{\"disabled\":_vm.saving},on:{\"click\":function($event){return _vm.showDeleteOutcomeConfirmationDialog(appointment)}}},[_vm._v(\"Delete Appointment Outcome\")]):_vm._e()],1)],1)])])}),0)])]),_c('confirmation-dialog',{ref:\"modal\",attrs:{\"title\":\"Are you sure?\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true,\"variant\":\"danger\",\"ok-text\":\"Delete\",\"centered\":\"\"},on:{\"ok\":_vm.onDeleteAppointment,\"cancel\":_vm.onCancel},model:{value:(_vm.deleteAppointmentConfirmationDialogVisible),callback:function ($$v) {_vm.deleteAppointmentConfirmationDialogVisible=$$v},expression:\"deleteAppointmentConfirmationDialogVisible\"}},[_c('div',[_vm._v(\"\\n Are you sure you want to delete this appointment?\\n \")])]),_c('confirmation-dialog',{ref:\"modal\",attrs:{\"title\":\"Are you sure?\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true,\"variant\":\"danger\",\"ok-text\":\"Delete\",\"centered\":\"\"},on:{\"ok\":_vm.onDeleteOutcome,\"cancel\":_vm.onCancel},model:{value:(_vm.deleteOutcomeConfirmationDialogVisible),callback:function ($$v) {_vm.deleteOutcomeConfirmationDialogVisible=$$v},expression:\"deleteOutcomeConfirmationDialogVisible\"}},[_c('div',[_vm._v(\"\\n Are you sure you want to delete this appointment's outcome?\\n \")])]),(_vm.viewAppointmentDialogVisible)?_c('view-appointment-dialog',{attrs:{\"visible\":_vm.viewAppointmentDialogVisible,\"appointment\":_vm.selectedAppointment},on:{\"cancel\":_vm.onViewCancel}}):_vm._e(),(_vm.bookAppointmentDialogVisible)?_c('book-appointment-dialog',{attrs:{\"visible\":_vm.bookAppointmentDialogVisible,\"client\":_vm.client,\"original-appointment\":_vm.selectedAppointment,\"is-rebook\":_vm.isAppointmentRebook,\"is-edit\":_vm.isAppointmentEdit},on:{\"ok\":_vm.onAppointmentBooked,\"cancel\":_vm.onBookingCancel}}):_vm._e(),(_vm.completeAppointmentDialogVisible)?_c('complete-appointment-dialog',{attrs:{\"visible\":_vm.completeAppointmentDialogVisible,\"appointment\":_vm.selectedAppointment},on:{\"ok\":_vm.onCompleted,\"cancel\":_vm.onCompletionCancel}}):_vm._e(),(_vm.editOutcomeDialogVisible)?_c('edit-appointment-outcome-dialog',{attrs:{\"visible\":_vm.editOutcomeDialogVisible,\"appointment\":_vm.selectedAppointment},on:{\"ok\":_vm.onOutcomeUpdated,\"cancel\":_vm.onCompletionCancel}}):_vm._e(),(_vm.editOutcomeLegacyDialogVisible)?_c('edit-appointment-outcome-legacy-dialog',{attrs:{\"visible\":_vm.editOutcomeLegacyDialogVisible,\"appointment\":_vm.selectedAppointment},on:{\"ok\":_vm.onOutcomeUpdated,\"cancel\":_vm.onCompletionCancel}}):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h5',[_vm._v(\"Appointments\")])])}]\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\nimport { AppointmentApi } from '@/api/appointments';\nimport { appointmentProductTypeDescription, appointmentTypeDescription, canEditAppointmentOutcome, instructionTypeDescription, outcomePaymentStatusTypeDescription, outcomeTypeDescription, productPaymentStatusTypeDescription } from '@/components/appointments/appointment-utilities';\nimport bookAppointmentDialog from '@/components/appointments/book-appointment-dialog.vue';\nimport completeAppointmentDialog from '@/components/appointments/complete-appointment/complete-appointment-dialog.vue';\nimport editAppointmentOutcomeDialog from '@/components/appointments/edit-appointment-outcome-dialog.vue';\nimport editAppointmentOutcomeLegacyDialog from '@/components/appointments/edit-appointment-outcome-legacy-dialog.vue';\nimport viewAppointmentDialog from '@/components/appointments/view-appointment-dialog.vue';\nimport { Appointment } from '@/shared/appointments/appointment';\nimport { AppointmentOutcomeProduct } from '@/shared/appointments/appointment-outcome-product';\nimport { AppointmentProductPaymentDetails } from '@/shared/appointments/appointment-product-payment-details';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { InstructionType } from '@/shared/instruction-type';\nimport { AppointmentOutcomeType } from '@/shared/types/appointment-outcome-type';\nimport { AppointmentPaymentStatusType } from '@/shared/types/appointment-payment-status-type';\nimport { AppointmentType } from '@/shared/types/appointment-type';\nimport { ClientStatusType } from '@/shared/types/client-status-type';\nimport { User } from '@/shared/user';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\nconst userModule = namespace('user');\nconst usersModule = namespace('users');\nconst appointmentApi = new AppointmentApi();\n\n@Component({\n components: {\n bookAppointmentDialog,\n completeAppointmentDialog,\n editAppointmentOutcomeDialog,\n editAppointmentOutcomeLegacyDialog,\n viewAppointmentDialog,\n },\n})\nexport default class ClientAppointments extends Vue {\n @typesModule.Getter('activeClientStatusTypes') private statusTypes!: Array;\n @typesModule.Getter('appointmentTypes') private appointmentTypes!: Array;\n @typesModule.Getter('appointmentOutcomeTypes') private outcomeTypes!: Array;\n @typesModule.Getter('activeAppointmentPaymentStatusTypes') private appointmentPaymentStatusTypes!: Array;\n\n @userModule.Getter('user') private currentUser!: User | null;\n @userModule.Getter('isAdministrator') private isAdministrator!: boolean;\n @userModule.Getter('isInternalKeyStakeholder') private isInternalKeyStakeholder!: boolean;\n @userModule.Getter('isCustomerExperienceExecutive') private isCustomerExperienceExecutive!: boolean;\n @userModule.Getter('isCustomerExperienceExecutiveTeamLeader') private isCustomerExperienceExecutiveTeamLeader!: boolean;\n @userModule.Getter('isHeadOfDepartment') private isHeadOfDepartment!: boolean;\n @userModule.Getter('isLegalAdvisor') private isLegalAdvisor!: boolean;\n @userModule.Getter('isLegalAssistant') private isLegalAssistant!: boolean;\n @userModule.Getter('isDataCreationExecutive') private isDataCreationExecutive!: boolean;\n @userModule.Getter('isProbateLegalAdvisor') private isProbateLegalAdvisor!: boolean;\n\n @usersModule.Getter('users') public users!: Array;\n\n @Prop({ required: true }) public client!: ClientAccount;\n @Prop({ required: true }) public appointments!: Array;\n\n private saving: boolean = false;\n private selectedAppointment: Appointment | null = null;\n private viewAppointmentDialogVisible: boolean = false;\n private completeAppointmentDialogVisible: boolean = false;\n private editOutcomeDialogVisible: boolean = false;\n private editOutcomeLegacyDialogVisible: boolean = false;\n private bookAppointmentDialogVisible: boolean = false;\n private deleteAppointmentConfirmationDialogVisible: boolean = false;\n private deleteOutcomeConfirmationDialogVisible: boolean = false;\n private isAppointmentRebook: boolean = false;\n private isAppointmentEdit: boolean = false;\n private showProductTabs: boolean = false;\n\n private get orderedAppointments(): Array {\n return this.appointments.sort((n1, n2) => {\n if (n1.date! < n2.date!) {\n return 1;\n }\n\n if (n1.date! > n2.date!) {\n return -1;\n }\n\n return 0;\n });\n }\n\n private isLegalAdvisorAt(partnerPracticeId: string | null): boolean {\n return this.isLegalAdvisor && this.currentUser!.partnerPracticeId === partnerPracticeId;\n }\n\n private isLegalAssistantAt(partnerPracticeId: string | null): boolean {\n return this.isLegalAssistant && this.currentUser!.partnerPracticeId === partnerPracticeId;\n }\n\n private isHeadOfDepartmentAt(partnerPracticeId: string | null): boolean {\n return this.isHeadOfDepartment && this.currentUser!.partnerPracticeId === partnerPracticeId;\n }\n\n private canCreateOutcome(appointment: Appointment): boolean {\n const partnerPracticeId = this.client.partnerPracticeId;\n\n const validUser = this.currentUser != null &&\n (\n this.isAdministrator ||\n this.isInternalKeyStakeholder ||\n (this.isLegalAdvisorAt(partnerPracticeId) && this.currentUser.id === appointment.legalAdvisorId) ||\n (this.isLegalAssistantAt(partnerPracticeId) && this.currentUser.id === appointment.legalAdvisorId) ||\n this.isHeadOfDepartmentAt(partnerPracticeId)\n );\n\n return validUser && appointment.id != null && appointment.outcome == null && !appointment.isRebooked;\n }\n\n private canEditOutcome(appointment: Appointment): boolean {\n const partnerPracticeId = this.client.partnerPracticeId;\n\n const validUser = this.currentUser != null &&\n (\n this.isAdministrator ||\n this.isInternalKeyStakeholder ||\n (this.isLegalAdvisorAt(partnerPracticeId) && this.currentUser.id === appointment.legalAdvisorId) ||\n (this.isLegalAssistantAt(partnerPracticeId) && this.currentUser.id === appointment.legalAdvisorId) ||\n this.isHeadOfDepartmentAt(partnerPracticeId)\n );\n\n return validUser && canEditAppointmentOutcome(appointment);\n }\n\n private canEditAppointment(appointment: Appointment): boolean {\n return !appointment.isRebooked;\n }\n\n private canRebookAppointment(appointment: Appointment): boolean {\n const partnerPracticeId = this.client.partnerPracticeId;\n\n const validUser = this.currentUser != null &&\n (\n this.isAdministrator ||\n this.isInternalKeyStakeholder ||\n this.isCustomerExperienceExecutive ||\n this.isCustomerExperienceExecutiveTeamLeader ||\n this.isLegalAdvisorAt(partnerPracticeId) ||\n this.isLegalAssistantAt(partnerPracticeId) ||\n this.isHeadOfDepartmentAt(partnerPracticeId) ||\n this.isDataCreationExecutive ||\n this.isProbateLegalAdvisor\n );\n\n const accountStatus = this.statusTypes.find((type) => type.id === this.client.accountStatusId);\n\n if (appointment.outcome == null) {\n return validUser && appointment.id != null && !appointment.isRebooked && !this.client.doNotContact && !accountStatus!.isDeceased && !accountStatus!.isAccountArchived;\n }\n\n const outcomeType = this.outcomeTypes.find((type) => type.id === appointment.outcome!.outcomeTypeId);\n\n if (outcomeType == null) {\n return false;\n }\n\n return validUser && appointment.id != null && !appointment.isRebooked && !outcomeType.isSat && !this.client.doNotContact && !accountStatus!.isDeceased && !accountStatus!.isAccountArchived;\n }\n\n private canDeleteAppointment(): boolean {\n return this.isAdministrator;\n }\n\n private canDeleteOutcome(appointment: Appointment): boolean {\n return this.isAdministrator && appointment.outcome != null;\n }\n\n private showViewAppointmentDialog(appointment: Appointment): void {\n this.selectedAppointment = appointment;\n this.viewAppointmentDialogVisible = true;\n }\n\n private showCompleteAppointmentDialog(appointment: Appointment): void {\n this.selectedAppointment = appointment;\n this.completeAppointmentDialogVisible = true;\n }\n\n private showEditOutcomeDialog(appointment: Appointment): void {\n this.selectedAppointment = appointment;\n\n if (appointment.outcome == null) {\n return;\n }\n\n if (appointment.outcome.isLegacy) {\n this.editOutcomeLegacyDialogVisible = true;\n return;\n }\n\n this.showProductTabs = appointment.outcome.products != null && appointment.outcome.products.length > 0;\n this.editOutcomeDialogVisible = true;\n }\n\n private showEditAppointmentDialog(appointment: Appointment): void {\n this.selectedAppointment = appointment;\n this.isAppointmentEdit = true;\n this.bookAppointmentDialogVisible = true;\n }\n\n private showRebookAppointmentDialog(appointment: Appointment): void {\n this.selectedAppointment = appointment;\n this.isAppointmentRebook = true;\n this.bookAppointmentDialogVisible = true;\n }\n\n private showDeleteAppointmentConfirmationDialog(appointment: Appointment): void {\n this.selectedAppointment = appointment;\n this.deleteAppointmentConfirmationDialogVisible = true;\n }\n\n private showDeleteOutcomeConfirmationDialog(appointment: Appointment): void {\n this.selectedAppointment = appointment;\n this.deleteOutcomeConfirmationDialogVisible = true;\n }\n\n private async onDeleteAppointment(): Promise {\n this.saving = true;\n try {\n await appointmentApi.deleteAppointmentAsync(this.selectedAppointment!);\n this.$emit('appointment-removed', this.selectedAppointment);\n } catch (e) {\n this.$snackbar.open({ message: 'Could not delete appointment, please try again.', type: 'is-danger' });\n }\n this.saving = false;\n this.onCancel();\n }\n\n private async onDeleteOutcome(): Promise {\n this.saving = true;\n try {\n await appointmentApi.deleteAppointmentOutcomeAsync(this.selectedAppointment!);\n this.$emit('outcome-removed', this.selectedAppointment);\n } catch (e) {\n this.$snackbar.open({ message: 'Could not delete appointment outcome, please try again.', type: 'is-danger' });\n }\n this.saving = false;\n this.onCancel();\n }\n\n private onCancel(): void {\n this.viewAppointmentDialogVisible = false;\n this.completeAppointmentDialogVisible = false;\n this.editOutcomeDialogVisible = false;\n this.editOutcomeLegacyDialogVisible = false;\n this.bookAppointmentDialogVisible = false;\n this.deleteAppointmentConfirmationDialogVisible = false;\n this.deleteOutcomeConfirmationDialogVisible = false;\n this.isAppointmentRebook = false;\n this.isAppointmentEdit = false;\n }\n\n private isUnsaved(appointment: Appointment): boolean {\n return (appointment.id == null) || (appointment.outcome != null && appointment.outcome.id == null);\n }\n\n private isRebook(appointment: Appointment): boolean {\n return appointment.originalAppointmentId != null;\n }\n\n private isRebooked(appointment: Appointment): boolean {\n return appointment.isRebooked!;\n }\n\n private isPending(appointment: Appointment): boolean {\n return appointment.outcome == null && !appointment.isRebooked;\n }\n\n private showOutcomeType(appointment: Appointment): boolean {\n return appointment.outcome != null;\n }\n\n private showInstructionType(appointment: Appointment): boolean {\n if (appointment.outcome == null) {\n return false;\n }\n\n const outcome = appointment.outcome;\n\n const appointmentType = this.appointmentTypes.find((type) => type.id === appointment.appointmentTypeId);\n\n if (appointmentType == null || !appointmentType.isInitialAppointment) {\n return false;\n }\n\n const outcomeType = this.outcomeTypes.find((type) => type.id === outcome.outcomeTypeId);\n\n return outcomeType != null && outcomeType.isSat;\n }\n\n private showNotInstructed(appointment: Appointment): boolean {\n if (appointment.outcome == null || appointment.outcome.isLegacy) {\n return false;\n }\n\n const appointmentType = this.appointmentTypes.find((type) => type.id === appointment.appointmentTypeId);\n\n if (appointmentType == null || !appointmentType.isInitialAppointment) {\n return false;\n }\n\n const outcomeType = this.outcomeTypes.find((type) => type.id === appointment.outcome!.outcomeTypeId);\n\n if (outcomeType == null || !outcomeType.isSat) {\n return false;\n }\n\n return appointment.outcome.products == null || appointment.outcome.products.every((product) => product.instructionType === InstructionType.NotInstructed);\n }\n\n private showOutcomePaymentStatus(appointment: Appointment): boolean {\n if (appointment.outcome == null) {\n return false;\n }\n\n return appointment.outcome.isLegacy && appointment.outcome.instructionType === InstructionType.Instructed;\n }\n\n private showOutcomeProducts(appointment: Appointment): boolean {\n if (appointment.outcome == null) {\n return false;\n }\n\n return !appointment.outcome.isLegacy && appointment.outcome.products.length > 0;\n }\n\n private showProductPaymentStatus(product: AppointmentOutcomeProduct): boolean {\n if (product == null) {\n return false;\n }\n\n return product.instructionType === InstructionType.Instructed;\n }\n\n private outcomeTypeDescription(outcomeTypeId: string | null): string {\n return outcomeTypeDescription(outcomeTypeId);\n }\n\n private instructionTypeDescription(instructionType: InstructionType): string {\n return instructionTypeDescription(instructionType);\n }\n\n private appointmentProductTypeDescription(productTypeId: string): string {\n return appointmentProductTypeDescription(productTypeId);\n }\n\n private outcomePaymentStatusTypeDescription(paymentStatusId: string | null) {\n return outcomePaymentStatusTypeDescription(paymentStatusId);\n }\n\n private productPaymentStatusTypeDescription(paymentDetails: Array | null): string {\n return productPaymentStatusTypeDescription(paymentDetails);\n }\n\n private appointmentTypeDescription(appointmentTypeId: string | null): string {\n return appointmentTypeDescription(appointmentTypeId);\n }\n\n private userName(userId: string): string {\n const user = this.users.find((u) => u.id === userId);\n return user == null ? '' : `${user.firstName.trim()} ${user.lastName.trim()}`.trim();\n }\n\n private onAppointmentBooked(): void {\n if (this.isAppointmentEdit) {\n this.$emit('appointment-updated');\n } else {\n this.$emit('appointment-rebooked');\n }\n\n this.onCancel();\n }\n\n private onBookingCancel(appointment: Appointment): void {\n this.onCancel();\n }\n\n private onCompleted(): void {\n this.$emit('appointment-completed');\n this.onCancel();\n }\n\n private onCompletionCancel(): void {\n this.selectedAppointment = null;\n this.onCancel();\n }\n\n private onOutcomeUpdated(): void {\n this.$emit('appointment-outcome-changed');\n this.onCancel();\n }\n\n private onViewCancel(): void {\n this.onCancel();\n }\n\n private async mounted(): Promise {\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n this.$store.dispatch(`users/loadAllUsersAsync`),\n ]);\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointments.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointments.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./appointments.vue?vue&type=template&id=16ab275a&\"\nimport script from \"./appointments.vue?vue&type=script&lang=ts&\"\nexport * from \"./appointments.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:\"contact-history\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_vm._m(0),_c('div',{staticClass:\"list-group list-group-flush mt-4\"},_vm._l((_vm.contactHistoryItems),function(item,itemIndex){return _c('div',{key:itemIndex,staticClass:\"list-group-item\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col\"},[_vm._v(\"\\n \"+_vm._s(item.title)+\"\\n \"),(item.outcome != null)?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(item.outcome))]):_vm._e(),(item.appointmentDate != null)?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"success\"}},[_vm._v(_vm._s(_vm._f(\"datetime\")(item.appointmentDate)))]):_vm._e(),_c('div',{staticClass:\"mt-2\"},[(item.type === 0)?_c('small',{staticClass:\"font-italic\"},[_c('strong',[_vm._v(\"Created by: \")]),_vm._v(_vm._s(_vm.userName(item.createdBy))+\" on \"+_vm._s(_vm._f(\"datetime\")(item.createdDate)))]):_vm._e(),((item.type === 1 || item.type === 2) && item.createdDate !== null)?_c('small',{staticClass:\"font-italic\"},[_c('strong',[_vm._v(\"Sent on: \")]),_vm._v(_vm._s(_vm._f(\"datetime\")(item.createdDate)))]):_vm._e(),(item.type === 3)?_c('small',{staticClass:\"font-italic\"},[_c('strong',[_vm._v(\"Sent by: \")]),_vm._v(_vm._s(_vm.userName(item.createdBy))+\" on \"+_vm._s(_vm._f(\"datetime\")(item.createdDate)))]):_vm._e()]),_c('div',[(item.lastModifiedDate != null && item.lastModifiedBy != null)?_c('small',{staticClass:\"font-italic\"},[_c('strong',[_vm._v(\"Last modified by: \")]),_vm._v(_vm._s(_vm.userName(item.lastModifiedBy))+\" on \"+_vm._s(_vm._f(\"datetime\")(item.lastModifiedDate)))]):_vm._e()])],1),(_vm.isAdministrator && item.type === 0)?_c('div',{staticClass:\"col-auto\"},[_c('b-dropdown',{attrs:{\"size\":\"sm\",\"text\":\"Actions\",\"right\":\"\"}},[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.showViewDialogAsync(item)}}},[_vm._v(\"View\")]),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.showEditDialogAsync(item)}}},[_vm._v(\"Edit\")]),_c('b-dropdown-divider'),_c('b-dropdown-item',{staticClass:\"text-danger\",attrs:{\"disabled\":_vm.isSaving},on:{\"click\":function($event){return _vm.showDeleteConfirmationAsync(item)}}},[_vm._v(\"Delete\")])],1)],1):_c('div',{staticClass:\"col-auto\"},[_c('b-btn',{attrs:{\"size\":\"sm\"},on:{\"click\":function($event){return _vm.showViewDialogAsync(item)}}},[_vm._v(\"View\")])],1)])])}),0)])]),(_vm.deleteInteractionConfirmationDialogVisible)?_c('confirmation-dialog',{ref:\"modal\",attrs:{\"title\":\"Are you sure?\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true,\"variant\":\"danger\",\"ok-text\":\"Delete\",\"centered\":\"\"},on:{\"ok\":_vm.onDeleteAsync,\"cancel\":_vm.onCancel},model:{value:(_vm.deleteInteractionConfirmationDialogVisible),callback:function ($$v) {_vm.deleteInteractionConfirmationDialogVisible=$$v},expression:\"deleteInteractionConfirmationDialogVisible\"}},[_c('div',[_c('p',[_vm._v(\"Are you sure you want to delete this interaction?\")])])]):_vm._e(),(_vm.selectedTask != null && _vm.viewTaskDialogVisible)?_c('view-client-task-dialog',{attrs:{\"visible\":_vm.viewTaskDialogVisible,\"task\":_vm.selectedTask},on:{\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.selectedEmail != null && _vm.viewEmailDialogVisible)?_c('view-email-dialog',{attrs:{\"visible\":_vm.viewEmailDialogVisible,\"email\":_vm.selectedEmail},on:{\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.selectedInteraction != null && _vm.viewInteractionDialogVisible)?_c('view-interaction-dialog',{attrs:{\"visible\":_vm.viewInteractionDialogVisible,\"interaction\":_vm.selectedInteraction},on:{\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.selectedMessage != null && _vm.viewMessageDialogVisible)?_c('view-message-dialog',{attrs:{\"visible\":_vm.viewMessageDialogVisible,\"message\":_vm.selectedMessage},on:{\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.selectedInteraction != null && _vm.editInteractionDialogVisible)?_c('edit-interaction-dialog',{attrs:{\"visible\":_vm.editInteractionDialogVisible,\"client\":_vm.client,\"original-interaction\":_vm.selectedInteraction},on:{\"ok\":_vm.onInteractionUpdated,\"cancel\":_vm.onCancel}}):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h5',[_vm._v(\"Contact History\")])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Edit Interaction\",\"size\":\"lg\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading interaction, please wait...\")]),_c('div',{staticClass:\"edit-interaction\"},[(_vm.client.partner != null)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"client\"}},[_vm._v(\"Client\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedClientId),expression:\"selectedClientId\"}],staticClass:\"form-control\",attrs:{\"id\":\"client\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedClientId=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":_vm.client.id}},[_vm._v(_vm._s(((_vm.client.firstName.trim()) + \" \" + (_vm.client.lastName.trim())).trim()))]),_c('option',{domProps:{\"value\":_vm.client.partner.id}},[_vm._v(_vm._s(((_vm.client.partner.firstName.trim()) + \" \" + (_vm.client.partner.lastName.trim())).trim()))]),_c('option',{domProps:{\"value\":'both'}},[_vm._v(_vm._s(_vm.formatClientAndPartnerNames))])])]):_vm._e(),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"interactionType\"}},[_vm._v(\"Interaction Type\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.interaction.interactionTypeId),expression:\"interaction.interactionTypeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('interactionType') },attrs:{\"name\":\"interactionType\",\"id\":\"interactionType\",\"data-vv-as\":\"interaction type\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.interaction, \"interactionTypeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.filteredInteractionTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('interactionType')),expression:\"errors.has('interactionType')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('interactionType')))])]),(_vm.filteredInteractionOutcomeTypes !=null && _vm.filteredInteractionOutcomeTypes.length > 0)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"interactionOutcomeType\"}},[_vm._v(\"Outcome Type\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.interaction.interactionOutcomeTypeId),expression:\"interaction.interactionOutcomeTypeId\"}],staticClass:\"form-control\",attrs:{\"name\":\"interactionOutcomeType\",\"id\":\"interactionOutcomeType\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.interaction, \"interactionOutcomeTypeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.filteredInteractionOutcomeTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2)]):_vm._e(),(_vm.isFutureContactConfirmationRequired)?_c('div',{staticClass:\"form-group\"},[_c('div',[_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Allow Future Contact?\")])]),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.allowFutureContact),expression:\"allowFutureContact\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-check-input\",class:{ 'is-invalid': _vm.errors.has('allowFutureContact') },attrs:{\"type\":\"radio\",\"name\":\"allowFutureContact\",\"id\":\"allowFutureContactYes\",\"data-vv-as\":\"allow future contact\"},domProps:{\"value\":true,\"checked\":_vm._q(_vm.allowFutureContact,true)},on:{\"change\":function($event){_vm.allowFutureContact=true}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"allowFutureContactYes\"}},[_vm._v(\"Yes\")])]),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.allowFutureContact),expression:\"allowFutureContact\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-check-input\",class:{ 'is-invalid': _vm.errors.has('allowFutureContact') },attrs:{\"type\":\"radio\",\"name\":\"allowFutureContact\",\"id\":\"allowFutureContactNo\",\"data-vv-as\":\"allow future contact\"},domProps:{\"value\":false,\"checked\":_vm._q(_vm.allowFutureContact,false)},on:{\"change\":function($event){_vm.allowFutureContact=false}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"allowFutureContactNo\"}},[_vm._v(\"No\")])]),_c('div',[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('allowFutureContact')),expression:\"errors.has('allowFutureContact')\"}],staticClass:\"invalid-radio-feedback\"},[_vm._v(_vm._s(_vm.errors.first('allowFutureContact')))])])]):_vm._e(),(_vm.isAppointmentRequired)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"appointment\"}},[_vm._v(\"Appointment\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedAppointment),expression:\"selectedAppointment\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('appointment') },attrs:{\"name\":\"appointment\",\"id\":\"appointment\",\"data-vv-as\":\"appointment\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedAppointment=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.filteredClientAppointments),function(appointment){return _c('option',{key:appointment.id,domProps:{\"value\":appointment}},[_vm._v(_vm._s(_vm.appointmentTypeDescription(appointment.appointmentTypeId))+\" with \"+_vm._s(_vm.legalAdvisorName(appointment.legalAdvisorId))+\" at \"+_vm._s(_vm._f(\"datetime\")(appointment.date)))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointment')),expression:\"errors.has('appointment')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointment')))])]):_vm._e(),(_vm.isAppointmentCancellationTypeRequired)?_c('div',[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"appointmentCancellationType\"}},[_vm._v(\"Reason for Cancellation\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedAppointmentCancellationTypeId),expression:\"selectedAppointmentCancellationTypeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('appointmentCancellationType') },attrs:{\"name\":\"appointmentCancellationType\",\"id\":\"appointmentCancellationType\",\"data-vv-as\":\"reason for cancellation\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedAppointmentCancellationTypeId=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.filteredAppointmentCancellationTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentCancellationType')),expression:\"errors.has('appointmentCancellationType')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentCancellationType')))])]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.scheduleCallback),expression:\"scheduleCallback\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"scheduleCallback\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.scheduleCallback)?_vm._i(_vm.scheduleCallback,true)>-1:(_vm.scheduleCallback)},on:{\"change\":function($event){var $$a=_vm.scheduleCallback,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.scheduleCallback=$$a.concat([$$v]))}else{$$i>-1&&(_vm.scheduleCallback=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.scheduleCallback=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"scheduleCallback\"}},[_vm._v(\"Schedule Callback?\")])])])]):_vm._e(),(_vm.isCallbackRequired)?_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"callbackDate\"}},[_vm._v(\"Callback Date\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('callbackDate') },attrs:{\"name\":\"callbackDate\",\"id\":\"callbackDate\",\"data-vv-as\":\"callback date\"},model:{value:(_vm.callbackDate),callback:function ($$v) {_vm.callbackDate=$$v},expression:\"callbackDate\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('callbackDate')),expression:\"errors.has('callbackDate')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('callbackDate')))])],1)]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"callbackHour\"}},[_vm._v(\"Callback Time\")]),_c('div',{staticClass:\"form-inline\"},[_c('div',{staticClass:\"form-group\",class:{ 'is-invalid': _vm.errors.has('callbackHour') || _vm.errors.has('callbackMinute') }},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.callbackHour),expression:\"callbackHour\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('callbackHour') },attrs:{\"placeholder\":\"HH\",\"name\":\"callbackHour\",\"id\":\"callbackHour\",\"data-vv-as\":\"callback hour\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.callbackHour=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.hours),function(hour){return _c('option',{key:hour.value,domProps:{\"value\":hour.value}},[_vm._v(_vm._s(hour.label))])}),0),_c('span',[_vm._v(\" : \")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.callbackMinute),expression:\"callbackMinute\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('callbackMinute') },attrs:{\"placeholder\":\"mm\",\"name\":\"callbackMinute\",\"id\":\"callbackMinute\",\"data-vv-as\":\"callback minute\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.callbackMinute=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.minutes),function(minute){return _c('option',{key:minute.value,domProps:{\"value\":minute.value}},[_vm._v(_vm._s(minute.label))])}),0),_c('span',[_vm._v(\" \")]),(!_vm.useTwentyFourHours)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.callbackMeridian),expression:\"callbackMeridian\"}],staticClass:\"form-control\",on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.callbackMeridian=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},function($event){return _vm.onCallbackMeridianChanged($event.target.value)}]}},[_c('option',{domProps:{\"value\":'AM'}},[_vm._v(\"AM\")]),_c('option',{domProps:{\"value\":'PM'}},[_vm._v(\"PM\")])]):_vm._e(),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('callbackHour')),expression:\"errors.has('callbackHour')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('callbackHour')))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('callbackMinute')),expression:\"errors.has('callbackMinute')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('callbackMinute')))])])]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.useTwentyFourHours),expression:\"useTwentyFourHours\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"useTwentyFourHours\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.useTwentyFourHours)?_vm._i(_vm.useTwentyFourHours,true)>-1:(_vm.useTwentyFourHours)},on:{\"change\":function($event){var $$a=_vm.useTwentyFourHours,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.useTwentyFourHours=$$a.concat([$$v]))}else{$$i>-1&&(_vm.useTwentyFourHours=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.useTwentyFourHours=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"useTwentyFourHours\"}},[_vm._v(\"Show 24-Hour Format\")])])])])])]):_vm._e(),(_vm.isLetterTypeRequired)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"letterType\"}},[_vm._v(\"Letter Type\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.interaction.letterTypeId),expression:\"interaction.letterTypeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('letterType') },attrs:{\"name\":\"letterType\",\"id\":\"letterType\",\"data-vv-as\":\"letter type\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.interaction, \"letterTypeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.filteredInteractionLetterTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('letterType')),expression:\"errors.has('letterType')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('letterType')))])]):_vm._e(),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"notes\"}},[_vm._v(\"Notes\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.interaction.notes),expression:\"interaction.notes\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('notes') },attrs:{\"name\":\"notes\",\"id\":\"notes\",\"data-vv-as\":\"notes\"},domProps:{\"value\":(_vm.interaction.notes)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.interaction, \"notes\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('notes')),expression:\"errors.has('notes')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('notes')))])])]),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onSave}},[_vm._v(\"Save\")])],1),(_vm.client!=null && _vm.bookAppointmentDialogVisible)?_c('book-appointment-dialog',{attrs:{\"visible\":_vm.bookAppointmentDialogVisible,\"client\":_vm.client,\"original-appointment\":_vm.selectedAppointment,\"is-rebook\":_vm.selectedAppointment != null,\"interaction-id\":_vm.interaction.id,\"client-id\":_vm.selectedClientId},on:{\"ok\":_vm.onAppointmentBooked,\"cancel\":_vm.onAppointmentCancel}}):_vm._e()],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { ClientAccountsApi } from '@/api/client-accounts';\nimport { InteractionApi } from '@/api/interaction';\nimport { UpdateInteractionRequest } from '@/api/requests/interaction/update-interaction-request';\nimport bookAppointmentDialog from '@/components/appointments/book-appointment-dialog.vue';\nimport loading from '@/components/loading.vue';\nimport { Appointment } from '@/shared/appointments/appointment';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { Interaction } from '@/shared/interaction';\nimport { AppointmentCancellationType } from '@/shared/types/appointment-cancellation-type';\nimport { AppointmentType } from '@/shared/types/appointment-type';\nimport { InteractionLetterType } from '@/shared/types/interaction-letter-type';\nimport { InteractionOutcomeType } from '@/shared/types/interaction-outcome-type';\nimport { InteractionType } from '@/shared/types/interaction-type';\nimport { User } from '@/shared/user';\nimport { formatDate } from '@/shared/utilities/date-utilities';\nimport { DateTime } from 'luxon';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst clientApi = new ClientAccountsApi();\nconst interactionApi = new InteractionApi();\nconst typesModule = namespace('types');\nconst usersModule = namespace('users');\n\nconst MERIDIAN_AM = 'AM';\nconst MERIDIAN_PM = 'PM';\n\n@Component({\n components: {\n bookAppointmentDialog,\n loading,\n },\n})\nexport default class UpdateInteractionDialog extends Vue {\n @typesModule.Getter('interactionTypes') private interactionTypes!: Array;\n @typesModule.Getter('interactionOutcomeTypes') private interactionOutcomeTypes!: Array;\n @typesModule.Getter('interactionLetterTypes') private interactionLetterTypes!: Array;\n @typesModule.Getter('appointmentTypes') private appointmentTypes!: Array;\n @typesModule.Getter('appointmentCancellationTypes') private appointmentCancellationTypes!: Array;\n\n @usersModule.Getter('users') private users!: Array;\n\n @Prop({ required: true }) private visible!: boolean;\n @Prop({ required: true }) private client!: ClientAccount;\n @Prop({ required: true }) private originalInteraction!: Interaction;\n\n private isVisible: boolean = this.visible;\n private isLoading: boolean = true;\n private isSaving: boolean = false;\n private interaction: Interaction = { ...this.originalInteraction };\n private selectedClientId: string = this.originalInteraction.clients!.length > 1 ? 'both' : this.client.id!;\n private scheduleCallback: boolean = false;\n private allowFutureContact: boolean | null = null;\n private callbackDate: string | Date | null = null;\n private callbackHour: number | null = null;\n private callbackMinute: number | null = null;\n private callbackMeridian: string = MERIDIAN_AM;\n private useTwentyFourHours: boolean = false;\n private clientAppointments: Array | null = null;\n private partnerAppointments: Array | null = null;\n private selectedAppointment: Appointment | null = null;\n private selectedAppointmentCancellationTypeId: string | null = null;\n private bookAppointmentDialogVisible: boolean = false;\n\n private get interactionType(): InteractionType | null {\n if (this.interaction.interactionTypeId == null) {\n return null;\n }\n\n const interactionType = this.interactionTypes.find((type) => type.id === this.interaction.interactionTypeId);\n return interactionType == null ? null : interactionType!;\n }\n\n private get interactionOutcomeType(): InteractionOutcomeType | null {\n if (this.interaction.interactionOutcomeTypeId == null) {\n return null;\n }\n\n const interactionOutcomeType = this.interactionOutcomeTypes.find((type) => type.id === this.interaction.interactionOutcomeTypeId);\n return interactionOutcomeType == null ? null : interactionOutcomeType!;\n }\n\n private get filteredInteractionTypes(): Array {\n if (this.interactionTypes == null || !this.interactionTypes.length) {\n return [];\n }\n\n return this.interactionTypes.filter((type) => !type.isArchived || this.interaction.interactionTypeId === type.id);\n }\n\n private get filteredInteractionOutcomeTypes(): Array {\n if (this.interactionOutcomeTypes == null || !this.interactionOutcomeTypes.length) {\n return [];\n }\n\n const activeInteractionOutcomeTypes = this.interactionOutcomeTypes.filter((type) => !type.isArchived || this.interaction.interactionOutcomeTypeId === type.id);\n\n if (this.interactionType == null) {\n return [];\n }\n\n const originalInteractionOutcomeType = this.interactionOutcomeTypes.find((type) => type.id === this.originalInteraction.interactionOutcomeTypeId);\n\n if (originalInteractionOutcomeType != null && originalInteractionOutcomeType.isAllowContact) {\n return activeInteractionOutcomeTypes.filter((type) => type.id === this.originalInteraction.interactionOutcomeTypeId);\n }\n\n if (this.interactionType.isCallMade) {\n return activeInteractionOutcomeTypes.filter((type) => type.isCallMadeOutcome && type.isAllowContact === this.client.doNotContact);\n }\n\n if (this.interactionType.isCallReceived) {\n return activeInteractionOutcomeTypes.filter((type) => type.isCallReceivedOutcome && type.isAllowContact === this.client.doNotContact);\n }\n\n if (this.interactionType.isLFTSY) {\n return activeInteractionOutcomeTypes.filter((type) => type.isLFTSYOutcome);\n }\n\n return [];\n }\n\n private get filteredInteractionLetterTypes(): Array {\n if (this.interactionLetterTypes == null || !this.interactionLetterTypes.length) {\n return [];\n }\n\n return this.interactionLetterTypes.filter((type) => !type.isArchived || this.interaction.letterTypeId === type.id);\n }\n\n private get filteredAppointmentCancellationTypes(): Array {\n if (this.appointmentCancellationTypes == null || !this.appointmentCancellationTypes.length) {\n return [];\n }\n\n return this.interaction.originalAppointment != null && this.interaction.originalAppointment.cancellationTypeId != null\n ? this.appointmentCancellationTypes.filter((type) => !type.isArchived || this.interaction.originalAppointment!.cancellationTypeId! === type.id)\n : this.appointmentCancellationTypes.filter((type) => !type.isArchived);\n }\n\n private get filteredClientAppointments(): Array {\n let appointments: Array | null;\n\n if (this.selectedClientId === this.client.id!) {\n if (this.partnerAppointments == null) {\n appointments = this.clientAppointments;\n } else {\n const partnerAppointmentIds = this.partnerAppointments.map((appointment) => appointment.id!);\n appointments = this.clientAppointments!.filter((appointment) => !partnerAppointmentIds.includes(appointment.id!));\n }\n } else if (this.client.partner != null && this.selectedClientId === this.client.partner.id!) {\n if (this.clientAppointments == null) {\n appointments = this.partnerAppointments;\n } else {\n const clientAppointmentIds = this.clientAppointments.map((appointment) => appointment.id!);\n appointments = this.partnerAppointments!.filter((appointment) => !clientAppointmentIds.includes(appointment.id!));\n }\n } else {\n if (this.partnerAppointments == null) {\n appointments = [];\n } else {\n const partnerAppointmentIds = this.partnerAppointments!.map((appointment) => appointment.id!);\n appointments = this.clientAppointments!.filter((appointment) => partnerAppointmentIds.includes(appointment.id!));\n }\n }\n\n return appointments == null\n ? []\n : appointments\n .filter((appointment) => (!appointment.isRebooked && appointment.outcome == null)\n || (this.originalInteraction.originalAppointment != null && this.originalInteraction.originalAppointment.id! === appointment.id))\n .sort((a1, a2) => {\n if (a1.date! > a2.date!) { return 1; }\n if (a1.date! < a2.date!) { return -1; }\n return 0;\n });\n }\n\n private get hours(): Array<{ value: number, label: string }> {\n const result: Array<{ value: number, label: string }> = [];\n\n for (let i = 0; i < (this.useTwentyFourHours ? 24 : 12); i++) {\n let value: number = i;\n let label: string = value.toString();\n\n if (!this.useTwentyFourHours) {\n value = i + 1;\n label = value.toString();\n\n if (this.callbackMeridian === MERIDIAN_AM) {\n if (value === 12) {\n value = 0;\n }\n } else {\n if (value !== 12) {\n value += 12;\n }\n }\n }\n\n result.push({ value, label: label.padStart(2, '0') });\n }\n\n return result;\n }\n\n private get minutes(): Array<{ value: number, label: string }> {\n return [\n { value: 0, label: '00' },\n { value: 15, label: '15' },\n { value: 30, label: '30' },\n { value: 45, label: '45' },\n ];\n }\n\n private get isFutureContactConfirmationRequired(): boolean {\n if (this.interaction.interactionOutcomeTypeId == null) {\n return false;\n }\n\n return this.interactionOutcomeType == null ? false : this.interactionOutcomeType.isWillVoid || this.interactionOutcomeType.isWillReleased;\n }\n\n private get isAppointmentRequired(): boolean {\n return this.interactionType == null || this.interactionOutcomeType == null ? false : this.interactionType.isLFTSY || this.interactionOutcomeType.isAppointmentRebooked || this.interactionOutcomeType.isAppointmentCancelled;\n }\n\n private get isAppointmentCancellationTypeRequired(): boolean {\n return this.interactionOutcomeType == null ? false : this.interactionOutcomeType.isAppointmentCancelled;\n }\n\n private get isCallbackRequired(): boolean {\n return this.interactionOutcomeType == null ? false : this.interactionOutcomeType.isCallback || this.scheduleCallback;\n }\n\n private get isLetterTypeRequired(): boolean {\n return this.interactionType == null ? false : this.interactionType.isLetterTypeRequired;\n }\n\n private get formatClientAndPartnerNames(): string {\n const clientFirstName = this.client.firstName != null ? this.client.firstName.trim() : '';\n const clientLastName = this.client.lastName != null ? this.client.lastName.trim() : '';\n\n if (this.client.partner == null) {\n return `${clientFirstName} ${clientLastName}`;\n }\n\n const partnerFirstName = this.client.partner.firstName != null ? this.client.partner.firstName.trim() : '';\n const partnerLastName = this.client.partner.lastName != null ? this.client.partner.lastName.trim() : '';\n\n return clientLastName.toLowerCase() === partnerLastName.toLowerCase()\n ? `${clientFirstName} and ${partnerFirstName} ${clientLastName}`.trim()\n : `${clientFirstName} ${clientLastName} and ${partnerFirstName} ${partnerLastName}`.trim();\n }\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.$validator.errors.clear();\n this.isVisible = visible;\n }\n\n @Watch('interaction.interactionTypeId')\n private onInteractionTypeChanged(): void {\n this.interaction.interactionOutcomeTypeId = null;\n this.interaction.letterTypeId = null;\n this.selectedAppointment = null;\n this.selectedAppointmentCancellationTypeId = null;\n this.scheduleCallback = false;\n }\n\n @Watch('interaction.interactionOutcomeTypeId')\n private onInteractionOutcomeTypeChanged(): void {\n this.selectedAppointment = null;\n this.selectedAppointmentCancellationTypeId = null;\n this.scheduleCallback = false;\n }\n\n @Watch('useTwentyFourHours')\n private onUseTwentyFourHoursChanged(): void {\n if (this.callbackHour == null) {\n return;\n }\n\n this.callbackMeridian = this.callbackHour >= 12 ? MERIDIAN_PM : MERIDIAN_AM;\n }\n\n private appointmentTypeDescription(appointmentTypeId: string | null): string {\n if (appointmentTypeId == null) {\n return '';\n }\n\n const appointmentType = this.appointmentTypes.find((type) => type.id === appointmentTypeId);\n return appointmentType == null ? '' : appointmentType.value;\n }\n\n private legalAdvisorName(userId: string | null): string {\n if (userId == null) {\n return '';\n }\n\n const user = this.users.find((u) => u.id === userId);\n return user == null ? '' : `${user.firstName.trim()} ${user.lastName.trim()}`.trim();\n }\n\n private async onSave(): Promise {\n const isValid = await this.$validator.validateAll();\n\n if (!isValid) {\n return;\n }\n\n this.isSaving = true;\n\n try {\n const clientIds: Array = new Array();\n\n if (this.selectedClientId === 'both') {\n clientIds.push(this.client.id!);\n clientIds.push(this.client.partner!.id!);\n } else {\n clientIds.push(this.selectedClientId);\n }\n\n const request: UpdateInteractionRequest = {\n clientIds,\n ...this.interaction,\n interactionTypeId: this.interaction.interactionTypeId!,\n notes: this.interaction.notes!,\n callbackDate: this.isCallbackRequired ? this.interaction.callbackDate = DateTime.fromJSDate(new Date(this.callbackDate!))\n .set({ hour: this.callbackHour!, minute: this.callbackMinute! })\n .toUTC()\n .toJSDate() : null,\n allowFutureContact: this.isFutureContactConfirmationRequired ? this.allowFutureContact! : null,\n originalAppointmentId: this.selectedAppointment == null ? null : this.selectedAppointment.id!,\n appointmentCancellationTypeId: this.isAppointmentCancellationTypeRequired ? this.selectedAppointmentCancellationTypeId! : null,\n version: this.interaction.version!,\n };\n\n await interactionApi.updateInteractionAsync(this.interaction.id!, request);\n\n if (this.interactionType != null && this.interactionType.isLFTSY && this.originalInteraction.originalAppointment != null && this.originalInteraction.originalAppointment.id === this.selectedAppointment!.id!) {\n this.$emit('ok', { ...this.interaction });\n } else if (this.interactionOutcomeType != null && this.interactionOutcomeType.isAppointmentBooked && this.originalInteraction.interactionOutcomeTypeId !== this.interaction.interactionOutcomeTypeId) {\n this.selectedAppointment = null;\n this.bookAppointmentDialogVisible = true;\n } else if (this.interactionOutcomeType != null && this.interactionOutcomeType.isAppointmentRebooked && this.selectedAppointment != null) {\n this.bookAppointmentDialogVisible = true;\n } else {\n this.$emit('ok', { ...this.interaction });\n }\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not update interaction, please try again.', type: 'is-danger' });\n }\n }\n\n this.isSaving = false;\n }\n\n private onCancel(): void {\n this.bookAppointmentDialogVisible = false;\n this.$emit('cancel');\n }\n\n private async onAppointmentBooked(): Promise {\n this.bookAppointmentDialogVisible = false;\n this.$snackbar.open({ message: 'Appointment succesfully booked.', type: 'is-success' });\n this.$emit('ok', { ...this.interaction });\n }\n\n private async onAppointmentCancel(): Promise {\n this.bookAppointmentDialogVisible = false;\n this.$emit('ok', { ...this.interaction });\n }\n\n private onCallbackMeridianChanged(value: string | null): void {\n if (this.callbackHour == null) {\n return;\n }\n\n if (value === MERIDIAN_AM) {\n this.callbackHour = this.callbackHour === 12 ? 0 : this.callbackHour - 12;\n } else {\n this.callbackHour = this.callbackHour === 0 ? 12 : this.callbackHour + 12;\n }\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`users/loadAllUsersAsync`),\n ]);\n\n if (this.interaction.allowFutureContact != null) {\n this.allowFutureContact = this.interaction.allowFutureContact!;\n }\n\n if (this.interaction.callbackDate != null) {\n const callbackDate = formatDate(this.interaction.callbackDate);\n\n this.callbackDate = callbackDate;\n this.callbackMeridian = callbackDate!.getHours() >= 12 ? MERIDIAN_PM : MERIDIAN_AM;\n this.callbackHour = callbackDate!.getHours();\n this.callbackMinute = callbackDate!.getMinutes();\n }\n\n this.clientAppointments = await clientApi.getClientAppointmentBookingsAsync(this.client.id!);\n this.partnerAppointments = this.client.partner != null ? await clientApi.getClientAppointmentBookingsAsync(this.client.partner.id!) : [];\n\n if (this.interaction.originalAppointment != null && this.interaction.originalAppointment.id != null) {\n let originalAppointment = this.clientAppointments.find((appointment) => appointment.id! === this.interaction.originalAppointment!.id!);\n\n if (originalAppointment == null) {\n originalAppointment = this.partnerAppointments.find((appointment) => appointment.id! === this.interaction.originalAppointment!.id!);\n }\n\n this.selectedAppointment = originalAppointment == null ? null : originalAppointment;\n\n if (this.isAppointmentCancellationTypeRequired) {\n this.selectedAppointmentCancellationTypeId = this.interaction.originalAppointment!.cancellationTypeId!;\n }\n\n if (this.interaction.callbackDate != null) {\n this.scheduleCallback = true;\n }\n }\n\n this.isLoading = false;\n }\n}\n","export enum TaskType {\n RetrieveWillPacket = 0,\n SendConfirmationLetter,\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-interaction-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-interaction-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./edit-interaction-dialog.vue?vue&type=template&id=5a86c77a&\"\nimport script from \"./edit-interaction-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./edit-interaction-dialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./edit-interaction-dialog.vue?vue&type=style&index=0&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 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('b-modal',{attrs:{\"centered\":\"\",\"title\":\"View Task\",\"size\":\"lg\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"task-type\"}},[_vm._v(\"Type\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"task-type\"}},[_vm._v(_vm._s(_vm.taskTypeDescription))])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"appointment-date\"}},[_vm._v(\"Appointment Date\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"appointment-date\"}},[_vm._v(_vm._s(_vm._f(\"date\")(_vm.task.appointmentDate)))])])]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"appointment-time\"}},[_vm._v(\"Appointment Time\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"appointment-time\"}},[_vm._v(_vm._s(_vm._f(\"time\")(_vm.task.appointmentDate)))])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"due-date\"}},[_vm._v(\"Due Date\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"due-date\"}},[_vm._v(_vm._s(_vm._f(\"date\")(_vm.task.dueDate)))])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"status\"}},[_vm._v(\"Status\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"status\"}},[_vm._v(\"Completed\")])])]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"action\"}},[_vm._v(\"Action\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"action\"}},[_vm._v(_vm._s(_vm.task.actioned ? 'Actioned' : 'Not Actioned'))])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"notes\"}},[_vm._v(\"Notes\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.task.notes),expression:\"task.notes\"}],staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"notes\"},domProps:{\"value\":(_vm.task.notes)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.task, \"notes\", $event.target.value)}}})])])]),_c('div',[_c('small',{staticClass:\"font-italic\"},[_c('strong',[_vm._v(\"Created by: \")]),_vm._v(_vm._s(_vm.formatUserName(_vm.task.createdBy))+\" on \"+_vm._s(_vm._f(\"datetime\")(_vm.task.createdDate)))])]),_c('div',[_c('small',{staticClass:\"font-italic\"},[_c('strong',[_vm._v(\"Completed by: \")]),_vm._v(_vm._s(_vm.formatUserName(_vm.task.completedBy))+\" on \"+_vm._s(_vm._f(\"datetime\")(_vm.task.completedDate)))])]),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{on:{\"click\":_vm.onCancel}},[_vm._v(\"Close\")])],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { ClientAccountTaskHistory } from '@/shared/clients/client-account-task-history';\nimport { TaskType } from '@/shared/task-type';\nimport { User } from '@/shared/user';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst usersModule = namespace('users');\n\n@Component\nexport default class ViewClientTaskDialog extends Vue {\n @Prop({ required: true }) private task!: ClientAccountTaskHistory;\n @Prop({ required: true }) private visible!: boolean;\n\n @usersModule.Getter('users') private users!: Array;\n\n private isVisible = this.visible;\n\n private get taskTypeDescription(): string {\n if (this.task.type == null) {\n return '';\n }\n\n switch (this.task.type) {\n case TaskType.RetrieveWillPacket:\n return 'Retrieve Will Packet';\n case TaskType.SendConfirmationLetter:\n return 'Send Confirmation Letter';\n default:\n return '';\n }\n }\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.isVisible = visible;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n\n private formatUserName(id: string | null): string {\n if (id == null) {\n return 'Unknown';\n }\n\n const user = this.users.find((u) => u.id === id);\n return user == null ? id : `${user.firstName == null ? '' : user.firstName.trim()} ${user.lastName == null ? '' : user.lastName.trim()}`;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./view-client-task-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./view-client-task-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./view-client-task-dialog.vue?vue&type=template&id=1a5750b8&\"\nimport script from \"./view-client-task-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./view-client-task-dialog.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('b-modal',{attrs:{\"centered\":\"\",\"title\":\"View Email\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"interaction-type\"}},[_vm._v(\"Interaction Type\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"interaction-type\"}},[_vm._v(\"Email Sent\")])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"email-type\"}},[_vm._v(\"Email Type\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"email-type\"}},[_vm._v(_vm._s(_vm.email.type))])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"recipient\"}},[_vm._v(\"Recipient\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"recipient\"}},[_vm._v(_vm._s(_vm.email.to))])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"sent-date\"}},[_vm._v(\"Sent Date\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"sent-date\"}},[_vm._v(_vm._s(_vm._f(\"datetime\")(_vm.email.sentDate)))])])]),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{on:{\"click\":_vm.onCancel}},[_vm._v(\"Close\")])],1)],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\n\n\n\n\n\n\n\nimport { ClientAccountEmailHistory } from '@/shared/clients/client-account-email-history';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class ViewEmailDialog extends Vue {\n @Prop({ required: true }) private email!: ClientAccountEmailHistory;\n @Prop({ required: true }) private visible!: boolean;\n\n private isVisible: boolean = this.visible;\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.isVisible = visible;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./view-email-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./view-email-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./view-email-dialog.vue?vue&type=template&id=a92df0d8&\"\nimport script from \"./view-email-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./view-email-dialog.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('b-modal',{attrs:{\"centered\":\"\",\"title\":\"View Interaction\",\"size\":\"lg\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),(_vm.interaction.clients.length > 1)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"client\"}},[_vm._v(\"Client\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"client\"}},[_vm._v(_vm._s(_vm.formatClientAndPartnerNames))])]):_vm._e(),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"interaction-type\"}},[_vm._v(\"Interaction Type\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"interaction-type\"}},[_vm._v(_vm._s(_vm.interactionTypeDescription))])]),(_vm.interaction.interactionOutcomeTypeId != null)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"interaction-outcome-type\"}},[_vm._v(\"Outcome Type\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"interaction-outcome-type\"}},[_vm._v(_vm._s(_vm.interactionOutcomeTypeDescription))])]):_vm._e(),(_vm.showFutureContactConfirmation)?_c('div',{staticClass:\"form-group\"},[_c('div',[_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Allow Future Contact?\")])]),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.interaction.allowFutureContact),expression:\"interaction.allowFutureContact\"}],staticClass:\"form-check-input\",attrs:{\"readonly\":\"\",\"disabled\":\"\",\"type\":\"radio\"},domProps:{\"value\":true,\"checked\":_vm._q(_vm.interaction.allowFutureContact,true)},on:{\"change\":function($event){return _vm.$set(_vm.interaction, \"allowFutureContact\", true)}}}),_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Yes\")])]),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.interaction.allowFutureContact),expression:\"interaction.allowFutureContact\"}],staticClass:\"form-check-input\",attrs:{\"readonly\":\"\",\"disabled\":\"\",\"type\":\"radio\"},domProps:{\"value\":false,\"checked\":_vm._q(_vm.interaction.allowFutureContact,false)},on:{\"change\":function($event){return _vm.$set(_vm.interaction, \"allowFutureContact\", false)}}}),_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"No\")])])]):_vm._e(),(_vm.showAppointment)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"appointment\"}},[_vm._v(\"Appointment\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"appointment\"}},[_vm._v(_vm._s(_vm.appointmentDescription))])]):_vm._e(),(_vm.showAppointmentCancellation)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"appointment-cancellation-type\"}},[_vm._v(\"Reason for Cancellation\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"appointment-cancellation-type\"}},[_vm._v(_vm._s(_vm.appointmentCancellationTypeDescription))])]):_vm._e(),(_vm.showCallback)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"callback-date\"}},[_vm._v(\"Callback Date\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"callback-date\"}},[_vm._v(_vm._s(_vm._f(\"date\")(_vm.callbackDate)))])])]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"callback-time\"}},[_vm._v(\"Callback Time\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"callback-time\"}},[_vm._v(_vm._s(_vm._f(\"time\")(_vm.callbackDate)))])])])]):_vm._e(),(_vm.interaction.letterTypeId != null)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"interaction-letter-type\"}},[_vm._v(\"Letter Type\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"interaction-letter-type\"}},[_vm._v(_vm._s(_vm.interactionLetterTypeDescription))])]):_vm._e(),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"notes\"}},[_vm._v(\"Notes\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.interaction.notes),expression:\"interaction.notes\"}],staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"notes\"},domProps:{\"value\":(_vm.interaction.notes)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.interaction, \"notes\", $event.target.value)}}})]),_c('div',[_c('small',{staticClass:\"font-italic\"},[_c('strong',[_vm._v(\"Created by: \")]),_vm._v(_vm._s(_vm.formatUserName(_vm.interaction.createdBy))+\" on \"+_vm._s(_vm._f(\"datetime\")(_vm.interaction.createdDate)))])]),(_vm.interaction.lastModifiedDate != null)?_c('div',[_c('small',{staticClass:\"font-italic\"},[_c('strong',[_vm._v(\"Last Modified by: \")]),_vm._v(_vm._s(_vm.formatUserName(_vm.interaction.lastModifiedBy))+\" on \"+_vm._s(_vm._f(\"datetime\")(_vm.interaction.lastModifiedDate)))])]):_vm._e(),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{on:{\"click\":_vm.onCancel}},[_vm._v(\"Close\")])],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Interaction } from '@/shared/interaction';\nimport { AppointmentCancellationType } from '@/shared/types/appointment-cancellation-type';\nimport { AppointmentType } from '@/shared/types/appointment-type';\nimport { InteractionLetterType } from '@/shared/types/interaction-letter-type';\nimport { InteractionOutcomeType } from '@/shared/types/interaction-outcome-type';\nimport { InteractionType } from '@/shared/types/interaction-type';\nimport { User } from '@/shared/user';\nimport { formatDate, formatDateAsString } from '@/shared/utilities/date-utilities';\nimport { DateTime } from 'luxon';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\nconst usersModule = namespace('users');\n\n@Component\nexport default class ViewInteractionDialog extends Vue {\n @Prop({ required: true }) private interaction!: Interaction;\n @Prop({ required: true }) private visible!: boolean;\n\n @typesModule.Getter('appointmentCancellationTypes') private appointmentCancellationTypes!: Array;\n @typesModule.Getter('appointmentTypes') private appointmentTypes!: Array;\n @typesModule.Getter('interactionLetterTypes') private interactionLetterTypes!: Array;\n @typesModule.Getter('interactionOutcomeTypes') private interactionOutcomeTypes!: Array;\n @typesModule.Getter('interactionTypes') private interactionTypes!: Array;\n\n @usersModule.Getter('users') private users!: Array;\n\n private isVisible: boolean = this.visible;\n\n private get interactionTypeDescription(): string {\n if (this.interaction.interactionTypeId == null) {\n return '';\n }\n\n const interactionType = this.interactionTypes.find((type) => type.id === this.interaction.interactionTypeId);\n return interactionType == null ? '' : interactionType.value;\n }\n\n private get interactionOutcomeTypeDescription(): string {\n if (this.interaction.interactionOutcomeTypeId == null) {\n return '';\n }\n\n const interactionOutcomeType = this.interactionOutcomeTypes.find((type) => type.id === this.interaction.interactionOutcomeTypeId);\n return interactionOutcomeType == null ? '' : interactionOutcomeType.value;\n }\n\n private get appointmentDescription(): string {\n if (this.interaction.originalAppointment == null) {\n return '';\n }\n\n const appointmentType = this.appointmentTypes.find((type) => type.id === this.interaction.originalAppointment!.appointmentTypeId);\n const advisor = this.users.find((user) => user.id === this.interaction.originalAppointment!.legalAdvisorId);\n const advisorName = advisor == null ? '' : `${advisor.firstName.trim()} ${advisor.lastName.trim()}`;\n const appointmentDate = formatDateAsString(this.interaction.originalAppointment!.date!, DateTime.DATETIME_SHORT);\n\n return `${appointmentType == null ? '' : appointmentType.value} appointment with ${advisorName} on ${appointmentDate}`;\n }\n\n private get appointmentCancellationTypeDescription(): string {\n if (this.interaction.originalAppointment == null || this.interaction.originalAppointment.cancellationTypeId == null) {\n return '';\n }\n\n const appointmentCancellationType = this.appointmentCancellationTypes.find((type) => type.id === this.interaction.originalAppointment!.cancellationTypeId);\n return appointmentCancellationType == null ? '' : appointmentCancellationType.value;\n }\n\n private get interactionLetterTypeDescription(): string {\n if (this.interaction.letterTypeId == null) {\n return '';\n }\n\n const interactionLetterType = this.interactionLetterTypes.find((type) => type.id === this.interaction.letterTypeId);\n return interactionLetterType == null ? '' : interactionLetterType.value;\n }\n\n private get callbackDate(): string | Date | null {\n return formatDate(this.interaction.callbackDate);\n }\n\n private get showFutureContactConfirmation(): boolean {\n if (this.interaction.interactionOutcomeTypeId == null) {\n return false;\n }\n\n const interactionOutcomeType = this.interactionOutcomeTypes.find((type) => type.id === this.interaction.interactionOutcomeTypeId);\n return interactionOutcomeType == null ? false : interactionOutcomeType.isWillVoid || interactionOutcomeType.isWillReleased;\n }\n\n private get showAppointment(): boolean {\n if (this.interaction.interactionTypeId == null || this.interaction.interactionOutcomeTypeId == null) {\n return false;\n }\n\n const interactionType = this.interactionTypes.find((type) => type.id === this.interaction.interactionTypeId);\n const interactionOutcomeType = this.interactionOutcomeTypes.find((type) => type.id === this.interaction.interactionOutcomeTypeId);\n\n return interactionType == null || interactionOutcomeType == null ? false : interactionType.isLFTSY || interactionOutcomeType.isAppointmentRebooked || interactionOutcomeType.isAppointmentCancelled;\n }\n\n private get showAppointmentCancellation(): boolean {\n if (this.interaction.interactionOutcomeTypeId == null) {\n return false;\n }\n\n const interactionOutcomeType = this.interactionOutcomeTypes.find((type) => type.id === this.interaction.interactionOutcomeTypeId);\n return interactionOutcomeType == null ? false : interactionOutcomeType.isAppointmentCancelled;\n }\n\n private get showCallback(): boolean {\n if (this.interaction.interactionOutcomeTypeId == null) {\n return false;\n }\n\n const interactionOutcomeType = this.interactionOutcomeTypes.find((type) => type.id === this.interaction.interactionOutcomeTypeId);\n return interactionOutcomeType == null ? false : interactionOutcomeType.isCallback || (interactionOutcomeType.isAppointmentCancelled && this.interaction.callbackDate != null);\n }\n\n private get formatClientAndPartnerNames(): string {\n if (this.interaction == null || this.interaction.clients == null || !this.interaction.clients.length) {\n return '';\n }\n\n const clientFirstName = this.interaction.clients[0].firstName != null ? this.interaction.clients[0].firstName.trim() : '';\n const clientLastName = this.interaction.clients[0].lastName != null ? this.interaction.clients[0].lastName.trim() : '';\n\n if (this.interaction.clients.length < 2) {\n return `${clientFirstName} ${clientLastName}`;\n }\n\n const partnerFirstName = this.interaction.clients[1].firstName != null ? this.interaction.clients[1].firstName.trim() : '';\n const partnerLastName = this.interaction.clients[1].lastName != null ? this.interaction.clients[1].lastName.trim() : '';\n\n return clientLastName.toLowerCase() === partnerLastName.toLowerCase()\n ? `${clientFirstName} and ${partnerFirstName} ${clientLastName}`.trim()\n : `${clientFirstName} ${clientLastName} and ${partnerFirstName} ${partnerLastName}`.trim();\n }\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.isVisible = visible;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n\n private formatUserName(id: string | null): string {\n if (id == null) {\n return 'Unknown';\n }\n\n const user = this.users.find((u) => u.id === id);\n return user == null ? id : `${user.firstName == null ? '' : user.firstName.trim()} ${user.lastName == null ? '' : user.lastName.trim()}`;\n }\n}\n","export enum MessageType {\n AppointmentConfirmation = 0,\n AppointmentReminder,\n AppointmentLookingForwardToSeeingYou,\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./view-interaction-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./view-interaction-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./view-interaction-dialog.vue?vue&type=template&id=772de020&\"\nimport script from \"./view-interaction-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./view-interaction-dialog.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('b-modal',{attrs:{\"centered\":\"\",\"title\":\"View Message\",\"size\":\"lg\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"messageType\"}},[_vm._v(\"Type\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"messageType\"}},[_vm._v(\"\\n \"+_vm._s(_vm.messageTypeDescription)+\"\\n \")])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"messageTo\"}},[_vm._v(\"To\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"messageTo\"}},[_vm._v(\"\\n \"+_vm._s(_vm.message.to)+\"\\n \")])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"messageSentDate\"}},[_vm._v(\"Sent Date\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"messageSentDate\"}},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"datetime\")(_vm.message.sentDate))+\"\\n \")])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"messageTemplate\"}},[_vm._v(\"Content\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.message.template),expression:\"message.template\"}],staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"messageTemplate\"},domProps:{\"value\":(_vm.message.template)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.message, \"template\", $event.target.value)}}})])])]),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{on:{\"click\":_vm.onCancel}},[_vm._v(\"Close\")])],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { ClientAccountMessageHistory } from '@/shared/clients/client-account-message-history';\nimport { MessageType } from '@/shared/message-type';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class ViewMessageDialog extends Vue {\n @Prop({ required: true }) private message!: ClientAccountMessageHistory;\n @Prop({ required: true }) private visible!: boolean;\n\n private isVisible: boolean = this.visible;\n\n private get messageTypeDescription(): string {\n switch (this.message.type!) {\n case MessageType.AppointmentConfirmation:\n return 'Appointment Confirmation';\n case MessageType.AppointmentReminder:\n return 'Appointment Reminder';\n case MessageType.AppointmentLookingForwardToSeeingYou:\n return 'Appointment LFTSY';\n default:\n return '';\n }\n }\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.isVisible = visible;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n}\n","export enum ContactItemType {\n Interaction = 0,\n Email,\n Message,\n Task,\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./view-message-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./view-message-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./view-message-dialog.vue?vue&type=template&id=1bd3d468&\"\nimport script from \"./view-message-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./view-message-dialog.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\nimport { InteractionApi } from '@/api/interaction';\nimport editInteractionDialog from '@/components/client/view-client/edit-interaction-dialog.vue';\nimport viewClientTaskDialog from '@/components/client/view-client/view-client-task-dialog.vue';\nimport viewEmailDialog from '@/components/client/view-client/view-email-dialog.vue';\nimport viewInteractionDialog from '@/components/client/view-client/view-interaction-dialog.vue';\nimport viewMessageDialog from '@/components/client/view-client/view-message-dialog.vue';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientContactHistory } from '@/shared/clients/client-account-contact-history';\nimport { ClientAccountEmailHistory } from '@/shared/clients/client-account-email-history';\nimport { ClientAccountMessageHistory } from '@/shared/clients/client-account-message-history';\nimport { ClientAccountTaskHistory } from '@/shared/clients/client-account-task-history';\nimport { ContactHistoryItem } from '@/shared/contact-history-item';\nimport { ContactItemType } from '@/shared/contact-item-type';\nimport { Interaction } from '@/shared/interaction';\nimport { MessageType } from '@/shared/message-type';\nimport { InteractionOutcomeType } from '@/shared/types/interaction-outcome-type';\nimport { InteractionType } from '@/shared/types/interaction-type';\nimport { User } from '@/shared/user';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst interactionApi = new InteractionApi();\nconst typesModule = namespace('types');\nconst userModule = namespace('user');\nconst usersModule = namespace('users');\n\n@Component({\n components: {\n viewClientTaskDialog,\n viewEmailDialog,\n viewInteractionDialog,\n viewMessageDialog,\n editInteractionDialog,\n },\n})\nexport default class ContactHistory extends Vue {\n @typesModule.Getter('interactionTypes') private interactionTypes!: Array;\n @typesModule.Getter('interactionOutcomeTypes') private interactionOutcomeTypes!: Array;\n\n @userModule.Getter('isAdministrator') private isAdministrator!: boolean;\n\n @usersModule.Getter('users') private users!: Array;\n\n @Prop({ required: true }) private client!: ClientAccount;\n @Prop({ required: true }) private contactHistory!: ClientContactHistory;\n\n private isSaving: boolean = false;\n private viewTaskDialogVisible: boolean = false;\n private viewEmailDialogVisible: boolean = false;\n private viewInteractionDialogVisible: boolean = false;\n private viewMessageDialogVisible: boolean = false;\n private editInteractionDialogVisible: boolean = false;\n private deleteInteractionConfirmationDialogVisible: boolean = false;\n private selectedTask: ClientAccountTaskHistory | null = null;\n private selectedEmail: ClientAccountEmailHistory | null = null;\n private selectedInteraction: Interaction | null = null;\n private selectedMessage: ClientAccountMessageHistory | null = null;\n\n private get contactHistoryItems(): Array {\n const history = new Array();\n\n if (this.contactHistory.interactionHistory != null && this.contactHistory.interactionHistory.length) {\n for (const interaction of this.contactHistory.interactionHistory) {\n const interactionOutcomeType = this.interactionOutcomeTypes.find((type) => type.id === interaction.interactionOutcomeTypeId);\n history.push({\n id: interaction.id!,\n title: this.interactionTypeDescription(interaction.interactionTypeId!),\n outcome: this.interactionOutcomeDescription(interaction.interactionOutcomeTypeId!),\n appointmentDate: interactionOutcomeType != null && (interactionOutcomeType.isAppointmentBooked || interactionOutcomeType.isAppointmentRebooked) ? interaction.appointmentDate : null,\n createdDate: interaction.createdDate!,\n createdBy: interaction.createdBy!,\n lastModifiedDate: interaction.lastModifiedDate,\n lastModifiedBy: interaction.lastModifiedBy,\n type: ContactItemType.Interaction,\n });\n }\n }\n\n if (this.contactHistory.emailHistory != null && this.contactHistory.emailHistory.length) {\n for (const email of this.contactHistory.emailHistory) {\n history.push({\n id: email.id,\n title: 'Email Sent',\n outcome: email.type,\n createdDate: email.sentDate,\n createdBy: null,\n type: ContactItemType.Email,\n });\n }\n }\n\n if (this.contactHistory.messageHistory != null && this.contactHistory.messageHistory.length) {\n for (const message of this.contactHistory.messageHistory) {\n history.push({\n id: message.id,\n title: 'SMS Sent',\n outcome: this.messageTypeDescription(message),\n createdDate: message.sentDate,\n createdBy: null,\n type: ContactItemType.Message,\n });\n }\n }\n\n if (this.contactHistory.taskHistory != null && this.contactHistory.taskHistory.length) {\n for (const task of this.contactHistory.taskHistory) {\n history.push({\n id: task.id!,\n title: 'Confirmation Letter Sent',\n outcome: task.actioned! ? 'Actioned' : 'Not Actioned',\n createdDate: task.completedDate!,\n createdBy: task.completedBy!,\n type: ContactItemType.Task,\n });\n }\n }\n\n return history.sort((n1, n2) => {\n if (n1.createdDate! < n2.createdDate!) { return 1; }\n if (n1.createdDate! > n2.createdDate!) { return -1; }\n return 0;\n });\n }\n\n private interactionTypeDescription(interactionTypeId: string | null): string {\n if (interactionTypeId == null) {\n return '';\n }\n\n const interactionType = this.interactionTypes.find((type) => type.id === interactionTypeId);\n return interactionType == null ? '' : interactionType.value;\n }\n\n private interactionOutcomeDescription(interactionOutcomeTypeId: string | null): string {\n if (interactionOutcomeTypeId == null) {\n return '';\n }\n\n const interactionOutcomeType = this.interactionOutcomeTypes.find((type) => type.id === interactionOutcomeTypeId);\n return interactionOutcomeType == null ? '' : interactionOutcomeType.value;\n }\n\n private messageTypeDescription(message: ClientAccountMessageHistory): string {\n if (message == null) {\n return '';\n }\n\n switch (message.type!) {\n case MessageType.AppointmentConfirmation:\n return 'Appointment Confirmation';\n case MessageType.AppointmentReminder:\n return 'Appointment Reminder';\n case MessageType.AppointmentLookingForwardToSeeingYou:\n return 'Appointment LFTSY';\n default:\n return '';\n }\n }\n\n private userName(userId: string | null): string {\n if (userId == null) {\n return 'Unknown';\n }\n\n const user = this.users.find((u) => u.id === userId);\n return user == null ? 'Unknown' : `${user.firstName == null ? '' : user.firstName} ${user.lastName == null ? '' : user.lastName}`;\n }\n\n private async showViewDialogAsync(item: ContactHistoryItem): Promise {\n this.selectedEmail = null;\n this.selectedInteraction = null;\n this.selectedMessage = null;\n this.selectedTask = null;\n\n switch (item.type) {\n case ContactItemType.Email:\n const email = this.contactHistory.emailHistory.find((e) => e.id === item.id);\n\n if (email == null) {\n return;\n }\n\n this.selectedEmail = email;\n this.viewEmailDialogVisible = true;\n break;\n\n case ContactItemType.Interaction:\n const interaction = await interactionApi.getInteractionByIdAsync(item.id!);\n\n if (interaction == null) {\n return;\n }\n\n this.selectedInteraction = { ...interaction };\n this.viewInteractionDialogVisible = true;\n break;\n\n case ContactItemType.Message:\n const message = this.contactHistory.messageHistory.find((m) => m.id === item.id);\n\n if (message == null) {\n return;\n }\n\n this.selectedMessage = message;\n this.viewMessageDialogVisible = true;\n break;\n\n case ContactItemType.Task:\n const task = this.contactHistory.taskHistory.find((t) => t.id === item.id);\n\n if (task == null) {\n return;\n }\n\n this.selectedTask = task;\n this.viewTaskDialogVisible = true;\n break;\n }\n }\n\n private async showEditDialogAsync(item: ContactHistoryItem): Promise {\n if (item.type !== ContactItemType.Interaction) {\n return;\n }\n\n const interaction = await interactionApi.getInteractionByIdAsync(item.id!);\n\n if (interaction == null) {\n return;\n }\n\n this.selectedInteraction = { ...interaction };\n this.editInteractionDialogVisible = true;\n }\n\n private async showDeleteConfirmationAsync(item: ContactHistoryItem): Promise {\n if (item.type !== ContactItemType.Interaction) {\n return;\n }\n\n const interaction = await interactionApi.getInteractionByIdAsync(item.id!);\n\n if (interaction == null) {\n return;\n }\n\n this.selectedInteraction = { ...interaction };\n this.deleteInteractionConfirmationDialogVisible = true;\n }\n\n private onInteractionUpdated(): void {\n this.$emit('interaction-updated');\n this.onCancel();\n }\n\n private async onDeleteAsync(): Promise {\n this.isSaving = true;\n\n try {\n await interactionApi.deleteInteractionAsync(this.selectedInteraction!.id!);\n this.$emit('interaction-deleted');\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not delete interaction, please try again.', type: 'is-danger' });\n }\n }\n\n this.selectedInteraction = null;\n this.isSaving = false;\n this.onCancel();\n }\n\n private onCancel(): void {\n this.viewEmailDialogVisible = false;\n this.viewInteractionDialogVisible = false;\n this.viewMessageDialogVisible = false;\n this.viewTaskDialogVisible = false;\n this.editInteractionDialogVisible = false;\n this.deleteInteractionConfirmationDialogVisible = false;\n\n this.selectedTask = null;\n this.selectedEmail = null;\n this.selectedInteraction = null;\n this.selectedMessage = null;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contact-history.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contact-history.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./contact-history.vue?vue&type=template&id=50353214&\"\nimport script from \"./contact-history.vue?vue&type=script&lang=ts&\"\nexport * from \"./contact-history.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:\"client-court-of-protection-warning\"},[_vm._v(\"THIS CLIENT IS MARKED AS COP\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator';\nimport { ClientAccount } from '@/shared/clients/client-account';\n\n@Component\nexport default class CourtOfProtectionWarning extends Vue {\n @Prop({ required: true }) public client!: ClientAccount;\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./court-of-protection-banner.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./court-of-protection-banner.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./court-of-protection-banner.vue?vue&type=template&id=b499cabc&\"\nimport script from \"./court-of-protection-banner.vue?vue&type=script&lang=ts&\"\nexport * from \"./court-of-protection-banner.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:\"client-deed-details\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_vm._m(0),_c('table',{staticClass:\"table mt-4\"},[_vm._m(1),_c('tbody',_vm._l((_vm.client.deeds),function(deed){return _c('tr',{key:deed.id},[_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(deed.rightLegalReference || \"–\"))]),_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(deed.partnerPracticeReference || \"–\"))]),_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(deed.nameOnDeed || \"–\"))]),_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(_vm._f(\"singlelineaddress\")(deed)))]),_c('td',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(deed.isLandRegistered),expression:\"deed.isLandRegistered\"}],attrs:{\"type\":\"checkbox\",\"disabled\":true},domProps:{\"value\":true,\"checked\":Array.isArray(deed.isLandRegistered)?_vm._i(deed.isLandRegistered,true)>-1:(deed.isLandRegistered)},on:{\"change\":function($event){var $$a=deed.isLandRegistered,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(deed, \"isLandRegistered\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(deed, \"isLandRegistered\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(deed, \"isLandRegistered\", $$c)}}}})]),_c('td',{staticClass:\"col-auto text-right\"},[_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.showEditDeedDialog(deed)}}},[_vm._v(\"Edit\")]),(_vm.canDelete)?_c('b-dropdown-divider'):_vm._e(),(_vm.canDelete)?_c('b-dropdown-item',{staticClass:\"text-danger\",on:{\"click\":function($event){return _vm.showDeleteDeedDialog(deed)}}},[_vm._v(\"Delete\")]):_vm._e()],1)],1)])}),0)])])]),_c('confirmation-dialog',{ref:\"modal\",attrs:{\"title\":\"Are you sure?\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true,\"variant\":\"danger\",\"ok-text\":\"Delete\",\"centered\":\"\"},on:{\"ok\":_vm.onDelete,\"cancel\":_vm.onCancel},model:{value:(_vm.deleteDeedConfirmationDialogVisible),callback:function ($$v) {_vm.deleteDeedConfirmationDialogVisible=$$v},expression:\"deleteDeedConfirmationDialogVisible\"}},[_c('div',[_vm._v(\"\\n Are you sure you want to delete this deed?\\n \")])]),(_vm.client != null && _vm.selectedDeed != null)?_c('edit-deed-dialog',{attrs:{\"visible\":_vm.editDeedDialogVisible,\"deed\":_vm.selectedDeed},on:{\"ok\":_vm.onDeedUpdated,\"cancel\":_vm.onCancel}}):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h5',[_vm._v(\"Deeds\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',[_vm._v(\"RLG Reference\")]),_c('th',[_vm._v(\"Parter Practice Reference\")]),_c('th',[_vm._v(\"Name(s) on Deed\")]),_c('th',[_vm._v(\"Address\")]),_c('th',[_vm._v(\"Land Registered\")]),_c('th',{staticClass:\"text-right\"})])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Edit deed\",\"size\":\"lg\",\"body-class\":\"modal-stepper\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('stepper',{model:{value:(_vm.currentStep),callback:function ($$v) {_vm.currentStep=$$v},expression:\"currentStep\"}},[_c('step',{attrs:{\"title\":\"Address\",\"completed\":_vm.addressDetailsValid}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('address-with-lookup',{ref:\"address\",attrs:{\"address\":_vm.deed}})],1)])]),_c('step',{attrs:{\"title\":\"Additional Information\",\"disabled\":!_vm.addressDetailsValid}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"RLG Reference\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.deed.rightLegalReference),expression:\"deed.rightLegalReference\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.deed.rightLegalReference)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.deed, \"rightLegalReference\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"PP reference\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.deed.partnerPracticeReference),expression:\"deed.partnerPracticeReference\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.deed.partnerPracticeReference)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.deed, \"partnerPracticeReference\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"Name(s) on Deed\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.deed.nameOnDeed),expression:\"deed.nameOnDeed\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.deed.nameOnDeed)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.deed, \"nameOnDeed\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.deed.isLandRegistered),expression:\"deed.isLandRegistered\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"is-land-registered\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.deed.isLandRegistered)?_vm._i(_vm.deed.isLandRegistered,true)>-1:(_vm.deed.isLandRegistered)},on:{\"change\":function($event){var $$a=_vm.deed.isLandRegistered,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.deed, \"isLandRegistered\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.deed, \"isLandRegistered\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.deed, \"isLandRegistered\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"is-land-registered\"}},[_vm._v(\"Land Registered?\")])])])])])],1),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),(_vm.currentStep > 0)?_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onPrevious}},[_vm._v(\"Previous\")]):_vm._e(),(_vm.currentStep < 1)?_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onNextAsync}},[_vm._v(\"Next\")]):_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onSave}},[_vm._v(\"Edit deed\")])],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport addressWithLookup from '@/components/address-with-lookup.vue';\nimport { ClientAccountDeed } from '@/shared/clients/client-account-deed';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component({\n components: {\n addressWithLookup,\n },\n})\nexport default class EditDeedDialog extends Vue {\n @Prop({ required: true }) public visible!: boolean;\n @Prop({ required: true }) public deed!: ClientAccountDeed;\n\n private isVisible: boolean = this.visible;\n private currentStep: number = 0;\n private addressDetailsValid: boolean = false;\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.currentStep = 0;\n this.isVisible = visible;\n }\n\n private async onNextAsync(): Promise {\n if (!await (this.$refs.address as Vue).$validator.validateAll('address-details')) { return; }\n\n this.addressDetailsValid = true;\n\n setTimeout(() => {\n this.currentStep++;\n }, 0);\n }\n\n private onPrevious(): void {\n this.currentStep--;\n }\n\n private async onSave(): Promise {\n this.$emit('ok', { ...this.deed });\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-deed-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-deed-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./edit-deed-dialog.vue?vue&type=template&id=f0ad61fa&\"\nimport script from \"./edit-deed-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./edit-deed-dialog.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\nimport { ClientAccountsApi } from '@/api/client-accounts';\nimport editDeedDialog from '@/components/client/view-client/edit-deed-dialog.vue';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientAccountDeed } from '@/shared/clients/client-account-deed';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst clientApi = new ClientAccountsApi();\n\nconst userModule = namespace('user');\n\n@Component({\n components: {\n editDeedDialog,\n },\n})\nexport default class ClientDeedDetails extends Vue {\n @userModule.Getter('isAdministrator') public isAdministrator!: boolean;\n @userModule.Getter('isCustomerExperienceExecutiveTeamLeader') public isCustomerExperienceExecutiveTeamLeader!: boolean;\n @userModule.Getter('isDataCreationTeamLeader') public isDataCreationTeamLeader!: boolean;\n\n @Prop({ required: true }) public client!: ClientAccount;\n\n private editDeedDialogVisible: boolean = false;\n private deleteDeedConfirmationDialogVisible: boolean = false;\n private selectedDeed: ClientAccountDeed | null = null;\n\n private get canDelete(): boolean {\n return this.isAdministrator || this.isCustomerExperienceExecutiveTeamLeader || this.isDataCreationTeamLeader;\n }\n private showEditDeedDialog(deed: ClientAccountDeed): void {\n if (deed.id == null) {\n deed.id = 'editing';\n }\n\n this.selectedDeed = { ...deed };\n this.editDeedDialogVisible = true;\n }\n private showDeleteDeedDialog(deed: ClientAccountDeed): void {\n if (deed.id == null) {\n deed.id = 'editing';\n }\n\n this.selectedDeed = { ...deed };\n this.deleteDeedConfirmationDialogVisible = true;\n }\n private onDeedUpdated(deed: ClientAccountDeed): void {\n const index = this.client!.deeds.findIndex((d) => d.id === deed.id);\n\n if (index < 0) {\n return;\n }\n\n if (deed.id === 'editing') {\n deed.id = null;\n }\n\n // Note(Seb): Setting executors[index] doesn't trigger the deep watcher on the client object\n this.client!.deeds.splice(index, 1, deed);\n this.onCancel();\n this.$emit('deed-updated', deed);\n }\n private async onDelete(): Promise {\n const index = this.client!.deeds.findIndex((d) => d.id === this.selectedDeed!.id);\n\n if (index < 0) {\n return;\n }\n\n if (this.selectedDeed!.id === 'editing') {\n this.selectedDeed!.id = null;\n }\n\n this.client!.deeds.splice(index, 1);\n this.$emit('deed-deleted', { ...this.selectedDeed! });\n this.onCancel();\n }\n private onCancel(): void {\n for (const deed of this.client!.deeds.filter((d) => d.id === 'editing')) {\n deed.id = null;\n }\n\n this.selectedDeed = null;\n this.editDeedDialogVisible = false;\n this.deleteDeedConfirmationDialogVisible = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./deeds.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./deeds.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./deeds.vue?vue&type=template&id=761d997f&\"\nimport script from \"./deeds.vue?vue&type=script&lang=ts&\"\nexport * from \"./deeds.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:\"client-details\"},[_vm._m(0),_c('div',{staticClass:\"row justify-content-between\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row pt-3\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"title\"}},[_vm._v(\"Title\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.titleId),expression:\"client.titleId\"}],staticClass:\"form-control\",on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.client, \"titleId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.titleTypes),function(title){return _c('option',{key:title.id,domProps:{\"value\":title.id}},[_vm._v(_vm._s(title.value))])})],2)]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"firstName\"}},[_vm._v(\"First Name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.firstName),expression:\"client.firstName\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('client-details.firstName') },attrs:{\"type\":\"text\",\"data-vv-as\":\"first name\",\"name\":\"firstName\",\"data-vv-scope\":\"client-details\"},domProps:{\"value\":(_vm.client.firstName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.client, \"firstName\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('client-details.firstName')),expression:\"errors.has('client-details.firstName')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('client-details.firstName')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"middleNames\"}},[_vm._v(\"Middle Name(s)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.middleNames),expression:\"client.middleNames\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"middleNames\"},domProps:{\"value\":(_vm.client.middleNames)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.client, \"middleNames\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"lastName\"}},[_vm._v(\"Last Name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.lastName),expression:\"client.lastName\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('client-details.lastName') },attrs:{\"type\":\"text\",\"data-vv-as\":\"last name\",\"name\":\"lastName\",\"data-vv-scope\":\"client-details\"},domProps:{\"value\":(_vm.client.lastName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.client, \"lastName\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('client-details.lastName')),expression:\"errors.has('client-details.lastName')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('client-details.lastName')))])])])])]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row pt-3\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"dateOfBirth\"}},[_vm._v(\"Date of Birth\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:(_vm.endDate != null ? (\"date_format:dd/MM/yyyy|before:\" + _vm.validationBeforeDate) : 'date_format:dd/MM/yyyy'),expression:\"endDate != null ? `date_format:dd/MM/yyyy|before:${validationBeforeDate}` : 'date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('client-details.dateOfBirth') },attrs:{\"disabledDates\":_vm.endDate != null ? { from: _vm.endDate } : {},\"placeholder\":'dd/MM/yyyy',\"open-date\":_vm.endDate,\"data-vv-scope\":\"client-details\",\"name\":\"dateOfBirth\",\"data-vv-as\":\"date of birth\"},model:{value:(_vm.client.dateOfBirth),callback:function ($$v) {_vm.$set(_vm.client, \"dateOfBirth\", $$v)},expression:\"client.dateOfBirth\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('client-details.dateOfBirth')),expression:\"errors.has('client-details.dateOfBirth')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('client-details.dateOfBirth')))])],1),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"email\"}},[_vm._v(\"Email Address\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.email),expression:\"client.email\"},{name:\"validate\",rawName:\"v-validate\",value:('email'),expression:\"'email'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('client-details.email') },attrs:{\"type\":\"text\",\"data-vv-as\":\"email\",\"name\":\"email\",\"data-vv-scope\":\"client-details\"},domProps:{\"value\":(_vm.client.email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.client, \"email\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('client-details.email')),expression:\"errors.has('client-details.email')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('client-details.email')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"telephone\"}},[_vm._v(\"\\n Telephone\\n \"),(_vm.client.telephone != null && _vm.client.telephone.length > 0 && _vm.client.isWrongNumber)?_c('svg',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.right\",modifiers:{\"hover\":true,\"right\":true}}],staticClass:\"feather feather-alert-triangle\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#dc3545\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"title\":\"This client is marked as having wrong number\"}},[_c('path',{attrs:{\"d\":\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"9\",\"x2\":\"12\",\"y2\":\"13\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"17\",\"x2\":\"12.01\",\"y2\":\"17\"}})]):_vm._e()]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.telephone),expression:\"client.telephone\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.client.telephone)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.client, \"telephone\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"telephone\"}},[_vm._v(\"\\n Mobile\\n \"),(_vm.client.mobile != null && _vm.client.mobile.length > 0 && _vm.client.isWrongNumber)?_c('svg',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.right\",modifiers:{\"hover\":true,\"right\":true}}],staticClass:\"feather feather-alert-triangle\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#dc3545\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"title\":\"This client is marked as having wrong number\"}},[_c('path',{attrs:{\"d\":\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"9\",\"x2\":\"12\",\"y2\":\"13\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"17\",\"x2\":\"12.01\",\"y2\":\"17\"}})]):_vm._e()]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.mobile),expression:\"client.mobile\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.client.mobile)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.client, \"mobile\", $event.target.value)}}})])])])]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row pt-3\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"accountStatus\"}},[_vm._v(\"Account Status\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.accountStatusId),expression:\"client.accountStatusId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('client-details.accountStatus') },attrs:{\"name\":\"accountStatus\",\"data-vv-scope\":\"client-details\",\"data-vv-as\":\"account status\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.client, \"accountStatusId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.statusTypes),function(status){return _c('option',{key:status.id,domProps:{\"value\":status.id}},[_vm._v(_vm._s(status.value))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('client-details.accountStatus')),expression:\"errors.has('client-details.accountStatus')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('client-details.accountStatus')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"partnerPractice\"}},[_vm._v(\"Assigned To\")]),(_vm.partnerPractices.length !== 1)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.partnerPracticeId),expression:\"client.partnerPracticeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('client-details.partnerPractice') },attrs:{\"name\":\"partnerPractice\",\"data-vv-scope\":\"client-details\",\"data-vv-as\":\"assigned partner practice\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.client, \"partnerPracticeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_c('option',{attrs:{\"value\":\"00000000-0000-0000-0000-000000000000\"}},[_vm._v(\"RLG Data\")]),_vm._l((_vm.partnerPractices),function(practice){return _c('option',{key:practice.id,domProps:{\"value\":practice.id}},[_vm._v(_vm._s(practice.value))])})],2):_c('div',{staticClass:\"form-control\"},[_vm._v(_vm._s(_vm.partnerPractices[0].value))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('client-details.partnerPractice')),expression:\"errors.has('client-details.partnerPractice')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('client-details.partnerPractice')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"originalSource\"}},[_vm._v(\"Introducer\")]),(_vm.isAdministrator)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.originalSourceId),expression:\"client.originalSourceId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('client-details.originalSource') },attrs:{\"name\":\"originalSource\",\"data-vv-scope\":\"client-details\",\"data-vv-as\":\"introducer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.client, \"originalSourceId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.filteredOriginalSourceTypes),function(originalSource){return _c('option',{key:originalSource.id,domProps:{\"value\":originalSource.id}},[_vm._v(_vm._s(originalSource.value))])})],2):_c('div',{staticClass:\"form-control\"},[_vm._v(_vm._s(_vm.originalSourceDescription))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('client-details.originalSource')),expression:\"errors.has('client-details.originalSource')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('client-details.originalSource')))])])])])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row justify-content-between\"},[_c('div',{staticClass:\"col\"},[_c('div',[_c('h5',[_vm._v(\"Client Details\")])])]),_c('div',{staticClass:\"col\"}),_c('div',{staticClass:\"col\"},[_c('div',[_c('h5',[_vm._v(\"Account Information\")])])])])}]\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { PartnerPracticeApi } from '@/api/partner-practice';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { ClientOriginalSourceType } from '@/shared/types/client-original-source-type';\nimport { ClientStatusType } from '@/shared/types/client-status-type';\nimport { ClientTitleType } from '@/shared/types/client-title-type';\nimport { PartnerPracticeType } from '@/shared/types/partner-practice-type';\nimport { DateTime } from 'luxon';\nimport { Validator } from 'vee-validate';\nimport { Component, Inject, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst userModule = namespace('user');\nconst typesModule = namespace('types');\nconst partnerPracticeApi = new PartnerPracticeApi();\n\n@Component\nexport default class ClientAccountDetails extends Vue {\n @userModule.Getter('isAdministrator') public isAdministrator!: boolean;\n\n @typesModule.Getter('activeClientOriginalSourceTypes') private originalSourceTypes!: Array;\n @typesModule.Getter('activeClientTitleTypes') public titleTypes!: Array;\n @typesModule.Getter('activeClientStatusTypes') public statusTypes!: Array;\n @typesModule.Getter('activePartnerPracticeTypesForCurrentUser') public partnerPractices!: Array;\n\n @Inject('$validator') public $validator!: Validator;\n @Prop({ required: true }) public client!: ClientAccount;\n\n private endDate = DateTime.fromJSDate(new Date()).minus({ years: 18 }).toJSDate();\n private selectedPartnerPractice: PartnerPractice | null = null;\n\n private get filteredOriginalSourceTypes(): Array {\n let originalSourceTypes: Array;\n\n if (this.selectedPartnerPractice == null) {\n if (this.client.partnerPracticeId === '00000000-0000-0000-0000-000000000000') {\n originalSourceTypes = [... this.originalSourceTypes.filter((t) => t.isValidForAcquisition)];\n } else {\n return [];\n }\n } else {\n originalSourceTypes = [...this.originalSourceTypes.filter((type) => this.selectedPartnerPractice!.originalSourceTypes.some((t) => t === type.id))];\n }\n\n return originalSourceTypes.sort((t1, t2) => {\n if (t1.value > t2.value) { return 1; }\n if (t1.value < t2.value) { return -1; }\n return 0;\n });\n }\n\n public get validationBeforeDate(): string {\n const end = DateTime.fromJSDate(this.endDate!).plus({ days: 1 }).toFormat('dd/MM/yyyy');\n\n return `${end}`;\n }\n\n private get originalSourceDescription(): string {\n if (this.client.originalSourceId == null) {\n return '';\n }\n\n const clientOriginalSourceType = this.originalSourceTypes.find((type) => type.id === this.client.originalSourceId);\n return clientOriginalSourceType == null ? '' : clientOriginalSourceType.value;\n }\n\n @Watch('client.partnerPracticeId')\n private async onPartnerPracticeIdChanged(): Promise {\n this.selectedPartnerPractice = this.client.partnerPracticeId == null || this.client.partnerPracticeId === '00000000-0000-0000-0000-000000000000'\n ? null\n : await partnerPracticeApi.getPartnerPracticeAsync(this.client.partnerPracticeId);\n\n this.$emit('partner-practice-changed');\n }\n\n public async mounted(): Promise {\n this.selectedPartnerPractice = this.client.partnerPracticeId == null || this.client.partnerPracticeId === '00000000-0000-0000-0000-000000000000'\n ? null\n : await partnerPracticeApi.getPartnerPracticeAsync(this.client.partnerPracticeId);\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./details.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./details.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./details.vue?vue&type=template&id=3a0937f1&\"\nimport script from \"./details.vue?vue&type=script&lang=ts&\"\nexport * from \"./details.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:\"client-do-not-contact-warning\"},[_vm._v(\"THIS CLIENT IS MARKED AS DO NOT CONTACT\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator';\nimport { ClientAccount } from '@/shared/clients/client-account';\n\n@Component\nexport default class DoNotContactWarning extends Vue {\n @Prop({ required: true }) public client!: ClientAccount;\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./do-not-contact-banner.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./do-not-contact-banner.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./do-not-contact-banner.vue?vue&type=template&id=01b717fa&\"\nimport script from \"./do-not-contact-banner.vue?vue&type=script&lang=ts&\"\nexport * from \"./do-not-contact-banner.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',[_vm._m(0),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('b-form-checkbox-group',{attrs:{\"plain\":\"\"},model:{value:(_vm.selectedAdditionalDocumentTypes),callback:function ($$v) {_vm.selectedAdditionalDocumentTypes=$$v},expression:\"selectedAdditionalDocumentTypes\"}},[_c('div',{staticClass:\"row\"},_vm._l((_vm.filteredAdditionalDocumentTypes),function(type){return _c('div',{key:type.id,staticClass:\"col-3 pt-3\"},[_c('b-form-checkbox',{key:type.id,attrs:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])],1)}),0)])],1)])]),(_vm.isOtherTextRequired)?_c('div',{staticClass:\"row pt-3\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"otherText\"}},[_vm._v(\"Other Documents Received\")]),_c('b-form-input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],class:{ 'is-invalid': _vm.errors.has('additional-documents.otherText') },attrs:{\"type\":\"text\",\"name\":\"otherText\",\"id\":\"otherText\",\"data-vv-scope\":\"additional-documents\",\"data-vv-as\":\"other documents received\",\"debounce\":\"500\"},model:{value:(_vm.otherText),callback:function ($$v) {_vm.otherText=$$v},expression:\"otherText\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('additional-documents.otherText')),expression:\"errors.has('additional-documents.otherText')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('additional-documents.otherText')))])],1)])]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('h5',[_vm._v(\"Additional Documents\")])])])}]\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\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { AdditionalDocumentType } from '@/shared/types/additional-document-type';\nimport { Validator } from 'vee-validate';\nimport { Component, Inject, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\n\n@Component\nexport default class ClientAdditionalDetails extends Vue {\n @typesModule.Getter('additionalDocumentTypes') private additionalDocumentTypes!: Array;\n\n @Inject('$validator') public $validator!: Validator;\n @Prop({ required: true }) public client!: ClientAccount;\n\n private selectedAdditionalDocumentTypes: Array = [...this.client.additionalDocuments.map((document) => document.additionalDocumentTypeId)];\n private isOtherTextRequired: boolean = this.client.additionalDocuments.some((d) => d.otherText != null);\n private otherText: string | null = this.client.additionalDocuments.some((d) => d.otherText != null) ? this.client.additionalDocuments.find((d) => d.otherText != null)!.otherText! : null;\n\n\n @Watch('selectedAdditionalDocumentTypes', { deep: true })\n private onAdditionalDocumentTypeChanged(): void {\n this.isOtherTextRequired = this.additionalDocumentTypes.filter((type) => this.selectedAdditionalDocumentTypes.some((t) => t === type.id)).some((type) => type.isOtherTextRequired);\n this.onChange();\n }\n\n @Watch('otherText')\n private onOtherTextChanged(value: string): void {\n this.onChange();\n }\n\n private get filteredAdditionalDocumentTypes(): Array {\n if (this.additionalDocumentTypes == null) {\n return [];\n }\n\n return this.additionalDocumentTypes.filter((type) => !type.isArchived || this.client.additionalDocuments.some((t) => t.additionalDocumentTypeId === type.id));\n }\n\n private onChange(): void {\n const result: Array<{ id: string, otherText: string | null }> = [];\n\n for (const id of this.selectedAdditionalDocumentTypes) {\n const type = this.additionalDocumentTypes.find((t) => t.id === id);\n result.push({ id, otherText: type!.isOtherTextRequired ? this.otherText : null });\n }\n\n this.$emit('change', [...result]);\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./documents.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./documents.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./documents.vue?vue&type=template&id=10cdd03f&\"\nimport script from \"./documents.vue?vue&type=script&lang=ts&\"\nexport * from \"./documents.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:\"client-fact-find-details\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row\"},[_vm._m(0),_c('div',{staticClass:\"col-auto\"},[(_vm.canDelete)?_c('b-btn',{attrs:{\"variant\":\"danger\",\"size\":\"sm\"},on:{\"click\":function($event){return _vm.showDeleteConfirmation(_vm.factFind)}}},[_vm._v(\"Delete\")]):_vm._e()],1)]),_c('table',{staticClass:\"table mt-4\"},[_vm._m(1),_c('tbody',[_c('tr',[_c('td',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.factFind.hasGuardiansInsurance),expression:\"factFind.hasGuardiansInsurance\"}],staticClass:\"mb-0\",attrs:{\"type\":\"checkbox\",\"name\":\"guardians-insurance\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.factFind.hasGuardiansInsurance)?_vm._i(_vm.factFind.hasGuardiansInsurance,true)>-1:(_vm.factFind.hasGuardiansInsurance)},on:{\"change\":function($event){var $$a=_vm.factFind.hasGuardiansInsurance,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.factFind, \"hasGuardiansInsurance\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.factFind, \"hasGuardiansInsurance\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.factFind, \"hasGuardiansInsurance\", $$c)}}}})]),_vm._m(2)])]),_c('td',{staticClass:\"col-1\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.factFind.hasLifeInsurance),expression:\"factFind.hasLifeInsurance\"}],staticClass:\"mb-0\",attrs:{\"type\":\"checkbox\",\"name\":\"life-insurance\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.factFind.hasLifeInsurance)?_vm._i(_vm.factFind.hasLifeInsurance,true)>-1:(_vm.factFind.hasLifeInsurance)},on:{\"change\":function($event){var $$a=_vm.factFind.hasLifeInsurance,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.factFind, \"hasLifeInsurance\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.factFind, \"hasLifeInsurance\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.factFind, \"hasLifeInsurance\", $$c)}}}})]),_vm._m(3)])])]),_c('tr',[_c('td',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.factFind.hasLifeInsuranceInTrust),expression:\"factFind.hasLifeInsuranceInTrust\"}],staticClass:\"mb-0\",attrs:{\"type\":\"checkbox\",\"name\":\"life-insurance-in-trust\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.factFind.hasLifeInsuranceInTrust)?_vm._i(_vm.factFind.hasLifeInsuranceInTrust,true)>-1:(_vm.factFind.hasLifeInsuranceInTrust)},on:{\"change\":function($event){var $$a=_vm.factFind.hasLifeInsuranceInTrust,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.factFind, \"hasLifeInsuranceInTrust\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.factFind, \"hasLifeInsuranceInTrust\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.factFind, \"hasLifeInsuranceInTrust\", $$c)}}}})]),_vm._m(4)])]),_c('td',{staticClass:\"col-1\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.factFind.hasForeignProperty),expression:\"factFind.hasForeignProperty\"}],staticClass:\"mb-0\",attrs:{\"type\":\"checkbox\",\"name\":\"foreign-property\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.factFind.hasForeignProperty)?_vm._i(_vm.factFind.hasForeignProperty,true)>-1:(_vm.factFind.hasForeignProperty)},on:{\"change\":function($event){var $$a=_vm.factFind.hasForeignProperty,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.factFind, \"hasForeignProperty\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.factFind, \"hasForeignProperty\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.factFind, \"hasForeignProperty\", $$c)}}}})]),_vm._m(5)])])]),_c('tr',[_c('td',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.factFind.hasPension),expression:\"factFind.hasPension\"}],staticClass:\"mb-0\",attrs:{\"type\":\"checkbox\",\"name\":\"pension\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.factFind.hasPension)?_vm._i(_vm.factFind.hasPension,true)>-1:(_vm.factFind.hasPension)},on:{\"change\":function($event){var $$a=_vm.factFind.hasPension,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.factFind, \"hasPension\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.factFind, \"hasPension\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.factFind, \"hasPension\", $$c)}}}})]),_vm._m(6)])]),_c('td',{staticClass:\"col-1\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.factFind.hasInvestments),expression:\"factFind.hasInvestments\"}],staticClass:\"mb-0\",attrs:{\"type\":\"checkbox\",\"name\":\"investments\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.factFind.hasInvestments)?_vm._i(_vm.factFind.hasInvestments,true)>-1:(_vm.factFind.hasInvestments)},on:{\"change\":function($event){var $$a=_vm.factFind.hasInvestments,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.factFind, \"hasInvestments\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.factFind, \"hasInvestments\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.factFind, \"hasInvestments\", $$c)}}}})]),_vm._m(7)])])]),_c('tr',[_c('td',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.factFind.hasFuneralPlan),expression:\"factFind.hasFuneralPlan\"}],staticClass:\"mb-0\",attrs:{\"type\":\"checkbox\",\"name\":\"funeral-plan\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.factFind.hasFuneralPlan)?_vm._i(_vm.factFind.hasFuneralPlan,true)>-1:(_vm.factFind.hasFuneralPlan)},on:{\"change\":function($event){var $$a=_vm.factFind.hasFuneralPlan,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.factFind, \"hasFuneralPlan\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.factFind, \"hasFuneralPlan\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.factFind, \"hasFuneralPlan\", $$c)}}}})]),_vm._m(8)])]),_c('td',{staticClass:\"col-1\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.factFind.hasEquityRelease),expression:\"factFind.hasEquityRelease\"}],staticClass:\"mb-0\",attrs:{\"type\":\"checkbox\",\"name\":\"equity-release\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.factFind.hasEquityRelease)?_vm._i(_vm.factFind.hasEquityRelease,true)>-1:(_vm.factFind.hasEquityRelease)},on:{\"change\":function($event){var $$a=_vm.factFind.hasEquityRelease,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.factFind, \"hasEquityRelease\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.factFind, \"hasEquityRelease\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.factFind, \"hasEquityRelease\", $$c)}}}})]),_vm._m(9)])])]),_c('tr',{staticClass:\"border-bottom\"},[_c('td',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.factFind.hasBusinessInterests),expression:\"factFind.hasBusinessInterests\"}],staticClass:\"mb-0\",attrs:{\"type\":\"checkbox\",\"name\":\"business-interests\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.factFind.hasBusinessInterests)?_vm._i(_vm.factFind.hasBusinessInterests,true)>-1:(_vm.factFind.hasBusinessInterests)},on:{\"change\":function($event){var $$a=_vm.factFind.hasBusinessInterests,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.factFind, \"hasBusinessInterests\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.factFind, \"hasBusinessInterests\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.factFind, \"hasBusinessInterests\", $$c)}}}})]),_vm._m(10)])]),_c('td')])])])])]),_c('confirmation-dialog',{ref:\"modal\",attrs:{\"title\":\"Are you sure?\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true,\"variant\":\"danger\",\"ok-text\":\"Delete\",\"centered\":\"\"},on:{\"ok\":_vm.onDelete,\"cancel\":_vm.onCancel},model:{value:(_vm.deleteFactFindConfirmationDialogVisible),callback:function ($$v) {_vm.deleteFactFindConfirmationDialogVisible=$$v},expression:\"deleteFactFindConfirmationDialogVisible\"}},[_c('div',[_vm._v(\"\\n Are you sure you want to delete this fact find?\\n \")])]),(_vm.client != null && _vm.editFactFindDialogVisible)?_c('edit-fact-find-dialog',{attrs:{\"client\":_vm.client,\"factFind\":_vm.factFind,\"visible\":_vm.editFactFindDialogVisible},on:{\"ok\":_vm.onFactFindUpdated,\"cancel\":_vm.onCancel}}):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col\"},[_c('div',[_c('h5',[_vm._v(\"Fact Find\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',{staticClass:\"col-6 border-0 p-0\"}),_c('th',{staticClass:\"col-6 border-0 p-0\"})])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"mb-0\",attrs:{\"for\":\"guardians-insurance\"}},[_vm._v(\"Guardians Insurance\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"mb-0\",attrs:{\"for\":\"life-insurance\"}},[_vm._v(\"Life Insurance\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"mb-0\",attrs:{\"for\":\"life-insurance-in-trust\"}},[_vm._v(\"Life Insurance in a Trust\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"mb-0\",attrs:{\"for\":\"foreign-property\"}},[_vm._v(\"Foreign Property\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"mb-0\",attrs:{\"for\":\"pension\"}},[_vm._v(\"Pension\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"mb-0\",attrs:{\"for\":\"investments\"}},[_vm._v(\"Investments\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"mb-0\",attrs:{\"for\":\"funeral-plan\"}},[_vm._v(\"Funeral Plan\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"mb-0\",attrs:{\"for\":\"equity-release\"}},[_vm._v(\"Equity Release\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"mb-0\",attrs:{\"for\":\"business-interests\"}},[_vm._v(\"Business Interests\")])])}]\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientAccountFactFind } from '@/shared/clients/client-account-fact-find';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst userModule = namespace('user');\n\n@Component\nexport default class ClientFactFindDetails extends Vue {\n @userModule.Getter('isAdministrator') public isAdministrator!: boolean;\n @userModule.Getter('isCustomerExperienceExecutiveTeamLeader') public isCustomerExperienceExecutiveTeamLeader!: boolean;\n @userModule.Getter('isDataCreationTeamLeader') public isDataCreationTeamLeader!: boolean;\n\n @Prop({ required: true }) public client!: ClientAccount;\n private editFactFindDialogVisible: boolean = false;\n private deleteFactFindConfirmationDialogVisible: boolean = false;\n private saving: boolean = false;\n\n private get factFind(): ClientAccountFactFind {\n return this.client!.factFind!;\n }\n private get canDelete(): boolean {\n return this.isAdministrator || this.isCustomerExperienceExecutiveTeamLeader || this.isDataCreationTeamLeader;\n }\n private showEditDialog(factfind: ClientAccountFactFind) {\n this.editFactFindDialogVisible = true;\n }\n private showDeleteConfirmation(interaction: ClientAccountFactFind): void {\n this.deleteFactFindConfirmationDialogVisible = true;\n }\n private onFactFindUpdated(factFind: ClientAccountFactFind): void {\n this.onCancel();\n this.$emit('fact-find-updated', factFind);\n }\n private async onDelete(): Promise {\n this.$emit('fact-find-removed', { ...this.client.factFind! });\n this.onCancel();\n }\n private onCancel(): void {\n this.editFactFindDialogVisible = false;\n this.deleteFactFindConfirmationDialogVisible = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./fact-find.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./fact-find.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./fact-find.vue?vue&type=template&id=181f24f2&\"\nimport script from \"./fact-find.vue?vue&type=script&lang=ts&\"\nexport * from \"./fact-find.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:\"client-locked-warning\"},[_c('span',[_vm._v(_vm._s(_vm.userName)+\" a call in-progress with this client\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { User } from '@/shared/user';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst userModule = namespace('user');\nconst usersModule = namespace('users');\n\n@Component\nexport default class LockedWarning extends Vue {\n @userModule.Getter('user') private currentUser!: User | null;\n\n @usersModule.Getter('users') private users!: Array;\n\n @Prop({ required: true }) public client!: ClientAccount;\n\n private get userName(): string {\n if (this.client.lockedBy === this.currentUser!.id!) {\n return 'You have';\n }\n\n const user = this.users.find((u) => u.id === this.client.lockedBy);\n return user == null ? 'Another user has' : `${user.firstName == null ? '' : user.firstName.trim()} ${user.lastName == null ? '' : user.lastName.trim()} has`;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./locked-banner.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./locked-banner.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./locked-banner.vue?vue&type=template&id=98e992c2&\"\nimport script from \"./locked-banner.vue?vue&type=script&lang=ts&\"\nexport * from \"./locked-banner.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:\"client-address-details\"},[_vm._m(0),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('table',{staticClass:\"table mt-4\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"col-1\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.canPost),expression:\"client.canPost\"}],staticClass:\"mb-0\",attrs:{\"type\":\"checkbox\",\"name\":\"marketing-post\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.client.canPost)?_vm._i(_vm.client.canPost,true)>-1:(_vm.client.canPost)},on:{\"change\":function($event){var $$a=_vm.client.canPost,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.client, \"canPost\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.client, \"canPost\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.client, \"canPost\", $$c)}}}})]),_vm._m(1)]),_c('tr',[_c('td',{staticClass:\"col-1\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.canSms),expression:\"client.canSms\"}],staticClass:\"mb-0\",attrs:{\"type\":\"checkbox\",\"name\":\"marketing-sms\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.client.canSms)?_vm._i(_vm.client.canSms,true)>-1:(_vm.client.canSms)},on:{\"change\":function($event){var $$a=_vm.client.canSms,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.client, \"canSms\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.client, \"canSms\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.client, \"canSms\", $$c)}}}})]),_vm._m(2)]),_c('tr',[_c('td',{staticClass:\"col-1\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.canEmail),expression:\"client.canEmail\"}],staticClass:\"mb-0\",attrs:{\"type\":\"checkbox\",\"name\":\"marketing-email\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.client.canEmail)?_vm._i(_vm.client.canEmail,true)>-1:(_vm.client.canEmail)},on:{\"change\":function($event){var $$a=_vm.client.canEmail,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.client, \"canEmail\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.client, \"canEmail\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.client, \"canEmail\", $$c)}}}})]),_vm._m(3)]),_c('tr',{staticClass:\"border-bottom\"},[_c('td',{staticClass:\"col-1\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.client.canTelephone),expression:\"client.canTelephone\"}],staticClass:\"mb-0\",attrs:{\"type\":\"checkbox\",\"name\":\"marketing-telephone\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.client.canTelephone)?_vm._i(_vm.client.canTelephone,true)>-1:(_vm.client.canTelephone)},on:{\"change\":function($event){var $$a=_vm.client.canTelephone,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.client, \"canTelephone\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.client, \"canTelephone\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.client, \"canTelephone\", $$c)}}}})]),_vm._m(4)])])])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row justify-content-between\"},[_c('div',{staticClass:\"col\"},[_c('div',[_c('h5',[_vm._v(\"Contact Preferences\")])])]),_c('div',{staticClass:\"col\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"col-11\"},[_c('label',{staticClass:\"mb-0\",attrs:{\"for\":\"post\"}},[_vm._v(\"Post\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"col-11\"},[_c('label',{staticClass:\"mb-0\",attrs:{\"for\":\"post\"}},[_vm._v(\"SMS\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"col-11\"},[_c('label',{staticClass:\"mb-0\",attrs:{\"for\":\"post\"}},[_vm._v(\"Email\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"col-11\"},[_c('label',{staticClass:\"mb-0\",attrs:{\"for\":\"post\"}},[_vm._v(\"Telephone\")])])}]\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\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class ClientMarketingDetails extends Vue {\n @Prop({ required: true }) public client!: ClientAccount;\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./marketing.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./marketing.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./marketing.vue?vue&type=template&id=5fc9136f&\"\nimport script from \"./marketing.vue?vue&type=script&lang=ts&\"\nexport * from \"./marketing.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:\"client-notes\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_vm._m(0),_c('div',{staticClass:\"list-group list-group-flush mt-4\"},_vm._l((_vm.notes),function(note){return _c('div',{key:note.id,staticClass:\"list-group-item\"},[(note.type === 1)?_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col\"},[_vm._v(\"\\n Will Packet Retrieved\\n \"),(note.actioned != null)?_c('b-badge',{staticClass:\"mr-1\"},[_vm._v(_vm._s(note.actioned ? 'Actioned' : 'Not Actioned'))]):_vm._e()],1)]):_vm._e(),_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('b-form-textarea',{attrs:{\"plaintext\":\"\",\"disabled\":\"\",\"rows\":\"5\",\"value\":note.text}})],1),(note.type === 0 && (_vm.isAdministrator || _vm.isHeadOfCustomerExperienceTeam))?_c('div',{staticClass:\"col-auto\"},[_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.showEditNoteDialog(note)}}},[_vm._v(\"Edit\")]),(_vm.isAdministrator)?_c('b-dropdown-divider'):_vm._e(),(_vm.isAdministrator)?_c('b-dropdown-item',{attrs:{\"variant\":\"danger\"},on:{\"click\":function($event){return _vm.showDeleteNoteDialog(note)}}},[_vm._v(\"Delete\")]):_vm._e()],1)],1):_vm._e()]),_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('small',[_c('em',[_c('strong',[_vm._v(_vm._s(note.type === 1 ? 'Completed by:' : 'Created by:'))]),_vm._v(_vm._s(_vm.userName(note.createdBy))+\" on \"+_vm._s(_vm._f(\"datetime\")(note.createdDate)))])]),(note.lastModifiedBy != null && note.lastModifiedDate != null)?_c('div',[_c('small',[_c('em',[_c('strong',[_vm._v(\"Last modified by: \")]),_vm._v(_vm._s(_vm.userName(note.lastModifiedBy))+\" on \"+_vm._s(_vm._f(\"datetime\")(note.lastModifiedDate)))])])]):_vm._e()])])])}),0)])]),(_vm.editNoteDialogVisible && _vm.selectedNote != null)?_c('edit-note-dialog',{attrs:{\"visible\":_vm.editNoteDialogVisible,\"client\":_vm.client,\"original-note\":_vm.selectedNote},on:{\"ok\":_vm.onEdit,\"cancel\":_vm.onCancel}}):_vm._e(),_c('confirmation-dialog',{ref:\"modal\",attrs:{\"centered\":\"\",\"variant\":\"danger\",\"title\":\"Are you sure?\",\"ok-text\":\"Delete\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"ok\":_vm.onDelete,\"cancel\":_vm.onCancel},model:{value:(_vm.deleteNoteDialogVisible),callback:function ($$v) {_vm.deleteNoteDialogVisible=$$v},expression:\"deleteNoteDialogVisible\"}},[_c('div',[_vm._v(\"\\n Are you sure you want to delete this note?\\n \")])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h5',[_vm._v(\"Notes\")])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Edit Note\",\"size\":\"lg\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"note\"}},[_vm._v(\"Note\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.note.text),expression:\"note.text\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('note') },attrs:{\"name\":\"note\",\"id\":\"note\",\"data-vv-as\":\"note\"},domProps:{\"value\":(_vm.note.text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.note, \"text\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('note')),expression:\"errors.has('note')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('note')))])]),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onSave}},[_vm._v(\"Save\")])],1)],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\nimport { ClientAccountsApi } from '@/api/client-accounts';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientAccountNote } from '@/shared/clients/client-account-note';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\nconst clientApi = new ClientAccountsApi();\n\n@Component\nexport default class EditNoteDialog extends Vue {\n @Prop({ required: true }) private visible!: boolean;\n @Prop({ required: true }) private client!: ClientAccount;\n @Prop({ required: true }) private originalNote!: ClientAccountNote;\n\n private isVisible: boolean = this.visible;\n private isSaving: boolean = false;\n private note: ClientAccountNote = { ...this.originalNote };\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.note = { ...this.originalNote };\n this.$validator.errors.clear();\n this.isVisible = visible;\n }\n\n private async onSave(): Promise {\n const isValid = await this.$validator.validateAll();\n\n if (!isValid) {\n return;\n }\n\n this.isSaving = true;\n\n try {\n await clientApi.updateClientNoteAsync(this.client.id!, { ...this.note });\n this.$emit('ok', { ...this.note });\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not update client note, please try again.', type: 'is-danger' });\n }\n }\n\n this.isSaving = false;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-note-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-note-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./edit-note-dialog.vue?vue&type=template&id=4352eb5a&\"\nimport script from \"./edit-note-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./edit-note-dialog.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\nimport { ClientAccountsApi } from '@/api/client-accounts';\nimport editNoteDialog from '@/components/client/view-client/edit-note-dialog.vue';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientAccountNote } from '@/shared/clients/client-account-note';\nimport { User } from '@/shared/user';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst userModule = namespace('user');\nconst usersModule = namespace('users');\nconst clientApi = new ClientAccountsApi();\n\n@Component({\n components: {\n editNoteDialog,\n },\n})\nexport default class ClientNotes extends Vue {\n @userModule.Getter('isAdministrator') private isAdministrator!: boolean;\n @userModule.Getter('isHeadOfCustomerExperienceTeam') private isHeadOfCustomerExperienceTeam!: boolean;\n\n @usersModule.Getter('users') private users!: Array;\n\n @Prop({ required: true }) private client!: ClientAccount;\n @Prop({ required: true }) private notes!: Array;\n\n private editNoteDialogVisible: boolean = false;\n private deleteNoteDialogVisible: boolean = false;\n private selectedNote: ClientAccountNote | null = null;\n\n private userName(userId: string | null): string {\n const user = this.users.find((u) => u.id === userId);\n return user == null ? userId! : `${user.firstName == null ? '' : user.firstName.trim()} ${user.lastName == null ? '' : user.lastName.trim()}`.trim();\n }\n\n private showEditNoteDialog(note: ClientAccountNote): void {\n this.selectedNote = { ...note };\n this.editNoteDialogVisible = true;\n }\n\n private showDeleteNoteDialog(note: ClientAccountNote): void {\n this.selectedNote = { ...note };\n this.deleteNoteDialogVisible = true;\n }\n\n private onEdit(): void {\n this.$emit('note-updated', { ...this.selectedNote! });\n this.onCancel();\n }\n\n private async onDelete(): Promise {\n try {\n await clientApi.deleteClientNoteAsync(this.client.id!, this.selectedNote!);\n this.$emit('note-deleted', { ...this.selectedNote! });\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not delete client note, please try again.', type: 'is-danger' });\n }\n }\n\n this.onCancel();\n }\n\n private onCancel(): void {\n this.editNoteDialogVisible = false;\n this.deleteNoteDialogVisible = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./notes.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./notes.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./notes.vue?vue&type=template&id=abd3db3e&\"\nimport script from \"./notes.vue?vue&type=script&lang=ts&\"\nexport * from \"./notes.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:\"client-powerOfAttorney-details\"},[_vm._m(0),_c('div',{staticClass:\"row mt-4\"},[_c('div',{staticClass:\"col\"},[_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"items\":_vm.client.powerOfAttorneys,\"fields\":_vm.powerOfAttorneyFields,\"no-provider-paging\":true,\"empty-text\":\"No power of attorneys found\"},scopedSlots:_vm._u([{key:\"cell(type)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-badge',{attrs:{\"variant\":_vm.powerOfAttorneyTypeVariant(item.powerOfAttorneyTypeId)}},[_vm._v(_vm._s(_vm.powerOfAttorneyTypeDescription(item.powerOfAttorneyTypeId)))])]}},{key:\"cell(ppReference)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(item.partnerPracticeReference)+\"\\n \")]}},{key:\"cell(rightLegalReference)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(item.rightLegalReference)+\"\\n \")]}},{key:\"cell(attorney1)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(item.attorney1)+\"\\n \")]}},{key:\"cell(attorney2)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(item.attorney2)+\"\\n \")]}},{key:\"cell(attorney3)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(item.attorney3)+\"\\n \")]}},{key:\"cell(attorney4)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(item.attorney4)+\"\\n \")]}},{key:\"cell(signatureDate)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.signatureDate))+\"\\n \")]}},{key:\"cell(isRegistered)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(item.isRegistered),expression:\"item.isRegistered\"}],attrs:{\"type\":\"checkbox\",\"disabled\":\"\"},domProps:{\"value\":true,\"checked\":Array.isArray(item.isRegistered)?_vm._i(item.isRegistered,true)>-1:(item.isRegistered)},on:{\"change\":function($event){var $$a=item.isRegistered,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(item, \"isRegistered\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(item, \"isRegistered\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(item, \"isRegistered\", $$c)}}}})]}},{key:\"cell(hasChoicesIWouldMake)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(item.hasChoicesIWouldMakeForm),expression:\"item.hasChoicesIWouldMakeForm\"}],attrs:{\"type\":\"checkbox\",\"disabled\":\"\"},domProps:{\"value\":true,\"checked\":Array.isArray(item.hasChoicesIWouldMakeForm)?_vm._i(item.hasChoicesIWouldMakeForm,true)>-1:(item.hasChoicesIWouldMakeForm)},on:{\"change\":function($event){var $$a=item.hasChoicesIWouldMakeForm,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(item, \"hasChoicesIWouldMakeForm\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(item, \"hasChoicesIWouldMakeForm\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(item, \"hasChoicesIWouldMakeForm\", $$c)}}}})]}},{key:\"cell(actions)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.showEditPowerOfAttorneyDialog(item)}}},[_vm._v(\"Edit\")]),(_vm.isAdministrator)?_c('b-dropdown-divider'):_vm._e(),(_vm.isAdministrator)?_c('b-dropdown-item',{staticClass:\"text-danger\",on:{\"click\":function($event){return _vm.showDeletePowerOfAttorneyDialog(item)}}},[_vm._v(\"Delete\")]):_vm._e()],1)]}}])})],1)]),(_vm.client != null && _vm.selectedPowerOfAttorney != null)?_c('edit-power-of-attorney-dialog',{attrs:{\"client\":_vm.client,\"client-power-of-attorney\":_vm.selectedPowerOfAttorney,\"visible\":_vm.editPowerOfAttorneyDialogVisible},on:{\"ok\":_vm.onPowerOfAttorneyUpdated,\"cancel\":_vm.onCancel}}):_vm._e(),_c('confirmation-dialog',{ref:\"modal\",attrs:{\"centered\":\"\",\"title\":\"Are you sure?\",\"variant\":\"danger\",\"ok-text\":\"Delete\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"ok\":_vm.onPowerOfAttorneyDeleted,\"cancel\":_vm.onCancel},model:{value:(_vm.deletePowerOfAttorneyConfirmationDialogVisible),callback:function ($$v) {_vm.deletePowerOfAttorneyConfirmationDialogVisible=$$v},expression:\"deletePowerOfAttorneyConfirmationDialogVisible\"}},[_c('div',[_vm._v(\"\\n Are you sure you want to delete this power of attorney?\\n \")])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',[_c('h5',[_vm._v(\"Power of Attorney\")])])])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Edit Power of Attorney\",\"size\":\"xl\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"powerOfAttorneyType\"}},[_vm._v(\"Type\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedClientPowerOfAttorney.powerOfAttorneyTypeId),expression:\"selectedClientPowerOfAttorney.powerOfAttorneyTypeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('powerOfAttorneyType') },attrs:{\"name\":\"powerOfAttorneyType\",\"data-vv-as\":\"power of attorney type\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.selectedClientPowerOfAttorney, \"powerOfAttorneyTypeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.filteredPowerOfAttorneyTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('powerOfAttorneyType')),expression:\"errors.has('powerOfAttorneyType')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('powerOfAttorneyType')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"ppReference\"}},[_vm._v(\"PP Reference\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedClientPowerOfAttorney.partnerPracticeReference),expression:\"selectedClientPowerOfAttorney.partnerPracticeReference\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"ppReference\"},domProps:{\"value\":(_vm.selectedClientPowerOfAttorney.partnerPracticeReference)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selectedClientPowerOfAttorney, \"partnerPracticeReference\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"rlgReference\"}},[_vm._v(\"RLG Reference\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedClientPowerOfAttorney.rightLegalReference),expression:\"selectedClientPowerOfAttorney.rightLegalReference\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"rlgReference\"},domProps:{\"value\":(_vm.selectedClientPowerOfAttorney.rightLegalReference)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selectedClientPowerOfAttorney, \"rightLegalReference\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"signatureDate\"}},[_vm._v(\"Signature Date\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:(_vm.originalClientPowerOfAttorney.signatureDate != null ? 'required|date_format:dd/MM/yyyy' : 'date_format:dd/MM/yyyy'),expression:\"originalClientPowerOfAttorney.signatureDate != null ? 'required|date_format:dd/MM/yyyy' : 'date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('signatureDate') },attrs:{\"name\":\"signatureDate\",\"data-vv-as\":\"signature date\"},model:{value:(_vm.selectedClientPowerOfAttorney.signatureDate),callback:function ($$v) {_vm.$set(_vm.selectedClientPowerOfAttorney, \"signatureDate\", $$v)},expression:\"selectedClientPowerOfAttorney.signatureDate\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('signatureDate')),expression:\"errors.has('signatureDate')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('signatureDate')))])],1),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedClientPowerOfAttorney.isRegistered),expression:\"selectedClientPowerOfAttorney.isRegistered\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"isRegistered\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.selectedClientPowerOfAttorney.isRegistered)?_vm._i(_vm.selectedClientPowerOfAttorney.isRegistered,true)>-1:(_vm.selectedClientPowerOfAttorney.isRegistered)},on:{\"change\":function($event){var $$a=_vm.selectedClientPowerOfAttorney.isRegistered,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.selectedClientPowerOfAttorney, \"isRegistered\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.selectedClientPowerOfAttorney, \"isRegistered\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.selectedClientPowerOfAttorney, \"isRegistered\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isRegistered\"}},[_vm._v(\"Is Registered?\")])])]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedClientPowerOfAttorney.hasChoicesIWouldMakeForm),expression:\"selectedClientPowerOfAttorney.hasChoicesIWouldMakeForm\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"hasChoicesIWouldMakeForm\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.selectedClientPowerOfAttorney.hasChoicesIWouldMakeForm)?_vm._i(_vm.selectedClientPowerOfAttorney.hasChoicesIWouldMakeForm,true)>-1:(_vm.selectedClientPowerOfAttorney.hasChoicesIWouldMakeForm)},on:{\"change\":function($event){var $$a=_vm.selectedClientPowerOfAttorney.hasChoicesIWouldMakeForm,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.selectedClientPowerOfAttorney, \"hasChoicesIWouldMakeForm\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.selectedClientPowerOfAttorney, \"hasChoicesIWouldMakeForm\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.selectedClientPowerOfAttorney, \"hasChoicesIWouldMakeForm\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"hasChoicesIWouldMakeForm\"}},[_vm._v(\"Choices I Would Make?\")])])])]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"attorney1\"}},[_vm._v(\"Attorney 1\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedClientPowerOfAttorney.attorney1),expression:\"selectedClientPowerOfAttorney.attorney1\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('attorney1') },attrs:{\"type\":\"text\",\"name\":\"attorney1\",\"data-vv-as\":\"attorney 1\"},domProps:{\"value\":(_vm.selectedClientPowerOfAttorney.attorney1)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selectedClientPowerOfAttorney, \"attorney1\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('attorney1')),expression:\"errors.has('attorney1')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('attorney1')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"attorney2\"}},[_vm._v(\"Attorney 2\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedClientPowerOfAttorney.attorney2),expression:\"selectedClientPowerOfAttorney.attorney2\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"attorney2\"},domProps:{\"value\":(_vm.selectedClientPowerOfAttorney.attorney2)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selectedClientPowerOfAttorney, \"attorney2\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"attorney3\"}},[_vm._v(\"Attorney 3\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedClientPowerOfAttorney.attorney3),expression:\"selectedClientPowerOfAttorney.attorney3\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"attorney3\"},domProps:{\"value\":(_vm.selectedClientPowerOfAttorney.attorney3)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selectedClientPowerOfAttorney, \"attorney3\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"attorney4\"}},[_vm._v(\"Attorney 4\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedClientPowerOfAttorney.attorney4),expression:\"selectedClientPowerOfAttorney.attorney4\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"attorney4\"},domProps:{\"value\":(_vm.selectedClientPowerOfAttorney.attorney4)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selectedClientPowerOfAttorney, \"attorney4\", $event.target.value)}}})])])]),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onSave}},[_vm._v(\"Save\")])],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientPowerOfAttorney } from '@/shared/clients/client-power-of-attorney';\nimport { PowerOfAttorneyType } from '@/shared/types/power-of-attorney-type';\nimport { formatDate } from '@/shared/utilities/date-utilities';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\n\n@Component\nexport default class EditPowerOfAttorney extends Vue {\n @typesModule.Getter('activePowerOfAttorneyTypes') private powerOfAttorneyTypes!: Array;\n\n @Prop({ required: true }) private visible!: boolean;\n @Prop({ required: true }) private client!: ClientAccount;\n @Prop({ required: true }) private clientPowerOfAttorney!: ClientPowerOfAttorney;\n\n private isVisible: boolean = this.visible;\n private selectedClientPowerOfAttorney: ClientPowerOfAttorney = { ...this.clientPowerOfAttorney, signatureDate: formatDate(this.clientPowerOfAttorney.signatureDate!) };\n private originalClientPowerOfAttorney: ClientPowerOfAttorney = { ...this.selectedClientPowerOfAttorney };\n\n private get filteredPowerOfAttorneyTypes(): Array {\n if (!this.powerOfAttorneyTypes.length) {\n return [];\n }\n\n const result = [];\n\n for (const type of this.powerOfAttorneyTypes) {\n if (this.originalClientPowerOfAttorney.powerOfAttorneyTypeId !== type.id && (type.isUnknown || (type.isExclusive && this.client.powerOfAttorneys.some((poa) => poa.powerOfAttorneyTypeId === type.id)))) {\n continue;\n }\n\n result.push({ ...type });\n }\n\n return result;\n }\n\n @Watch('visible')\n private onVisibleChanged(value: boolean): void {\n this.isVisible = value;\n }\n\n private async onSave(): Promise {\n const isValid = await this.$validator.validateAll();\n\n if (!isValid) {\n return;\n }\n\n this.$emit('ok', { ...this.selectedClientPowerOfAttorney });\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-power-of-attorney-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-power-of-attorney-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./edit-power-of-attorney-dialog.vue?vue&type=template&id=5f49c712&\"\nimport script from \"./edit-power-of-attorney-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./edit-power-of-attorney-dialog.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\nimport editPowerOfAttorneyDialog from '@/components/client/view-client/edit-power-of-attorney-dialog.vue';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientPowerOfAttorney } from '@/shared/clients/client-power-of-attorney';\nimport { PowerOfAttorneyType } from '@/shared/types/power-of-attorney-type';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\nconst userModule = namespace('user');\n\n@Component({\n components: {\n editPowerOfAttorneyDialog,\n },\n})\nexport default class PowerOfAttorneys extends Vue {\n @typesModule.Getter('powerOfAttorneyTypes') private powerOfAttorneyTypes!: Array;\n @userModule.Getter('isAdministrator') private isAdministrator!: boolean;\n\n @Prop({ required: true }) private client!: ClientAccount;\n\n private selectedPowerOfAttorney: ClientPowerOfAttorney | null = null;\n private editPowerOfAttorneyDialogVisible: boolean = false;\n private deletePowerOfAttorneyConfirmationDialogVisible: boolean = false;\n\n private get powerOfAttorneyFields(): Array<{}> {\n return [\n { key: 'type', label: 'Type' },\n { key: 'ppReference', label: 'PP Reference' },\n { key: 'rightLegalReference', label: 'Right Legal Reference' },\n { key: 'attorney1', label: 'Attorney 1' },\n { key: 'attorney2', label: 'Attorney 2' },\n { key: 'attorney3', label: 'Attorney 3' },\n { key: 'attorney4', label: 'Attorney 4' },\n { key: 'signatureDate', label: 'Signature Date' },\n { key: 'isRegistered', label: 'Registered?', class: 'text-center' },\n { key: 'hasChoicesIWouldMake', label: 'Choices I Would Make?', class: 'text-center' },\n { key: 'actions', label: '', class: 'col-1', tdClass: 'text-right' },\n ];\n }\n\n private powerOfAttorneyTypeVariant(id: string | null): string {\n if (id == null) {\n return 'secondary';\n }\n\n const powerOfAttorneyType = this.powerOfAttorneyTypes.find((type) => type.id === id);\n return powerOfAttorneyType == null || powerOfAttorneyType.isUnknown ? 'secondary' : 'primary';\n }\n\n private powerOfAttorneyTypeDescription(id: string | null): string {\n if (id == null) {\n return '';\n }\n\n const powerOfAttorneyType = this.powerOfAttorneyTypes.find((type) => type.id === id);\n return powerOfAttorneyType == null ? '' : powerOfAttorneyType.value;\n }\n\n private showEditPowerOfAttorneyDialog(powerOfAttorney: ClientPowerOfAttorney): void {\n if (powerOfAttorney.id == null) {\n powerOfAttorney.id = 'editing';\n }\n\n this.selectedPowerOfAttorney = { ...powerOfAttorney };\n this.editPowerOfAttorneyDialogVisible = true;\n }\n\n private showDeletePowerOfAttorneyDialog(powerOfAttorney: ClientPowerOfAttorney): void {\n if (powerOfAttorney.id == null) {\n powerOfAttorney.id = 'editing';\n }\n\n this.selectedPowerOfAttorney = { ...powerOfAttorney };\n this.deletePowerOfAttorneyConfirmationDialogVisible = true;\n }\n\n private onPowerOfAttorneyUpdated(powerOfAttorney: ClientPowerOfAttorney): void {\n const index = this.client!.powerOfAttorneys.findIndex((poa) => poa.id === powerOfAttorney.id);\n\n if (index < 0) {\n return;\n }\n\n if (powerOfAttorney.id === 'editing') {\n powerOfAttorney.id = null;\n }\n\n this.client!.powerOfAttorneys.splice(index, 1, powerOfAttorney);\n this.onCancel();\n }\n\n private onPowerOfAttorneyDeleted(): void {\n const index = this.client!.powerOfAttorneys.findIndex((poa) => poa.id === this.selectedPowerOfAttorney!.id);\n\n if (index < 0) {\n return;\n }\n\n if (this.selectedPowerOfAttorney!.id === 'editing') {\n this.selectedPowerOfAttorney!.id = null;\n }\n\n this.client!.powerOfAttorneys.splice(index, 1);\n this.onCancel();\n }\n\n private onCancel(): void {\n for (const powerOfAttorney of this.client!.powerOfAttorneys.filter((poa) => poa.id === 'editing')) {\n powerOfAttorney.id = null;\n }\n\n this.selectedPowerOfAttorney = null;\n this.editPowerOfAttorneyDialogVisible = false;\n this.deletePowerOfAttorneyConfirmationDialogVisible = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./power-of-attorneys.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./power-of-attorneys.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./power-of-attorneys.vue?vue&type=template&id=09610840&\"\nimport script from \"./power-of-attorneys.vue?vue&type=script&lang=ts&\"\nexport * from \"./power-of-attorneys.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:\"client-sensitive-warning\"},[_vm._v(\"THIS CLIENT CONTAINS SENSITIVE INFORMATION\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator';\nimport { ClientAccount } from '@/shared/clients/client-account';\n\n@Component\nexport default class SensitiveWarning extends Vue {\n @Prop({ required: true }) public client!: ClientAccount;\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sensitive-banner.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sensitive-banner.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./sensitive-banner.vue?vue&type=template&id=2a4f4d6c&\"\nimport script from \"./sensitive-banner.vue?vue&type=script&lang=ts&\"\nexport * from \"./sensitive-banner.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:\"will-history\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_vm._m(0),_c('div',{staticClass:\"list-group list-group-flush mt-4\"},_vm._l((_vm.sortedWills),function(will){return _c('div',{key:will.id,staticClass:\"list-group-item\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col\"},[(will.isNewWill)?_c('span',[_vm._v(\"\\n New Will - \"+_vm._s(_vm._f(\"moment\")(will.date,'DD/MM/YYYY'))+\"\\n \")]):_c('span',[_vm._v(\"Will Packet Updated\")]),(!will.isHistorical)?_c('b-badge',{staticClass:\"mx-2\",attrs:{\"variant\":\"success\"}},[_vm._v(\"Current\")]):_vm._e(),_c('div',{staticClass:\"mt-2\"},[_c('small',[_c('em',[_c('strong',[_vm._v(_vm._s(will.isNewWill ? 'Created by: ' : 'Last modified by: '))]),_vm._v(_vm._s(_vm.userName(will.createdBy))+\" \"),_c('strong',[_vm._v(\"on: \")]),_vm._v(_vm._s(_vm._f(\"datetime\")(will.createdDate)))])])])],1),_c('div',{staticClass:\"col-auto\"},[(_vm.isAdministrator && will.isHistorical)?_c('span',[_c('b-dropdown',{attrs:{\"size\":\"sm\",\"text\":\"Actions\",\"right\":\"\"}},[_c('b-dropdown-item',{attrs:{\"size\":\"sm\"},on:{\"click\":function($event){return _vm.showViewDialog(will)}}},[_vm._v(\"View\")]),_c('b-dropdown-item',{attrs:{\"size\":\"sm\"},on:{\"click\":function($event){return _vm.showEditDialog(will)}}},[_vm._v(\"Edit\")]),_c('b-dropdown-divider'),_c('b-dropdown-item',{staticClass:\"text-danger\",attrs:{\"size\":\"sm\"},on:{\"click\":function($event){return _vm.showDeleteConfirmation(will)}}},[_vm._v(\"Delete\")])],1)],1):_c('span',[_c('b-btn',{attrs:{\"size\":\"sm\",\"variant\":\"secondary\"},on:{\"click\":function($event){return _vm.showViewDialog(will)}}},[_vm._v(\"View\")])],1)])])])}),0)])]),(_vm.viewDialogVisible)?_c('view-will-history-item-dialog',{attrs:{\"visible\":_vm.viewDialogVisible,\"client\":_vm.client,\"will\":_vm.selectedWill},on:{\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.editDialogVisible)?_c('edit-will-history-item-dialog',{attrs:{\"visible\":_vm.editDialogVisible,\"client\":_vm.client,\"will\":_vm.selectedWill},on:{\"cancel\":_vm.onCancel,\"ok\":_vm.onEdit}}):_vm._e(),_c('confirmation-dialog',{ref:\"modal\",attrs:{\"title\":\"Are you sure?\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true,\"variant\":\"danger\",\"ok-text\":\"Delete\",\"centered\":\"\"},on:{\"ok\":_vm.onDelete,\"cancel\":_vm.onCancel},model:{value:(_vm.deleteDialogVisible),callback:function ($$v) {_vm.deleteDialogVisible=$$v},expression:\"deleteDialogVisible\"}},[_c('div',[_vm._v(\"\\n Are you sure you want to permanently delete this client will?\\n \")])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h5',[_vm._v(\"Will History\")])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Edit Will History\",\"size\":\"xl\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"cancel\":_vm.onCancel},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('b-tabs',[_c('b-tab',{attrs:{\"title\":\"Will Details\",\"active\":\"\"}},[_c('div',{staticClass:\"form-group pt-3\"},[_c('label',{attrs:{\"for\":\"partnerPracticeReference\"}},[_vm._v(\"PP Reference\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.partnerPracticeReference),expression:\"will.partnerPracticeReference\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"partnerPracticeReference\",\"id\":\"partnerPracticeReference\"},domProps:{\"value\":(_vm.will.partnerPracticeReference)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.will, \"partnerPracticeReference\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"rightLegalReference\"}},[_vm._v(\"RLG Reference\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.rightLegalReference),expression:\"will.rightLegalReference\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"rightLegalReference\",\"id\":\"rightLegalReference\"},domProps:{\"value\":(_vm.will.rightLegalReference)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.will, \"rightLegalReference\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"willTypeId\"}},[_vm._v(\"Will Type\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.willTypeId),expression:\"will.willTypeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('will-details.willTypeId') },attrs:{\"name\":\"willTypeId\",\"id\":\"willTypeId\",\"data-vv-as\":\"will type\",\"data-vv-scope\":\"will-details\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.will, \"willTypeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.willTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('will-details.willTypeId')),expression:\"errors.has('will-details.willTypeId')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('will-details.willTypeId')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"willDate\"}},[_vm._v(\"Will Date\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('will-details.willDate') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"wrapper-class\":'datepicker-wrapper',\"calendar-class\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"willDate\",\"id\":\"willDate\",\"data-vv-as\":\"will date\",\"data-vv-scope\":\"will-details\"},model:{value:(_vm.will.date),callback:function ($$v) {_vm.$set(_vm.will, \"date\", $$v)},expression:\"will.date\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('will-details.willDate')),expression:\"errors.has('will-details.willDate')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('will-details.willDate')))])],1),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"notes\"}},[_vm._v(\"Notes\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.notes),expression:\"will.notes\"}],staticClass:\"form-control\",staticStyle:{\"min-height\":\"10rem\"},attrs:{\"name\":\"notes\",\"id\":\"notes\"},domProps:{\"value\":(_vm.will.notes)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.will, \"notes\", $event.target.value)}}})])]),_c('b-tab',{attrs:{\"title\":\"Will Packet Contents\"}},[_c('div',{staticClass:\"form-group row pt-3\"},[_c('div',{staticClass:\"col\"},[_c('table',{staticClass:\"table\"},[_c('tbody',[_c('tr',[_c('td',[_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasAttendanceNotes),expression:\"will.hasAttendanceNotes\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"hasAttendanceNotes\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.will.hasAttendanceNotes)?_vm._i(_vm.will.hasAttendanceNotes,true)>-1:(_vm.will.hasAttendanceNotes)},on:{\"change\":function($event){var $$a=_vm.will.hasAttendanceNotes,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasAttendanceNotes\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasAttendanceNotes\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasAttendanceNotes\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"hasAttendanceNotes\"}},[_vm._v(\"Attendance Notes\")])])]),_c('td',[_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasFactFind),expression:\"will.hasFactFind\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"hasFactFind\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.will.hasFactFind)?_vm._i(_vm.will.hasFactFind,true)>-1:(_vm.will.hasFactFind)},on:{\"change\":function($event){var $$a=_vm.will.hasFactFind,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasFactFind\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasFactFind\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasFactFind\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"hasFactFind\"}},[_vm._v(\"Fact Find\")])])])]),_c('tr',[_c('td',[_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasLetterOfWishes),expression:\"will.hasLetterOfWishes\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"hasLetterOfWishes\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.will.hasLetterOfWishes)?_vm._i(_vm.will.hasLetterOfWishes,true)>-1:(_vm.will.hasLetterOfWishes)},on:{\"change\":function($event){var $$a=_vm.will.hasLetterOfWishes,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasLetterOfWishes\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasLetterOfWishes\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasLetterOfWishes\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"hasLetterOfWishes\"}},[_vm._v(\"Letter of Wishes\")])])]),_c('td',[_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasJustToLetYouKnow),expression:\"will.hasJustToLetYouKnow\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"hasJustToLetYouKnow\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.will.hasJustToLetYouKnow)?_vm._i(_vm.will.hasJustToLetYouKnow,true)>-1:(_vm.will.hasJustToLetYouKnow)},on:{\"change\":function($event){var $$a=_vm.will.hasJustToLetYouKnow,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasJustToLetYouKnow\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasJustToLetYouKnow\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasJustToLetYouKnow\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"hasJustToLetYouKnow\"}},[_vm._v(\"Just to Let You Know\")])])])]),_c('tr',[_c('td',[_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasNoticeOfSeverance),expression:\"will.hasNoticeOfSeverance\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"hasNoticeOfSeverance\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.will.hasNoticeOfSeverance)?_vm._i(_vm.will.hasNoticeOfSeverance,true)>-1:(_vm.will.hasNoticeOfSeverance)},on:{\"change\":function($event){var $$a=_vm.will.hasNoticeOfSeverance,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasNoticeOfSeverance\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasNoticeOfSeverance\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasNoticeOfSeverance\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"hasNoticeOfSeverance\"}},[_vm._v(\"Notice of Severance\")])])]),_c('td',[_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasOldWill),expression:\"will.hasOldWill\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"hasOldWill\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.will.hasOldWill)?_vm._i(_vm.will.hasOldWill,true)>-1:(_vm.will.hasOldWill)},on:{\"change\":function($event){var $$a=_vm.will.hasOldWill,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasOldWill\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasOldWill\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasOldWill\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"hasOldWill\"}},[_vm._v(\"Old Will\")])])])])])])])])]),_c('b-tab',{attrs:{\"title\":\"Guardians\"}},[(!_vm.showGuardiansForm)?_c('div',{staticClass:\"row pt-3\"},[_c('div',{staticClass:\"col\"},[_c('table',{staticClass:\"table\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(\"Name\")]),_c('th')])]),_c('tbody',[_vm._l((_vm.will.guardians),function(guardian){return _c('tr',{key:guardian.id},[_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(guardian.name))]),_c('td',{staticClass:\"col-auto text-right\"},[_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onEditGuardian(guardian)}}},[_vm._v(\"Edit\")]),_c('b-dropdown-divider'),_c('b-dropdown-item',{staticClass:\"text-danger\",on:{\"click\":function($event){return _vm.onRemoveGuardian(guardian)}}},[_vm._v(\"Remove\")])],1)],1)])}),(!_vm.will.guardians.length)?_c('tr',[_c('td',{staticClass:\"text-center\",attrs:{\"colspan\":\"2\"}},[_vm._v(\"\\n No guardians, \"),_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.onAddGuardian}},[_vm._v(\"click here\")]),_vm._v(\" to add a new guardian.\\n \")])]):_c('tr',[_c('td',{staticClass:\"text-center\",attrs:{\"colspan\":\"2\"}},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.onAddGuardian}},[_vm._v(\"Click here\")]),_vm._v(\" to add another guardian.\\n \")])])],2)])])]):_c('div',[_c('will-guardian-detail',{ref:\"guardian\",staticClass:\"pt-3\",attrs:{\"guardian\":_vm.currentGuardian}})],1)]),_c('b-tab',{attrs:{\"title\":\"Executors\"}},[(!_vm.showExecutorsForm)?_c('div',{staticClass:\"row pt-3\"},[_c('div',{staticClass:\"col\"},[_c('table',{staticClass:\"table\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(\"Name\")]),_c('th',[_vm._v(\"Telephone\")]),_c('th',[_vm._v(\"Email\")]),_c('th',[_vm._v(\"Address\")]),_c('th',[_vm._v(\"Type\")]),_c('th')])]),_c('tbody',[_vm._l((_vm.orderedWillExecutors),function(executor){return _c('tr',{key:executor.id},[_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(executor.name))]),_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(executor.telephone))]),_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(executor.email))]),_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(_vm._f(\"singlelineaddress\")(executor)))]),_c('td',{staticClass:\"col-auto\"},[(executor.isProfessionalExecutor && executor.isRLGExecutor)?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"info\"}},[_vm._v(\"Professional - RLG Exec\")]):_vm._e(),(executor.isProfessionalExecutor && !executor.isRLGExecutor)?_c('b-badge',{staticClass:\"mr=1\",attrs:{\"variant\":\"info\"}},[_vm._v(\"Professional - PP Exec\")]):_vm._e(),(_vm.firstOrSubstituteExecutorTypeDescription(executor) != null)?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm.firstOrSubstituteExecutorTypeDescription(executor)))]):_vm._e(),(_vm.soleOrCoExecutorTypeDescription(executor) != null)?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"success\"}},[_vm._v(_vm._s(_vm.soleOrCoExecutorTypeDescription(executor)))]):_vm._e()],1),_c('td',{staticClass:\"col-auto text-right\"},[_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onEditExecutor(executor)}}},[_vm._v(\"Edit\")]),_c('b-dropdown-divider'),_c('b-dropdown-item',{staticClass:\"text-danger\",on:{\"click\":function($event){return _vm.onRemoveExecutor(executor)}}},[_vm._v(\"Remove\")])],1)],1)])}),(!_vm.will.executors.length)?_c('tr',[_c('td',{staticClass:\"text-center\",attrs:{\"colspan\":\"6\"}},[_vm._v(\"\\n No executors, \"),_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.onAddExecutor}},[_vm._v(\"click here\")]),_vm._v(\" to add a new executor.\\n \")])]):_c('tr',[_c('td',{staticClass:\"text-center\",attrs:{\"colspan\":\"6\"}},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.onAddExecutor}},[_vm._v(\"Click here\")]),_vm._v(\" to add another executor.\\n \")])])],2)])])]):_c('div',[_c('will-executor-detail',{ref:\"executor\",staticClass:\"pt-3\",attrs:{\"client\":_vm.client,\"executor\":_vm.currentExecutor,\"executor-type-required\":true}})],1)])],1),(_vm.will.createdDate != null)?_c('div',{staticClass:\"mt-2\"},[_c('small',[_c('em',[_c('strong',[_vm._v(\"Last updated by: \")]),_vm._v(_vm._s(_vm.userName(_vm.will.createdBy))+\" on \"+_vm._s(_vm._f(\"datetime\")(_vm.will.createdDate)))])])]):_vm._e(),_c('template',{slot:\"modal-footer\"},[(!_vm.showGuardiansForm && !_vm.showExecutorsForm)?_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]):_vm._e(),(!_vm.showGuardiansForm && !_vm.showExecutorsForm)?_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onSave}},[_vm._v(\"Save Will\")]):_vm._e(),(_vm.showGuardiansForm)?_c('b-btn',{on:{\"click\":_vm.onCancelGuardian}},[_vm._v(\"Cancel\")]):_vm._e(),(_vm.showGuardiansForm)?_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onSaveGuardian}},[_vm._v(_vm._s(_vm.isEditingGuardian ? 'Update' : 'Add')+\" Guardian\")]):_vm._e(),(_vm.showExecutorsForm)?_c('b-btn',{on:{\"click\":_vm.onCancelExecutor}},[_vm._v(\"Cancel\")]):_vm._e(),(_vm.showExecutorsForm)?_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onSaveExecutor}},[_vm._v(_vm._s(_vm.isEditingExecutor ? 'Update' : 'Add')+\" Executor\")]):_vm._e()],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { ClientAccountsApi } from '@/api/client-accounts';\nimport willExecutorDetail from '@/components/client/view-client/will-executor-detail.vue';\nimport willGuardianDetail from '@/components/client/view-client/will-guardian-detail.vue';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientAccountWill } from '@/shared/clients/client-account-will';\nimport { ClientAccountWillExecutor, createClientAccountWillExecutor } from '@/shared/clients/client-account-will-executor';\nimport { ClientAccountWillGuardian, createClientAccountWillGuardian } from '@/shared/clients/client-account-will-guardian';\nimport { WillType } from '@/shared/types/will-type';\nimport { User } from '@/shared/user';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\nconst usersModule = namespace('users');\nconst clientApi = new ClientAccountsApi();\n\n@Component({\n components: {\n willExecutorDetail,\n willGuardianDetail,\n },\n})\nexport default class EditWillHistoryItemDialog extends Vue {\n @Prop({ required: true }) public client!: ClientAccount;\n @Prop({ required: true }) public will!: ClientAccountWill;\n @Prop({ required: true }) public visible!: boolean;\n\n @typesModule.Getter('activeWillTypes') private willTypes!: Array;\n\n @usersModule.Getter('users') private users!: Array;\n\n private isVisible: boolean = this.visible;\n private isSaving: boolean = false;\n private currentExecutor: ClientAccountWillExecutor | null = null;\n private showExecutorsForm: boolean = false;\n private isEditingExecutor: boolean = false;\n private currentGuardian: ClientAccountWillGuardian | null = null;\n private showGuardiansForm: boolean = false;\n private isEditingGuardian: boolean = false;\n\n private get orderedWillExecutors(): Array {\n return this.will.executors.sort((n1, n2) => {\n if (n1.displayOrder! > n2.displayOrder!) { return 1; }\n if (n1.displayOrder! < n2.displayOrder!) { return -1; }\n return 0;\n });\n }\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.$validator.errors.clear();\n this.isVisible = visible;\n }\n\n private userName(userId: string | null): string {\n if (userId == null) {\n return '';\n }\n\n const user = this.users.find((u) => u.id === userId);\n return user == null ? userId : `${user.firstName == null ? '' : user.firstName} ${user.lastName == null ? '' : user.lastName}`;\n }\n\n private async onSave(): Promise {\n const isValid = this.$validator.validateAll();\n\n if (!isValid) {\n return;\n }\n\n this.isSaving = true;\n\n try {\n this.$emit('ok', { ...this.will, executors: [...this.will.executors], guardians: [...this.will.guardians] });\n } catch (e) {\n this.$snackbar.open({ message: `Could not update will. Please try again.`, type: 'is-danger' });\n }\n\n this.isSaving = false;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n\n private async onSaveGuardian(): Promise {\n const isValid = await (this.$refs.guardian as Vue).$validator.validateAll('guardian-details');\n\n if (!isValid) {\n return;\n }\n\n if (!this.isEditingGuardian) {\n this.will.guardians.push({ ...this.currentGuardian! });\n } else {\n const index = this.will.guardians.findIndex((g) => g.id === this.currentGuardian!.id);\n\n if (index < 0) {\n this.$snackbar.open({ message: 'Could not update guardian. Please try again.', type: 'is-danger' });\n } else {\n if (this.currentGuardian!.id === 'editing') {\n this.currentGuardian!.id = null;\n }\n\n this.will.guardians.splice(index, 1, { ...this.currentGuardian! });\n }\n }\n\n this.currentGuardian = null;\n this.showGuardiansForm = false;\n this.isEditingGuardian = false;\n }\n\n private onAddGuardian(): void {\n this.currentGuardian = createClientAccountWillGuardian();\n this.showGuardiansForm = true;\n }\n\n private onEditGuardian(guardian: ClientAccountWillGuardian): void {\n if (guardian.id == null) {\n guardian.id = 'editing';\n }\n\n this.currentGuardian = { ...guardian };\n this.showGuardiansForm = true;\n this.isEditingGuardian = true;\n }\n\n private onRemoveGuardian(guardian: ClientAccountWillGuardian): void {\n if (guardian.id == null) {\n guardian.id = 'editing';\n }\n\n const index = this.will.guardians.findIndex((g) => g.id === guardian.id);\n\n if (index < 0) {\n this.$snackbar.open({ message: 'Could not remove guardian. Please try again.', type: 'is-danger' });\n } else {\n this.will.guardians.splice(index, 1);\n }\n\n this.currentGuardian = null;\n }\n\n private onCancelGuardian(): void {\n for (const guardian of this.will.guardians.filter((g) => g.id === 'editing')) {\n guardian.id = null;\n }\n\n this.currentGuardian = null;\n this.showGuardiansForm = false;\n this.isEditingGuardian = false;\n }\n\n private async onSaveExecutor(): Promise {\n const isValid = await (this.$refs.executor as Vue).$validator.validateAll('executor-details');\n\n if (!isValid) {\n return;\n }\n\n if (!this.isEditingExecutor) {\n this.will.executors.push({ ...this.currentExecutor! });\n } else {\n const index = this.will.executors.findIndex((e) => e.id === this.currentExecutor!.id);\n\n if (index < 0) {\n this.$snackbar.open({ message: 'Could not update executor. Please try again.', type: 'is-danger' });\n } else {\n if (this.currentExecutor!.id === 'editing') {\n this.currentExecutor!.id = null;\n }\n\n this.will.executors.splice(index, 1, { ...this.currentExecutor! });\n }\n }\n\n this.currentExecutor = null;\n this.showExecutorsForm = false;\n this.isEditingExecutor = false;\n }\n\n private onAddExecutor(): void {\n this.currentExecutor = createClientAccountWillExecutor();\n this.showExecutorsForm = true;\n }\n\n private onEditExecutor(executor: ClientAccountWillExecutor): void {\n if (executor.id == null) {\n executor.id = 'editing';\n }\n\n this.currentExecutor = { ...executor };\n this.showExecutorsForm = true;\n this.isEditingExecutor = true;\n }\n\n private onRemoveExecutor(executor: ClientAccountWillExecutor): void {\n if (executor.id == null) {\n executor.id = 'editing';\n }\n\n const index = this.will.executors.findIndex((e) => e.id === executor.id);\n\n if (index < 0) {\n this.$snackbar.open({ message: 'Could not remove executor. Please try again.', type: 'is-danger' });\n } else {\n this.will.executors.splice(index, 1);\n }\n\n this.currentExecutor = null;\n }\n\n private onCancelExecutor(): void {\n for (const executor of this.will.executors.filter((e) => e.id === 'editing')) {\n executor.id = null;\n }\n\n this.currentExecutor = null;\n this.showExecutorsForm = false;\n this.isEditingExecutor = false;\n }\n\n private firstOrSubstituteExecutorTypeDescription(executor: ClientAccountWillExecutor): string | null {\n if (executor == null || executor.isFirstOrSubstituteExecutor == null) {\n return null;\n }\n\n return executor.isFirstOrSubstituteExecutor ? 'Sub Exec' : 'First Exec';\n }\n\n private soleOrCoExecutorTypeDescription(executor: ClientAccountWillExecutor): string | null {\n if (executor == null || executor.isSoleOrCoExecutor == null) {\n return null;\n }\n\n return executor.isSoleOrCoExecutor ? 'Co-Exec' : 'Sole Exec';\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-will-history-item-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-will-history-item-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./edit-will-history-item-dialog.vue?vue&type=template&id=d98db6ba&\"\nimport script from \"./edit-will-history-item-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./edit-will-history-item-dialog.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('b-modal',{attrs:{\"centered\":\"\",\"title\":\"View Will\",\"size\":\"xl\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"cancel\":_vm.onCancel},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('b-tabs',[_c('b-tab',{attrs:{\"title\":\"Will Details\",\"active\":\"\"}},[_c('div',{staticClass:\"form-group pt-3\"},[_c('label',[_vm._v(\"PP Reference\")]),_c('div',{staticClass:\"form-control\"},[_vm._v(\"\\n \"+_vm._s(_vm.will.partnerPracticeReference)+\"\\n \")])]),_c('div',{staticClass:\"form-group pt-3\"},[_c('label',[_vm._v(\"RLG Reference\")]),_c('div',{staticClass:\"form-control\"},[_vm._v(\"\\n \"+_vm._s(_vm.will.rightLegalReference)+\"\\n \")])]),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"Will Type\")]),_c('div',{staticClass:\"form-control\"},[_vm._v(\"\\n \"+_vm._s(_vm.willTypeDescription)+\"\\n \")])]),_c('div',{staticClass:\"form-group pt-3\"},[_c('label',[_vm._v(\"Will Date\")]),_c('div',{staticClass:\"form-control\"},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(_vm.will.date))+\"\\n \")])]),_c('div',{staticClass:\"form-group pt-3\"},[_c('label',[_vm._v(\"Notes\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.notes),expression:\"will.notes\"}],staticClass:\"form-control\",staticStyle:{\"min-height\":\"10rem\"},attrs:{\"readonly\":true,\"disabled\":true},domProps:{\"value\":(_vm.will.notes)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.will, \"notes\", $event.target.value)}}})])]),_c('b-tab',{attrs:{\"title\":\"Will Packet Contents\"}},[_c('div',{staticClass:\"form-group row pt-3\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group pt-4\"},[_c('table',{staticClass:\"table\"},[_c('thead',[_c('tr',[_c('th',{staticClass:\"col-4 border-0 p-0\"}),_c('th',{staticClass:\"col-4 border-0 p-0\"})])]),_c('tbody',[_c('tr',[_c('td',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasAttendanceNotes),expression:\"will.hasAttendanceNotes\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"disabled\":\"\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.will.hasAttendanceNotes)?_vm._i(_vm.will.hasAttendanceNotes,true)>-1:(_vm.will.hasAttendanceNotes)},on:{\"change\":function($event){var $$a=_vm.will.hasAttendanceNotes,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasAttendanceNotes\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasAttendanceNotes\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasAttendanceNotes\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Attendance Notes\")])])])])]),_c('td',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasFactFind),expression:\"will.hasFactFind\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"disabled\":\"\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.will.hasFactFind)?_vm._i(_vm.will.hasFactFind,true)>-1:(_vm.will.hasFactFind)},on:{\"change\":function($event){var $$a=_vm.will.hasFactFind,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasFactFind\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasFactFind\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasFactFind\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Fact Find\")])])])])])]),_c('tr',[_c('td',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasLetterOfWishes),expression:\"will.hasLetterOfWishes\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"disabled\":\"\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.will.hasLetterOfWishes)?_vm._i(_vm.will.hasLetterOfWishes,true)>-1:(_vm.will.hasLetterOfWishes)},on:{\"change\":function($event){var $$a=_vm.will.hasLetterOfWishes,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasLetterOfWishes\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasLetterOfWishes\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasLetterOfWishes\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Letter of Wishes\")])])])])]),_c('td',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasJustToLetYouKnow),expression:\"will.hasJustToLetYouKnow\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"disabled\":\"\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.will.hasJustToLetYouKnow)?_vm._i(_vm.will.hasJustToLetYouKnow,true)>-1:(_vm.will.hasJustToLetYouKnow)},on:{\"change\":function($event){var $$a=_vm.will.hasJustToLetYouKnow,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasJustToLetYouKnow\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasJustToLetYouKnow\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasJustToLetYouKnow\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Just to Let You Know\")])])])])])]),_c('tr',[_c('td',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasNoticeOfSeverance),expression:\"will.hasNoticeOfSeverance\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"disabled\":\"\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.will.hasNoticeOfSeverance)?_vm._i(_vm.will.hasNoticeOfSeverance,true)>-1:(_vm.will.hasNoticeOfSeverance)},on:{\"change\":function($event){var $$a=_vm.will.hasNoticeOfSeverance,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasNoticeOfSeverance\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasNoticeOfSeverance\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasNoticeOfSeverance\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Notice of Severance\")])])])])]),_c('td',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasOldWill),expression:\"will.hasOldWill\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"disabled\":\"\"},domProps:{\"value\":true,\"checked\":Array.isArray(_vm.will.hasOldWill)?_vm._i(_vm.will.hasOldWill,true)>-1:(_vm.will.hasOldWill)},on:{\"change\":function($event){var $$a=_vm.will.hasOldWill,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=true,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasOldWill\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasOldWill\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasOldWill\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Old Will\")])])])])])])])])])])])]),_c('b-tab',{attrs:{\"title\":\"Guardians\"}},[_c('div',{staticClass:\"row pt-3\"},[_c('div',{staticClass:\"col\"},[_c('table',{staticClass:\"table\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(\"Name\")])])]),_c('tbody',[_vm._l((_vm.will.guardians),function(guardian){return _c('tr',{key:guardian.id},[_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(guardian.name))])])}),(_vm.will.guardians.length < 1)?_c('tr',[_c('td',{staticClass:\"text-center\",attrs:{\"colspan\":\"5\"}},[_vm._v(\"This Will contains no Guardians\")])]):_vm._e()],2)])])])]),_c('b-tab',{attrs:{\"title\":\"Executors\"}},[_c('div',{staticClass:\"row pt-3\"},[_c('div',{staticClass:\"col\"},[_c('table',{staticClass:\"table\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(\"Name\")]),_c('th',[_vm._v(\"Telephone\")]),_c('th',[_vm._v(\"Email\")]),_c('th',[_vm._v(\"Address\")]),_c('th',[_vm._v(\"Type\")])])]),_c('tbody',[_vm._l((_vm.orderedWillExecutors),function(executor){return _c('tr',{key:executor.id},[_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(executor.name))]),_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(executor.telephone))]),_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(executor.email))]),_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(_vm._f(\"singlelineaddress\")(executor)))]),_c('td',{staticClass:\"col-auto\"},[(executor.isProfessionalExecutor && executor.isRLGExecutor)?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"info\"}},[_vm._v(\"Professional - RLG Exec\")]):_vm._e(),(executor.isProfessionalExecutor && !executor.isRLGExecutor)?_c('b-badge',{staticClass:\"mr=1\",attrs:{\"variant\":\"info\"}},[_vm._v(\"Professional - PP Exec\")]):_vm._e(),(_vm.firstOrSubstituteExecutorTypeDescription(executor) != null)?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm.firstOrSubstituteExecutorTypeDescription(executor)))]):_vm._e(),(_vm.soleOrCoExecutorTypeDescription(executor) != null)?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"success\"}},[_vm._v(_vm._s(_vm.soleOrCoExecutorTypeDescription(executor)))]):_vm._e()],1)])}),(_vm.will.executors.length < 1)?_c('tr',[_c('td',{staticClass:\"text-center\",attrs:{\"colspan\":\"5\"}},[_vm._v(\"This Will contains no Executors\")])]):_vm._e()],2)])])])])],1),(_vm.will.createdDate != null)?_c('div',{staticClass:\"mt-2\"},[_c('small',[_c('em',[_c('strong',[_vm._v(_vm._s(_vm.will.isNewWill ? 'Created by: ' : 'Last modified by: '))]),_vm._v(_vm._s(_vm.createdBy)+\" on \"+_vm._s(_vm._f(\"datetime\")(_vm.will.createdDate)))])])]):_vm._e(),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{on:{\"click\":_vm.onCancel}},[_vm._v(\"Close\")])],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientAccountWill } from '@/shared/clients/client-account-will';\nimport { ClientAccountWillExecutor } from '@/shared/clients/client-account-will-executor';\nimport { WillType } from '@/shared/types/will-type';\nimport { User } from '@/shared/user';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\nconst usersModule = namespace('users');\n\n@Component\nexport default class ViewWillHistoryItemDialog extends Vue {\n @Prop({ required: true }) public client!: ClientAccount;\n @Prop({ required: true }) public will!: ClientAccountWill;\n @Prop({ required: true }) public visible!: boolean;\n\n @typesModule.Getter('willTypes') private willTypes!: Array;\n\n @usersModule.Getter('users') private users!: Array;\n\n private isVisible: boolean = this.visible;\n\n private get orderedWillExecutors(): Array {\n return this.will.executors.sort((n1, n2) => {\n if (n1.displayOrder! > n2.displayOrder!) { return 1; }\n if (n1.displayOrder! < n2.displayOrder!) { return -1; }\n return 0;\n });\n }\n\n private get willTypeDescription(): string {\n const type = this.willTypes.find((t) => t.id === this.will.willTypeId);\n return type == null ? '' : type.value;\n }\n\n private get createdBy(): string {\n const user = this.users.find((u) => u.id === this.will.createdBy);\n return user == null ? this.will.createdBy! : `${user.firstName == null ? '' : user.firstName} ${user.lastName == null ? '' : user.lastName}`;\n }\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.isVisible = visible;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n\n private firstOrSubstituteExecutorTypeDescription(executor: ClientAccountWillExecutor): string | null {\n if (executor == null || executor.isFirstOrSubstituteExecutor == null) {\n return null;\n }\n\n return executor.isFirstOrSubstituteExecutor ? 'Sub Exec' : 'First Exec';\n }\n\n private soleOrCoExecutorTypeDescription(executor: ClientAccountWillExecutor): string | null {\n if (executor == null || executor.isSoleOrCoExecutor == null) {\n return null;\n }\n\n return executor.isSoleOrCoExecutor ? 'Co-Exec' : 'Sole Exec';\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./view-will-history-item-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./view-will-history-item-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./view-will-history-item-dialog.vue?vue&type=template&id=c0409f88&\"\nimport script from \"./view-will-history-item-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./view-will-history-item-dialog.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\nimport { ClientAccountsApi } from '@/api/client-accounts';\nimport editWillHistoryItemDialog from '@/components/client/view-client/edit-will-history-item-dialog.vue';\nimport viewWillHistoryItemDialog from '@/components/client/view-client/view-will-history-item-dialog.vue';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientAccountWill } from '@/shared/clients/client-account-will';\nimport { User } from '@/shared/user';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst userModule = namespace('user');\nconst usersModule = namespace('users');\nconst clientApi = new ClientAccountsApi();\n\n@Component({\n components: {\n viewWillHistoryItemDialog,\n editWillHistoryItemDialog,\n },\n})\nexport default class WillHistory extends Vue {\n @userModule.Getter('isAdministrator') public isAdministrator!: boolean;\n\n @usersModule.Getter('users') private users!: Array;\n\n @Prop({ required: true }) public client!: ClientAccount;\n @Prop({ required: true }) public wills!: Array;\n\n private viewDialogVisible: boolean = false;\n private editDialogVisible: boolean = false;\n private deleteDialogVisible: boolean = false;\n private selectedWill: ClientAccountWill | null = null;\n\n private get sortedWills(): Array {\n return this.wills.sort((n1, n2) => {\n if (n1.createdDate! < n2.createdDate!) { return 1; }\n if (n1.createdDate! > n2.createdDate!) { return -1; }\n return 0;\n });\n }\n\n private userName(userId: string | null): string {\n const user = this.users.find((u) => u.id === userId);\n return user == null ? userId! : `${user.firstName == null ? '' : user.firstName} ${user.lastName == null ? '' : user.lastName}`;\n }\n\n private showViewDialog(will: ClientAccountWill): void {\n this.selectedWill = { ...will, executors: [...will.executors], guardians: [...will.guardians] };\n this.viewDialogVisible = true;\n }\n\n private showEditDialog(will: ClientAccountWill): void {\n this.selectedWill = { ...will, executors: [...will.executors], guardians: [...will.guardians] };\n this.editDialogVisible = true;\n }\n\n private showDeleteConfirmation(will: ClientAccountWill): void {\n this.selectedWill = { ...will, executors: [...will.executors], guardians: [...will.guardians] };\n this.deleteDialogVisible = true;\n }\n\n private async onEdit(will: ClientAccountWill): Promise {\n try {\n await clientApi.updateClientWillHistory(this.client!.id!, this.selectedWill!);\n this.$emit('will-history-updated', { ...this.selectedWill! });\n } catch (e) {\n this.$snackbar.open({ message: 'Could not update client will history, please try again.', type: 'is-danger' });\n }\n\n this.onCancel();\n }\n\n private async onDelete(): Promise {\n try {\n await clientApi.deleteClientWillHistory(this.client!.id!, this.selectedWill!.id!);\n this.$emit('will-history-deleted', { ...this.selectedWill! });\n } catch (e) {\n this.$snackbar.open({ message: 'Could not delete client will history, please try again.', type: 'is-danger' });\n }\n\n this.onCancel();\n }\n\n private onCancel(): void {\n this.viewDialogVisible = false;\n this.editDialogVisible = false;\n this.deleteDialogVisible = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./will-history.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./will-history.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./will-history.vue?vue&type=template&id=40aae4cc&\"\nimport script from \"./will-history.vue?vue&type=script&lang=ts&\"\nexport * from \"./will-history.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:\"client-deed-details\"},[_c('div',{staticClass:\"row\"},[_vm._m(0),_c('div',{staticClass:\"col-auto\"},[(_vm.canDelete)?_c('b-btn',{attrs:{\"variant\":\"danger\",\"size\":\"sm\"},on:{\"click\":_vm.showConfirmDelete}},[_vm._v(\"Delete\")]):_vm._e()],1)]),_vm._m(1),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_vm._m(2),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"partnerPracticeReference\"}},[_vm._v(\"PP Reference\")]),(_vm.canAmendWill)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.partnerPracticeReference),expression:\"will.partnerPracticeReference\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"partnerPracticeReference\"},domProps:{\"value\":(_vm.will.partnerPracticeReference)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.will, \"partnerPracticeReference\", $event.target.value)}}}):_c('div',{staticClass:\"form-control\"},[_vm._v(_vm._s(_vm.will.partnerPracticeReference))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"rightLegalReference\"}},[_vm._v(\"RLG Reference\")]),(_vm.canAmendWill)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.rightLegalReference),expression:\"will.rightLegalReference\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"rightLegalReference\"},domProps:{\"value\":(_vm.will.rightLegalReference)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.will, \"rightLegalReference\", $event.target.value)}}}):_c('div',{staticClass:\"form-control\"},[_vm._v(_vm._s(_vm.will.rightLegalReference))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"willTypeId\"}},[_vm._v(\"Will Type\")]),(_vm.canAmendWill)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.willTypeId),expression:\"will.willTypeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('will-details.willTypeId') },attrs:{\"name\":\"willTypeId\",\"data-vv-as\":\"will type\",\"data-vv-scope\":\"will-details\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.will, \"willTypeId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.willTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2):_c('div',{staticClass:\"form-control\"},[_vm._v(_vm._s(_vm.willTypeDescription(_vm.will.willTypeId)))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('will-details.willTypeId')),expression:\"errors.has('will-details.willTypeId')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('will-details.willTypeId')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"will-date\"}},[_vm._v(\"Will Date\")]),(_vm.canAmendWill)?_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('will-details.will-date') },attrs:{\"name\":\"will-date\",\"id\":\"will-date\",\"data-vv-as\":\"will date\",\"data-vv-scope\":\"will-details\"},model:{value:(_vm.willDate),callback:function ($$v) {_vm.willDate=$$v},expression:\"willDate\"}}):_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"will-date\"}},[_vm._v(_vm._s(_vm._f(\"date\")(_vm.willDate)))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('will-details.will-date')),expression:\"errors.has('will-details.will-date')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('will-details.will-date')))])],1)]),_c('div',{staticClass:\"col\"},[_vm._m(3),_c('table',{staticClass:\"table\"},[_vm._m(4),_c('tbody',[_c('tr',[_c('td',[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasAttendanceNotes),expression:\"will.hasAttendanceNotes\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"disabled\":!_vm.canAmendWill},domProps:{\"checked\":Array.isArray(_vm.will.hasAttendanceNotes)?_vm._i(_vm.will.hasAttendanceNotes,null)>-1:(_vm.will.hasAttendanceNotes)},on:{\"change\":function($event){var $$a=_vm.will.hasAttendanceNotes,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasAttendanceNotes\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasAttendanceNotes\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasAttendanceNotes\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Attendance Notes\")])])])]),_c('tr',[_c('td',[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasFactFind),expression:\"will.hasFactFind\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"disabled\":!_vm.canAmendWill},domProps:{\"checked\":Array.isArray(_vm.will.hasFactFind)?_vm._i(_vm.will.hasFactFind,null)>-1:(_vm.will.hasFactFind)},on:{\"change\":function($event){var $$a=_vm.will.hasFactFind,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasFactFind\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasFactFind\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasFactFind\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Fact Find\")])])])]),_c('tr',[_c('td',[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasLetterOfWishes),expression:\"will.hasLetterOfWishes\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"disabled\":!_vm.canAmendWill},domProps:{\"checked\":Array.isArray(_vm.will.hasLetterOfWishes)?_vm._i(_vm.will.hasLetterOfWishes,null)>-1:(_vm.will.hasLetterOfWishes)},on:{\"change\":function($event){var $$a=_vm.will.hasLetterOfWishes,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasLetterOfWishes\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasLetterOfWishes\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasLetterOfWishes\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Letter of Wishes\")])])])]),_c('tr'),_c('tr',[_c('td',[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasJustToLetYouKnow),expression:\"will.hasJustToLetYouKnow\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"disabled\":!_vm.canAmendWill},domProps:{\"checked\":Array.isArray(_vm.will.hasJustToLetYouKnow)?_vm._i(_vm.will.hasJustToLetYouKnow,null)>-1:(_vm.will.hasJustToLetYouKnow)},on:{\"change\":function($event){var $$a=_vm.will.hasJustToLetYouKnow,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasJustToLetYouKnow\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasJustToLetYouKnow\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasJustToLetYouKnow\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Just to Let You Know\")])])])]),_c('tr',[_c('td',[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasNoticeOfSeverance),expression:\"will.hasNoticeOfSeverance\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"disabled\":!_vm.canAmendWill},domProps:{\"checked\":Array.isArray(_vm.will.hasNoticeOfSeverance)?_vm._i(_vm.will.hasNoticeOfSeverance,null)>-1:(_vm.will.hasNoticeOfSeverance)},on:{\"change\":function($event){var $$a=_vm.will.hasNoticeOfSeverance,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasNoticeOfSeverance\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasNoticeOfSeverance\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasNoticeOfSeverance\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Notice of Severance\")])])])]),_c('tr',[_c('td',[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.hasOldWill),expression:\"will.hasOldWill\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"disabled\":!_vm.canAmendWill},domProps:{\"checked\":Array.isArray(_vm.will.hasOldWill)?_vm._i(_vm.will.hasOldWill,null)>-1:(_vm.will.hasOldWill)},on:{\"change\":function($event){var $$a=_vm.will.hasOldWill,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.will, \"hasOldWill\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.will, \"hasOldWill\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.will, \"hasOldWill\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\"},[_vm._v(\"Old Will\")])])])])])])])]),_vm._m(5),_c('div',{staticClass:\"row\"},[_vm._m(6),_c('div',{staticClass:\"col-auto\"},[(_vm.canAddGuardian)?_c('b-btn',{staticClass:\"my-3\",attrs:{\"variant\":\"primary\",\"size\":\"sm\"},on:{\"click\":_vm.showAddGuardianDialog}},[_vm._v(\"Add Guardian\")]):_vm._e()],1)]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('table',{staticClass:\"table\"},[_vm._m(7),_c('tbody',[_vm._l((_vm.will.guardians),function(guardian){return _c('tr',{key:guardian.id},[_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(guardian.name))]),_c('td',{staticClass:\"col-auto text-right\"},[(_vm.canAmendWill)?_c('b-dropdown',{attrs:{\"text\":\"Actions\",\"size\":\"sm\",\"right\":\"\"}},[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.showEditGuardianDialog(guardian)}}},[_vm._v(\"Edit\")]),(_vm.canDeleteGuardian)?_c('b-dropdown-divider'):_vm._e(),(_vm.canDeleteGuardian)?_c('b-dropdown-item',{staticClass:\"text-danger\",on:{\"click\":function($event){return _vm.showConfirmGuardianDelete(guardian)}}},[_vm._v(\"Remove\")]):_vm._e()],1):_vm._e()],1)])}),(_vm.will.guardians.length < 1)?_c('tr',[_c('td',{staticClass:\"text-center\",attrs:{\"colspan\":\"5\"}},[_vm._v(\"This Will contains no Guardians\")])]):_vm._e()],2)])])]),_vm._m(8),_c('div',{staticClass:\"row\"},[_vm._m(9),_c('div',{staticClass:\"col-auto\"},[(_vm.canAddExecutor)?_c('b-btn',{staticClass:\"my-3\",attrs:{\"variant\":\"primary\",\"size\":\"sm\"},on:{\"click\":_vm.showAddExecutorDialog}},[_vm._v(\"Add Executor\")]):_vm._e()],1)]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('table',{staticClass:\"table\"},[_vm._m(10),_c('tbody',[_vm._l((_vm.orderedWillExecutors),function(executor){return _c('tr',{key:executor.id},[_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(executor.name))]),_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(executor.telephone))]),_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(executor.email))]),_c('td',{staticClass:\"col-auto\"},[_vm._v(_vm._s(_vm._f(\"singlelineaddress\")(executor)))]),_c('td',{staticClass:\"col-auto\"},[(executor.isProfessionalExecutor && executor.isRLGExecutor)?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"info\"}},[_vm._v(\"Professional - RLG Exec\")]):_vm._e(),(executor.isProfessionalExecutor && !executor.isRLGExecutor)?_c('b-badge',{staticClass:\"mr=1\",attrs:{\"variant\":\"info\"}},[_vm._v(\"Professional - PP Exec\")]):_vm._e(),(_vm.firstOrSubstituteExecutorTypeDescription(executor) != null)?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm.firstOrSubstituteExecutorTypeDescription(executor)))]):_vm._e(),(_vm.soleOrCoExecutorTypeDescription(executor) != null)?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"success\"}},[_vm._v(_vm._s(_vm.soleOrCoExecutorTypeDescription(executor)))]):_vm._e()],1),_c('td',{staticClass:\"col-auto text-right\"},[(_vm.canAmendWill)?_c('b-dropdown',{attrs:{\"text\":\"Actions\",\"size\":\"sm\",\"right\":\"\"}},[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.showEditExecutorDialog(executor)}}},[_vm._v(\"Edit\")]),(_vm.canDeleteExecutor)?_c('b-dropdown-divider'):_vm._e(),(_vm.canDeleteExecutor)?_c('b-dropdown-item',{staticClass:\"text-danger\",on:{\"click\":function($event){return _vm.showConfirmExecutorDelete(executor)}}},[_vm._v(\"Remove\")]):_vm._e()],1):_vm._e()],1)])}),(_vm.will.executors.length < 1)?_c('tr',[_c('td',{staticClass:\"text-center\",attrs:{\"colspan\":\"5\"}},[_vm._v(\"This Will contains no Executors\")])]):_vm._e()],2)])])]),_vm._m(11),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_vm._m(12),_c('div',{staticClass:\"form-group\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.will.notes),expression:\"will.notes\"}],staticClass:\"form-control\",staticStyle:{\"min-height\":\"10rem\"},attrs:{\"readonly\":!_vm.canAmendWill},domProps:{\"value\":(_vm.will.notes)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.will, \"notes\", $event.target.value)}}})])])]),(_vm.client != null && _vm.addGuardianDialogVisible)?_c('add-will-guardian-dialog',{attrs:{\"client\":_vm.client,\"will\":_vm.will,\"visible\":_vm.addGuardianDialogVisible},on:{\"ok\":_vm.onGuardianAdded,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.client != null && _vm.editGuardianDialogVisible)?_c('edit-will-guardian-dialog',{attrs:{\"client\":_vm.client,\"will\":_vm.will,\"guardian\":_vm.selectedGuardian,\"visible\":_vm.editGuardianDialogVisible},on:{\"ok\":_vm.onGuardianUpdated,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.client != null && _vm.addExecutorDialogVisible)?_c('add-will-executor-dialog',{attrs:{\"client\":_vm.client,\"will\":_vm.will,\"visible\":_vm.addExecutorDialogVisible},on:{\"ok\":_vm.onExecutorAdded,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.client != null && _vm.editExecutorDialogVisible)?_c('edit-will-executor-dialog',{attrs:{\"client\":_vm.client,\"will\":_vm.will,\"executor\":_vm.selectedExecutor,\"visible\":_vm.editExecutorDialogVisible},on:{\"ok\":_vm.onExecutorUpdated,\"cancel\":_vm.onCancel}}):_vm._e(),_c('confirmation-dialog',{ref:\"modal\",attrs:{\"title\":\"Are you sure?\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true,\"variant\":\"danger\",\"ok-text\":\"Delete\",\"centered\":\"\"},on:{\"ok\":_vm.onWillRemoved,\"cancel\":_vm.onCancel},model:{value:(_vm.confirmDeleteVisible),callback:function ($$v) {_vm.confirmDeleteVisible=$$v},expression:\"confirmDeleteVisible\"}},[_c('div',[_c('p',[_vm._v(\"Are you sure you want to remove this will?\")])])]),_c('confirmation-dialog',{ref:\"modal\",attrs:{\"title\":\"Are you sure?\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true,\"variant\":\"danger\",\"ok-text\":\"Delete\",\"centered\":\"\"},on:{\"ok\":function($event){return _vm.onExecutorRemoved(_vm.selectedExecutor)},\"cancel\":_vm.onCancel},model:{value:(_vm.confirmExecutorDeleteVisible),callback:function ($$v) {_vm.confirmExecutorDeleteVisible=$$v},expression:\"confirmExecutorDeleteVisible\"}},[_c('div',[_c('p',[_vm._v(\"Are you sure you want to remove this executor?\")])])]),_c('confirmation-dialog',{ref:\"modal\",attrs:{\"title\":\"Are you sure?\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true,\"variant\":\"danger\",\"ok-text\":\"Delete\",\"centered\":\"\"},on:{\"ok\":function($event){return _vm.onGuardianRemoved(_vm.selectedGuardian)},\"cancel\":_vm.onCancel},model:{value:(_vm.confirmGuardianDeleteVisible),callback:function ($$v) {_vm.confirmGuardianDeleteVisible=$$v},expression:\"confirmGuardianDeleteVisible\"}},[_c('div',[_c('p',[_vm._v(\"Are you sure you want to remove this guardian?\")])])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col\"},[_c('div',[_c('h5',[_vm._v(\"Will\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('hr')])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"my-3\"},[_c('h6',[_vm._v(\"Will Details\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"my-3\"},[_c('h6',[_vm._v(\"Will Packet Contents\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',{staticClass:\"col border-0 p-0\"})])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('hr')])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"my-3\"},[_c('h6',[_vm._v(\"Guardians\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',[_vm._v(\"Name\")]),_c('th')])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('hr')])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"my-3\"},[_c('h6',[_vm._v(\"Executors\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',[_vm._v(\"Name\")]),_c('th',[_vm._v(\"Telephone\")]),_c('th',[_vm._v(\"Email\")]),_c('th',[_vm._v(\"Address\")]),_c('th',[_vm._v(\"Type\")]),_c('th')])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('hr')])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"my-3\"},[_c('h6',[_vm._v(\"Notes\")])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Add Executor\",\"size\":\"xl\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"cancel\":_vm.onCancel},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('will-executor-detail',{ref:\"executor\",attrs:{\"client\":_vm.client,\"executor\":_vm.currentExecutor,\"executor-type-required\":true}})],1)]),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onAddExecutor}},[_vm._v(\"Add Executor\")])],1)],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\nimport willExecutorDetail from '@/components/client/view-client/will-executor-detail.vue';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientAccountWillExecutor, createClientAccountWillExecutor } from '@/shared/clients/client-account-will-executor';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component({\n components: {\n willExecutorDetail,\n },\n})\nexport default class AddWillExecutorDialog extends Vue {\n @Prop({ required: true }) public client!: ClientAccount;\n @Prop({ required: true }) public visible!: boolean;\n\n private isVisible: boolean = this.visible;\n private currentExecutor: ClientAccountWillExecutor = createClientAccountWillExecutor();\n\n @Watch('visible')\n private onVisibleChanged(value: boolean): void {\n (this.$refs.executor as Vue).$validator.errors.clear();\n this.isVisible = value;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n\n private async onAddExecutor(): Promise {\n const isValid = await (this.$refs.executor as Vue).$validator.validateAll('executor-details');\n\n if (!isValid) {\n return;\n }\n\n this.$emit('ok', { ...this.currentExecutor });\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-will-executor-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-will-executor-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./add-will-executor-dialog.vue?vue&type=template&id=2655c232&\"\nimport script from \"./add-will-executor-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./add-will-executor-dialog.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('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Add Guardian\",\"size\":\"md\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"cancel\":_vm.onCancel},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('will-guardian-detail',{ref:\"guardian\",attrs:{\"guardian\":_vm.currentGuardian}})],1)]),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onAddGuardian}},[_vm._v(\"Add Guardian\")])],1)],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\nimport willGuardianDetail from '@/components/client/view-client/will-guardian-detail.vue';\nimport { ClientAccountWillGuardian, createClientAccountWillGuardian } from '@/shared/clients/client-account-will-guardian';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component({\n components: {\n willGuardianDetail,\n },\n})\nexport default class AddWillGuardianDialog extends Vue {\n @Prop({ required: true }) public visible!: boolean;\n\n private isVisible: boolean = this.visible;\n private currentGuardian: ClientAccountWillGuardian = createClientAccountWillGuardian();\n\n @Watch('visible')\n private onVisibleChanged(value: boolean): void {\n (this.$refs.guardian as Vue).$validator.errors.clear();\n this.isVisible = value;\n }\n private onCancel(): void {\n this.$emit('cancel');\n }\n private async onAddGuardian(): Promise {\n const isValid = await (this.$refs.guardian as Vue).$validator.validateAll('guardian-details');\n\n if (!isValid) {\n return;\n }\n\n this.$emit('ok', { ...this.currentGuardian });\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-will-guardian-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-will-guardian-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./add-will-guardian-dialog.vue?vue&type=template&id=6e083a0b&\"\nimport script from \"./add-will-guardian-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./add-will-guardian-dialog.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('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Edit Executor\",\"size\":\"xl\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"cancel\":_vm.onCancel},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('will-executor-detail',{ref:\"executor\",attrs:{\"client\":_vm.client,\"executor\":_vm.currentExecutor,\"executor-type-required\":false}})],1)]),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onUpdateExecutor}},[_vm._v(\"Update Executor\")])],1)],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\nimport willExecutorDetail from '@/components/client/view-client/will-executor-detail.vue';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientAccountWillExecutor } from '@/shared/clients/client-account-will-executor';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component({\n components: {\n willExecutorDetail,\n },\n})\nexport default class EditWillExecutorDialog extends Vue {\n @Prop({ required: true }) public client!: ClientAccount;\n @Prop({ required: true }) public executor!: ClientAccountWillExecutor;\n @Prop({ required: true }) public visible!: boolean;\n\n private isVisible: boolean = this.visible;\n private currentExecutor: ClientAccountWillExecutor = { ...this.executor };\n\n @Watch('visible')\n private onVisibleChanged(value: boolean): void {\n (this.$refs.executor as Vue).$validator.errors.clear();\n this.isVisible = value;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n\n private async onUpdateExecutor(): Promise {\n const isValid = await (this.$refs.executor as Vue).$validator.validateAll('executor-details');\n\n if (!isValid) {\n return;\n }\n\n this.$emit('ok', { ...this.currentExecutor });\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-will-executor-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-will-executor-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./edit-will-executor-dialog.vue?vue&type=template&id=2806db5e&\"\nimport script from \"./edit-will-executor-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./edit-will-executor-dialog.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('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Edit Guardian\",\"size\":\"md\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"cancel\":_vm.onCancel},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('will-guardian-detail',{ref:\"guardian\",attrs:{\"guardian\":_vm.currentGuardian}})],1)]),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onUpdateGuardian}},[_vm._v(\"Update Guardian\")])],1)],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\nimport willGuardianDetail from '@/components/client/view-client/will-guardian-detail.vue';\nimport { ClientAccountWillGuardian } from '@/shared/clients/client-account-will-guardian';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component({\n components: {\n willGuardianDetail,\n },\n})\nexport default class EditWillGuardianDialog extends Vue {\n @Prop({ required: true }) public guardian!: ClientAccountWillGuardian;\n @Prop({ required: true }) public visible!: boolean;\n\n private isVisible: boolean = this.visible;\n private currentGuardian: ClientAccountWillGuardian = { ...this.guardian };\n\n @Watch('visible')\n private onVisibleChanged(value: boolean): void {\n (this.$refs.guardian as Vue).$validator.errors.clear();\n this.isVisible = value;\n }\n private onCancel(): void {\n this.$emit('cancel');\n }\n private async onUpdateGuardian(): Promise {\n const isValid = await (this.$refs.guardian as Vue).$validator.validateAll('guardian-details');\n\n if (!isValid) {\n return;\n }\n\n this.$emit('ok', { ...this.currentGuardian });\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-will-guardian-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-will-guardian-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./edit-will-guardian-dialog.vue?vue&type=template&id=40848ee0&\"\nimport script from \"./edit-will-guardian-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./edit-will-guardian-dialog.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport addWillExecutorDialog from '@/components/client/view-client/add-will-executor-dialog.vue';\nimport addWillGuardianDialog from '@/components/client/view-client/add-will-guardian-dialog.vue';\nimport editWillExecutorDialog from '@/components/client/view-client/edit-will-executor-dialog.vue';\nimport editWillGuardianDialog from '@/components/client/view-client/edit-will-guardian-dialog.vue';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientAccountWill } from '@/shared/clients/client-account-will';\nimport { ClientAccountWillExecutor } from '@/shared/clients/client-account-will-executor';\nimport { ClientAccountWillGuardian } from '@/shared/clients/client-account-will-guardian';\nimport { WillType } from '@/shared/types/will-type';\nimport { formatDate } from '@/shared/utilities/date-utilities';\nimport { Validator } from 'vee-validate';\nimport { Component, Inject, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst userModule = namespace('user');\nconst typesModule = namespace('types');\n\n@Component({\n components: {\n addWillExecutorDialog,\n editWillExecutorDialog,\n addWillGuardianDialog,\n editWillGuardianDialog,\n },\n})\nexport default class ClientWillDetails extends Vue {\n @userModule.Getter('isAdministrator') private isAdministrator!: boolean;\n @userModule.Getter('isInternalKeyStakeholder') private isInternalKeyStakeholder!: boolean;\n @userModule.Getter('isCustomerExperienceExecutiveTeamLeader') private isCustomerExperienceExecutiveTeamLeader!: boolean;\n @userModule.Getter('isDataCreationTeamLeader') private isDataCreationTeamLeader!: boolean;\n @userModule.Getter('isDataCreationExecutive') private isDataCreationExecutive!: boolean;\n @typesModule.Getter('activeWillTypes') private willTypes!: Array;\n\n @Inject('$validator') public $validator!: Validator;\n @Prop({ required: true }) private client!: ClientAccount;\n\n private addGuardianDialogVisible: boolean = false;\n private editGuardianDialogVisible: boolean = false;\n private addExecutorDialogVisible: boolean = false;\n private editExecutorDialogVisible: boolean = false;\n private confirmDeleteVisible: boolean = false;\n private confirmExecutorDeleteVisible: boolean = false;\n private confirmGuardianDeleteVisible: boolean = false;\n private selectedExecutor: ClientAccountWillExecutor | null = null;\n private selectedGuardian: ClientAccountWillGuardian | null = null;\n\n private get will(): ClientAccountWill {\n return this.client!.will!;\n }\n\n private get willDate(): string | Date | null {\n return formatDate(this.client!.will!.date, true);\n }\n\n private set willDate(value: string | Date | null) {\n this.client!.will!.date = value;\n }\n\n private get canDelete(): boolean {\n return this.isAdministrator || this.isCustomerExperienceExecutiveTeamLeader || this.isDataCreationTeamLeader;\n }\n\n private get canAmendWill(): boolean {\n return (this.isAdministrator || this.isInternalKeyStakeholder || this.isDataCreationTeamLeader);\n }\n\n private get canAddGuardian(): boolean {\n return (this.isAdministrator || this.isInternalKeyStakeholder || this.isDataCreationTeamLeader || this.isDataCreationExecutive);\n }\n\n private get canDeleteGuardian(): boolean {\n return (this.isAdministrator || this.isDataCreationTeamLeader);\n }\n\n private get canAddExecutor(): boolean {\n return (this.isAdministrator || this.isInternalKeyStakeholder || this.isDataCreationTeamLeader || this.isDataCreationExecutive);\n }\n\n private get canDeleteExecutor(): boolean {\n return (this.isAdministrator || this.isDataCreationTeamLeader);\n }\n\n private get orderedWillExecutors(): Array {\n return [...this.will.executors].sort((n1, n2) => {\n if (n1.displayOrder! > n2.displayOrder!) { return 1; }\n if (n1.displayOrder! < n2.displayOrder!) { return -1; }\n return 0;\n });\n }\n\n private showConfirmDelete(): void {\n this.confirmDeleteVisible = true;\n }\n\n private onWillRemoved(): void {\n this.$emit('will-removed', { ...this.will });\n }\n\n private showAddGuardianDialog(): void {\n this.addGuardianDialogVisible = true;\n }\n\n private showEditGuardianDialog(guardian: ClientAccountWillGuardian): void {\n if (guardian.id == null) {\n guardian.id = 'editing';\n }\n\n this.selectedGuardian = { ...guardian };\n this.editGuardianDialogVisible = true;\n }\n\n private showConfirmGuardianDelete(guardian: ClientAccountWillGuardian): void {\n if (guardian.id == null) {\n guardian.id = 'editing';\n }\n\n this.selectedGuardian = { ...guardian };\n this.confirmGuardianDeleteVisible = true;\n }\n\n private onGuardianAdded(guardian: ClientAccountWillGuardian): void {\n this.will.guardians.push(guardian);\n this.onCancel();\n }\n\n private onGuardianUpdated(guardian: ClientAccountWillGuardian): void {\n const index = this.will.guardians.findIndex((e) => e.id === guardian.id);\n\n if (index < 0) {\n this.$snackbar.open({ message: 'Could not update guardian.', type: 'is-danger' });\n this.onCancel();\n return;\n }\n\n if (guardian.id === 'editing') {\n guardian.id = null;\n }\n\n this.will.guardians.splice(index, 1, { ...guardian });\n\n this.onCancel();\n }\n\n private onGuardianRemoved(guardian: ClientAccountWillGuardian): void {\n const index = this.will.guardians.findIndex((e) => e.id === guardian.id);\n\n if (index < 0) {\n this.$snackbar.open({ message: 'Could not remove guardian.', type: 'is-danger' });\n this.onCancel();\n return;\n }\n\n if (guardian.id === 'editing') {\n guardian.id = null;\n }\n\n this.will.guardians.splice(index, 1);\n\n this.onCancel();\n }\n\n private showAddExecutorDialog(): void {\n this.addExecutorDialogVisible = true;\n }\n\n private showEditExecutorDialog(executor: ClientAccountWillExecutor): void {\n if (executor.id == null) {\n executor.id = 'editing';\n }\n\n this.selectedExecutor = { ...executor };\n this.editExecutorDialogVisible = true;\n }\n\n private showConfirmExecutorDelete(executor: ClientAccountWillExecutor): void {\n if (executor.id == null) {\n executor.id = 'editing';\n }\n\n this.selectedExecutor = { ...executor };\n this.confirmExecutorDeleteVisible = true;\n }\n\n private onExecutorAdded(executor: ClientAccountWillExecutor): void {\n const displayOrder = !this.will.executors.length ? 0 : Math.max(...this.will.executors.map((e) => e.displayOrder!)) + 1;\n this.will.executors.push({ ...executor, displayOrder });\n this.onCancel();\n }\n\n private onExecutorUpdated(executor: ClientAccountWillExecutor): void {\n const index = this.will.executors.findIndex((e) => e.id === executor.id);\n\n if (index < 0) {\n this.$snackbar.open({ message: 'Could not update executor.', type: 'is-danger' });\n this.onCancel();\n return;\n }\n\n if (executor.id === 'editing') {\n executor.id = null;\n }\n\n this.will.executors.splice(index, 1, { ...executor });\n this.onCancel();\n }\n\n private onExecutorRemoved(executor: ClientAccountWillExecutor): void {\n const index = this.will.executors.findIndex((e) => e.id === executor.id);\n\n if (index < 0) {\n this.$snackbar.open({ message: 'Could not remove executor.', type: 'is-danger' });\n this.onCancel();\n return;\n }\n\n if (executor.id === 'editing') {\n executor.id = null;\n }\n\n this.will.executors.splice(index, 1);\n\n this.onCancel();\n }\n\n private onCancel(): void {\n for (const guardian of this.will.guardians.filter((g) => g.id === 'editing')) {\n guardian.id = null;\n }\n\n for (const executor of this.will.executors.filter((e) => e.id === 'editing')) {\n executor.id = null;\n }\n\n this.confirmDeleteVisible = false;\n\n this.addGuardianDialogVisible = false;\n this.editGuardianDialogVisible = false;\n this.confirmGuardianDeleteVisible = false;\n this.selectedGuardian = null;\n\n this.addExecutorDialogVisible = false;\n this.editExecutorDialogVisible = false;\n this.confirmExecutorDeleteVisible = false;\n this.selectedExecutor = null;\n }\n\n private willTypeDescription(willTypeId: string): string {\n const willType = this.willTypes.find((type) => type.id === willTypeId);\n return willType == null ? '' : willType.value;\n }\n\n private firstOrSubstituteExecutorTypeDescription(executor: ClientAccountWillExecutor): string | null {\n if (executor == null || executor.isFirstOrSubstituteExecutor == null) {\n return null;\n }\n\n return executor.isFirstOrSubstituteExecutor ? 'Sub Exec' : 'First Exec';\n }\n\n private soleOrCoExecutorTypeDescription(executor: ClientAccountWillExecutor): string | null {\n if (executor == null || executor.isSoleOrCoExecutor == null) {\n return null;\n }\n\n return executor.isSoleOrCoExecutor ? 'Co-Exec' : 'Sole Exec';\n }\n\n}\n","export enum AccessActionType {\n ReadOnly = 0,\n Update,\n}\n","export enum AccessType {\n Client = 0,\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./will.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./will.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./will.vue?vue&type=template&id=7e42acfc&\"\nimport script from \"./will.vue?vue&type=script&lang=ts&\"\nexport * from \"./will.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { AccessLogApi } from '@/api/access-log';\nimport { ClientAccountsApi } from '@/api/client-accounts';\nimport { CreateAccessLogResponse } from '@/api/responses/access-logs/create-access-log-response';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport { NotFound } from '@/api/responses/not-found';\nimport bookAppointmentDialog from '@/components/appointments/book-appointment-dialog.vue';\nimport addDeedDialog from '@/components/client/view-client/add-deed-dialog.vue';\nimport addFactFindDialog from '@/components/client/view-client/add-fact-find-dialog.vue';\nimport addNoteDialog from '@/components/client/view-client/add-note-dialog.vue';\nimport addPartnerDialog from '@/components/client/view-client/add-partner-dialog.vue';\nimport addPowerOfAttorneyDialog from '@/components/client/view-client/add-power-of-attorney-dialog.vue';\nimport addProductDialog from '@/components/client/view-client/add-product-dialog.vue';\nimport addWillDialog from '@/components/client/view-client/add-will-dialog.vue';\nimport clientAdditionalDetails from '@/components/client/view-client/additional.vue';\nimport clientAddressDetails from '@/components/client/view-client/address.vue';\nimport clientAppointments from '@/components/client/view-client/appointments.vue';\nimport contactHistory from '@/components/client/view-client/contact-history.vue';\nimport clientCourtOfProtectionWarning from '@/components/client/view-client/court-of-protection-banner.vue';\nimport clientDeeds from '@/components/client/view-client/deeds.vue';\nimport clientDetails from '@/components/client/view-client/details.vue';\nimport clientDoNotContactWarning from '@/components/client/view-client/do-not-contact-banner.vue';\nimport clientAdditionalDocuments from '@/components/client/view-client/documents.vue';\nimport clientFactFind from '@/components/client/view-client/fact-find.vue';\nimport clientLockedWarning from '@/components/client/view-client/locked-banner.vue';\nimport logInteractionDialog from '@/components/client/view-client/log-interaction-dialog.vue';\nimport clientMarketingDetails from '@/components/client/view-client/marketing.vue';\nimport clientNotes from '@/components/client/view-client/notes.vue';\nimport clientPowerOfAttorneys from '@/components/client/view-client/power-of-attorneys.vue';\nimport clientSensitiveWarning from '@/components/client/view-client/sensitive-banner.vue';\nimport willHistory from '@/components/client/view-client/will-history.vue';\nimport clientWill from '@/components/client/view-client/will.vue';\nimport loading from '@/components/loading.vue';\nimport { AccessActionType } from '@/shared/access-action-type';\nimport { AccessType } from '@/shared/access-type';\nimport { Appointment } from '@/shared/appointments/appointment';\nimport { AppointmentOutcome } from '@/shared/appointments/appointment-outcome';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientContactHistory } from '@/shared/clients/client-account-contact-history';\nimport { ClientAccountDeed } from '@/shared/clients/client-account-deed';\nimport { ClientAccountFactFind } from '@/shared/clients/client-account-fact-find';\nimport { ClientAccountNote } from '@/shared/clients/client-account-note';\nimport { ClientAccountWill } from '@/shared/clients/client-account-will';\nimport { ClientPowerOfAttorney } from '@/shared/clients/client-power-of-attorney';\nimport { Interaction } from '@/shared/interaction';\nimport { AdditionalDocumentType } from '@/shared/types/additional-document-type';\nimport { ClientStatusType } from '@/shared/types/client-status-type';\nimport { ClientTitleType } from '@/shared/types/client-title-type';\nimport { User } from '@/shared/user';\nimport { DateTime } from 'luxon';\nimport { Validator } from 'vee-validate';\nimport { Component, Provide, Vue, Watch } from 'vue-property-decorator';\nimport { Route } from 'vue-router';\nimport { Getter, namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\nconst userModule = namespace('user');\nconst usersModule = namespace('users');\nconst clientAccountApi = new ClientAccountsApi();\nconst accessLogApi = new AccessLogApi();\n\nComponent.registerHooks([\n 'beforeRouteEnter',\n 'beforeRouteLeave',\n 'beforeRouteUpdate',\n]);\n\n@Component({\n components: {\n clientDetails,\n clientAddressDetails,\n clientAdditionalDetails,\n clientAdditionalDocuments,\n clientMarketingDetails,\n addProductDialog,\n addDeedDialog,\n addFactFindDialog,\n addWillDialog,\n addPowerOfAttorneyDialog,\n addNoteDialog,\n bookAppointmentDialog,\n logInteractionDialog,\n addPartnerDialog,\n clientDeeds,\n clientFactFind,\n clientPowerOfAttorneys,\n clientWill,\n clientNotes,\n clientAppointments,\n contactHistory,\n willHistory,\n clientSensitiveWarning,\n clientDoNotContactWarning,\n clientCourtOfProtectionWarning,\n clientLockedWarning,\n loading,\n },\n})\nexport default class ViewClient extends Vue {\n @Provide('$validator') public $validator!: Validator;\n @Getter public isDirty!: boolean;\n\n @partnerPracticesModule.Getter('partnerPracticeName') private partnerPracticeName!: (partnerPracticeId: string | null) => string;\n\n @typesModule.Getter('activeClientStatusTypes') public clientStatusTypes!: Array;\n @typesModule.Getter('activeClientTitleTypes') public titleTypes!: Array;\n @typesModule.Getter('activeAdditionalDocumentTypes') public allAdditionalDocumentTypes!: Array;\n\n @userModule.Getter('user') public currentUser!: User;\n @userModule.Getter('isAdministrator') public isAdministrator!: boolean;\n\n @usersModule.Getter('users') private users!: Array;\n private originalClient: ClientAccount | null = null;\n private client: ClientAccount | null = null;\n private removedWills: Array = new Array();\n private notes: Array = new Array();\n private appointments: Array = new Array();\n private contactHistory: ClientContactHistory | null = null;\n private willHistoryItems: Array = new Array();\n private selectedDeed: ClientAccountDeed | null = null;\n private productDialogVisible: boolean = false;\n private addDeedDialogVisible: boolean = false;\n private factFindDialogVisible: boolean = false;\n private addWillDialogVisible: boolean = false;\n private addPowerOfAttorneyDialogVisible: boolean = false;\n private addNoteDialogVisible: boolean = false;\n private bookAppointmentDialogVisible: boolean = false;\n private addPartnerDialogVisible: boolean = false;\n private logInteractionDialogVisible: boolean = false;\n private confirmationDialogVisible: boolean = false;\n private confirmAssignedToChangedDialogVisible: boolean = false;\n private currentTab: number = 0;\n private detailsValid: boolean = true;\n private addressValid: boolean = true;\n private additionalInformationValid: boolean = true;\n private loading: boolean = true;\n private saving: boolean = false;\n private additionalDocumentsValid: boolean = true;\n private accessLogId: string | null = null;\n private assignPartnerConfirmed: boolean = false;\n\n private get accountStatusText(): string {\n const clientStatusType = this.clientStatusTypes.find((type) => type.id === this.originalClient!.accountStatusId);\n return clientStatusType == null ? '' : clientStatusType.value;\n }\n\n private get accountStatusBadgeColor(): string {\n switch (this.accountStatusText.toLowerCase().trim()) {\n case 'client':\n return 'success';\n case 'deceased':\n return 'secondary';\n case 'lead':\n return 'warning';\n case 'archived':\n return 'danger';\n case 'business will client':\n return 'dark';\n default:\n return 'light';\n }\n }\n\n private get canBookAppointment(): boolean {\n const clientStatusType = this.clientStatusTypes.find((type) => type.id === this.client!.accountStatusId);\n\n return clientStatusType == null\n ? false\n : !this.client!.doNotContact\n && !clientStatusType.isDeceased\n && !clientStatusType.isAccountArchived;\n }\n\n private get canAddPartner(): boolean {\n return this.client!.partner == null;\n }\n\n private get canRemovePartner(): boolean {\n return this.isAdministrator && this.client!.partner != null;\n }\n\n @Watch('client', { deep: true })\n private onClientChanged(newValue: ClientAccount, oldValue: ClientAccount | null): void {\n if (oldValue != null && newValue.id === oldValue.id) {\n this.$store.commit('setDirty', true);\n }\n }\n @Watch('$route')\n private async onRouteChanged(newValue: Route, oldValue: Route | null): Promise {\n this.loading = true;\n await this.loadClientAsync(newValue.params.id);\n this.loading = false;\n }\n private getFullName(client: ClientAccount): string {\n const titleType = this.titleTypes.find((t) => t.id === this.originalClient!.titleId);\n let title = titleType == null ? null : titleType.value;\n\n if (title === 'Unknown') {\n title = null;\n }\n\n const fullName = [title, this.originalClient!.firstName, this.originalClient!.lastName].join(' ').trim();\n\n return fullName;\n }\n\n private getUserName(userId: string | null): string {\n const user = this.users.find((u) => u.id === userId);\n return user == null ? userId! : `${user.firstName == null ? '' : user.firstName} ${user.lastName == null ? '' : user.lastName}`;\n }\n\n private async loadClientAsync(id: string): Promise {\n document.title = `Loading client... - Right Legal Group`;\n\n try {\n this.originalClient = await clientAccountApi.getClientAccountByIdAsync(id);\n\n this.client = {\n ...this.originalClient,\n dateOfBirth: this.originalClient.dateOfBirth == null ? null : DateTime.fromISO(this.originalClient.dateOfBirth as string, { zone: 'UTC' }).toJSDate(),\n matterReceived: this.originalClient.matterReceived == null ? null : DateTime.fromISO(this.originalClient.matterReceived as string, { zone: 'UTC' }).toJSDate(),\n matterOpened: this.originalClient.matterOpened == null ? null : DateTime.fromISO(this.originalClient.matterOpened as string, { zone: 'UTC' }).toJSDate(),\n matterClosed: this.originalClient.matterClosed == null ? null : DateTime.fromISO(this.originalClient.matterClosed as string, { zone: 'UTC' }).toJSDate(),\n lockedDate: this.originalClient.lockedDate == null ? null : DateTime.fromISO(this.originalClient.lockedDate as string, { zone: 'UTC' }).toJSDate(),\n partner: this.originalClient.partner == null ? null : { ...this.originalClient.partner },\n factFind: this.originalClient.factFind == null ? null : { ...this.originalClient.factFind },\n will: this.originalClient.will == null ? null : { ...this.originalClient.will, guardians: [...this.originalClient.will.guardians], executors: [...this.originalClient.will.executors] },\n additionalDocuments: [...this.originalClient.additionalDocuments],\n powerOfAttorneys: [...this.originalClient.powerOfAttorneys],\n deeds: [...this.originalClient.deeds],\n };\n\n this.notes = [...this.client.noteHistory];\n this.contactHistory = {\n emailHistory: [...this.client.emailHistory],\n interactionHistory: [...this.client.interactionHistory],\n messageHistory: [...this.client.messageHistory],\n taskHistory: [...this.client.taskHistory],\n };\n this.willHistoryItems = [...this.client.willHistory];\n this.appointments = await clientAccountApi.getClientAppointmentBookingsAsync(id);\n\n this.$store.commit('setDirty', false);\n\n await this.$validator.errors.clear();\n\n const fullName = this.getFullName(this.originalClient!);\n document.title = `${fullName} - ${this.originalClient!.accountNo} - Right Legal Group`;\n this.$route.meta.breadcrumbTitle = `${fullName} - ${this.originalClient!.accountNo}`;\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n return;\n } else if (e instanceof NotFound) {\n this.$router.push({ path: '/not-found' });\n return;\n } else if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not load client, please try again.`, type: 'is-danger' });\n }\n }\n }\n private showAddProductDialog(): void {\n this.productDialogVisible = true;\n }\n private showAddNoteDialog(): void {\n this.addNoteDialogVisible = true;\n }\n private showBookAppointmentDialog(): void {\n this.bookAppointmentDialogVisible = true;\n }\n private showAddPartnerDialog(): void {\n this.addPartnerDialogVisible = true;\n }\n private showLogInteractionDialog(): void {\n this.logInteractionDialogVisible = true;\n }\n private showDeleteConfirmationDialog(): void {\n this.confirmationDialogVisible = true;\n }\n private onProductSelected(product: string): void {\n switch (product) {\n case 'will':\n this.addWillDialogVisible = true;\n break;\n case 'power-of-attorney':\n this.addPowerOfAttorneyDialogVisible = true;\n break;\n case 'deed':\n this.addDeedDialogVisible = true;\n break;\n case 'fact-find':\n this.factFindDialogVisible = true;\n break;\n }\n\n this.productDialogVisible = false;\n }\n private onPartnerPracticeChanged(): void {\n if (this.client!.partnerPracticeId === '00000000-0000-0000-0000-000000000000') {\n this.client!.isAcquisition = true;\n return;\n }\n\n this.client!.isAcquisition = this.originalClient!.isAcquisition;\n this.confirmAssignedToChangedDialogVisible = (this.client!.partnerPracticeId != null &&\n this.client!.isAcquisition &&\n this.client!.partnerPracticeId !== '00000000-0000-0000-0000-000000000000' &&\n this.originalClient!.partnerPracticeId !== this.client!.partnerPracticeId)!;\n }\n private async onDeedAdded(deed: ClientAccountDeed): Promise {\n this.client!.deeds.push(deed);\n this.onCancel();\n }\n private async onFactFindAdded(factFind: ClientAccountFactFind): Promise {\n this.client!.factFind = factFind;\n this.onCancel();\n }\n private onFactFindDeleted(): void {\n this.client!.factFind = null;\n }\n private async onPowerOfAttorneyAdded(powerOfAttorney: ClientPowerOfAttorney, addAnother: boolean): Promise {\n this.client!.powerOfAttorneys.push(powerOfAttorney);\n\n if (!addAnother) {\n this.onCancel();\n }\n }\n private async onWillAdded(will: ClientAccountWill): Promise {\n this.client!.will = will;\n this.onCancel();\n }\n private async onWillRemoved(will: ClientAccountWill): Promise {\n this.removedWills.push(will);\n this.client!.will = null;\n }\n private async onNoteAdded(note: ClientAccountNote): Promise {\n this.$snackbar.open({ message: `Note successfully added`, type: 'is-success' });\n this.onCancel();\n await this.loadClientAsync(this.client!.id!);\n }\n private async onInteractionLogged(interaction: Interaction): Promise {\n this.$snackbar.open({ message: `Interaction successfully logged`, type: 'is-success' });\n this.onCancel();\n await this.loadClientAsync(this.client!.id!);\n }\n private async onInteractionUpdated(): Promise {\n this.$snackbar.open({ message: `Interaction successfully updated`, type: 'is-success' });\n this.onCancel();\n await this.loadClientAsync(this.client!.id!);\n }\n private async onNoteUpdated(): Promise {\n this.$snackbar.open({ message: `Note successfully updated`, type: 'is-success' });\n this.onCancel();\n await this.loadClientAsync(this.client!.id!);\n }\n private async onNoteDeleted(): Promise {\n this.$snackbar.open({ message: `Note successfully deleted`, type: 'is-success' });\n this.onCancel();\n await this.loadClientAsync(this.client!.id!);\n }\n private async onAdditionalDocumentsChanged(documents: Array<{ id: string, otherText: string | null }>): Promise {\n this.client!.additionalDocuments = documents.map((d) => {\n return {\n additionalDocumentTypeId: d.id,\n otherText: d.otherText,\n };\n });\n\n this.onCancel();\n }\n private async onInteractionDeleted(): Promise {\n this.$snackbar.open({ message: `Interaction successfully deleted`, type: 'is-success' });\n this.onCancel();\n await this.loadClientAsync(this.client!.id!);\n }\n private async onWillHistoryUpdated(will: ClientAccountWill): Promise {\n this.$snackbar.open({ message: `Will history successfully updated`, type: 'is-success' });\n this.onCancel();\n await this.loadClientAsync(this.client!.id!);\n }\n private async onWillHistoryDeleted(will: ClientAccountWill): Promise {\n this.$snackbar.open({ message: `Will history successfully deleted`, type: 'is-success' });\n this.onCancel();\n await this.loadClientAsync(this.client!.id!);\n }\n private async onAppointmentBooked(): Promise {\n this.$snackbar.open({ message: `Appointment successfully booked`, type: 'is-success' });\n this.onCancel();\n await this.loadClientAsync(this.client!.id!);\n }\n private async onAppointmentUpdated(): Promise {\n this.$snackbar.open({ message: `Appointment successfully updated`, type: 'is-success' });\n this.onCancel();\n await this.loadClientAsync(this.client!.id!);\n }\n private async onAppointmentRebooked(): Promise {\n this.$snackbar.open({ message: `Appointment successfully re-booked`, type: 'is-success' });\n this.onCancel();\n await this.loadClientAsync(this.client!.id!);\n }\n private async onAppointmentCompleted(): Promise {\n this.$snackbar.open({ message: `Appointment successfully completed`, type: 'is-success' });\n this.onCancel();\n await this.loadClientAsync(this.client!.id!);\n }\n private async onAppointmentOutcomeChanged(): Promise {\n this.$snackbar.open({ message: `Appointment outcome successfully updated`, type: 'is-success' });\n this.onCancel();\n await this.loadClientAsync(this.client!.id!);\n }\n private async onAppointmentRemoved(appointment: Appointment): Promise {\n this.$snackbar.open({ message: `Appointment successfully deleted`, type: 'is-success' });\n this.onCancel();\n await this.loadClientAsync(this.client!.id!);\n }\n private async onOutcomeRemoved(appointment: Appointment): Promise {\n this.$snackbar.open({ message: `Appointment outcome successfully deleted`, type: 'is-success' });\n this.onCancel();\n await this.loadClientAsync(this.client!.id!);\n }\n private async onAppointmentMarkedAsBanked(appointment: AppointmentOutcome): Promise {\n this.$snackbar.open({ message: `Appointment successfully marked as banked`, type: 'is-success' });\n this.onCancel();\n await this.loadClientAsync(this.client!.id!);\n }\n private async onPartnerAdded(client: ClientAccount): Promise {\n await clientAccountApi.assignClientPartnerAsync(this.originalClient!, client.id!);\n this.$snackbar.open({ message: `Partner successfully added.`, type: 'is-success' });\n this.onCancel();\n await this.loadClientAsync(this.client!.id!);\n }\n private async onPartnerRemoved(): Promise {\n await clientAccountApi.removeClientPartnerAsync(this.client!.id!, this.client!.partner!.id!);\n this.$snackbar.open({ message: `Partner successfully removed.`, type: 'is-success' });\n this.onCancel();\n await this.loadClientAsync(this.client!.id!);\n }\n private async handleDeleteClient(): Promise {\n try {\n await clientAccountApi.deleteClientAsync(this.client!);\n await this.updateAccessLog();\n this.$store.commit('setDirty', false);\n this.$snackbar.open({ message: `Client successfully deleted`, type: 'is-success' });\n this.onCancel();\n this.$router.push({ name: 'clients' });\n } catch (e) {\n this.$snackbar.open({ message: `Client successfully deleted`, type: 'is-danger' });\n }\n }\n private onConfirmAssignedToPermanent(): void {\n this.client!.isAcquisition = false;\n this.onCancel();\n }\n private onComfirmAssignedToAppointmentOnly(): void {\n this.client!.isAcquisition = true;\n this.onCancel();\n }\n private onCancel(): void {\n this.productDialogVisible = false;\n this.addDeedDialogVisible = false;\n this.factFindDialogVisible = false;\n this.addWillDialogVisible = false;\n this.addPowerOfAttorneyDialogVisible = false;\n this.addNoteDialogVisible = false;\n this.bookAppointmentDialogVisible = false;\n this.addPartnerDialogVisible = false;\n this.logInteractionDialogVisible = false;\n this.confirmationDialogVisible = false;\n this.confirmAssignedToChangedDialogVisible = false;\n this.selectedDeed = null;\n }\n\n private get sensitiveOrCopRemoved(): boolean {\n return (this.originalClient!.isSensitive && !this.client!.isSensitive) || (this.originalClient!.hasCourtOfProtection && !this.client!.hasCourtOfProtection);\n }\n\n private async showConfirmation(): Promise {\n if (!this.sensitiveOrCopRemoved) {\n await this.saveClient();\n } else {\n this.confirmationDialogVisible = true;\n }\n }\n private async saveClient(): Promise {\n let isValid: boolean = true;\n\n if (!(await this.$validator.validateAll('client-details'))) {\n this.$snackbar.open({ message: `Could not update client, required fields are missing in 'Details'.`, type: 'is-danger' });\n isValid = false;\n }\n\n if (!(await this.$validator.validateAll('address-details'))) {\n this.$snackbar.open({ message: `Could not update client, required fields are missing in 'Address'.`, type: 'is-danger' });\n isValid = false;\n }\n\n if (!(await this.$validator.validateAll('additional-details'))) {\n this.$snackbar.open({ message: `Could not update client, validation errors found in 'Additional Information'.`, type: 'is-danger' });\n isValid = false;\n }\n\n if (!(await this.$validator.validateAll('national-insurance-number'))) {\n this.$snackbar.open({ message: `Could not update client, required fields are missing in 'Additional Information'.`, type: 'is-danger' });\n isValid = false;\n }\n\n if (!(await this.$validator.validateAll('additional-documents'))) {\n this.$snackbar.open({ message: `Could not update client, required fields are missing in 'Additional Documents'.`, type: 'is-danger' });\n isValid = false;\n }\n\n if (!(await this.$validator.validateAll('will-details'))) {\n this.$snackbar.open({ message: `Could not update client, required fields are missing in 'Will'.`, type: 'is-danger' });\n isValid = false;\n }\n\n if (!isValid) {\n return;\n }\n\n const partnerPracticeChanged = this.client!.partnerPracticeId !== this.originalClient!.partnerPracticeId;\n const hasPartner = this.client!.partner != null;\n\n if (hasPartner && partnerPracticeChanged && !this.assignPartnerConfirmed) {\n await this.$confirm.open({\n message: `This client has a partner, if you continue the partner will also be assigned to '${this.partnerPracticeName(this.client!.partnerPracticeId!)}'.`,\n showCancel: true,\n okText: 'Continue',\n cancelText: 'Cancel',\n onOk: () => {\n this.assignPartnerConfirmed = true;\n this.saveClient();\n },\n onCancel: () => {\n this.assignPartnerConfirmed = false;\n return;\n },\n });\n }\n\n try {\n this.saving = true;\n await clientAccountApi.updateClientAccountAsync(this.client!);\n await this.updateAccessLog();\n await this.loadClientAsync(this.client!.id!);\n\n this.$store.commit('setDirty', false);\n this.assignPartnerConfirmed = false;\n this.$snackbar.open({ message: `Client successfully updated.` });\n\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not update client, please try again.', type: 'is-danger' });\n }\n }\n\n this.saving = false;\n }\n private async beforeRouteLeave(to: Route, from: Route, next: any): Promise {\n if (this.client != null && this.client!.lockedDate != null && this.client!.lockedBy === this.currentUser!.id) {\n try {\n await this.$confirm.open({\n message: 'You have locked this client, to unlock, please log an interaction.',\n variant: 'danger',\n okText: 'Back to Client',\n });\n next(false);\n } catch (err) {\n next(false);\n }\n } else if (this.$store.getters.isDirty) {\n try {\n await this.$confirm.open({\n message: 'You have unsaved changes, if you continue those changes will be lost.',\n showCancel: true,\n showContinue: true,\n okText: 'Save & Exit',\n continueText: 'Continue Without Saving',\n cancelText: 'Cancel',\n onOk: () => {\n this.saveClient();\n next();\n },\n onContinue: () => {\n next();\n },\n onCancel: () => {\n next(false);\n },\n });\n next(false);\n } catch (err) {\n next(false);\n }\n next();\n } else {\n next();\n }\n return;\n }\n private canDeleteClient(): boolean {\n return this.isAdministrator;\n }\n\n private async createAccessLog(): Promise {\n if (this.client == null) {\n return;\n }\n\n const roles = this.currentUser.roles.map((r) => r.name).join(', ');\n\n const response: CreateAccessLogResponse = await accessLogApi.createAccessLog({\n accessType: AccessType.Client,\n accessActionType: AccessActionType.ReadOnly,\n partnerPracticeId: this.client.partnerPracticeId,\n aggregateId: this.client.id!,\n userRoles: roles,\n });\n\n this.accessLogId = response.id;\n }\n\n private async updateAccessLog(): Promise {\n if (this.client == null) {\n return;\n }\n\n await accessLogApi.updateAccessLog(this.accessLogId, this.client.id!);\n }\n\n public async mounted(): Promise {\n this.loading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n this.$store.dispatch(`users/loadAllUsersAsync`),\n ]);\n\n const id = this.$route.params.id;\n await this.loadClientAsync(id);\n await this.createAccessLog();\n\n this.loading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./view-client.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./view-client.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./view-client.vue?vue&type=template&id=470a51a7&\"\nimport script from \"./view-client.vue?vue&type=script&lang=ts&\"\nexport * from \"./view-client.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:\"manage-duplicates\"},[_c('div',{staticClass:\"row pb-3 align-items-center justify-content-between\"},[_vm._m(0),_c('div',{staticClass:\"col text-right\"},[_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onShowManualMergeClientDialog}},[_vm._v(\"Manual Merge\")])],1)]),_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-sm-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"rlg-data\":true},model:{value:(_vm.selectedPartnerPracticeId),callback:function ($$v) {_vm.selectedPartnerPracticeId=$$v},expression:\"selectedPartnerPracticeId\"}})],1),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"introducer\"}},[_vm._v(\"Introducer:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedOriginalSourceTypeId),expression:\"selectedOriginalSourceTypeId\"}],staticClass:\"form-control\",attrs:{\"id\":\"introducer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedOriginalSourceTypeId=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.partnerPracticeOriginalSourceTypes(_vm.selectedPartnerPracticeId)),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2)])]),_c('div',{staticClass:\"col-sm-1\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-btn',{staticClass:\"form-control\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onLoadClientDuplicatesAsync}},[_vm._v(\"Filter\")])],1)]),_c('div',{staticClass:\"col-sm-1\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('div',{staticClass:\"form-inline\"},[_c('a',{staticClass:\"btn btn-link form-control px-0\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.onClearFilters}},[_vm._v(\"Clear Filters\")])])])])]),_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.loading}},[_vm._v(\"Loading duplicates, please wait...\")]),_c('div',{staticClass:\"col\"},[_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"items\":_vm.clients,\"fields\":_vm.clientFields,\"current-page\":_vm.currentPage,\"per-page\":_vm.pageSize,\"empty-text\":_vm.emptyText},scopedSlots:_vm._u([{key:\"cell(accountNo)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(item.accountNo)+\"\\n \")]}},{key:\"cell(name)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.clientName(item))+\"\\n \")]}},{key:\"cell(partnerPractice)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.partnerPracticeName(item.partnerPracticeId))+\"\\n \")]}},{key:\"cell(originalSource)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.clientOriginalSourceTypeDescription(item.originalSourceId))+\"\\n \")]}},{key:\"cell(actions)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-btn',{attrs:{\"size\":\"sm\"},on:{\"click\":function($event){return _vm.onShowMergeClientDialog(item)}}},[_vm._v(\"View\")])]}}])}),_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.totalRows,\"per-page\":_vm.pageSize},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}),_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))])],1)],1),(_vm.showMergeClientDialog)?_c('merge-client-dialog',{attrs:{\"visible\":_vm.showMergeClientDialog,\"client\":_vm.selectedClient,\"manual-merge\":_vm.isManualMerge},on:{\"cancel\":_vm.onCancel}}):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col\"},[_c('h2',[_vm._v(\"Manage Duplicate Clients\")])])}]\n\nexport { render, staticRenderFns }","import { Api } from '@/api/api';\nimport { ClientDuplicateRequestFilters } from '@/api/requests/manage-duplicates/client-duplicate-request-filters';\nimport { ManageClientDuplicateRequestFilters } from '@/api/requests/manage-duplicates/manage-client-duplicate-request-filters';\nimport { ClientAccountDuplicate } from '@/shared/clients/client-account-duplicate';\nimport { ClientAccount } from '../shared/clients/client-account';\n\nexport class ManageDuplicateApi extends Api {\n public getDuplicateClientsAsync(filters: ManageClientDuplicateRequestFilters): Promise> {\n return this.getAsync>(`v1/manageDuplicate`, filters);\n }\n\n public getDuplicateClientsByIdAsync(clientId: string, filters: ClientDuplicateRequestFilters): Promise> {\n return this.getAsync>(`v1/manageDuplicate/${clientId}`, filters);\n }\n\n public constructor() {\n super();\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"centered\":\"\",\"body-class\":\"modal-stepper\",\"title\":\"Merge Client\",\"size\":\"xl\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-btn-close',{on:{\"click\":_vm.onCancel}})],1),_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading client duplicates, please wait...\")]),_c('loading',{attrs:{\"active\":_vm.isMerging}},[_vm._v(\"Merging clients, please wait...\")]),_c('stepper',{model:{value:(_vm.currentStep),callback:function ($$v) {_vm.currentStep=$$v},expression:\"currentStep\"}},[_c('step',{attrs:{\"title\":\"Clients\",\"completed\":_vm.clientsCompleted}},[(_vm.isManualMerge)?_c('div',[_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col-lg\"},[_c('client-merge-detail-with-lookup',{ref:\"clientAccountOne\",attrs:{\"client\":_vm.clientAccountOne,\"header-text\":\"Client Account 1\"},on:{\"client-changed\":_vm.onClientAccountOneChangedAsync}})],1),_c('div',{staticClass:\"col-lg\"},[_c('client-merge-detail-with-lookup',{ref:\"clientAccountTwo\",attrs:{\"client\":_vm.clientAccountTwo,\"header-text\":\"Client Account 2\"},on:{\"client-changed\":_vm.onClientAccountTwoChangedAsync}})],1)]),(_vm.manualMergeInvalid && _vm.manualMergeErrorMessage != null)?_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"alert alert-danger\",attrs:{\"role\":\"alert\"}},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-auto\"},[_c('svg',{staticClass:\"feather feather-alert-circle\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('circle',{attrs:{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"12\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"16\",\"x2\":\"12.01\",\"y2\":\"16\"}})])]),_c('div',{staticClass:\"col\"},[_vm._v(\"\\n \"+_vm._s(_vm.manualMergeErrorMessage)+\"\\n \")])])])])]):_vm._e()]):_c('div',[_c('client-account-summary',{attrs:{\"client\":_vm.clientAccountOne}}),_c('client-duplicate-table',{staticClass:\"mt-3\",attrs:{\"client-duplicates\":_vm.clientDuplicates},on:{\"duplicate-changed\":_vm.onClientAccountTwoChangedAsync}})],1)]),(_vm.mergeConflicts.length > 0)?_c('step',{attrs:{\"title\":\"Merge Client\",\"disabled\":!_vm.clientsCompleted}},[_c('client-merge-conflicts',{ref:\"clientMergeConflicts\",attrs:{\"priority-client\":_vm.priorityClientAccount,\"merge-client\":_vm.mergeClientAccount,\"merge-conflicts\":_vm.mergeConflicts}})],1):_vm._e(),_c('step',{attrs:{\"title\":\"Link Partners\",\"disabled\":!_vm.clientsCompleted,\"completed\":_vm.linkPartnersCompleted}},[_c('client-account-summary',{attrs:{\"client\":_vm.clientAccountOne}}),_c('link-partner-table',{staticClass:\"mt-3\",attrs:{\"client-partners\":_vm.clientPartners},on:{\"partner-changed\":_vm.onClientPartnerChangedAsync}})],1),_c('step',{attrs:{\"title\":\"Merge Complete\",\"disabled\":!_vm.linkPartnersCompleted}},[_c('client-account-summary',{attrs:{\"client\":_vm.clientAccountOne}}),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col\"},[_c('h5',[_vm._v(\"Actions\")])])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col\"},[(_vm.mergeLog.length > 0)?_c('ul',{staticClass:\"list-group list-group-flush\"},_vm._l((_vm.mergeLog),function(action,index){return _c('li',{key:index,staticClass:\"list-group-item\"},[_vm._v(_vm._s(action))])}),0):_c('div',{staticClass:\"form-text text-muted\"},[_vm._v(\"No actions performed.\")])])])],1)],1),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isLoading || _vm.isMerging},on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),(_vm.showPrevious)?_c('b-btn',{attrs:{\"disabled\":_vm.isLoading || _vm.isMerging},on:{\"click\":_vm.onPrevious}},[_vm._v(\"Previous\")]):_vm._e(),(_vm.currentStep < _vm.maxSteps)?_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isLoading || _vm.isMerging || _vm.isNextDisabled},on:{\"click\":_vm.onNextAsync}},[_vm._v(_vm._s(_vm.nextTitle))]):_vm._e(),(_vm.currentStep === _vm.maxSteps)?_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isLoading || _vm.isMerging},on:{\"click\":_vm.onCompleteAsync}},[_vm._v(\"Complete\")]):_vm._e()],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Api } from '@/api/api';\nimport { ClientMergeRequest } from '@/api/requests/merge/client-merge-request';\n\nexport class MergeApi extends Api {\n\n public async mergeClientAsync(request: ClientMergeRequest): Promise {\n await this.putAsync(`v1/merge`, request);\n }\n\n public async mergeCompleteAsync(clientId: string): Promise {\n await this.putAsync(`v1/merge/${clientId}/complete`, null);\n }\n\n public constructor() {\n super();\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"client-account-summary\"},[_vm._m(0),_c('div',{staticClass:\"form-row\"},[_c('b-table',{attrs:{\"items\":_vm.clientItems,\"fields\":_vm.clientFields},scopedSlots:_vm._u([{key:\"cell(name)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.clientFullName)+\"\\n \")]}},{key:\"cell(addressLine1)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(item.addressLine1)+\"\\n \")]}},{key:\"cell(postcode)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(item.postcode)+\"\\n \")]}},{key:\"cell(partnerPractice)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.partnerPracticeName(item.partnerPracticeId))+\"\\n \")]}},{key:\"cell(originalSource)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.originalSourceDescription)+\"\\n \")]}},{key:\"cell(documents)\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.client != null)?_c('div',[(_vm.client.will != null)?_c('div',[_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\"Will - \"+_vm._s(_vm.willTypeDescription)+\" - \"+_vm._s(_vm._f(\"date\")(_vm.client.will.date)))])],1):_vm._e(),_vm._l((_vm.client.powerOfAttorneys),function(powerOfAttorney){return _c('div',{key:powerOfAttorney.id},[_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\"Power of Attorney - \"+_vm._s(_vm.powerOfAttorneyTypeDescription(powerOfAttorney))),(powerOfAttorney.signatureDate != null)?_c('span',[_vm._v(\" - \"+_vm._s(_vm._f(\"date\")(powerOfAttorney.signatureDate)))]):_vm._e()])],1)}),(_vm.client.factFind != null)?_c('div',[_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\"Fact Find\")])],1):_vm._e(),_vm._l((_vm.client.deeds),function(deed){return _c('div',{key:deed.id},[_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(_vm._s(_vm.deedDescription(deed)))])],1)})],2):_vm._e()]}},{key:\"cell(actions)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-btn',{attrs:{\"size\":\"sm\",\"variant\":\"light\",\"target\":\"_blank\",\"to\":{ name: 'view-client', params: { id: item.id } }}},[_c('svg',{staticClass:\"feather feather-external-link\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('path',{attrs:{\"d\":\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"}}),_c('polyline',{attrs:{\"points\":\"15 3 21 3 21 9\"}}),_c('line',{attrs:{\"x1\":\"10\",\"y1\":\"14\",\"x2\":\"21\",\"y2\":\"3\"}})]),_vm._v(\"\\n View\\n \")])]}}])})],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col\"},[_c('h5',[_vm._v(\"Client Account\")])])])}]\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\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientAccountDeed } from '@/shared/clients/client-account-deed';\nimport { ClientPowerOfAttorney } from '@/shared/clients/client-power-of-attorney';\nimport { ClientOriginalSourceType } from '@/shared/types/client-original-source-type';\nimport { PowerOfAttorneyType } from '@/shared/types/power-of-attorney-type';\nimport { WillType } from '@/shared/types/will-type';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\n\n@Component\nexport default class ClientAccountDetail extends Vue {\n @partnerPracticesModule.Getter('partnerPracticeName') private partnerPracticeName!: (partnerPracticeId: string | null) => string;\n\n @typesModule.Getter('clientOriginalSourceTypes') private clientOriginalSourceTypes!: Array;\n @typesModule.Getter('powerOfAttorneyTypes') private powerOfAttorneyTypes!: Array;\n @typesModule.Getter('willTypes') private willTypes!: Array;\n\n @Prop({ required: true }) private client!: ClientAccount | null;\n\n private clientItems: Array = this.client == null ? [] : [this.client];\n\n private get clientFields(): Array<{}> {\n return [\n { key: 'accountNo', label: 'Account No' },\n { key: 'name', label: 'Name' },\n { key: 'addressLine1', label: 'Address Line 1' },\n { key: 'postcode', label: 'Postcode' },\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'originalSource', label: 'Introducer' },\n { key: 'documents', label: 'Documents' },\n { key: 'actions', label: '' },\n ];\n }\n\n private get clientFullName(): string {\n return this.client == null ? '' : `${this.client.firstName != null ? this.client.firstName.trim() : ''} ${this.client.lastName != null ? this.client.lastName.trim() : ''}`;\n }\n\n private get originalSourceDescription(): string {\n if (this.client == null) {\n return '';\n }\n\n const clientOriginalSourceType = this.clientOriginalSourceTypes.find((type) => type.id === this.client!.originalSourceId);\n return clientOriginalSourceType == null ? '' : clientOriginalSourceType.value;\n }\n\n private get willTypeDescription(): string {\n if (this.client == null) {\n return '';\n }\n\n const willType = this.willTypes.find((type) => type.id === this.client!.will!.willTypeId);\n return willType == null ? '' : willType.value;\n }\n\n @Watch('client')\n private onClientChanged(client: ClientAccount | null): void {\n this.clientItems = client == null ? [] : [client];\n }\n\n private powerOfAttorneyTypeDescription(powerOfAttorney: ClientPowerOfAttorney): string {\n const powerOfAttorneyType = this.powerOfAttorneyTypes.find((type) => type.id === powerOfAttorney.powerOfAttorneyTypeId);\n return powerOfAttorneyType == null ? '' : powerOfAttorneyType.value;\n }\n\n private deedDescription(deed: ClientAccountDeed): string {\n return `Deed - ${deed.addressLine1}, ${deed.postcode}`;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./client-account-summary.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./client-account-summary.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./client-account-summary.vue?vue&type=template&id=0f3b0a21&\"\nimport script from \"./client-account-summary.vue?vue&type=script&lang=ts&\"\nexport * from \"./client-account-summary.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:\"client-duplicate-table\"},[_vm._m(0),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col\"},[_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"items\":_vm.clientDuplicates,\"fields\":_vm.clientDuplicateFields,\"empty-text\":\"No client duplicates found.\"},scopedSlots:_vm._u([{key:\"cell(select)\",fn:function(ref){\nvar item = ref.item;\nreturn [(!_vm.isDisabled(item))?_c('b-form-checkbox',{model:{value:(item.selected),callback:function ($$v) {_vm.$set(item, \"selected\", $$v)},expression:\"item.selected\"}}):_vm._e()]}},{key:\"cell(matchPercent)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(item.matchPercent)+\"%\\n \")]}},{key:\"cell(name)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.clientFullName(item))+\"\\n \")]}},{key:\"cell(addressLine1)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(item.addressLine1)+\"\\n \")]}},{key:\"cell(postcode)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(item.postcode)+\"\\n \")]}},{key:\"cell(partnerPractice)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.partnerPracticeName(item.partnerPracticeId))+\"\\n \")]}},{key:\"cell(originalSource)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.originalSourceDescription(item))+\"\\n \")]}},{key:\"cell(documents)\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.will != null)?_c('div',[_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\"Will - \"+_vm._s(_vm.willTypeDescription(item.will))+\" - \"+_vm._s(_vm._f(\"date\")(item.will.date)))])],1):_vm._e(),_vm._l((item.powerOfAttorneys),function(powerOfAttorney){return _c('div',{key:powerOfAttorney.id},[_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\"Power of Attorney - \"+_vm._s(_vm.powerOfAttorneyTypeDescription(powerOfAttorney))),(powerOfAttorney.signatureDate != null)?_c('span',[_vm._v(\" - \"+_vm._s(_vm._f(\"date\")(powerOfAttorney.signatureDate)))]):_vm._e()])],1)}),(item.factFind != null)?_c('div',[_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\"Fact Find\")])],1):_vm._e(),_vm._l((item.deeds),function(deed){return _c('div',{key:deed.id},[_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(_vm._s(_vm.deedDescription(deed)))])],1)})]}},{key:\"cell(actions)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-btn',{attrs:{\"size\":\"sm\",\"variant\":\"light\",\"target\":\"_blank\",\"to\":{ name: 'view-client', params: { id: item.id } }}},[_c('svg',{staticClass:\"feather feather-external-link\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('path',{attrs:{\"d\":\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"}}),_c('polyline',{attrs:{\"points\":\"15 3 21 3 21 9\"}}),_c('line',{attrs:{\"x1\":\"10\",\"y1\":\"14\",\"x2\":\"21\",\"y2\":\"3\"}})]),_vm._v(\"\\n View\\n \")])]}}])})],1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col\"},[_c('h5',[_vm._v(\"Potential Duplicates\")])])])}]\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\nimport { ClientAccountDeed } from '@/shared/clients/client-account-deed';\nimport { ClientAccountDuplicate } from '@/shared/clients/client-account-duplicate';\nimport { ClientAccountWill } from '@/shared/clients/client-account-will';\nimport { ClientPowerOfAttorney } from '@/shared/clients/client-power-of-attorney';\nimport { ClientOriginalSourceType } from '@/shared/types/client-original-source-type';\nimport { PowerOfAttorneyType } from '@/shared/types/power-of-attorney-type';\nimport { WillType } from '@/shared/types/will-type';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\n\n@Component\nexport default class ClientDuplicatesTable extends Vue {\n @partnerPracticesModule.Getter('partnerPracticeName') private partnerPracticeName!: (partnerPracticeId: string | null) => string;\n\n @typesModule.Getter('clientOriginalSourceTypes') private clientOriginalSourceTypes!: Array;\n @typesModule.Getter('powerOfAttorneyTypes') private powerOfAttorneyTypes!: Array;\n @typesModule.Getter('willTypes') private willTypes!: Array;\n\n @Prop({ required: true }) public clientDuplicates!: Array;\n\n private get clientDuplicateFields(): Array<{}> {\n return [\n { key: 'select', label: '' },\n { key: 'matchPercent', label: 'Match %' },\n { key: 'accountNo', label: 'Account No' },\n { key: 'name', label: 'Name' },\n { key: 'addressLine1', label: 'Address Line 1' },\n { key: 'postcode', label: 'Postcode' },\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'originalSource', label: 'Introducer' },\n { key: 'documents', label: 'Documents' },\n { key: 'actions', label: '' },\n ];\n }\n\n @Watch('clientDuplicates', { deep: true })\n private onClientDuplicatesChanged(): void {\n const selectedDuplicate = this.clientDuplicates.find((d) => d.selected);\n this.$emit('duplicate-changed', selectedDuplicate == null ? null : { ...selectedDuplicate });\n }\n\n private isDisabled(item: ClientAccountDuplicate & { selected: boolean }): boolean {\n return !item.selected && this.clientDuplicates.some((d) => d.selected);\n }\n\n private clientFullName(item: ClientAccountDuplicate & { selected: boolean }): string {\n return `${item.firstName != null ? item.firstName.trim() : ''} ${item.lastName != null ? item.lastName.trim() : ''}`;\n }\n\n private originalSourceDescription(item: ClientAccountDuplicate & { selected: boolean }): string {\n const clientOriginalSourceType = this.clientOriginalSourceTypes.find((type) => type.id === item.originalSourceId!);\n return clientOriginalSourceType != null ? clientOriginalSourceType.value : '';\n }\n\n private willTypeDescription(will: ClientAccountWill): string {\n const willType = this.willTypes.find((type) => type.id === will.willTypeId);\n return willType == null ? '' : willType.value;\n }\n\n private powerOfAttorneyTypeDescription(powerOfAttorney: ClientPowerOfAttorney): string {\n const powerOfAttorneyType = this.powerOfAttorneyTypes.find((type) => type.id === powerOfAttorney.powerOfAttorneyTypeId);\n return powerOfAttorneyType == null ? '' : powerOfAttorneyType.value;\n }\n\n private deedDescription(deed: ClientAccountDeed): string {\n return `Deed - ${deed.addressLine1}, ${deed.postcode}`;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./client-duplicate-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./client-duplicate-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./client-duplicate-table.vue?vue&type=template&id=7c54e458&\"\nimport script from \"./client-duplicate-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./client-duplicate-table.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:\"client-merge-conflicts\"},[_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"alert alert-warning\",attrs:{\"role\":\"alert\"}},[_c('svg',{staticClass:\"feather feather-alert-triangle\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"48\",\"height\":\"48\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('path',{attrs:{\"d\":\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"9\",\"x2\":\"12\",\"y2\":\"13\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"17\",\"x2\":\"12\",\"y2\":\"17\"}})]),_vm._v(\"\\n   \"),_c('strong',[_vm._v(\"Warning!\")]),_vm._v(\" You are about to merge the following accounts. The following action is irreversible.\\n \")])])]),_vm._m(0),_vm._m(1),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col\"},[_c('ul',{staticClass:\"list-group list-group-flush\"},[_c('li',{staticClass:\"list-group-item\"},[_c('div',{staticClass:\"form-row\"},[_vm._m(2),_c('div',{staticClass:\"col-4\"},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.priorityClientDescription))])]),_c('div',{staticClass:\"col-4\"},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.mergeClientDescription))])])])]),_vm._l((_vm.mergeConflicts),function(conflict,conflictIndex){return _c('li',{key:conflictIndex,staticClass:\"list-group-item\"},[_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col-4\"},[_c('label',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(conflict.displayName))])]),_c('div',{staticClass:\"col-4\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(conflict.useMergeValue),expression:\"conflict.useMergeValue\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":(\"conflict-\" + conflictIndex),\"id\":((conflict.fieldName) + \"-false\"),\"data-vv-scope\":\"merge-conflicts\",\"data-vv-as\":\"foo\"},domProps:{\"value\":false,\"checked\":_vm._q(conflict.useMergeValue,false)},on:{\"change\":function($event){return _vm.$set(conflict, \"useMergeValue\", false)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":((conflict.fieldName) + \"-false\")}},[_vm._v(_vm._s(conflict.priorityValue))])])]),_c('div',{staticClass:\"col-4\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(conflict.useMergeValue),expression:\"conflict.useMergeValue\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":(\"conflict-\" + conflictIndex),\"id\":((conflict.fieldName) + \"-true\"),\"data-vv-scope\":\"merge-conflicts\",\"data-vv-as\":\"foo\"},domProps:{\"value\":true,\"checked\":_vm._q(conflict.useMergeValue,true)},on:{\"change\":function($event){return _vm.$set(conflict, \"useMergeValue\", true)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":((conflict.fieldName) + \"-true\")}},[_vm._v(_vm._s(conflict.mergeValue))])])])])])})],2)])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-text text-muted\"},[_vm._v(\"The following fields have been identified as merge conflicts. Please select the values that should take priority.\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col\"},[_c('hr')])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-4\"},[_c('label',[_vm._v(\" \")])])}]\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\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientMergeConflict } from '@/shared/data-management/client-merge-conflict';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class ClientMergeConflicts extends Vue {\n @Prop({ required: true }) private priorityClient!: ClientAccount;\n @Prop({ required: true }) private mergeClient!: ClientAccount;\n @Prop({ required: true }) private mergeConflicts!: Array;\n\n private get priorityClientDescription(): string {\n return `${this.priorityClient.accountNo} - ${this.priorityClient.firstName == null ? '' : this.priorityClient.firstName.trim()} ${this.priorityClient.lastName == null ? '' : this.priorityClient.lastName.trim()}`;\n }\n\n private get mergeClientDescription(): string {\n return `${this.mergeClient.accountNo} - ${this.mergeClient.firstName == null ? '' : this.mergeClient.firstName.trim()} ${this.mergeClient.lastName == null ? '' : this.mergeClient.lastName.trim()}`;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./client-merge-conflicts.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./client-merge-conflicts.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./client-merge-conflicts.vue?vue&type=template&id=2543a923&\"\nimport script from \"./client-merge-conflicts.vue?vue&type=script&lang=ts&\"\nexport * from \"./client-merge-conflicts.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 { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientPartner } from '@/shared/clients/client-partner';\nimport { ClientPowerOfAttorney } from '@/shared/clients/client-power-of-attorney';\nimport { ClientMergeConflict } from '@/shared/data-management/client-merge-conflict';\nimport { ClientRelationshipType } from '@/shared/types/client-relationship-type';\nimport { ClientStatusType } from '@/shared/types/client-status-type';\nimport { ClientTitleType } from '@/shared/types/client-title-type';\nimport store from '@/store';\nimport { DateTime } from 'luxon';\n\nexport function findPriorityClientAccount(clientAccountOne: ClientAccount, clientAccountTwo: ClientAccount): string {\n if (clientAccountOne.will != null || clientAccountTwo.will != null) {\n if (clientAccountOne.will != null && clientAccountTwo.will == null) {\n return clientAccountOne.id!;\n }\n\n if (clientAccountOne.will == null && clientAccountTwo.will != null) {\n return clientAccountTwo.id!;\n }\n\n return clientAccountOne.will!.date! <= clientAccountTwo.will!.date! ? clientAccountOne.id! : clientAccountTwo.id!;\n }\n\n if (clientAccountOne.powerOfAttorneys.length > 0 || clientAccountTwo.powerOfAttorneys.length > 0) {\n const clientAccountOnePowerOfAttorney = earliestPowerOfAttorney(clientAccountOne.powerOfAttorneys);\n const clientAccountTwoPowerOfAttorney = earliestPowerOfAttorney(clientAccountTwo.powerOfAttorneys);\n\n if (clientAccountOnePowerOfAttorney != null && clientAccountTwoPowerOfAttorney == null) {\n return clientAccountOne.id!;\n }\n\n if (clientAccountOnePowerOfAttorney == null && clientAccountTwoPowerOfAttorney != null) {\n return clientAccountTwo.id!;\n }\n\n if (clientAccountOnePowerOfAttorney!.signatureDate != null && clientAccountTwoPowerOfAttorney!.signatureDate == null) {\n return clientAccountOne.id!;\n }\n\n if (clientAccountOnePowerOfAttorney!.signatureDate == null && clientAccountTwoPowerOfAttorney!.signatureDate != null) {\n return clientAccountTwo.id!;\n }\n\n return clientAccountOnePowerOfAttorney!.signatureDate! <= clientAccountTwoPowerOfAttorney!.signatureDate! ? clientAccountOne.id! : clientAccountTwo.id!;\n }\n\n return clientAccountOne.createdDate! <= clientAccountTwo.createdDate! ? clientAccountOne.id! : clientAccountTwo.id!;\n}\n\nexport function findMergeConflicts(priorityClient: ClientAccount, mergeClient: ClientAccount): Array {\n const conflicts = new Array();\n\n if (!isNullOrWhitespace(priorityClient.titleId) && !isNullOrWhitespace(mergeClient.titleId) && priorityClient.titleId !== mergeClient.titleId) {\n conflicts.push({ fieldName: 'titleId', displayName: 'Title', priorityValue: clientTitleTypeDescription(priorityClient.titleId!), mergeValue: clientTitleTypeDescription(mergeClient.titleId!), useMergeValue: null });\n }\n\n if (!isNullOrWhitespace(priorityClient.accountStatusId) && !isNullOrWhitespace(mergeClient.accountStatusId) && priorityClient.accountStatusId !== mergeClient.accountStatusId) {\n conflicts.push({ fieldName: 'accountStatusId', displayName: 'Account Status', priorityValue: clientStatusTypeDescription(priorityClient.accountStatusId), mergeValue: clientStatusTypeDescription(mergeClient.accountStatusId), useMergeValue: null });\n }\n\n if (!isNullOrWhitespace(priorityClient.relationshipStatusId) && !isNullOrWhitespace(mergeClient.relationshipStatusId) && priorityClient.relationshipStatusId !== mergeClient.relationshipStatusId) {\n conflicts.push({ fieldName: 'relationshipStatusId', displayName: 'Relationship Status', priorityValue: clientRelationshipTypeDescription(priorityClient.relationshipStatusId), mergeValue: clientRelationshipTypeDescription(mergeClient.relationshipStatusId), useMergeValue: null });\n }\n\n if (!isNullOrWhitespace(priorityClient.firstName) && !isNullOrWhitespace(mergeClient.firstName) && priorityClient.firstName !== mergeClient.firstName) {\n conflicts.push({ fieldName: 'firstName', displayName: 'First Name', priorityValue: priorityClient.firstName, mergeValue: mergeClient.firstName, useMergeValue: null });\n }\n\n if (!isNullOrWhitespace(priorityClient.middleNames) && !isNullOrWhitespace(mergeClient.middleNames) && priorityClient.middleNames !== mergeClient.middleNames) {\n conflicts.push({ fieldName: 'middleNames', displayName: 'Middle Name(s)', priorityValue: priorityClient.middleNames, mergeValue: mergeClient.middleNames, useMergeValue: null });\n }\n\n if (!isNullOrWhitespace(priorityClient.lastName) && !isNullOrWhitespace(mergeClient.lastName) && priorityClient.lastName !== mergeClient.lastName) {\n conflicts.push({ fieldName: 'lastName', displayName: 'Last Name', priorityValue: priorityClient.lastName, mergeValue: mergeClient.lastName, useMergeValue: null });\n }\n\n if (priorityClient.dateOfBirth != null && mergeClient.dateOfBirth != null && priorityClient.dateOfBirth !== mergeClient.dateOfBirth) {\n conflicts.push({ fieldName: 'dateOfBirth', displayName: 'Date of Birth', priorityValue: convertDateToString(priorityClient.dateOfBirth), mergeValue: convertDateToString(mergeClient.dateOfBirth), useMergeValue: null });\n }\n\n if (!isNullOrWhitespace(priorityClient.email) && !isNullOrWhitespace(mergeClient.email) && priorityClient.email !== mergeClient.email) {\n conflicts.push({ fieldName: 'email', displayName: 'Email', priorityValue: priorityClient.email, mergeValue: mergeClient.email, useMergeValue: null });\n }\n\n if (!isNullOrWhitespace(priorityClient.telephone) && !isNullOrWhitespace(mergeClient.telephone) && priorityClient.telephone !== mergeClient.telephone) {\n conflicts.push({ fieldName: 'telephone', displayName: 'Telephone', priorityValue: priorityClient.telephone, mergeValue: mergeClient.telephone, useMergeValue: null });\n }\n\n if (!isNullOrWhitespace(priorityClient.mobile) && !isNullOrWhitespace(mergeClient.mobile) && priorityClient.mobile !== mergeClient.mobile) {\n conflicts.push({ fieldName: 'mobile', displayName: 'Mobile', priorityValue: priorityClient.mobile, mergeValue: mergeClient.mobile, useMergeValue: null });\n }\n\n if (!isNullOrWhitespace(priorityClient.occupation) && !isNullOrWhitespace(mergeClient.occupation) && priorityClient.occupation !== mergeClient.occupation) {\n conflicts.push({ fieldName: 'occupation', displayName: 'Occupation', priorityValue: priorityClient.occupation, mergeValue: mergeClient.occupation, useMergeValue: null });\n }\n\n if (!isNullOrWhitespace(priorityClient.nationalInsuranceNumber) && !isNullOrWhitespace(mergeClient.nationalInsuranceNumber) && priorityClient.nationalInsuranceNumber !== mergeClient.nationalInsuranceNumber) {\n conflicts.push({ fieldName: 'nationalInsuranceNumber', displayName: 'National Insurance Number', priorityValue: priorityClient.nationalInsuranceNumber, mergeValue: mergeClient.nationalInsuranceNumber, useMergeValue: null });\n }\n\n if (priorityClient.isSensitive !== mergeClient.isSensitive) {\n conflicts.push({ fieldName: 'isSensitive', displayName: 'Sesitive', priorityValue: convertBooleanToString(priorityClient.isSensitive), mergeValue: convertBooleanToString(mergeClient.isSensitive), useMergeValue: null });\n }\n\n if (priorityClient.hasCourtOfProtection !== mergeClient.hasCourtOfProtection) {\n conflicts.push({ fieldName: 'hasCourtOfProtection', displayName: 'Court of Protection', priorityValue: convertBooleanToString(priorityClient.hasCourtOfProtection), mergeValue: convertBooleanToString(mergeClient.hasCourtOfProtection), useMergeValue: null });\n }\n\n if (priorityClient.hasChildren != null && mergeClient.hasChildren != null && priorityClient.hasChildren !== mergeClient.hasChildren) {\n conflicts.push({ fieldName: 'hasChildren', displayName: 'Children', priorityValue: convertBooleanToString(priorityClient.hasChildren), mergeValue: convertBooleanToString(mergeClient.hasChildren), useMergeValue: null });\n }\n\n if (priorityClient.hasChildrenUnderEighteen != null && mergeClient.hasChildrenUnderEighteen != null && priorityClient.hasChildrenUnderEighteen !== mergeClient.hasChildrenUnderEighteen) {\n conflicts.push({ fieldName: 'hasChildrenUnderEighteen', displayName: 'Children Under 18', priorityValue: convertBooleanToString(priorityClient.hasChildrenUnderEighteen), mergeValue: convertBooleanToString(mergeClient.hasChildrenUnderEighteen), useMergeValue: null });\n }\n\n if (priorityClient.isHomeOwner != null && mergeClient.isHomeOwner != null && priorityClient.isHomeOwner !== mergeClient.isHomeOwner) {\n conflicts.push({ fieldName: 'isHomeOwner', displayName: 'Homeowner', priorityValue: convertBooleanToString(priorityClient.isHomeOwner), mergeValue: convertBooleanToString(mergeClient.isHomeOwner), useMergeValue: null });\n }\n\n if (priorityClient.isBusinessOwner != null && mergeClient.isBusinessOwner != null && priorityClient.isBusinessOwner !== mergeClient.isBusinessOwner) {\n conflicts.push({ fieldName: 'isBusinessOwner', displayName: 'Business Owner', priorityValue: convertBooleanToString(priorityClient.isBusinessOwner), mergeValue: convertBooleanToString(mergeClient.isBusinessOwner), useMergeValue: null });\n }\n\n if (priorityClient.estimatedEstateValue != null && mergeClient.estimatedEstateValue != null && priorityClient.estimatedEstateValue !== mergeClient.estimatedEstateValue) {\n conflicts.push({ fieldName: 'estimatedEstateValue', displayName: 'Estimated Estate Value', priorityValue: priorityClient.estimatedEstateValue, mergeValue: mergeClient.estimatedEstateValue, useMergeValue: null });\n }\n\n if (priorityClient.canPost !== mergeClient.canPost) {\n conflicts.push({ fieldName: 'canPost', displayName: 'Can Post', priorityValue: convertBooleanToString(priorityClient.canPost), mergeValue: convertBooleanToString(mergeClient.canPost), useMergeValue: null });\n }\n\n if (priorityClient.canSms !== mergeClient.canSms) {\n conflicts.push({ fieldName: 'canSms', displayName: 'Can SMS', priorityValue: convertBooleanToString(priorityClient.canSms), mergeValue: convertBooleanToString(mergeClient.canSms), useMergeValue: null });\n }\n\n if (priorityClient.canEmail !== mergeClient.canEmail) {\n conflicts.push({ fieldName: 'canEmail', displayName: 'Can Email', priorityValue: convertBooleanToString(priorityClient.canEmail), mergeValue: convertBooleanToString(mergeClient.canEmail), useMergeValue: null });\n }\n\n if (priorityClient.canTelephone !== mergeClient.canTelephone) {\n conflicts.push({ fieldName: 'canTelephone', displayName: 'Can Telephone', priorityValue: convertBooleanToString(priorityClient.canTelephone), mergeValue: convertBooleanToString(mergeClient.canTelephone), useMergeValue: null });\n }\n\n if (priorityClient.addressLine1 !== mergeClient.addressLine1 ||\n priorityClient.addressLine2 !== mergeClient.addressLine2 ||\n priorityClient.addressLine3 !== mergeClient.addressLine3 ||\n priorityClient.town !== mergeClient.town ||\n priorityClient.county !== mergeClient.county ||\n priorityClient.postcode !== mergeClient.postcode ||\n priorityClient.isForeignAddress !== mergeClient.isForeignAddress ||\n priorityClient.foreignAddress !== mergeClient.foreignAddress) {\n conflicts.push({ fieldName: 'clientAddress', displayName: 'Address', priorityValue: addressLine(priorityClient), mergeValue: addressLine(mergeClient), useMergeValue: null });\n }\n\n if (priorityClient.partner != null && mergeClient.partner != null && priorityClient.partner.id !== mergeClient.partner.id) {\n conflicts.push({ fieldName: 'clientPartner', displayName: 'Partner', priorityValue: clientPartnerDescription(priorityClient.partner), mergeValue: clientPartnerDescription(mergeClient.partner), useMergeValue: null });\n }\n\n return conflicts;\n}\n\nfunction isNullOrWhitespace(value?: string | null): boolean {\n if (value == null) {\n return true;\n }\n\n return value.trim().length < 1;\n}\n\nfunction earliestPowerOfAttorney(powerOfAttorneys: Array): ClientPowerOfAttorney | null {\n let earliest: ClientPowerOfAttorney | null = null;\n\n for (const powerOfAttorney of powerOfAttorneys) {\n if (earliest == null) {\n earliest = powerOfAttorney;\n continue;\n }\n\n if (powerOfAttorney.signatureDate != null && (earliest.signatureDate == null || powerOfAttorney.signatureDate < earliest.signatureDate)) {\n earliest = powerOfAttorney;\n }\n }\n\n return earliest;\n}\n\nfunction clientTitleTypeDescription(titleId: string | null): string {\n if (titleId == null) {\n return '';\n }\n\n const clientTitleTypes = store.getters['types/clientTitleTypes'] as Array;\n const clientTitleType = clientTitleTypes.find((type) => type.id === titleId);\n\n return clientTitleType == null ? '' : clientTitleType.value;\n}\n\nfunction clientStatusTypeDescription(accountStatusId: string | null): string {\n if (accountStatusId == null) {\n return '';\n }\n\n const clientStatusTypes = store.getters['types/clientStatusTypes'] as Array;\n const clientStatusType = clientStatusTypes.find((type) => type.id === accountStatusId);\n\n return clientStatusType == null ? '' : clientStatusType.value;\n}\n\nfunction clientRelationshipTypeDescription(relationshipStatusId: string | null): string {\n if (relationshipStatusId == null) {\n return '';\n }\n\n const clientRelationshipTypes = store.getters['types/clientRelationshipTypes'] as Array;\n const clientRelationshipType = clientRelationshipTypes.find((type) => type.id === relationshipStatusId);\n\n return clientRelationshipType == null ? '' : clientRelationshipType.value;\n}\n\nfunction clientPartnerDescription(clientPartner: ClientPartner): string {\n return `${clientPartner.accountNo} - ${clientPartner.firstName == null ? '' : clientPartner.firstName.trim()} ${clientPartner.lastName == null ? '' : clientPartner.lastName.trim()}`;\n}\n\nfunction convertDateToString(date: string | Date | null): string {\n if (date == null) {\n return '';\n }\n\n return date instanceof Date\n ? DateTime.fromJSDate(date, { zone: 'UTC' }).toLocal().setLocale('en-gb').toFormat('dd/MM/yyyy')\n : DateTime.fromISO(date, { zone: 'UTC' }).toLocal().setLocale('en-gb').toFormat('dd/MM/yyyy');\n}\n\nfunction convertBooleanToString(value: boolean | null): string {\n if (value == null) {\n return 'Unknown';\n }\n\n return value ? 'Yes' : 'No';\n}\n\nfunction addressLine(client: ClientAccount): string {\n if (client.isForeignAddress) {\n return client.foreignAddress!;\n }\n\n let formattedLine = `${client.addressLine1!.trim()},`;\n\n if (!isNullOrWhitespace(client.addressLine2)) {\n formattedLine += ` ${client.addressLine2!.trim()},`;\n }\n\n if (!isNullOrWhitespace(client.addressLine3)) {\n formattedLine += ` ${client.addressLine3!.trim()},`;\n }\n\n if (!isNullOrWhitespace(client.town)) {\n formattedLine += ` ${client.town!.trim()},`;\n }\n\n if (!isNullOrWhitespace(client.county)) {\n formattedLine += ` ${client.county!.trim()},`;\n }\n\n formattedLine += ` ${client.postcode!.trim()}`;\n\n return formattedLine;\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"link-partner-table\"},[_vm._m(0),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col\"},[_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"items\":_vm.clientPartners,\"fields\":_vm.clientPartnerFields,\"empty-text\":\"No client partners found.\"},scopedSlots:_vm._u([{key:\"cell(select)\",fn:function(ref){\nvar item = ref.item;\nreturn [(!_vm.isDisabled(item))?_c('b-form-checkbox',{model:{value:(item.selected),callback:function ($$v) {_vm.$set(item, \"selected\", $$v)},expression:\"item.selected\"}}):_vm._e()]}},{key:\"cell(name)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.clientFullName(item))+\"\\n \")]}},{key:\"cell(addressLine1)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(item.addressLine1)+\"\\n \")]}},{key:\"cell(postcode)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(item.postcode)+\"\\n \")]}},{key:\"cell(partnerPractice)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.partnerPracticeName(item.partnerPracticeId))+\"\\n \")]}},{key:\"cell(originalSource)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.originalSourceDescription(item))+\"\\n \")]}},{key:\"cell(documents)\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.will != null)?_c('div',[_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\"Will - \"+_vm._s(_vm.willTypeDescription(item.will))+\" - \"+_vm._s(_vm._f(\"date\")(item.will.date)))])],1):_vm._e(),_vm._l((item.powerOfAttorneys),function(powerOfAttorney){return _c('div',{key:powerOfAttorney.id},[_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\"Power of Attorney - \"+_vm._s(_vm.powerOfAttorneyTypeDescription(powerOfAttorney))),(powerOfAttorney.signatureDate != null)?_c('span',[_vm._v(\" - \"+_vm._s(_vm._f(\"date\")(powerOfAttorney.signatureDate)))]):_vm._e()])],1)}),(item.factFind != null)?_c('div',[_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\"Fact Find\")])],1):_vm._e(),_vm._l((item.deeds),function(deed){return _c('div',{key:deed.id},[_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(_vm._s(_vm.deedDescription(deed)))])],1)})]}},{key:\"cell(actions)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-btn',{attrs:{\"size\":\"sm\",\"variant\":\"light\",\"target\":\"_blank\",\"to\":{ name: 'view-client', params: { id: item.id } }}},[_c('svg',{staticClass:\"feather feather-external-link\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('path',{attrs:{\"d\":\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"}}),_c('polyline',{attrs:{\"points\":\"15 3 21 3 21 9\"}}),_c('line',{attrs:{\"x1\":\"10\",\"y1\":\"14\",\"x2\":\"21\",\"y2\":\"3\"}})]),_vm._v(\"\\n View\\n \")])]}}])})],1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col\"},[_c('h5',[_vm._v(\"Potential Partners\")])])])}]\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\nimport { ClientAccountDeed } from '@/shared/clients/client-account-deed';\nimport { ClientAccountDuplicate } from '@/shared/clients/client-account-duplicate';\nimport { ClientAccountWill } from '@/shared/clients/client-account-will';\nimport { ClientPowerOfAttorney } from '@/shared/clients/client-power-of-attorney';\nimport { ClientOriginalSourceType } from '@/shared/types/client-original-source-type';\nimport { PowerOfAttorneyType } from '@/shared/types/power-of-attorney-type';\nimport { WillType } from '@/shared/types/will-type';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\n\n@Component\nexport default class LinkPartnerTable extends Vue {\n @partnerPracticesModule.Getter('partnerPracticeName') private partnerPracticeName!: (partnerPracticeId: string | null) => string;\n\n @typesModule.Getter('clientOriginalSourceTypes') private clientOriginalSourceTypes!: Array;\n @typesModule.Getter('powerOfAttorneyTypes') private powerOfAttorneyTypes!: Array;\n @typesModule.Getter('willTypes') private willTypes!: Array;\n\n @Prop({ required: true }) private clientPartners!: Array;\n\n private get clientPartnerFields(): Array<{}> {\n return [\n { key: 'select', label: '' },\n { key: 'accountNo', label: 'Account No' },\n { key: 'name', label: 'Name' },\n { key: 'addressLine1', label: 'Address Line 1' },\n { key: 'postcode', label: 'Postcode' },\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'originalSource', label: 'Introducer' },\n { key: 'documents', label: 'Documents' },\n { key: 'actions', label: '' },\n ];\n }\n\n @Watch('clientPartners', { deep: true })\n private onClientPartnersChanged(): void {\n const selectedPartner = this.clientPartners.find((p) => p.selected);\n this.$emit('partner-changed', selectedPartner == null ? null : { ...selectedPartner });\n }\n\n private isDisabled(item: ClientAccountDuplicate & { selected: boolean }): boolean {\n return !item.selected && this.clientPartners.some((p) => p.selected);\n }\n\n private clientFullName(item: ClientAccountDuplicate & { selected: boolean }): string {\n return `${item.firstName != null ? item.firstName.trim() : ''} ${item.lastName != null ? item.lastName.trim() : ''}`;\n }\n\n private originalSourceDescription(item: ClientAccountDuplicate & { selected: boolean }): string {\n const clientOriginalSourceType = this.clientOriginalSourceTypes.find((type) => type.id === item.originalSourceId!);\n return clientOriginalSourceType != null ? clientOriginalSourceType.value : '';\n }\n\n private willTypeDescription(will: ClientAccountWill): string {\n const willType = this.willTypes.find((type) => type.id === will.willTypeId);\n return willType == null ? '' : willType.value;\n }\n\n private powerOfAttorneyTypeDescription(powerOfAttorney: ClientPowerOfAttorney): string {\n const powerOfAttorneyType = this.powerOfAttorneyTypes.find((type) => type.id === powerOfAttorney.powerOfAttorneyTypeId);\n return powerOfAttorneyType == null ? '' : powerOfAttorneyType.value;\n }\n\n private deedDescription(deed: ClientAccountDeed): string {\n return `Deed - ${deed.addressLine1}, ${deed.postcode}`;\n }\n\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./link-partner-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./link-partner-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./link-partner-table.vue?vue&type=template&id=5183634c&\"\nimport script from \"./link-partner-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./link-partner-table.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\nimport { ClientAccountsApi } from '@/api/client-accounts';\nimport { ManageDuplicateApi } from '@/api/manage-duplicate';\nimport { MergeApi } from '@/api/merge';\nimport { ClientMergeRequest } from '@/api/requests/merge/client-merge-request';\nimport clientAccountSummary from '@/components/data-management/duplicate-clients/client-account-summary.vue';\nimport clientDuplicateTable from '@/components/data-management/duplicate-clients/client-duplicate-table.vue';\nimport clientMergeConflicts from '@/components/data-management/duplicate-clients/client-merge-conflicts.vue';\nimport { findMergeConflicts, findPriorityClientAccount } from '@/components/data-management/duplicate-clients/duplicate-client-utilities';\nimport linkPartnerTable from '@/components/data-management/duplicate-clients/link-partner-table.vue';\nimport loading from '@/components/loading.vue';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientAccountDuplicate } from '@/shared/clients/client-account-duplicate';\nimport { ClientMergeConflict } from '@/shared/data-management/client-merge-conflict';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\nconst clientApi = new ClientAccountsApi();\nconst manageDuplicateApi = new ManageDuplicateApi();\nconst mergeApi = new MergeApi();\n\n@Component({\n components: {\n clientAccountSummary,\n clientDuplicateTable,\n clientMergeConflicts,\n linkPartnerTable,\n loading,\n },\n})\nexport default class ClientMergeDialog extends Vue {\n @Prop({ required: true }) private visible!: boolean;\n @Prop({ required: false, default: null }) private client!: ClientAccount | null;\n @Prop({ required: false, default: false }) private manualMerge!: boolean;\n\n private isVisible: boolean = this.visible;\n private isManualMerge: boolean = this.manualMerge;\n private isLoading: boolean = true;\n private isMerging: boolean = false;\n private currentStep: number = 0;\n private clientsCompleted: boolean = false;\n private linkPartnersCompleted: boolean = false;\n private manualMergeErrorMessage: string | null = null;\n private clientDuplicates: Array = new Array();\n private clientPartners: Array = new Array();\n private clientAccountOne: ClientAccount | null = null;\n private clientAccountTwo: ClientAccount | null = null;\n private clientPartner: ClientAccount | null = null;\n private priorityClientAccount: ClientAccount | null = null;\n private mergeClientAccount: ClientAccount | null = null;\n private mergeConflicts: Array = new Array();\n private mergeLog: Array = new Array();\n\n private get maxSteps(): number {\n return this.mergeConflicts.length ? 3 : 2;\n }\n\n private get showPrevious(): boolean {\n if (this.currentStep === 1 && (this.clientDuplicates.length || this.isManualMerge)) {\n return true;\n }\n\n if (this.currentStep === 2 && this.clientPartner == null && this.clientPartners.length) {\n return true;\n }\n\n return false;\n }\n\n private get isNextDisabled(): boolean {\n let currentStep = this.currentStep;\n\n if (currentStep > 0 && !this.mergeConflicts.length) {\n currentStep++;\n }\n\n switch (currentStep) {\n case 0: // Clients\n return this.isManualMerge ? this.manualMergeInvalid : false;\n\n case 1: // Merge Client\n return this.mergeConflicts.length ? this.mergeConflicts.some((c) => c.useMergeValue == null) : false;\n\n default:\n return false;\n }\n }\n\n private get nextTitle(): string {\n let currentStep = this.currentStep;\n\n if (currentStep > 0 && !this.mergeConflicts.length) {\n currentStep++;\n }\n\n switch (currentStep) {\n case 0: // Clients\n return this.clientAccountOne != null && this.clientAccountTwo != null ? 'Merge' : 'Next';\n case 1: // Merge Client\n return 'Merge';\n case 2: // Link Partners\n return this.clientAccountOne != null && this.clientPartner != null ? 'Link' : 'Next';\n default:\n return 'Next';\n }\n }\n\n private get manualMergeInvalid(): boolean {\n this.manualMergeErrorMessage = null;\n\n if (this.clientAccountOne == null || this.clientAccountTwo == null) {\n return true;\n }\n\n if (this.clientAccountOne!.id! === this.clientAccountTwo!.id!) {\n this.manualMergeErrorMessage = `'Client Account 1' and 'Client Account 2' cannot be the same.`;\n return true;\n }\n\n if (this.clientAccountOne!.partner != null && this.clientAccountOne.partner.id! === this.clientAccountTwo!.id!) {\n this.manualMergeErrorMessage = `Client Account 1' and 'Client Account 2' cannot be linked.`;\n return true;\n }\n\n if (this.clientAccountOne!.partnerPracticeId! !== '00000000-0000-0000-0000-000000000000' &&\n this.clientAccountTwo!.partnerPracticeId! !== '00000000-0000-0000-0000-000000000000' &&\n this.clientAccountOne.partnerPracticeId !== this.clientAccountTwo.partnerPracticeId) {\n this.manualMergeErrorMessage = `'Client Account 1' and 'Client Account 2' must be assigned to the same partner practice.`;\n return true;\n }\n\n return false;\n }\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.$validator.errors.clear();\n this.isVisible = visible;\n }\n\n @Watch('manualMerge')\n private onManualMergeChanged(manualMerge: boolean): void {\n this.isManualMerge = manualMerge;\n }\n\n private async onNextAsync(): Promise {\n let currentStep: number = this.currentStep;\n\n if (currentStep > 0 && !this.mergeConflicts.length) {\n currentStep++;\n }\n\n switch (currentStep) {\n case 0: // Clients\n if (this.isManualMerge && (!await (this.$refs.clientAccountOne as Vue).$validator.validateAll('client-details') || !await (this.$refs.clientAccountTwo as Vue).$validator.validateAll('client-details'))) {\n return;\n }\n\n this.clientsCompleted = true;\n\n if (this.clientAccountOne == null || this.clientAccountTwo == null) {\n break;\n }\n\n if (!this.mergeConflicts.length) {\n await this.onMergeAsync();\n return;\n }\n\n break;\n\n case 1: // Merge Client\n if (!(await (this.$refs.clientMergeConflicts as Vue).$validator.validateAll('merge-conflicts'))) {\n return;\n }\n\n await this.onMergeAsync();\n return;\n\n case 2: // Link Partners\n this.linkPartnersCompleted = true;\n\n if (this.clientAccountOne == null || this.clientPartner == null) {\n break;\n }\n\n await this.onLinkAsync();\n break;\n }\n\n setTimeout(() => { this.currentStep++; }, 0);\n }\n\n private async onMergeAsync(): Promise {\n this.isMerging = true;\n\n try {\n const request: ClientMergeRequest = {\n priorityClientId: this.priorityClientAccount!.id!,\n mergeClientId: this.mergeClientAccount!.id!,\n selectedMergeValues: this.mergeConflicts\n .filter((conflict) => conflict.useMergeValue)\n .map((conflict) => conflict.fieldName[0].toUpperCase() + conflict.fieldName.substring(1)),\n };\n\n await mergeApi.mergeClientAsync(request);\n this.$snackbar.open({ message: `Client account ${this.priorityClientAccount!.accountNo} and client account ${this.mergeClientAccount!.accountNo} merged successfully.`, type: 'is-success' });\n\n const priorityClientDescription: string = `${this.priorityClientAccount!.accountNo} - ${this.priorityClientAccount!.firstName!.trim()} ${this.priorityClientAccount!.lastName!.trim()}`;\n const mergeClientDescription: string = `${this.mergeClientAccount!.accountNo} - ${this.mergeClientAccount!.firstName!.trim()} ${this.mergeClientAccount!.lastName!.trim()}`;\n this.mergeLog.push(`Client account '${priorityClientDescription}' merged with account '${mergeClientDescription}'.`);\n\n\n await this.resetAfterMergeAsync();\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not merge clients, please try again.', type: 'is-danger' });\n }\n }\n\n this.isMerging = false;\n }\n\n private async onLinkAsync(): Promise {\n this.isMerging = true;\n\n try {\n await clientApi.assignClientPartnerAsync({ ...this.clientAccountOne! }, this.clientPartner!.id!);\n this.$snackbar.open({ message: `Client account ${this.clientAccountOne!.accountNo} and client account ${this.clientPartner!.accountNo} linked successfully.`, type: 'is-success' });\n\n const clientDescription: string = `${this.clientAccountOne!.accountNo} - ${this.clientAccountOne!.firstName!.trim()} ${this.clientAccountOne!.lastName!.trim()}`;\n const partnerDescription: string = `${this.clientPartner!.accountNo} - ${this.clientPartner!.firstName!.trim()} ${this.clientPartner!.lastName!.trim()}`;\n this.mergeLog.push(`Client account '${clientDescription}' linked with account '${partnerDescription}'.`);\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not link clients, please try again.', type: 'is-danger' });\n }\n }\n\n this.isMerging = false;\n }\n\n private async onCompleteAsync(): Promise {\n this.isMerging = true;\n\n try {\n await mergeApi.mergeCompleteAsync(this.clientAccountOne!.id!);\n this.$emit('cancel');\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not complete client merge, please try again.', type: 'is-danger' });\n }\n }\n\n this.isMerging = false;\n }\n\n private onPrevious(): void {\n this.currentStep--;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n\n private async fetchPotentialDuplicatesAsync(clientId: string): Promise {\n this.clientAccountOne = await clientApi.getClientAccountByIdAsync(clientId);\n\n const clientDuplicates = await manageDuplicateApi.getDuplicateClientsByIdAsync(clientId, { excludeLinkedClients: false });\n\n this.clientDuplicates = clientDuplicates.length\n ? clientDuplicates\n .map((client) => this.createClientDuplicate(client))\n .sort((c1, c2) => {\n if (c1.matchPercent! < c2.matchPercent!) { return 1; }\n if (c1.matchPercent! > c2.matchPercent!) { return -1; }\n return 0;\n })\n : [];\n\n if (this.clientAccountOne.partner != null) {\n this.clientPartners = [];\n return;\n }\n\n const clientPartners = await manageDuplicateApi.getDuplicateClientsByIdAsync(clientId, { excludeLinkedClients: true });\n\n this.clientPartners = clientPartners.length\n ? clientPartners.map((client) => this.createClientDuplicate(client))\n : [];\n }\n\n private async resetAfterMergeAsync(): Promise {\n const priorityClientAccountId = this.priorityClientAccount!.id!;\n\n this.clientAccountOne = null;\n this.clientAccountTwo = null;\n this.priorityClientAccount = null;\n this.mergeClientAccount = null;\n this.mergeConflicts = [];\n\n this.isManualMerge = false;\n this.currentStep = 0;\n\n this.isLoading = true;\n await this.fetchPotentialDuplicatesAsync(priorityClientAccountId);\n this.isLoading = false;\n\n if (!this.clientDuplicates.length) {\n await this.onNextAsync();\n }\n }\n\n private createClientDuplicate(client: ClientAccountDuplicate): ClientAccountDuplicate & { selected: boolean } {\n return {\n ...client,\n partner: client.partner == null ? null : { ...client.partner },\n factFind: client.factFind == null ? null : { ...client.factFind },\n will: client.will == null ? null : { ...client.will },\n powerOfAttorneys: [...client.powerOfAttorneys],\n deeds: [...client.deeds],\n selected: false,\n };\n }\n\n private async onClientAccountOneChangedAsync(client: ClientAccount | null): Promise {\n this.clientAccountOne = client == null ? null : await clientApi.getClientAccountByIdAsync(client.id!);\n this.resetPriorityAndConflicts();\n }\n\n private async onClientAccountTwoChangedAsync(client: ClientAccount | null): Promise {\n this.clientAccountTwo = client == null ? null : await clientApi.getClientAccountByIdAsync(client.id!);\n this.resetPriorityAndConflicts();\n }\n\n private async onClientPartnerChangedAsync(client: ClientAccount | null): Promise {\n this.clientPartner = client;\n }\n\n private resetPriorityAndConflicts(): void {\n this.priorityClientAccount = null;\n this.mergeClientAccount = null;\n this.mergeConflicts = [];\n\n if (this.clientAccountOne == null || this.clientAccountTwo == null) {\n return;\n }\n\n const priorityClientAccountId = findPriorityClientAccount(this.clientAccountOne, this.clientAccountTwo);\n\n this.priorityClientAccount = this.clientAccountOne.id! === priorityClientAccountId ? this.clientAccountOne : this.clientAccountTwo;\n this.mergeClientAccount = this.clientAccountOne.id! === priorityClientAccountId ? this.clientAccountTwo : this.clientAccountOne;\n\n this.mergeConflicts = findMergeConflicts(this.priorityClientAccount, this.mergeClientAccount);\n }\n\n private async mounted(): Promise {\n if (this.client == null) {\n this.isLoading = false;\n return;\n }\n\n this.isLoading = true;\n await this.fetchPotentialDuplicatesAsync(this.client.id!);\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./client-merge-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./client-merge-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./client-merge-dialog.vue?vue&type=template&id=f5998be4&\"\nimport script from \"./client-merge-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./client-merge-dialog.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\nimport { ManageDuplicateApi } from '@/api/manage-duplicate';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport mergeClientDialog from '@/components/data-management/duplicate-clients/client-merge-dialog.vue';\nimport loading from '@/components/loading.vue';\nimport layout from '@/layouts/app.vue';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { ClientOriginalSourceType } from '@/shared/types/client-original-source-type';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\n\nconst manageDuplicateApi = new ManageDuplicateApi();\n\n@Component({\n components: {\n layout,\n loading,\n mergeClientDialog,\n },\n})\nexport default class ManageDuplicateClients extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n @partnerPracticesModule.Getter('partnerPracticeName') private partnerPracticeName!: (partnerPracticeId: string | null) => string;\n @partnerPracticesModule.Getter('partnerPracticeOriginalSourceTypes') private partnerPracticeOriginalSourceTypes!: (partnerPracticeId: string | null) => Array;\n\n @typesModule.Getter('clientOriginalSourceTypeDescription') private clientOriginalSourceTypeDescription!: (originalSourceTypeId: string | null) => string;\n\n private clients: Array = new Array();\n private selectedClient: ClientAccount | null = null;\n private loading: boolean = false;\n private selectedPartnerPracticeId: string | null = null;\n private selectedOriginalSourceTypeId: string | null = null;\n private currentPage: number = 1;\n private pageSize: number = 100;\n private emptyText: string = 'Please enter some search filters and click Filter to show duplicate clients';\n private showMergeClientDialog: boolean = false;\n private isManualMerge: boolean = false;\n private clientFields: Array<{}> = [\n { key: 'accountNo', label: 'Account Number' },\n { key: 'name', label: 'Name' },\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'originalSource', label: 'Introducer' },\n { key: 'actions', label: '', class: 'col-1', tdClass: 'text-right' },\n ];\n\n private get totalRows(): number {\n return this.clients.length;\n }\n\n private get paginationDescription(): string {\n const start = (this.clients.length < 1)\n ? 0\n : ((this.currentPage - 1) * this.pageSize) + 1;\n\n const end = start + this.pageSize > this.totalRows\n ? this.totalRows\n : start + this.pageSize - 1;\n\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.totalRows.toLocaleString()}`;\n }\n\n @Watch('selectedPartnerPracticeTypeId')\n private async onSelectedPartnerPracticeTypeIdChanged(): Promise {\n this.selectedOriginalSourceTypeId = null;\n }\n\n private clientName(client: ClientAccount): string {\n return `${client.firstName != null ? client.firstName.trim() : ''} ${client.lastName != null ? client.lastName.trim() : ''}`;\n }\n\n private async onLoadClientDuplicatesAsync(): Promise {\n const isValid = await this.$validator.validateAll('partner-practice-select');\n\n if (!isValid) {\n return;\n }\n\n this.loading = true;\n\n try {\n this.emptyText = 'No duplicate clients found matching the search filters';\n\n this.clients = await manageDuplicateApi.getDuplicateClientsAsync({\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.selectedPartnerPracticeId,\n originalSourceId: this.selectedOriginalSourceTypeId,\n });\n } catch (e) {\n if (e instanceof (Forbidden)) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: 'Could not load duplicate clients.', type: 'is-danger' });\n }\n }\n\n this.loading = false;\n }\n\n private onShowMergeClientDialog(client: ClientAccount): void {\n this.selectedClient = client;\n this.isManualMerge = false;\n this.showMergeClientDialog = true;\n }\n\n private onShowManualMergeClientDialog() {\n this.selectedClient = null;\n this.isManualMerge = true;\n this.showMergeClientDialog = true;\n }\n\n private async onCancel(): Promise {\n this.selectedClient = null;\n this.showMergeClientDialog = false;\n await this.onLoadClientDuplicatesAsync();\n }\n\n private onClearFilters(): void {\n this.selectedPartnerPracticeId = null;\n this.selectedOriginalSourceTypeId = null;\n }\n\n public async mounted(): Promise {\n this.loading = true;\n\n const types = [\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n ];\n\n await Promise.all(types);\n\n this.loading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manage-duplicate-clients.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manage-duplicate-clients.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./manage-duplicate-clients.vue?vue&type=template&id=73e4b70c&\"\nimport script from \"./manage-duplicate-clients.vue?vue&type=script&lang=ts&\"\nexport * from \"./manage-duplicate-clients.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:\"data-imports\"},[_c('div',{staticClass:\"row pb-3 align-items-center justify-content-between\"},[_vm._m(0),_c('div',{staticClass:\"col text-right\"},[_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onUploadFile}},[_vm._v(\"Upload File\")])],1)]),_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading data imports, please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"type-filter\"}},[_vm._v(\"Type:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.typeFilter),expression:\"typeFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"type-filter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.typeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.dataImportFileTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2)])]),_c('div',{staticClass:\"col-sm-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true,\"rlg-data\":true},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"status-filter\"}},[_vm._v(\"Status:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.statusFilter),expression:\"statusFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"status-filter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.statusFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.dataImportFileStatuses),function(status){return _c('option',{key:status.id,domProps:{\"value\":status.id}},[_vm._v(_vm._s(status.value))])})],2)])]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-btn',{staticClass:\"form-control\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onFilterAsync}},[_vm._v(\"Filter\")])],1)]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('a',{staticClass:\"btn btn-link form-control px-0\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.onClearFilters}},[_vm._v(\"Clear Filters\")])])])]),_c('div',{staticClass:\"row pt-3 align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('data-imports-table',{attrs:{\"data-import-files\":_vm.dataImportFiles,\"page\":_vm.currentPage,\"page-size\":_vm.pageSize,\"total\":_vm.totalDataImportFiles},on:{\"page-changed\":_vm.onPageChangedAsync},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar dataImportFile = ref.dataImportFile;\nreturn [_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onViewDataImport(dataImportFile)}}},[_vm._v(\"Details\")]),(dataImportFile.outputFilename != null && dataImportFile.outputFilename.length > 0)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onDownloadValidationFileAsync(dataImportFile)}}},[_vm._v(\"Download Validation File\")]):_vm._e()],1)]}}])})],1)])])],1),(_vm.showAddDataImportDialog)?_c('add-data-import-dialog',{attrs:{\"visible\":_vm.showAddDataImportDialog},on:{\"ok\":_vm.onDataImportFileUploadedAsync,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.showViewDataImportDialog && _vm.selectedDataImportFile != null)?_c('view-data-import-dialog',{attrs:{\"visible\":_vm.showViewDataImportDialog,\"data-import-file\":_vm.selectedDataImportFile},on:{\"cancel\":_vm.onCancel}}):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col\"},[_c('h2',[_vm._v(\"Data Import\")])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Import File\",\"size\":\"lg\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"form-group\",class:{ 'is-invalid': _vm.errors.has('data-import-file.filename') }},[_c('label',{attrs:{\"for\":\"filename\"}},[_vm._v(\"File\")]),_c('b-form-file',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],ref:\"dataImportFile\",attrs:{\"placeholder\":\"Choose a file...\",\"accept\":\".xls, .xlsx\",\"name\":\"filename\",\"id\":\"filename\",\"data-vv-scope\":\"data-import-file\",\"data-vv-as\":\"file\"},model:{value:(_vm.dataImportFile),callback:function ($$v) {_vm.dataImportFile=$$v},expression:\"dataImportFile\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('data-import-file.filename')),expression:\"errors.has('data-import-file.filename')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('data-import-file.filename')))])],1),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"type\"}},[_vm._v(\"Type\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedType),expression:\"selectedType\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('data-import-file.type') },attrs:{\"name\":\"type\",\"id\":\"type\",\"data-vv-scope\":\"data-import-file\",\"data-vv-as\":\"type\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedType=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_c('option',{domProps:{\"value\":0}},[_vm._v(\"New Data\")]),_c('option',{domProps:{\"value\":1}},[_vm._v(\"Cleansed Data\")]),_c('option',{domProps:{\"value\":2}},[_vm._v(\"Pipeline Data\")])]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('data-import-file.type')),expression:\"errors.has('data-import-file.type')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('data-import-file.type')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"partner-practice\"}},[_vm._v(\"Assigned To\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedPartnerPracticeId),expression:\"selectedPartnerPracticeId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('data-import-file.partner-practice') },attrs:{\"name\":\"partner-practice\",\"id\":\"partner-practice\",\"data-vv-scope\":\"data-import-file\",\"data-vv-as\":\"assigned to\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedPartnerPracticeId=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_c('option',{attrs:{\"value\":\"00000000-0000-0000-0000-000000000000\"}},[_vm._v(\"RLG Data\")]),_vm._l((_vm.partnerPracticeTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('data-import-file.partner-practice')),expression:\"errors.has('data-import-file.partner-practice')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('data-import-file.partner-practice')))])],2)]),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isBusy},on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isBusy},on:{\"click\":_vm.onImportFileAsync}},[_vm._v(\"Import\")])],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { ImportApi } from '@/api/import';\nimport { PartnerPracticeType } from '@/shared/types/partner-practice-type';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\n\nconst importApi = new ImportApi();\n\n@Component\nexport default class AddDataImportDialog extends Vue {\n @typesModule.Getter('activePartnerPracticeTypesForCurrentUser') private partnerPracticeTypes!: Array;\n @Prop({ required: true }) private visible!: boolean;\n\n private isVisible: boolean = this.visible;\n private isBusy: boolean = false;\n private dataImportFile: File | null = null;\n private selectedType: number | null = null;\n private selectedPartnerPracticeId: string | null = null;\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.isVisible = visible;\n }\n\n private async onImportFileAsync(): Promise {\n if (!(await this.$validator.validateAll('data-import-file'))) {\n return;\n }\n\n this.isBusy = true;\n\n try {\n await importApi.uploadDataImportFileAsync(this.dataImportFile!, {\n type: this.selectedType!,\n partnerPracticeId: this.selectedPartnerPracticeId!,\n });\n\n this.$emit('ok', this.dataImportFile!.name);\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not upload the data import file '${this.dataImportFile!.name}'. Please try again.`, type: 'is-danger' });\n }\n }\n\n this.isBusy = false;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-data-import-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-data-import-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./add-data-import-dialog.vue?vue&type=template&id=7bfe23c6&\"\nimport script from \"./add-data-import-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./add-data-import-dialog.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:\"data-import-table\"},[_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"items\":_vm.dataImportFiles,\"fields\":_vm.dataImportFileFields,\"no-provider-paging\":true,\"empty-text\":\"No data import files found.\"},scopedSlots:_vm._u([{key:\"cell(status)\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.status === 0)?_c('b-badge',{attrs:{\"variant\":\"info\"}},[_vm._v(\"Pending\")]):_vm._e(),(item.status === 1)?_c('b-badge',{attrs:{\"variant\":\"warning\"}},[_vm._v(\"In Progress\")]):_vm._e(),(item.status === 2)?_c('b-badge',{attrs:{\"variant\":\"danger\"}},[_vm._v(\"Failed\")]):_vm._e(),(item.status === 3)?_c('b-badge',{attrs:{\"variant\":\"success\"}},[_vm._v(\"Succeeded\")]):_vm._e()]}},{key:\"cell(type)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.typeDescription(item.type))+\"\\n \")]}},{key:\"cell(partnerPractice)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.partnerPracticeName(item.partnerPracticeId))+\"\\n \")]}},{key:\"cell(createdBy)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.userDescription(item.createdBy))+\"\\n \")]}},{key:\"cell(createdDate)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.createdDate))+\"\\n \")]}},{key:\"cell(createdTime)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"time\")(item.createdDate))+\"\\n \")]}},{key:\"cell(actions)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._t(\"actions\",null,{\"dataImportFile\":item})]}}],null,true)}),_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.total,\"per-page\":_vm.pageSize},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}),_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))])],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\nimport { DataImportFile } from '@/shared/data-import-file';\nimport { User } from '@/shared/user';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst usersModule = namespace('users');\n\n@Component\nexport default class DataImportsTable extends Vue {\n @partnerPracticesModule.Getter('partnerPracticeName') private partnerPracticeName!: (partnerPracticeId: string | null) => string;\n\n @usersModule.Getter('users') private users!: Array;\n\n @Prop({ required: true }) private dataImportFiles!: Array;\n @Prop({ required: true }) private page!: number;\n @Prop({ required: true }) private pageSize!: number;\n @Prop({ required: true }) private total!: number;\n\n private currentPage: number = this.page;\n\n private get dataImportFileFields(): Array<{}> {\n return [\n { key: 'status', label: 'Status' },\n { key: 'filename', label: 'Filename' },\n { key: 'type', label: 'Type' },\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'createdBy', label: 'Upload By' },\n { key: 'createdDate', label: 'Upload Date' },\n { key: 'createdTime', label: 'Upload Time' },\n { key: 'successfulRows', label: 'Imported Records' },\n { key: 'failedRows', label: 'Failed Records' },\n { key: 'actions', label: '', class: 'col-1', tdClass: 'text-right' },\n ];\n }\n\n private get paginationDescription(): string {\n const start = this.dataImportFiles.length < 1 ? 0 : ((this.currentPage - 1) * this.pageSize) + 1;\n const end = start + this.pageSize > this.total ? this.total : start + this.pageSize - 1;\n\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.total.toLocaleString()}`;\n }\n\n @Watch('page')\n private onPageChanged(page: number): void {\n this.currentPage = page;\n }\n\n @Watch('currentPage')\n private onCurrentPageChanged(): void {\n this.$emit('page-changed', this.currentPage);\n }\n\n private typeDescription(type: number): string {\n switch (type) {\n case 0:\n return 'New Data';\n case 1:\n return 'Cleansed Data';\n case 2:\n return 'Pipeline Data';\n default:\n return '';\n }\n }\n\n private userDescription(userId: string): string {\n const user = this.users.find((u) => u.id === userId);\n return user == null ? '' : `${user.firstName == null ? '' : user.firstName.trim()} ${user.lastName == null ? '' : user.lastName.trim()}`;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./data-imports-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./data-imports-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./data-imports-table.vue?vue&type=template&id=262e0dab&\"\nimport script from \"./data-imports-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./data-imports-table.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('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Data Import File\",\"size\":\"lg\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"filename\"}},[_vm._v(\"Filename\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"filename\"}},[_vm._v(_vm._s(_vm.dataImportFile.filename))])])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"status\"}},[_vm._v(\"Status\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"status\"}},[_vm._v(_vm._s(_vm.statusDescription))])])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"type\"}},[_vm._v(\"Type\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"type\"}},[_vm._v(_vm._s(_vm.typeDescription))])])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"partner-practice\"}},[_vm._v(\"Assigned To\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"partner-practice\"}},[_vm._v(_vm._s(_vm.partnerPracticeName(_vm.dataImportFile.partnerPracticeId)))])])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"upload-user\"}},[_vm._v(\"Upload By\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"upload-user\"}},[_vm._v(_vm._s(_vm.userDescription))])])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"upload-date\"}},[_vm._v(\"Upload Date\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"upload-date\"}},[_vm._v(_vm._s(_vm._f(\"date\")(_vm.dataImportFile.createdDate)))])]),_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"upload-time\"}},[_vm._v(\"Upload Time\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"upload-time\"}},[_vm._v(_vm._s(_vm._f(\"time\")(_vm.dataImportFile.createdDate)))])])]),(_vm.dataImportFile.status === 3)?_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"number-of-imported\"}},[_vm._v(\"Imported Records\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"number-of-imported\"}},[_vm._v(_vm._s(_vm.dataImportFile.successfulRows))])]),_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"number-of-failed\"}},[_vm._v(\"Failed Records\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"number-of-failed\"}},[_vm._v(_vm._s(_vm.dataImportFile.failedRows))])])]):_vm._e(),(_vm.dataImportFile.status === 2)?_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"failure-reason\"}},[_vm._v(\"Reason for Failure\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataImportFile.importFailureReason),expression:\"dataImportFile.importFailureReason\"}],staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"failure-reason\"},domProps:{\"value\":(_vm.dataImportFile.importFailureReason)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.dataImportFile, \"importFailureReason\", $event.target.value)}}})])]):_vm._e(),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{on:{\"click\":_vm.onCancel}},[_vm._v(\"Close\")])],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { DataImportFile } from '@/shared/data-import-file';\nimport { User } from '@/shared/user';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst usersModule = namespace('users');\n\n@Component\nexport default class ViewDataImportDialog extends Vue {\n @partnerPracticesModule.Getter('partnerPracticeName') private partnerPracticeName!: (partnerPracticeId: string | null) => string;\n\n @usersModule.Getter('users') private users!: Array;\n\n @Prop({ required: true }) private visible!: boolean;\n @Prop({ required: true }) private dataImportFile!: DataImportFile;\n\n private isVisible: boolean = this.visible;\n\n private get statusDescription(): string {\n switch (this.dataImportFile.status) {\n case 0:\n return 'Pending';\n case 1:\n return 'In Progress';\n case 2:\n return 'Failed';\n case 3:\n return 'Succeeded';\n default:\n return '';\n }\n }\n\n private get typeDescription(): string {\n switch (this.dataImportFile.type) {\n case 0:\n return 'New Data';\n case 1:\n return 'Cleansed Data';\n case 2:\n return 'Pipeline Data';\n default:\n return '';\n }\n }\n\n private get userDescription(): string {\n const user = this.users.find((u) => u.id === this.dataImportFile.createdBy);\n return user == null ? '' : `${user.firstName == null ? '' : user.firstName.trim()} ${user.lastName == null ? '' : user.lastName.trim()}`;\n }\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.isVisible = visible;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./view-data-import-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./view-data-import-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./view-data-import-dialog.vue?vue&type=template&id=54893d35&\"\nimport script from \"./view-data-import-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./view-data-import-dialog.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\nimport { ImportApi } from '@/api/import';\nimport addDataImportDialog from '@/components/data/data-import/add-data-import-dialog.vue';\nimport dataImportsTable from '@/components/data/data-import/data-imports-table.vue';\nimport viewDataImportDialog from '@/components/data/data-import/view-data-import-dialog.vue';\nimport loading from '@/components/loading.vue';\nimport { DataImportFile } from '@/shared/data-import-file';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { Component, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst importModule = namespace('import');\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\n\nconst importApi = new ImportApi();\n\n@Component({\n components: {\n addDataImportDialog,\n dataImportsTable,\n viewDataImportDialog,\n loading,\n },\n})\nexport default class DataImports extends Vue {\n @importModule.Getter('dataImportFiles') private dataImportFiles!: Array;\n @importModule.Getter('totalDataImportFiles') private totalDataImportFiles!: number;\n\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n\n private isLoading: boolean = false;\n private currentPage: number = 1;\n private pageSize: number = 25;\n private typeFilter: number | null = null;\n private partnerPracticeFilter: string | null = null;\n private statusFilter: number | null = null;\n private showAddDataImportDialog: boolean = false;\n private showViewDataImportDialog: boolean = false;\n private selectedDataImportFile: DataImportFile | null = null;\n\n private dataImportFileTypes: Array<{ id: number, value: string }> = [\n { id: 0, value: 'New Data' },\n { id: 1, value: 'Cleansed Data' },\n { id: 2, value: 'Pipeline Data' },\n ];\n\n private dataImportFileStatuses: Array<{ id: number, value: string }> = [\n { id: 0, value: 'Pending' },\n { id: 1, value: 'In Progress' },\n { id: 2, value: 'Failed' },\n { id: 3, value: 'Succeeded' },\n ];\n\n private async loadDataImportFilesAsync(): Promise {\n this.isLoading = true;\n\n await this.$store.dispatch('import/setDataImportFileFilters', {\n page: this.currentPage,\n pageSize: this.pageSize,\n type: this.typeFilter,\n partnerPracticeId: this.partnerPracticeFilter,\n status: this.statusFilter,\n });\n\n await this.$store.dispatch('import/loadDataImportFilesAsync');\n\n this.isLoading = false;\n }\n\n private async onFilterAsync(): Promise {\n this.currentPage = 1;\n await this.loadDataImportFilesAsync();\n }\n\n private async onPageChangedAsync(page: number): Promise {\n this.currentPage = page;\n await this.loadDataImportFilesAsync();\n }\n\n private async onDownloadValidationFileAsync(dataImportFile: DataImportFile): Promise {\n const response = await importApi.getDataImportValidationFileAsync(dataImportFile.id);\n\n const blob = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n const link = document.createElement('a');\n link.rel = 'noopener';\n link.href = window.URL.createObjectURL(blob);\n link.download = `${dataImportFile.outputFilename}`;\n link.target = '_blank';\n link.click();\n window.URL.revokeObjectURL(link.href);\n }\n\n private async onDataImportFileUploadedAsync(filename: string): Promise {\n this.$snackbar.open({ message: `Data import file '${filename}' has been successfully uploaded and added to the import queue.`, type: 'is-success' });\n\n this.onCancel();\n await this.loadDataImportFilesAsync();\n }\n\n private onClearFilters(): void {\n this.typeFilter = null;\n this.partnerPracticeFilter = null;\n this.statusFilter = null;\n }\n\n private onUploadFile(): void {\n this.showAddDataImportDialog = true;\n }\n\n private onViewDataImport(dataImportFile: DataImportFile): void {\n this.selectedDataImportFile = { ...dataImportFile };\n this.showViewDataImportDialog = true;\n }\n\n private onCancel(): void {\n this.selectedDataImportFile = null;\n this.showAddDataImportDialog = false;\n this.showViewDataImportDialog = false;\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`import/resetDataImportFiles`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n this.$store.dispatch(`users/loadAllUsersAsync`),\n ]);\n\n await this.loadDataImportFilesAsync();\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./data-imports.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./data-imports.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./data-imports.vue?vue&type=template&id=2176431d&\"\nimport script from \"./data-imports.vue?vue&type=script&lang=ts&\"\nexport * from \"./data-imports.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',[_vm._m(0),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-lg-6 col-xl-3\"},[_c('div',{staticClass:\"form-group\"},[_vm._m(1),_c('b-form-select',{attrs:{\"plain\":\"\",\"options\":_vm.reportItems},model:{value:(_vm.selectedReportItem),callback:function ($$v) {_vm.selectedReportItem=$$v},expression:\"selectedReportItem\"}})],1)])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"col-sm-12\"},[_c('div',{staticClass:\"form-group\"},[(_vm.selectedReportItem != null && _vm.selectedReportItem === 0)?_c('clients-considering-options'):_vm._e(),(_vm.selectedReportItem != null && _vm.selectedReportItem === 1)?_c('outstanding-signings'):_vm._e(),(_vm.selectedReportItem != null && _vm.selectedReportItem === 2)?_c('outstanding-payments'):_vm._e(),(_vm.selectedReportItem != null && _vm.selectedReportItem === 3)?_c('non-instruction-reasons'):_vm._e(),(_vm.selectedReportItem != null && _vm.selectedReportItem === 4)?_c('no-longer-proceeding-clients'):_vm._e(),(_vm.selectedReportItem != null && _vm.selectedReportItem === 5)?_c('instructed-cleared-variances'):_vm._e(),(_vm.selectedReportItem != null && _vm.selectedReportItem === 6)?_c('cancellation-reasons'):_vm._e(),(_vm.selectedReportItem != null && _vm.selectedReportItem === 7)?_c('outstanding-appointment-outcomes'):_vm._e(),(_vm.selectedReportItem != null && _vm.selectedReportItem === 8)?_c('blank-data-fields-post-call'):_vm._e(),(_vm.selectedReportItem != null && _vm.selectedReportItem === 9)?_c('user-report'):_vm._e(),(_vm.selectedReportItem != null && _vm.selectedReportItem === 10)?_c('tasks-overdue'):_vm._e(),(_vm.selectedReportItem != null && _vm.selectedReportItem === 11)?_c('tasks-unassigned'):_vm._e(),(_vm.selectedReportItem != null && _vm.selectedReportItem === 12)?_c('callbacks-overdue'):_vm._e(),(_vm.selectedReportItem != null && _vm.selectedReportItem === 13)?_c('monitor-appointment-bookings'):_vm._e()],1)])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row pb-3 align-items-center justify-content-between\"},[_c('div',{staticClass:\"col\"},[_c('h2',[_vm._v(\"Exception Reports\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{attrs:{\"for\":\"selectMenu\"}},[_c('strong',[_vm._v(\"Report: \")])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"exception-report blank-data-fields-post-call\"},[_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading \"+_vm._s(_vm.reportName)+\", please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"accountNoFilter\"}},[_vm._v(\"Account No:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accountNoFilter),expression:\"accountNoFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('numeric'),expression:\"'numeric'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('accountNoFilter') },attrs:{\"type\":\"text\",\"name\":\"accountNoFilter\",\"id\":\"accountNoFilter\",\"data-vv-as\":\"account no\"},domProps:{\"value\":(_vm.accountNoFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.accountNoFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('accountNoFilter')),expression:\"errors.has('accountNoFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('accountNoFilter')))])])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientFirstNameFilter\"}},[_vm._v(\"First Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientFirstNameFilter),expression:\"clientFirstNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientFirstNameFilter\"},domProps:{\"value\":(_vm.clientFirstNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientFirstNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientLastNameFilter\"}},[_vm._v(\"Last Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientLastNameFilter),expression:\"clientLastNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientLastNameFilter\"},domProps:{\"value\":(_vm.clientLastNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientLastNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"lastCallDatePeriodFilter\"}},[_vm._v(\"Last Call Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.lastCallDatePeriodFilter),expression:\"lastCallDatePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"lastCallDatePeriodFilter\",\"id\":\"lastCallDatePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.lastCallDatePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"lastCallDateFromFilter\"}},[_vm._v(\"From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('lastCallDateFromFilter') },attrs:{\"name\":\"lastCallDateFromFilter\",\"id\":\"lastCallDateFromFilter\",\"data-vv-as\":\"last call date from\"},model:{value:(_vm.lastCallDateFromFilter),callback:function ($$v) {_vm.lastCallDateFromFilter=$$v},expression:\"lastCallDateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('lastCallDateFromFilter')),expression:\"errors.has('lastCallDateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('lastCallDateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"lastCallDateToFilter\"}},[_vm._v(\"To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('lastCallDateToFilter') },attrs:{\"name\":\"lastCallDateToFilter\",\"id\":\"lastCallDateToFilter\",\"data-vv-as\":\"last call date to\"},model:{value:(_vm.lastCallDateToFilter),callback:function ($$v) {_vm.lastCallDateToFilter=$$v},expression:\"lastCallDateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('lastCallDateToFilter')),expression:\"errors.has('lastCallDateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('lastCallDateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('user-select',{attrs:{\"type\":\"interaction author\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-period\":_vm.lastCallDatePeriodFilter,\"date-from\":_vm.lastCallDateFromFilter,\"date-to\":_vm.lastCallDateToFilter,\"role-id\":_vm.userRoleFilter},model:{value:(_vm.userFilter),callback:function ($$v) {_vm.userFilter=$$v},expression:\"userFilter\"}},[_vm._v(\"\\n Caller Name:\\n \")])],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"userRoleFilter\"}},[_vm._v(\"Caller Type:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.userRoleFilter),expression:\"userRoleFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"userRoleFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.userRoleFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.roles),function(role){return _c('option',{key:role.id,domProps:{\"value\":role.id}},[_vm._v(_vm._s(role.name))])})],2)])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"blankDataFieldTypeFilter\"}},[_vm._v(\"Blank Field Type:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.blankDataFieldTypeFilter),expression:\"blankDataFieldTypeFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"blankDataFieldTypeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.blankDataFieldTypeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.blankFieldTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2)])]),_c('div',{staticClass:\"col-sm-12 col-md-8 col-xl-4\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-dropdown',{attrs:{\"split\":\"\",\"block\":\"\",\"variant\":\"primary\",\"text\":\"Filter\"},on:{\"click\":_vm.getReportDataAsync}},[_c('b-dropdown-item',{on:{\"click\":_vm.exportReportAsync}},[_vm._v(\"Download\")])],1)],1)]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('a',{staticClass:\"btn btn-link form-control px-0\",on:{\"click\":_vm.clearFilters}},[_vm._v(\"Clear Filters\")])])])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('blank-data-fields-post-call-table',{staticClass:\"mt-3\",attrs:{\"clients\":_vm.clients,\"empty-text\":_vm.emptyText}})],1)])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Api } from '@/api/api';\nimport { BlankDataFieldsPostCallRequestFilters } from '@/api/requests/exception-reports/blank-data-fields-post-call-request-filters';\nimport { CallbacksOverdueRequestFilters } from '@/api/requests/exception-reports/callbacks-overdue-request-filters';\nimport { CancellationReasonsRequestFilters } from '@/api/requests/exception-reports/cancellation-reasons-request-filters';\nimport { ClientsConsideringOptionsRequestFilters } from '@/api/requests/exception-reports/clients-considering-options-request-filters';\nimport { InstructedClearedVariancesRequestFilters } from '@/api/requests/exception-reports/instructed-cleared-variances-request-filters';\nimport { MonitorAppointmentBookingsRequestFilters } from '@/api/requests/exception-reports/monitor-appointment-bookings-request-filters';\nimport { NoLongerProceedingClientsRequestFilters } from '@/api/requests/exception-reports/no-longer-proceeding-clients-request-filters';\nimport { NonInstructionReasonsRequestFilters } from '@/api/requests/exception-reports/non-instruction-reasons-request-filters';\nimport { OutstandingAppointmentOutcomesRequestFilters } from '@/api/requests/exception-reports/outstanding-appointment-outcomes-request-filters';\nimport { OutstandingPaymentsRequestFilters } from '@/api/requests/exception-reports/outstanding-payments-request-filters';\nimport { OutstandingSigningsRequestFilters } from '@/api/requests/exception-reports/outstanding-signings-request-filters';\nimport { TasksOverdueRequestFilters } from '@/api/requests/exception-reports/tasks-overdue-request-filters';\nimport { TasksUnassignedRequestFilters } from '@/api/requests/exception-reports/tasks-unassigned-request-filters';\nimport { UserReportRequestFilters } from '@/api/requests/exception-reports/user-report-request-filters';\nimport { BlankDataFieldsPostCall } from '@/shared/exception-reports/blank-data-fields-post-call';\nimport { CallbacksOverdue } from '@/shared/exception-reports/callbacks-overdue';\nimport { CancellationReasons } from '@/shared/exception-reports/cancellation-reasons';\nimport { ClientsConsideringOptions } from '@/shared/exception-reports/clients-considering-options';\nimport { InstructedClearedVariances } from '@/shared/exception-reports/instructed-cleared-variances';\nimport { MonitorAppointmentBookings } from '@/shared/exception-reports/monitor-appointment-bookings';\nimport { NoLongerProceedingClients } from '@/shared/exception-reports/no-longer-proceeding-clients';\nimport { NonInstructionReasons } from '@/shared/exception-reports/non-instruction-reasons';\nimport { OutstandingAppointmentOutcomes } from '@/shared/exception-reports/outstanding-appointment-outcomes';\nimport { OutstandingPayments } from '@/shared/exception-reports/outstanding-payments';\nimport { OutstandingSignings } from '@/shared/exception-reports/outstanding-signings';\nimport { TasksOverdue } from '@/shared/exception-reports/tasks-overdue';\nimport { TasksUnassigned } from '@/shared/exception-reports/tasks-unassigned';\nimport { UserReport } from '@/shared/exception-reports/user-report';\n\nexport class ExceptionReportApi extends Api {\n\n public async getClientsConsideringOptionsAsync(request: ClientsConsideringOptionsRequestFilters): Promise> {\n return await this.getAsync>(`v1/exceptionReport/clientsConsideringOptions`, request);\n }\n\n public async getClientsConsideringOptionsExportAsync(request: ClientsConsideringOptionsRequestFilters): Promise {\n return await this.getFileAsync(`v1/exceptionReport/clientsConsideringOptions/export`, request);\n }\n\n public async getOutstandingSigningsAsync(request: OutstandingSigningsRequestFilters): Promise> {\n return await this.getAsync>(`v1/exceptionReport/outstandingSignings`, request);\n }\n\n public async getOutstandingSigningsExportAsync(request: OutstandingSigningsRequestFilters): Promise {\n return await this.getFileAsync(`v1/exceptionReport/outstandingSignings/export`, request);\n }\n\n public async getOutstandingPaymentsAsync(request: OutstandingPaymentsRequestFilters): Promise> {\n return await this.getAsync>(`v1/exceptionReport/outstandingPayments`, request);\n }\n\n public async getOutstandingPaymentsExportAsync(request: OutstandingPaymentsRequestFilters): Promise {\n return await this.getFileAsync(`v1/exceptionReport/outstandingPayments/export`, request);\n }\n\n public async getNonInstructionReasonsAsync(request: NonInstructionReasonsRequestFilters): Promise> {\n return await this.getAsync>(`v1/exceptionReport/nonInstructionReasons`, request);\n }\n\n public async getNonInstructionReasonsExportAsync(request: NonInstructionReasonsRequestFilters): Promise {\n return await this.getFileAsync(`v1/exceptionReport/nonInstructionReasons/export`, request);\n }\n\n public async getNoLongerProceedingClientsAsync(request: NoLongerProceedingClientsRequestFilters): Promise> {\n return await this.getAsync>(`v1/exceptionReport/noLongerProceedingClients`, request);\n }\n\n public async getNoLongerProceedingClientsExportAsync(request: NoLongerProceedingClientsRequestFilters): Promise {\n return await this.getFileAsync(`v1/exceptionReport/noLongerProceedingClients/export`, request);\n }\n\n public async getInstructedClearedVariancesAsync(request: InstructedClearedVariancesRequestFilters): Promise> {\n return await this.getAsync>(`v1/exceptionReport/instructedClearedVariances`, request);\n }\n\n public async getInstructedClearedVarianceExportAsync(request: InstructedClearedVariancesRequestFilters): Promise {\n return await this.getFileAsync(`v1/exceptionReport/instructedClearedVariances/export`, request);\n }\n\n public async getCancellationReasonsAsync(request: CancellationReasonsRequestFilters): Promise> {\n return await this.getAsync>(`v1/exceptionReport/cancellationReasons`, request);\n }\n\n public async getCancellationReasonsExportAsync(request: CancellationReasonsRequestFilters): Promise {\n return await this.getFileAsync(`v1/exceptionReport/cancellationReasons/export`, request);\n }\n\n public async getOutstandingAppointmentOutcomesAsync(request: OutstandingAppointmentOutcomesRequestFilters): Promise> {\n return await this.getAsync>(`v1/exceptionReport/outstandingAppointmentOutcomes`, request);\n }\n\n public async getOutstandingAppointmentOutcomesExportAsync(request: OutstandingAppointmentOutcomesRequestFilters): Promise {\n return await this.getFileAsync(`v1/exceptionReport/outstandingAppointmentOutcomes/export`, request);\n }\n\n public async getBlankDataFieldsPostCallAsync(request: BlankDataFieldsPostCallRequestFilters): Promise> {\n return await this.getAsync>(`v1/exceptionReport/blankDataFieldsPostCall`, request);\n }\n\n public async getBlankDataFieldsPostCallExportAsync(request: BlankDataFieldsPostCallRequestFilters): Promise {\n return await this.getFileAsync(`v1/exceptionReport/blankDataFieldsPostCall/export`, request);\n }\n\n public async getUserReportAsync(request: UserReportRequestFilters): Promise> {\n return await this.getAsync>(`v1/exceptionReport/userReport`, request);\n }\n\n public async getUserReportExportAsync(request: UserReportRequestFilters): Promise {\n return await this.getFileAsync(`v1/exceptionReport/userReport/export`, request);\n }\n\n public async getTasksOverdueAsync(request: TasksOverdueRequestFilters): Promise> {\n return await this.getAsync>(`v1/exceptionReport/tasksOverdue`, request);\n }\n\n public async getTasksOverdueExportAsync(request: TasksOverdueRequestFilters): Promise {\n return await this.getFileAsync(`v1/exceptionReport/tasksOverdue/export`, request);\n }\n\n public async getTasksUnassignedAsync(request: TasksUnassignedRequestFilters): Promise> {\n return await this.getAsync>(`v1/exceptionReport/tasksUnassigned`, request);\n }\n\n public async getTasksUnassignedExportAsync(request: TasksUnassignedRequestFilters): Promise {\n return await this.getFileAsync(`v1/exceptionReport/tasksUnassigned/export`, request);\n }\n\n public async getCallbacksOverdueAsync(request: CallbacksOverdueRequestFilters): Promise> {\n return await this.getAsync>(`v1/exceptionReport/callbacksOverdue`, request);\n }\n\n public async getCallbacksOverdueExportAsync(request: CallbacksOverdueRequestFilters): Promise {\n return await this.getFileAsync(`v1/exceptionReport/callbacksOverdue/export`, request);\n }\n\n public async getMonitorAppointmentBookingsAsync(request: MonitorAppointmentBookingsRequestFilters): Promise> {\n return await this.getAsync>(`v1/exceptionReport/monitorAppointmentBookings`, request);\n }\n\n public async getMonitorAppointmentBookingsExportAsync(request: MonitorAppointmentBookingsRequestFilters): Promise {\n return await this.getFileAsync(`v1/exceptionReport/monitorAppointmentBookings/export`, request);\n }\n\n public constructor() {\n super();\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"caption-top\":\"\",\"items\":_vm.clients,\"fields\":_vm.fields,\"current-page\":_vm.currentPage,\"per-page\":_vm.pageSize,\"empty-text\":_vm.emptyText},scopedSlots:_vm._u([{key:\"table-caption\",fn:function(){return [_c('h4',[_vm._v(\"Blank Data Fields Post Call\")]),(_vm.totalRows > 0)?_c('h6',[_vm._v(_vm._s(_vm._f(\"date\")(_vm.startDate))+\" to \"+_vm._s(_vm._f(\"date\")(_vm.endDate)))]):_vm._e()]},proxy:true},{key:\"cell(accountNo)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('a',{staticClass:\"btn-link\",on:{\"click\":function($event){return _vm.goToClient(item.clientId)}}},[_vm._v(_vm._s(item.accountNo))])]}},{key:\"cell(lastCallDate)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.lastCallDate))+\"\\n \")]}},{key:\"cell(lastCallTime)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"time\")(item.lastCallDate))+\"\\n \")]}},{key:\"cell(callerRole)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((item.callerRoles),function(role,index){return _c('div',{key:index},[_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(_vm._s(role))])],1)})}},{key:\"cell(blankFields)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((item.blankFields),function(field,index){return _c('div',{key:index},[_c('b-badge',{attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(field))])],1)})}}])}),(_vm.totalRows > 0)?_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.totalRows,\"per-page\":_vm.pageSize},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}):_vm._e(),(_vm.totalRows > 0)?_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))]):_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\nimport { BlankDataFieldsPostCall } from '@/shared/exception-reports/blank-data-fields-post-call';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class BlankDataFieldsPostCallTable extends Vue {\n @Prop({ required: true }) private clients!: Array;\n @Prop({ required: true }) private emptyText!: string;\n\n private currentPage: number = 1;\n private pageSize: number = 50;\n\n private get fields(): Array<{}> {\n return [\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'accountNo', label: 'Account No' },\n { key: 'clientName', label: 'Client Name' },\n { key: 'lastCallDate', label: 'Last Call Date' },\n { key: 'lastCallTime', label: 'Last Call Time' },\n { key: 'callerName', label: 'Caller Name' },\n { key: 'callerRole', label: 'Caller Type' },\n { key: 'blankFields', label: 'Blank Fields' },\n ];\n }\n\n private get totalRows(): number {\n return this.clients.length;\n }\n\n private get paginationDescription(): string {\n const start: number = (this.clients.length < 1) ? 0 : ((this.currentPage - 1) * this.pageSize) + 1;\n const end: number = start + this.pageSize > this.totalRows ? this.totalRows : start + this.pageSize - 1;\n\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.totalRows.toLocaleString()}`;\n }\n\n private get startDate(): string | Date | null {\n const dates = this.clients.map((c) => c.lastCallDate)\n .sort((d1, d2) => {\n if (d1! > d2!) { return 1; }\n if (d1! < d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n private get endDate(): string | Date | null {\n const dates = this.clients.map((c) => c.lastCallDate)\n .sort((d1, d2) => {\n if (d1! < d2!) { return 1; }\n if (d1! > d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n @Watch('clients')\n private onClientsChanged(): void {\n this.currentPage = 1;\n }\n\n private goToClient(clientId: string): void {\n window.open('../../clients/' + clientId, '_blank');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./blank-data-fields-post-call-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./blank-data-fields-post-call-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./blank-data-fields-post-call-table.vue?vue&type=template&id=3c9556d9&\"\nimport script from \"./blank-data-fields-post-call-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./blank-data-fields-post-call-table.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\nimport { ExceptionReportApi } from '@/api/exception-reports';\nimport { BlankDataFieldsPostCallRequestFilters } from '@/api/requests/exception-reports/blank-data-fields-post-call-request-filters';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport blankDataFieldsPostCallTable from '@/components/exception-reports/blank-data-fields-post-call-table.vue';\nimport loading from '@/components/loading.vue';\nimport { BlankDataFieldsPostCall } from '@/shared/exception-reports/blank-data-fields-post-call';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { Role } from '@/shared/roles/role';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst usersModule = namespace('users');\nconst exceptionReportApi = new ExceptionReportApi();\n\n@Component({\n components: {\n blankDataFieldsPostCallTable,\n loading,\n },\n})\nexport default class BlankDataFieldsPostCallExceptionReport extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n\n @usersModule.Getter('roles') private roles!: Array;\n\n private isLoading: boolean = true;\n private partnerPracticeFilter: string | null = null;\n private accountNoFilter: number | null = null;\n private clientFirstNameFilter: string | null = null;\n private clientLastNameFilter: string | null = null;\n private lastCallDatePeriodFilter: number | null = null;\n private lastCallDateFromFilter: string | Date | null = null;\n private lastCallDateToFilter: string | Date | null = null;\n private userFilter: string | null = null;\n private userRoleFilter: string | null = null;\n private blankDataFieldTypeFilter: number | null = null;\n private clients: Array = new Array();\n private reportName: string = 'Blank Data Fields Post Call';\n private emptyText: string | null = `Please enter some search filters and click Filter to show ${this.reportName}`;\n\n private datePeriods = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Current Day' },\n { id: 1, value: 'Current Week' },\n { id: 2, value: 'Previous Week' },\n { id: 3, value: 'Current Month' },\n { id: 4, value: 'Previous Month' },\n { id: 5, value: 'Current Quarter' },\n { id: 6, value: 'Previous Quarter' },\n { id: 7, value: 'Current Year' },\n { id: 8, value: 'Previous Year' },\n { id: 9, value: 'Custom Dates' },\n ]);\n\n private blankFieldTypes = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Postcode' },\n { id: 1, value: 'Date of Birth' },\n { id: 2, value: 'Email Address' },\n { id: 3, value: 'Telephone' },\n { id: 4, value: 'Mobile' },\n { id: 5, value: 'Relationship Status' },\n { id: 6, value: 'Will Executors' },\n { id: 7, value: 'Children' },\n { id: 8, value: 'Children Under 18' },\n { id: 9, value: 'Homeowner' },\n { id: 10, value: 'Business Owner' },\n ]);\n\n private get isCustomDatePeriod(): boolean {\n return this.lastCallDatePeriodFilter === 9;\n }\n\n private get requestFilters(): BlankDataFieldsPostCallRequestFilters {\n return {\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter,\n accountNo: this.accountNoFilter,\n clientFirstName: this.clientFirstNameFilter,\n clientLastName: this.clientLastNameFilter,\n lastCallDatePeriod: this.lastCallDatePeriodFilter,\n lastCallDateFrom: this.lastCallDateFromFilter,\n lastCallDateTo: this.lastCallDateToFilter,\n userId: this.userFilter,\n userRoleId: this.userRoleFilter,\n blankDataFieldType: this.blankDataFieldTypeFilter,\n };\n }\n\n @Watch('lastCallDatePeriodFilter')\n private async onLastCallDatePeriodFilterChanged(): Promise {\n this.lastCallDateFromFilter = null;\n this.lastCallDateToFilter = null;\n }\n\n public async getReportDataAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n this.clients = await exceptionReportApi.getBlankDataFieldsPostCallAsync(this.requestFilters);\n this.emptyText = `No ${this.reportName} found matching the requested search filters`;\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not load ${this.reportName}.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private async exportReportAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n const response = await exceptionReportApi.getBlankDataFieldsPostCallExportAsync(this.requestFilters);\n\n if (response == null) {\n this.$snackbar.open({ message: `No ${this.reportName} found matching the requested search filters.`, type: 'is-danger' });\n return;\n }\n\n const blob = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n const link = document.createElement('a');\n link.rel = 'noopener';\n link.href = window.URL.createObjectURL(blob);\n link.download = 'blank-data-fields-post-call.xlsx';\n link.target = '_blank';\n link.click();\n window.URL.revokeObjectURL(link.href);\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not download ${this.reportName}, please try again.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private clearFilters(): void {\n this.partnerPracticeFilter = null;\n this.accountNoFilter = null;\n this.clientFirstNameFilter = null;\n this.clientLastNameFilter = null;\n this.lastCallDatePeriodFilter = null;\n this.lastCallDateFromFilter = null;\n this.lastCallDateToFilter = null;\n this.userFilter = null;\n this.userRoleFilter = null;\n this.blankDataFieldTypeFilter = null;\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n this.$store.dispatch(`users/loadRolesAsync`),\n ]);\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./blank-data-fields-post-call.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./blank-data-fields-post-call.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./blank-data-fields-post-call.vue?vue&type=template&id=1414edc3&\"\nimport script from \"./blank-data-fields-post-call.vue?vue&type=script&lang=ts&\"\nexport * from \"./blank-data-fields-post-call.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:\"exception-report callbacks-overdue\"},[_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading \"+_vm._s(_vm.reportName)+\", please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true,\"rlg-data\":true},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"accountNoFilter\"}},[_vm._v(\"Account No:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accountNoFilter),expression:\"accountNoFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('numeric'),expression:\"'numeric'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('accountNoFilter') },attrs:{\"type\":\"text\",\"name\":\"accountNoFilter\",\"id\":\"accountNoFilter\",\"data-vv-as\":\"account no\"},domProps:{\"value\":(_vm.accountNoFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.accountNoFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('accountNoFilter')),expression:\"errors.has('accountNoFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('accountNoFilter')))])])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientFirstNameFilter\"}},[_vm._v(\"First Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientFirstNameFilter),expression:\"clientFirstNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientFirstNameFilter\"},domProps:{\"value\":(_vm.clientFirstNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientFirstNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientLastNameFilter\"}},[_vm._v(\"Last Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientLastNameFilter),expression:\"clientLastNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientLastNameFilter\"},domProps:{\"value\":(_vm.clientLastNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientLastNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"dueDateFilter\"}},[_vm._v(\"Due Date (on or before):\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('date_format:dd/MM/yyyy'),expression:\"'date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('dueDateFilter') },attrs:{\"name\":\"dueDateFilter\",\"id\":\"dueDateFilter\",\"data-vv-as\":\"due date\"},model:{value:(_vm.dueDateFilter),callback:function ($$v) {_vm.dueDateFilter=$$v},expression:\"dueDateFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('dueDateFilter')),expression:\"errors.has('dueDateFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('dueDateFilter')))])],1)]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"assignedFilter\"}},[_vm._v(\"Status:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.assignedFilter),expression:\"assignedFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"assignedFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.assignedFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_c('option',{domProps:{\"value\":true}},[_vm._v(\"Assigned\")]),_c('option',{domProps:{\"value\":false}},[_vm._v(\"Unassigned\")])])])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('user-select',{attrs:{\"type\":\"assigned call\",\"partner-practice-id\":_vm.partnerPracticeFilter},model:{value:(_vm.userFilter),callback:function ($$v) {_vm.userFilter=$$v},expression:\"userFilter\"}},[_vm._v(\"Assigned User Name:\")])],1),_c('div',{staticClass:\"col-sm-12 col-md-8 col-xl-4\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-dropdown',{attrs:{\"split\":\"\",\"block\":\"\",\"variant\":\"primary\",\"text\":\"Filter\"},on:{\"click\":_vm.getReportDataAsync}},[_c('b-dropdown-item',{on:{\"click\":_vm.exportReportAsync}},[_vm._v(\"Download\")])],1)],1)]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('a',{staticClass:\"btn btn-link form-control px-0\",on:{\"click\":_vm.clearFilters}},[_vm._v(\"Clear Filters\")])])])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('callbacks-overdue-table',{staticClass:\"mt-3\",attrs:{\"calls\":_vm.calls,\"empty-text\":_vm.emptyText}})],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',[_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"caption-top\":\"\",\"items\":_vm.calls,\"fields\":_vm.fields,\"current-page\":_vm.currentPage,\"per-page\":_vm.pageSize,\"empty-text\":_vm.emptyText},scopedSlots:_vm._u([{key:\"table-caption\",fn:function(){return [_c('h4',[_vm._v(\"Callbacks Overdue\")]),(_vm.totalRows > 0)?_c('h6',[_vm._v(_vm._s(_vm._f(\"date\")(_vm.startDate))+\" to \"+_vm._s(_vm._f(\"date\")(_vm.endDate)))]):_vm._e()]},proxy:true},{key:\"cell(accountNo)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('a',{staticClass:\"btn-link\",on:{\"click\":function($event){return _vm.goToClient(item.clientId)}}},[_vm._v(_vm._s(item.accountNo))])]}},{key:\"cell(dueDate)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.dueDate))+\"\\n \")]}},{key:\"cell(dueTime)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"time\")(item.dueDate))+\"\\n \")]}},{key:\"cell(user)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((item.users),function(user,index){return _c('div',{key:index},[_vm._v(\"\\n \"+_vm._s(user.name)+\"\\n \")])})}}])}),(_vm.totalRows > 0)?_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.totalRows,\"per-page\":_vm.pageSize},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}):_vm._e(),(_vm.totalRows > 0)?_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))]):_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\nimport { CallbacksOverdue } from '@/shared/exception-reports/callbacks-overdue';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class CallbacksOverdueTable extends Vue {\n @Prop({ required: true }) private calls!: Array;\n @Prop({ required: true }) private emptyText!: string;\n\n private currentPage: number = 1;\n private pageSize: number = 50;\n\n private get fields(): Array<{}> {\n return [\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'accountNo', label: 'Account No' },\n { key: 'clientName', label: 'Client Name' },\n { key: 'dueDate', label: 'Call Due Date' },\n { key: 'dueTime', label: 'Call Due Time' },\n { key: 'user', label: 'Assigned User' },\n ];\n }\n\n private get totalRows(): number {\n return this.calls.length;\n }\n\n private get paginationDescription(): string {\n const start: number = (this.calls.length < 1) ? 0 : ((this.currentPage - 1) * this.pageSize) + 1;\n const end: number = start + this.pageSize > this.totalRows ? this.totalRows : start + this.pageSize - 1;\n\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.totalRows.toLocaleString()}`;\n }\n\n private get startDate(): string | Date | null {\n const dates = this.calls.map((c) => c.dueDate)\n .sort((d1, d2) => {\n if (d1! > d2!) { return 1; }\n if (d1! < d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n private get endDate(): string | Date | null {\n const dates = this.calls.map((c) => c.dueDate)\n .sort((d1, d2) => {\n if (d1! < d2!) { return 1; }\n if (d1! > d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n @Watch('calls')\n private onCallsChanged(): void {\n this.currentPage = 1;\n }\n\n private goToClient(clientId: string): void {\n window.open('../../clients/' + clientId, '_blank');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callbacks-overdue-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callbacks-overdue-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./callbacks-overdue-table.vue?vue&type=template&id=cab3c0f8&\"\nimport script from \"./callbacks-overdue-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./callbacks-overdue-table.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\nimport { ExceptionReportApi } from '@/api/exception-reports';\nimport { CallbacksOverdueRequestFilters } from '@/api/requests/exception-reports/callbacks-overdue-request-filters';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport callbacksOverdueTable from '@/components/exception-reports/callbacks-overdue-table.vue';\nimport loading from '@/components/loading.vue';\nimport { CallbacksOverdue } from '@/shared/exception-reports/callbacks-overdue';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { Component, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst exceptionReportApi = new ExceptionReportApi();\n\n@Component({\n components: {\n callbacksOverdueTable,\n loading,\n },\n})\nexport default class CallbacksOverdueExceptionReport extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n\n private isLoading: boolean = true;\n private partnerPracticeFilter: string | null = null;\n private accountNoFilter: number | null = null;\n private clientFirstNameFilter: string | null = null;\n private clientLastNameFilter: string | null = null;\n private dueDateFilter: string | Date | null = null;\n private assignedFilter: boolean | null = null;\n private userFilter: string | null = null;\n private calls: Array = new Array();\n private reportName: string = 'Callbacks Overdue';\n private emptyText: string | null = `Please enter some search filters and click Filter to show ${this.reportName}`;\n\n private get requestFilters(): CallbacksOverdueRequestFilters {\n return {\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter,\n accountNo: this.accountNoFilter,\n clientFirstName: this.clientFirstNameFilter,\n clientLastName: this.clientLastNameFilter,\n dueDate: this.dueDateFilter,\n assigned: this.assignedFilter,\n userId: this.userFilter,\n };\n }\n\n public async getReportDataAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n this.calls = await exceptionReportApi.getCallbacksOverdueAsync(this.requestFilters);\n this.emptyText = `No ${this.reportName} found matching the requested search filters`;\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not load ${this.reportName}.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private async exportReportAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n const response = await exceptionReportApi.getCallbacksOverdueExportAsync(this.requestFilters);\n\n if (response == null) {\n this.$snackbar.open({ message: `No ${this.reportName} found matching the requested search filters.`, type: 'is-danger' });\n return;\n }\n\n const blob = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n const link = document.createElement('a');\n link.rel = 'noopener';\n link.href = window.URL.createObjectURL(blob);\n link.download = 'callbacks-overdue.xlsx';\n link.target = '_blank';\n link.click();\n window.URL.revokeObjectURL(link.href);\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not download ${this.reportName}, please try again.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private clearFilters(): void {\n this.partnerPracticeFilter = null;\n this.accountNoFilter = null;\n this.clientFirstNameFilter = null;\n this.clientLastNameFilter = null;\n this.dueDateFilter = null;\n this.assignedFilter = null;\n this.userFilter = null;\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n ]);\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callbacks-overdue.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callbacks-overdue.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./callbacks-overdue.vue?vue&type=template&id=28f80946&\"\nimport script from \"./callbacks-overdue.vue?vue&type=script&lang=ts&\"\nexport * from \"./callbacks-overdue.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:\"exception-report cancellation-reasons\"},[_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading \"+_vm._s(_vm.reportName)+\", please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDatePeriodFilter\"}},[_vm._v(\"Appointment Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentDatePeriodFilter),expression:\"appointmentDatePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"appointmentDatePeriodFilter\",\"id\":\"appointmentDatePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentDatePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomAppointmentDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateFromFilter\"}},[_vm._v(\"From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDateFromFilter') },attrs:{\"name\":\"appointmentDateFromFilter\",\"id\":\"appointmentDateFromFilter\",\"data-vv-as\":\"appointment from\"},model:{value:(_vm.appointmentDateFromFilter),callback:function ($$v) {_vm.appointmentDateFromFilter=$$v},expression:\"appointmentDateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateFromFilter')),expression:\"errors.has('appointmentDateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomAppointmentDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateToFilter\"}},[_vm._v(\"To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDateToFilter') },attrs:{\"name\":\"appointmentDateToFilter\",\"id\":\"appointmentDateToFilter\",\"data-vv-as\":\"appointment to\"},model:{value:(_vm.appointmentDateToFilter),callback:function ($$v) {_vm.appointmentDateToFilter=$$v},expression:\"appointmentDateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateToFilter')),expression:\"errors.has('appointmentDateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('user-select',{attrs:{\"type\":\"legal advisor\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-period\":_vm.appointmentDatePeriodFilter,\"date-from\":_vm.appointmentDateFromFilter,\"date-to\":_vm.appointmentDateToFilter},model:{value:(_vm.legalAdvisorFilter),callback:function ($$v) {_vm.legalAdvisorFilter=$$v},expression:\"legalAdvisorFilter\"}},[_vm._v(\"\\n Legal Advisor:\\n \")])],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"accountNoFilter\"}},[_vm._v(\"Account No:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accountNoFilter),expression:\"accountNoFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('numeric'),expression:\"'numeric'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('accountNoFilter') },attrs:{\"type\":\"text\",\"name\":\"accountNoFilter\",\"id\":\"accountNoFilter\",\"data-vv-as\":\"account no\"},domProps:{\"value\":(_vm.accountNoFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.accountNoFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('accountNoFilter')),expression:\"errors.has('accountNoFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('accountNoFilter')))])])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientFirstNameFilter\"}},[_vm._v(\"First Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientFirstNameFilter),expression:\"clientFirstNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientFirstNameFilter\"},domProps:{\"value\":(_vm.clientFirstNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientFirstNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientLastNameFilter\"}},[_vm._v(\"Last Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientLastNameFilter),expression:\"clientLastNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientLastNameFilter\"},domProps:{\"value\":(_vm.clientLastNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientLastNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('user-select',{attrs:{\"type\":\"appointment booker\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-period\":_vm.appointmentDatePeriodFilter,\"date-from\":_vm.appointmentDateFromFilter,\"date-to\":_vm.appointmentDateToFilter,\"role-id\":_vm.bookerRoleFilter},model:{value:(_vm.bookerFilter),callback:function ($$v) {_vm.bookerFilter=$$v},expression:\"bookerFilter\"}},[_vm._v(\"\\n Booker Name:\\n \")])],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"bookerRoleFilter\"}},[_vm._v(\"Booker Type:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.bookerRoleFilter),expression:\"bookerRoleFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"bookerRoleFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.bookerRoleFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.roles),function(role){return _c('option',{key:role.id,domProps:{\"value\":role.id}},[_vm._v(_vm._s(role.name))])})],2)])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentOutcomeFilter\"}},[_vm._v(\"Appointment Outcome:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcomeFilter),expression:\"appointmentOutcomeFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"appointmentOutcomeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentOutcomeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.filteredAppointmentOutcomeTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2)])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentCancellationDatePeriodFilter\"}},[_vm._v(\"Cancellation Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentCancellationDatePeriodFilter),expression:\"appointmentCancellationDatePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"appointmentCancellationDatePeriodFilter\",\"id\":\"appointmentCancellationDatePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentCancellationDatePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomAppointmentCancellationDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentCancellationDateFromFilter\"}},[_vm._v(\"From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentCancellationDateFromFilter') },attrs:{\"name\":\"appointmentCancellationDateFromFilter\",\"id\":\"appointmentCancellationDateFromFilter\",\"data-vv-as\":\"cancellation from\"},model:{value:(_vm.appointmentCancellationDateFromFilter),callback:function ($$v) {_vm.appointmentCancellationDateFromFilter=$$v},expression:\"appointmentCancellationDateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentCancellationDateFromFilter')),expression:\"errors.has('appointmentCancellationDateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentCancellationDateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomAppointmentCancellationDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentCancellationDateToFilter\"}},[_vm._v(\"To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentCancellationDateToFilter') },attrs:{\"name\":\"appointmentCancellationDateToFilter\",\"id\":\"appointmentCancellationDateToFilter\",\"data-vv-as\":\"cancellation to\"},model:{value:(_vm.appointmentCancellationDateToFilter),callback:function ($$v) {_vm.appointmentCancellationDateToFilter=$$v},expression:\"appointmentCancellationDateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentCancellationDateToFilter')),expression:\"errors.has('appointmentCancellationDateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentCancellationDateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentCancellationTypeFilter\"}},[_vm._v(\"Cancellation Reason:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentCancellationTypeFilter),expression:\"appointmentCancellationTypeFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"appointmentCancellationTypeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentCancellationTypeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_c('option',{attrs:{\"value\":\"-BLANK-\"}},[_vm._v(\"Not Recorded\")]),_vm._l((_vm.appointmentCancellationTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2)])]),_c('div',{staticClass:\"col-sm-12 col-md-8 col-xl-4\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentOutcomeNotesFilter\"}},[_vm._v(\"Appointment Notes:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcomeNotesFilter),expression:\"appointmentOutcomeNotesFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"appointmentOutcomeNotesFilter\"},domProps:{\"value\":(_vm.appointmentOutcomeNotesFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.appointmentOutcomeNotesFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-12 col-md-8 col-xl-4\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-dropdown',{attrs:{\"split\":\"\",\"block\":\"\",\"variant\":\"primary\",\"text\":\"Filter\"},on:{\"click\":_vm.getReportDataAsync}},[_c('b-dropdown-item',{on:{\"click\":_vm.exportReportAsync}},[_vm._v(\"Download\")])],1)],1)]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('a',{staticClass:\"btn btn-link form-control px-0\",on:{\"click\":_vm.clearFilters}},[_vm._v(\"Clear Filters\")])])])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('cancellation-reasons-table',{staticClass:\"mt-3\",attrs:{\"appointments\":_vm.appointments,\"empty-text\":_vm.emptyText}})],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',[_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"caption-top\":\"\",\"items\":_vm.appointments,\"fields\":_vm.fields,\"current-page\":_vm.currentPage,\"per-page\":_vm.pageSize,\"empty-text\":_vm.emptyText},scopedSlots:_vm._u([{key:\"table-caption\",fn:function(){return [_c('h4',[_vm._v(\"Cancellation Reasons\")]),(_vm.totalRows > 0)?_c('h6',[_vm._v(_vm._s(_vm._f(\"date\")(_vm.startDate))+\" to \"+_vm._s(_vm._f(\"date\")(_vm.endDate)))]):_vm._e()]},proxy:true},{key:\"cell(appointmentDate)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.appointmentDate))+\"\\n \")]}},{key:\"cell(appointmentTime)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"time\")(item.appointmentDate))+\"\\n \")]}},{key:\"cell(accountNo)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((_vm.sortClients(item.clients)),function(client,index){return _c('div',{key:index},[_c('a',{staticClass:\"btn-link\",on:{\"click\":function($event){return _vm.goToClient(client.id)}}},[_vm._v(_vm._s(client.accountNo))])])})}},{key:\"cell(clientName)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.clientName(item.clients))+\"\\n \")]}},{key:\"cell(bookerType)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((item.bookerRoles),function(role,index){return _c('div',{key:index},[_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(_vm._s(role.name))])],1)})}},{key:\"cell(cancellationDate)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.cancellationDate))+\"\\n \")]}}])}),(_vm.totalRows > 0)?_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.totalRows,\"per-page\":_vm.pageSize},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}):_vm._e(),(_vm.totalRows > 0)?_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))]):_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\nimport { CancellationReasons } from '@/shared/exception-reports/cancellation-reasons';\nimport { ExceptionReportClient } from '@/shared/exception-reports/exception-report.client';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class CancellationReasonsTable extends Vue {\n @Prop({ required: true }) private appointments!: Array;\n @Prop({ required: true }) private emptyText!: string;\n\n private currentPage: number = 1;\n private pageSize: number = 50;\n\n private get fields(): Array<{}> {\n return [\n { key: 'appointmentDate', label: 'Appointment Date' },\n { key: 'appointmentTime', label: 'Appointment Time' },\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'legalAdvisor', label: 'Legal Advisor' },\n { key: 'accountNo', label: 'Account No' },\n { key: 'clientName', label: 'Client Name' },\n { key: 'bookerName', label: 'Booker Name' },\n { key: 'bookerType', label: 'Booker Type' },\n { key: 'appointmentOutcome', label: 'Appointment Outcome' },\n { key: 'cancellationDate', label: 'Cancellation Date' },\n { key: 'cancellationReason', label: 'Cancellation Reason' },\n { key: 'appointmentNotes', label: 'Appointment Notes' },\n ];\n }\n\n private get totalRows(): number {\n return this.appointments.length;\n }\n\n private get paginationDescription(): string {\n const start: number = (this.appointments.length < 1) ? 0 : ((this.currentPage - 1) * this.pageSize) + 1;\n const end: number = start + this.pageSize > this.totalRows ? this.totalRows : start + this.pageSize - 1;\n\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.totalRows.toLocaleString()}`;\n }\n\n private get startDate(): string | Date | null {\n const dates = this.appointments.map((a) => a.appointmentDate)\n .sort((d1, d2) => {\n if (d1! > d2!) { return 1; }\n if (d1! < d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n private get endDate(): string | Date | null {\n const dates = this.appointments.map((a) => a.appointmentDate)\n .sort((d1, d2) => {\n if (d1! < d2!) { return 1; }\n if (d1! > d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n @Watch('appointments')\n private onAppointmentsChanged(): void {\n this.currentPage = 1;\n }\n\n private sortClients(clients: Array): Array {\n if (!clients.length) {\n return [];\n }\n\n if (clients.length < 2) {\n return [clients[0]];\n }\n\n const firstClient = clients[0].accountNo < clients[1].accountNo ? clients[0] : clients[1];\n const secondClient = clients[0].accountNo > clients[1].accountNo ? clients[0] : clients[1];\n\n return [\n firstClient,\n secondClient,\n ];\n }\n\n private clientName(clients: Array): string {\n if (clients == null || clients.length < 1) {\n return '';\n }\n\n if (clients.length < 2) {\n return `${clients[0].firstName.trim()} ${clients[0].lastName.trim()}`;\n }\n\n const sortedClients = this.sortClients(clients);\n\n return sortedClients[0].lastName.trim().toLowerCase() === sortedClients[1].lastName.trim().toLowerCase()\n ? `${sortedClients[0].firstName.trim()} & ${sortedClients[1].firstName.trim()} ${sortedClients[0].lastName.trim()}`\n : `${sortedClients[0].firstName.trim()} ${sortedClients[0].lastName.trim()} & ${sortedClients[1].firstName.trim()} ${sortedClients[1].lastName.trim()}`;\n }\n\n private goToClient(clientId: string): void {\n window.open('../../clients/' + clientId, '_blank');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cancellation-reasons-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cancellation-reasons-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./cancellation-reasons-table.vue?vue&type=template&id=6ba57c8d&\"\nimport script from \"./cancellation-reasons-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./cancellation-reasons-table.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { ExceptionReportApi } from '@/api/exception-reports';\nimport { CancellationReasonsRequestFilters } from '@/api/requests/exception-reports/cancellation-reasons-request-filters';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport cancellationReasonsTable from '@/components/exception-reports/cancellation-reasons-table.vue';\nimport loading from '@/components/loading.vue';\nimport { CancellationReasons } from '@/shared/exception-reports/cancellation-reasons';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { Role } from '@/shared/roles/role';\nimport { AppointmentCancellationType } from '@/shared/types/appointment-cancellation-type';\nimport { AppointmentOutcomeType } from '@/shared/types/appointment-outcome-type';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\nconst usersModule = namespace('users');\nconst exceptionReportApi = new ExceptionReportApi();\n\n@Component({\n components: {\n cancellationReasonsTable,\n loading,\n },\n})\nexport default class CancellationReasonsExceptionReport extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n\n @typesModule.Getter('activeAppointmentCancellationTypes') private appointmentCancellationTypes!: Array;\n @typesModule.Getter('activeAppointmentOutcomeTypes') private appointmentOutcomeTypes!: Array;\n\n @usersModule.Getter('roles') private roles!: Array;\n\n private isLoading: boolean = true;\n private appointmentDatePeriodFilter: number | null = null;\n private appointmentDateFromFilter: string | Date | null = null;\n private appointmentDateToFilter: string | Date | null = null;\n private partnerPracticeFilter: string | null = null;\n private legalAdvisorFilter: string | null = null;\n private bookerRoleFilter: string | null = null;\n private bookerFilter: string | null = null;\n private accountNoFilter: number | null = null;\n private clientFirstNameFilter: string | null = null;\n private clientLastNameFilter: string | null = null;\n private appointmentOutcomeFilter: string | null = null;\n private appointmentCancellationDatePeriodFilter: number | null = null;\n private appointmentCancellationDateFromFilter: string | Date | null = null;\n private appointmentCancellationDateToFilter: string | Date | null = null;\n private appointmentCancellationTypeFilter: string | null = null;\n private appointmentOutcomeNotesFilter: string | null = null;\n private appointments: Array = new Array();\n private reportName: string = 'Cancellation Reasons';\n private emptyText: string | null = `Please enter some search filters and click Filter to show ${this.reportName}`;\n\n private datePeriods = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Current Day' },\n { id: 1, value: 'Current Week' },\n { id: 2, value: 'Previous Week' },\n { id: 3, value: 'Current Month' },\n { id: 4, value: 'Previous Month' },\n { id: 5, value: 'Current Quarter' },\n { id: 6, value: 'Previous Quarter' },\n { id: 7, value: 'Current Year' },\n { id: 8, value: 'Previous Year' },\n { id: 9, value: 'Custom Dates' },\n ]);\n\n\n private get isCustomAppointmentDatePeriod(): boolean {\n return this.appointmentDatePeriodFilter === 9;\n }\n\n private get isCustomAppointmentCancellationDatePeriod(): boolean {\n return this.appointmentCancellationDatePeriodFilter === 9;\n }\n\n private get filteredAppointmentOutcomeTypes(): Array {\n return this.appointmentOutcomeTypes.filter((type) => type.isNotSat || type.isCancelled);\n }\n\n private get requestFilters(): CancellationReasonsRequestFilters {\n return {\n appointmentDatePeriod: this.appointmentDatePeriodFilter,\n appointmentDateFrom: this.appointmentDateFromFilter,\n appointmentDateTo: this.appointmentDateToFilter,\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter,\n legalAdvisorId: this.legalAdvisorFilter,\n bookerRoleId: this.bookerRoleFilter,\n bookerId: this.bookerFilter,\n accountNo: this.accountNoFilter,\n clientFirstName: this.clientFirstNameFilter,\n clientLastName: this.clientLastNameFilter,\n appointmentOutcomeId: this.appointmentOutcomeFilter,\n appointmentCancellationDatePeriod: this.appointmentCancellationDatePeriodFilter,\n appointmentCancellationDateFrom: this.appointmentCancellationDateFromFilter,\n appointmentCancellationDateTo: this.appointmentCancellationDateToFilter,\n appointmentCancellationTypeId: this.appointmentCancellationTypeFilter,\n appointmentOutcomeNotes: this.appointmentOutcomeNotesFilter,\n };\n }\n\n @Watch('appointmentDatePeriodFilter')\n private async onAppointmentDatePeriodFilterChanged(): Promise {\n this.appointmentDateFromFilter = null;\n this.appointmentDateToFilter = null;\n }\n\n @Watch('appointmentCancellationDatePeriodFilter')\n private async onAppointmentCancellationDatePeriodFilterChanged(): Promise {\n this.appointmentCancellationDateFromFilter = null;\n this.appointmentCancellationDateToFilter = null;\n }\n\n public async getReportDataAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n this.appointments = await exceptionReportApi.getCancellationReasonsAsync(this.requestFilters);\n this.emptyText = `No ${this.reportName} found matching the requested search filters`;\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not load ${this.reportName}.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private async exportReportAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n const response = await exceptionReportApi.getCancellationReasonsExportAsync(this.requestFilters);\n\n if (response == null) {\n this.$snackbar.open({ message: `No ${this.reportName} found matching the requested search filters.`, type: 'is-danger' });\n return;\n }\n\n const blob = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n const link = document.createElement('a');\n link.rel = 'noopener';\n link.href = window.URL.createObjectURL(blob);\n link.download = 'cancellation-reasons.xlsx';\n link.target = '_blank';\n link.click();\n window.URL.revokeObjectURL(link.href);\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not download ${this.reportName}, please try again.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private clearFilters(): void {\n this.appointmentDatePeriodFilter = null;\n this.appointmentDateFromFilter = null;\n this.appointmentDateToFilter = null;\n this.partnerPracticeFilter = null;\n this.legalAdvisorFilter = null;\n this.bookerRoleFilter = null;\n this.bookerFilter = null;\n this.accountNoFilter = null;\n this.clientFirstNameFilter = null;\n this.clientLastNameFilter = null;\n this.appointmentOutcomeFilter = null;\n this.appointmentCancellationDatePeriodFilter = null;\n this.appointmentCancellationDateFromFilter = null;\n this.appointmentCancellationDateToFilter = null;\n this.appointmentCancellationTypeFilter = null;\n this.appointmentOutcomeNotesFilter = null;\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n this.$store.dispatch(`users/loadRolesAsync`),\n ]);\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cancellation-reasons.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cancellation-reasons.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./cancellation-reasons.vue?vue&type=template&id=4a9b7b96&\"\nimport script from \"./cancellation-reasons.vue?vue&type=script&lang=ts&\"\nexport * from \"./cancellation-reasons.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:\"exception-report clients-considering-options\"},[_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading \"+_vm._s(_vm.reportName)+\", please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDatePeriodFilter\"}},[_vm._v(\"Appointment Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentDatePeriodFilter),expression:\"appointmentDatePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"appointmentDatePeriodFilter\",\"id\":\"appointmentDatePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentDatePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateFromFilter\"}},[_vm._v(\"From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDateFromFilter') },attrs:{\"name\":\"appointmentDateFromFilter\",\"id\":\"appointmentDateFromFilter\",\"data-vv-as\":\"appointment from\"},model:{value:(_vm.appointmentDateFromFilter),callback:function ($$v) {_vm.appointmentDateFromFilter=$$v},expression:\"appointmentDateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateFromFilter')),expression:\"errors.has('appointmentDateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateToFilter\"}},[_vm._v(\"To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDateToFilter') },attrs:{\"name\":\"appointmentDateToFilter\",\"id\":\"appointmentDateToFilter\",\"data-vv-as\":\"appointment to\"},model:{value:(_vm.appointmentDateToFilter),callback:function ($$v) {_vm.appointmentDateToFilter=$$v},expression:\"appointmentDateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateToFilter')),expression:\"errors.has('appointmentDateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('user-select',{attrs:{\"type\":\"legal advisor\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-period\":_vm.appointmentDatePeriodFilter,\"date-from\":_vm.appointmentDateFromFilter,\"date-to\":_vm.appointmentDateToFilter},model:{value:(_vm.legalAdvisorFilter),callback:function ($$v) {_vm.legalAdvisorFilter=$$v},expression:\"legalAdvisorFilter\"}},[_vm._v(\"\\n Legal Advisor:\\n \")])],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"accountNoFilter\"}},[_vm._v(\"Account No:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accountNoFilter),expression:\"accountNoFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('numeric'),expression:\"'numeric'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('accountNoFilter') },attrs:{\"type\":\"text\",\"name\":\"accountNoFilter\",\"id\":\"accountNoFilter\",\"data-vv-as\":\"account no\"},domProps:{\"value\":(_vm.accountNoFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.accountNoFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('accountNoFilter')),expression:\"errors.has('accountNoFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('accountNoFilter')))])])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientFirstNameFilter\"}},[_vm._v(\"First Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientFirstNameFilter),expression:\"clientFirstNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientFirstNameFilter\"},domProps:{\"value\":(_vm.clientFirstNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientFirstNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientLastNameFilter\"}},[_vm._v(\"Last Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientLastNameFilter),expression:\"clientLastNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientLastNameFilter\"},domProps:{\"value\":(_vm.clientLastNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientLastNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentProductTypeFilter\"}},[_vm._v(\"Product:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentProductTypeFilter),expression:\"appointmentProductTypeFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"appointmentProductTypeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentProductTypeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.appointmentProductTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(\" \"+_vm._s(type.value))])})],2)])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"instructionValueFilter\"}},[_vm._v(\"Instruction Value (on or above):\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}])},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.instructionValueFilter),expression:\"instructionValueFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('decimal:2'),expression:\"'decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('instructionValueFilter') },attrs:{\"type\":\"text\",\"name\":\"instructionValueFilter\",\"id\":\"instructionValueFilter\",\"data-vv-as\":\"instruction value\"},domProps:{\"value\":(_vm.instructionValueFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.instructionValueFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('instructionValueFilter')),expression:\"errors.has('instructionValueFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('instructionValueFilter')))])])],1)]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"noInstructionTypeFilter\"}},[_vm._v(\"Reason for Non-Instruction:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.noInstructionTypeFilter),expression:\"noInstructionTypeFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"noInstructionTypeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.noInstructionTypeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_c('option',{attrs:{\"value\":\"-BLANK-\"}},[_vm._v(\"Not Recorded\")]),_vm._l((_vm.appointmentNoInstructionTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2)])]),_c('div',{staticClass:\"col-sm-12 col-md-8 col-xl-4\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"noInstructionNotesFilter\"}},[_vm._v(\"Non-Instruction Notes:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.noInstructionNotesFilter),expression:\"noInstructionNotesFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"noInstructionNotesFilter\"},domProps:{\"value\":(_vm.noInstructionNotesFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.noInstructionNotesFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-12 col-md-8 col-xl-4\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-dropdown',{attrs:{\"split\":\"\",\"block\":\"\",\"variant\":\"primary\",\"text\":\"Filter\"},on:{\"click\":_vm.getReportDataAsync}},[_c('b-dropdown-item',{on:{\"click\":_vm.exportReportAsync}},[_vm._v(\"Download\")])],1)],1)]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('a',{staticClass:\"btn btn-link form-control px-0\",on:{\"click\":_vm.clearFilters}},[_vm._v(\"Clear Filters\")])])])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('clients-considering-options-table',{staticClass:\"mt-3\",attrs:{\"appointments\":_vm.appointments,\"empty-text\":_vm.emptyText}})],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',[_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"caption-top\":\"\",\"items\":_vm.appointments,\"fields\":_vm.fields,\"current-page\":_vm.currentPage,\"per-page\":_vm.pageSize,\"empty-text\":_vm.emptyText},scopedSlots:_vm._u([{key:\"table-caption\",fn:function(){return [_c('h4',[_vm._v(\"Clients Considering Options\")]),(_vm.totalRows > 0)?_c('h6',[_vm._v(_vm._s(_vm._f(\"date\")(_vm.startDate))+\" to \"+_vm._s(_vm._f(\"date\")(_vm.endDate)))]):_vm._e()]},proxy:true},{key:\"cell(appointmentDate)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.appointmentDate))+\"\\n \")]}},{key:\"cell(appointmentTime)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"time\")(item.appointmentDate))+\"\\n \")]}},{key:\"cell(accountNo)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((_vm.sortClients(item.clients)),function(client,index){return _c('div',{key:index},[_c('a',{staticClass:\"btn-link\",on:{\"click\":function($event){return _vm.goToClient(client.id)}}},[_vm._v(_vm._s(client.accountNo))])])})}},{key:\"cell(clientName)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.clientName(item.clients))+\"\\n \")]}},{key:\"cell(products)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((item.products),function(product,index){return _c('div',{key:index},[_c('b-badge',{attrs:{\"variant\":\"light\"}},[_c('b-badge',{staticClass:\"mr-1\",staticStyle:{\"font-size\":\"100%\"},attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(product.name))]),(product.instructedValue != null)?_c('b-badge',{staticClass:\"mr-1\",staticStyle:{\"font-size\":\"100%\"},attrs:{\"variant\":\"success\"}},[_vm._v(\"£\"+_vm._s(product.instructedValue))]):_vm._e()],1)],1)})}}])}),(_vm.totalRows > 0)?_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.totalRows,\"per-page\":_vm.pageSize},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}):_vm._e(),(_vm.totalRows > 0)?_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))]):_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\nimport { ClientsConsideringOptions } from '@/shared/exception-reports/clients-considering-options';\nimport { ExceptionReportClient } from '@/shared/exception-reports/exception-report.client';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class ClientsConsideringOptionsTable extends Vue {\n @Prop({ required: true }) private appointments!: Array;\n @Prop({ required: true }) private emptyText!: string;\n\n private currentPage: number = 1;\n private pageSize: number = 50;\n\n private get fields(): Array<{}> {\n return [\n { key: 'appointmentDate', label: 'Appointment Date' },\n { key: 'appointmentTime', label: 'Appointment Time' },\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'legalAdvisor', label: 'Legal Advisor' },\n { key: 'accountNo', label: 'Account No' },\n { key: 'clientName', label: 'Client Name' },\n { key: 'products', label: 'Product/Instruction Value' },\n { key: 'reasonForNonInstruction', label: 'Reason for Non-Instruction' },\n { key: 'nonInstructionNotes', label: 'Non-Instruction Notes' },\n ];\n }\n\n private get totalRows(): number {\n return this.appointments.length;\n }\n\n private get paginationDescription(): string {\n const start: number = (this.appointments.length < 1) ? 0 : ((this.currentPage - 1) * this.pageSize) + 1;\n const end: number = start + this.pageSize > this.totalRows ? this.totalRows : start + this.pageSize - 1;\n\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.totalRows.toLocaleString()}`;\n }\n\n private get startDate(): string | Date | null {\n const dates = this.appointments.map((a) => a.appointmentDate)\n .sort((d1, d2) => {\n if (d1! > d2!) { return 1; }\n if (d1! < d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n private get endDate(): string | Date | null {\n const dates = this.appointments.map((a) => a.appointmentDate)\n .sort((d1, d2) => {\n if (d1! < d2!) { return 1; }\n if (d1! > d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n @Watch('appointments')\n private onAppointmentsChanged(): void {\n this.currentPage = 1;\n }\n\n private sortClients(clients: Array): Array {\n if (!clients.length) {\n return [];\n }\n\n if (clients.length < 2) {\n return [clients[0]];\n }\n\n const firstClient = clients[0].accountNo < clients[1].accountNo ? clients[0] : clients[1];\n const secondClient = clients[0].accountNo > clients[1].accountNo ? clients[0] : clients[1];\n\n return [\n firstClient,\n secondClient,\n ];\n }\n\n private clientName(clients: Array): string {\n if (clients == null || clients.length < 1) {\n return '';\n }\n\n if (clients.length < 2) {\n return `${clients[0].firstName.trim()} ${clients[0].lastName.trim()}`;\n }\n\n const sortedClients = this.sortClients(clients);\n\n return sortedClients[0].lastName.trim().toLowerCase() === sortedClients[1].lastName.trim().toLowerCase()\n ? `${sortedClients[0].firstName.trim()} & ${sortedClients[1].firstName.trim()} ${sortedClients[0].lastName.trim()}`\n : `${sortedClients[0].firstName.trim()} ${sortedClients[0].lastName.trim()} & ${sortedClients[1].firstName.trim()} ${sortedClients[1].lastName.trim()}`;\n }\n\n private goToClient(clientId: string): void {\n window.open('../../clients/' + clientId, '_blank');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./clients-considering-options-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./clients-considering-options-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./clients-considering-options-table.vue?vue&type=template&id=1da59538&\"\nimport script from \"./clients-considering-options-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./clients-considering-options-table.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\n\n\n\n\n\n\n\n\n\nimport { ExceptionReportApi } from '@/api/exception-reports';\nimport { ClientsConsideringOptionsRequestFilters } from '@/api/requests/exception-reports/clients-considering-options-request-filters';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport clientsConsideringOptionsTable from '@/components/exception-reports/clients-considering-options-table.vue';\nimport loading from '@/components/loading.vue';\nimport { ClientsConsideringOptions } from '@/shared/exception-reports/clients-considering-options';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { AppointmentNoInstructionType } from '@/shared/types/appointment-no-instruction-type';\nimport { AppointmentProductType } from '@/shared/types/appointment-product-type';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\nconst exceptionReportApi = new ExceptionReportApi();\n\n@Component({\n components: {\n clientsConsideringOptionsTable,\n loading,\n },\n})\nexport default class ClientsConsideringOptionsExceptionReport extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n @typesModule.Getter('activeAppointmentProductTypes') private appointmentProductTypes!: Array;\n @typesModule.Getter('activeAppointmentNoInstructionTypes') private appointmentNoInstructionTypes!: Array;\n\n private isLoading: boolean = true;\n private appointmentDatePeriodFilter: number | null = null;\n private appointmentDateFromFilter: string | Date | null = null;\n private appointmentDateToFilter: string | Date | null = null;\n private partnerPracticeFilter: string | null = null;\n private legalAdvisorFilter: string | null = null;\n private accountNoFilter: number | null = null;\n private clientFirstNameFilter: string | null = null;\n private clientLastNameFilter: string | null = null;\n private appointmentProductTypeFilter: string | null = null;\n private instructionValueFilter: number | null = null;\n private noInstructionTypeFilter: string | null = null;\n private noInstructionNotesFilter: string | null = null;\n private appointments: Array = new Array();\n private reportName: string = 'Clients Considering Options';\n private emptyText: string | null = `Please enter some search filters and click Filter to show ${this.reportName}`;\n\n private datePeriods = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Current Day' },\n { id: 1, value: 'Current Week' },\n { id: 2, value: 'Previous Week' },\n { id: 3, value: 'Current Month' },\n { id: 4, value: 'Previous Month' },\n { id: 5, value: 'Current Quarter' },\n { id: 6, value: 'Previous Quarter' },\n { id: 7, value: 'Current Year' },\n { id: 8, value: 'Previous Year' },\n { id: 9, value: 'Custom Dates' },\n ]);\n\n\n private get isCustomDatePeriod(): boolean {\n return this.appointmentDatePeriodFilter === 9;\n }\n\n private get requestFilters(): ClientsConsideringOptionsRequestFilters {\n return {\n appointmentDatePeriod: this.appointmentDatePeriodFilter,\n appointmentDateFrom: this.appointmentDateFromFilter,\n appointmentDateTo: this.appointmentDateToFilter,\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter,\n legalAdvisorId: this.legalAdvisorFilter,\n accountNo: this.accountNoFilter,\n clientFirstName: this.clientFirstNameFilter,\n clientLastName: this.clientLastNameFilter,\n appointmentProductTypeId: this.appointmentProductTypeFilter,\n instructionValue: this.instructionValueFilter,\n noInstructionTypeId: this.noInstructionTypeFilter,\n noInstructionNotes: this.noInstructionNotesFilter,\n };\n }\n\n @Watch('appointmentDatePeriodFilter')\n private async onAppointmentDatePeriodFilterChanged(): Promise {\n this.appointmentDateFromFilter = null;\n this.appointmentDateToFilter = null;\n }\n\n public async getReportDataAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n this.appointments = await exceptionReportApi.getClientsConsideringOptionsAsync(this.requestFilters);\n this.emptyText = `No ${this.reportName} found matching the requested search filters`;\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not load ${this.reportName}.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private async exportReportAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n const response = await exceptionReportApi.getClientsConsideringOptionsExportAsync(this.requestFilters);\n\n if (response == null) {\n this.$snackbar.open({ message: `No ${this.reportName} found matching the requested search filters.`, type: 'is-danger' });\n return;\n }\n\n const blob = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n const link = document.createElement('a');\n link.rel = 'noopener';\n link.href = window.URL.createObjectURL(blob);\n link.download = 'clients-considering-options.xlsx';\n link.target = '_blank';\n link.click();\n window.URL.revokeObjectURL(link.href);\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not download ${this.reportName}, please try again.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private clearFilters(): void {\n this.appointmentDatePeriodFilter = null;\n this.appointmentDateFromFilter = null;\n this.appointmentDateToFilter = null;\n this.partnerPracticeFilter = null;\n this.legalAdvisorFilter = null;\n this.accountNoFilter = null;\n this.clientFirstNameFilter = null;\n this.clientLastNameFilter = null;\n this.appointmentProductTypeFilter = null;\n this.instructionValueFilter = null;\n this.noInstructionTypeFilter = null;\n this.noInstructionNotesFilter = null;\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n ]);\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./clients-considering-options.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./clients-considering-options.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./clients-considering-options.vue?vue&type=template&id=598f73e4&\"\nimport script from \"./clients-considering-options.vue?vue&type=script&lang=ts&\"\nexport * from \"./clients-considering-options.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:\"exception-report instructed-cleared-variances\"},[_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading \"+_vm._s(_vm.reportName)+\", please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDatePeriodFilter\"}},[_vm._v(\"Appointment Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentDatePeriodFilter),expression:\"appointmentDatePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"appointmentDatePeriodFilter\",\"id\":\"appointmentDatePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentDatePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateFromFilter\"}},[_vm._v(\"From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDateFromFilter') },attrs:{\"name\":\"appointmentDateFromFilter\",\"id\":\"appointmentDateFromFilter\",\"data-vv-as\":\"appointment from\"},model:{value:(_vm.appointmentDateFromFilter),callback:function ($$v) {_vm.appointmentDateFromFilter=$$v},expression:\"appointmentDateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateFromFilter')),expression:\"errors.has('appointmentDateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateToFilter\"}},[_vm._v(\"To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDateToFilter') },attrs:{\"name\":\"appointmentDateToFilter\",\"id\":\"appointmentDateToFilter\",\"data-vv-as\":\"appointment to\"},model:{value:(_vm.appointmentDateToFilter),callback:function ($$v) {_vm.appointmentDateToFilter=$$v},expression:\"appointmentDateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateToFilter')),expression:\"errors.has('appointmentDateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('user-select',{attrs:{\"type\":\"legal advisor\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-period\":_vm.appointmentDatePeriodFilter,\"date-from\":_vm.appointmentDateFromFilter,\"date-to\":_vm.appointmentDateToFilter},model:{value:(_vm.legalAdvisorFilter),callback:function ($$v) {_vm.legalAdvisorFilter=$$v},expression:\"legalAdvisorFilter\"}},[_vm._v(\"\\n Legal Advisor:\\n \")])],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"accountNoFilter\"}},[_vm._v(\"Account No:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accountNoFilter),expression:\"accountNoFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('numeric'),expression:\"'numeric'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('accountNoFilter') },attrs:{\"type\":\"text\",\"name\":\"accountNoFilter\",\"id\":\"accountNoFilter\",\"data-vv-as\":\"account no\"},domProps:{\"value\":(_vm.accountNoFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.accountNoFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('accountNoFilter')),expression:\"errors.has('accountNoFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('accountNoFilter')))])])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientFirstNameFilter\"}},[_vm._v(\"First Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientFirstNameFilter),expression:\"clientFirstNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientFirstNameFilter\"},domProps:{\"value\":(_vm.clientFirstNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientFirstNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientLastNameFilter\"}},[_vm._v(\"Last Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientLastNameFilter),expression:\"clientLastNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientLastNameFilter\"},domProps:{\"value\":(_vm.clientLastNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientLastNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentProductTypeFilter\"}},[_vm._v(\"Product:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentProductTypeFilter),expression:\"appointmentProductTypeFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"appointmentProductTypeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentProductTypeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.appointmentProductTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(\" \"+_vm._s(type.value))])})],2)])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"instructionValueFilter\"}},[_vm._v(\"Instruction Value (on or above):\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}])},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.instructionValueFilter),expression:\"instructionValueFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('decimal:2'),expression:\"'decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('instructionValueFilter') },attrs:{\"type\":\"text\",\"name\":\"instructionValueFilter\",\"id\":\"instructionValueFilter\",\"data-vv-as\":\"instruction value\"},domProps:{\"value\":(_vm.instructionValueFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.instructionValueFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('instructionValueFilter')),expression:\"errors.has('instructionValueFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('instructionValueFilter')))])])],1)]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clearedAmountFilter\"}},[_vm._v(\"Cleared Amount (on or above):\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}])},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clearedAmountFilter),expression:\"clearedAmountFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('decimal:2'),expression:\"'decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('clearedAmountFilter') },attrs:{\"type\":\"text\",\"name\":\"clearedAmountFilter\",\"id\":\"clearedAmountFilter\",\"data-vv-as\":\"cleared amount\"},domProps:{\"value\":(_vm.clearedAmountFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clearedAmountFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('clearedAmountFilter')),expression:\"errors.has('clearedAmountFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('clearedAmountFilter')))])])],1)]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"differenceFilter\"}},[_vm._v(\"Difference (on or above):\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}])},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.differenceFilter),expression:\"differenceFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('decimal:2'),expression:\"'decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('differenceFilter') },attrs:{\"type\":\"text\",\"name\":\"differenceFilter\",\"id\":\"differenceFilter\",\"data-vv-as\":\"difference\"},domProps:{\"value\":(_vm.differenceFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.differenceFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('differenceFilter')),expression:\"errors.has('differenceFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('differenceFilter')))])])],1)]),_c('div',{staticClass:\"col-sm-12 col-md-8 col-xl-4\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-dropdown',{attrs:{\"split\":\"\",\"block\":\"\",\"variant\":\"primary\",\"text\":\"Filter\"},on:{\"click\":_vm.getReportDataAsync}},[_c('b-dropdown-item',{on:{\"click\":_vm.exportReportAsync}},[_vm._v(\"Download\")])],1)],1)]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('a',{staticClass:\"btn btn-link form-control px-0\",on:{\"click\":_vm.clearFilters}},[_vm._v(\"Clear Filters\")])])])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('instructed-cleared-variances-table',{staticClass:\"mt-3\",attrs:{\"appointments\":_vm.appointments,\"empty-text\":_vm.emptyText}})],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',[_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"caption-top\":\"\",\"items\":_vm.appointments,\"fields\":_vm.fields,\"current-page\":_vm.currentPage,\"per-page\":_vm.pageSize,\"empty-text\":_vm.emptyText},scopedSlots:_vm._u([{key:\"table-caption\",fn:function(){return [_c('h4',[_vm._v(\"Instructed - Cleared Variances\")]),(_vm.totalRows > 0)?_c('h6',[_vm._v(_vm._s(_vm._f(\"date\")(_vm.startDate))+\" to \"+_vm._s(_vm._f(\"date\")(_vm.endDate)))]):_vm._e()]},proxy:true},{key:\"cell(appointmentDate)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.appointmentDate))+\"\\n \")]}},{key:\"cell(appointmentTime)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"time\")(item.appointmentDate))+\"\\n \")]}},{key:\"cell(accountNo)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((_vm.sortClients(item.clients)),function(client,index){return _c('div',{key:index},[_c('a',{staticClass:\"btn-link\",on:{\"click\":function($event){return _vm.goToClient(client.id)}}},[_vm._v(_vm._s(client.accountNo))])])})}},{key:\"cell(clientName)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.clientName(item.clients))+\"\\n \")]}},{key:\"cell(products)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((item.products),function(product,index){return _c('div',{key:index},[_c('b-badge',{attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(product.name))])],1)})}},{key:\"cell(instructedValue)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((item.products),function(product,index){return _c('div',{key:index},[_vm._v(\"\\n £\"+_vm._s(product.instructedValue)+\"\\n \")])})}},{key:\"cell(clearedAmount)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((item.products),function(product,index){return _c('div',{key:index},[_vm._v(\"\\n £\"+_vm._s(product.amount)+\"\\n \")])})}},{key:\"cell(difference)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((item.products),function(product,index){return _c('div',{key:index},[_vm._v(\"\\n £\"+_vm._s(product.difference)+\"\\n \")])})}}])}),(_vm.totalRows > 0)?_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.totalRows,\"per-page\":_vm.pageSize},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}):_vm._e(),(_vm.totalRows > 0)?_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))]):_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\nimport { ExceptionReportClient } from '@/shared/exception-reports/exception-report.client';\nimport { InstructedClearedVariances } from '@/shared/exception-reports/instructed-cleared-variances';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class InstructedClearedVariancesTable extends Vue {\n @Prop({ required: true }) private appointments!: Array;\n @Prop({ required: true }) private emptyText!: string;\n\n private currentPage: number = 1;\n private pageSize: number = 50;\n\n private get fields(): Array<{}> {\n return [\n { key: 'appointmentDate', label: 'Appointment Date' },\n { key: 'appointmentTime', label: 'Appointment Time' },\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'legalAdvisor', label: 'Legal Advisor' },\n { key: 'accountNo', label: 'Account No' },\n { key: 'clientName', label: 'Client Name' },\n { key: 'products', label: 'Product' },\n { key: 'instructedValue', label: 'Instruction Value' },\n { key: 'clearedAmount', label: 'Cleared Amount' },\n { key: 'difference', label: 'Difference' },\n ];\n }\n\n private get totalRows(): number {\n return this.appointments.length;\n }\n\n private get paginationDescription(): string {\n const start: number = (this.appointments.length < 1) ? 0 : ((this.currentPage - 1) * this.pageSize) + 1;\n const end: number = start + this.pageSize > this.totalRows ? this.totalRows : start + this.pageSize - 1;\n\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.totalRows.toLocaleString()}`;\n }\n\n private get startDate(): string | Date | null {\n const dates = this.appointments.map((a) => a.appointmentDate)\n .sort((d1, d2) => {\n if (d1! > d2!) { return 1; }\n if (d1! < d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n private get endDate(): string | Date | null {\n const dates = this.appointments.map((a) => a.appointmentDate)\n .sort((d1, d2) => {\n if (d1! < d2!) { return 1; }\n if (d1! > d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n @Watch('appointments')\n private onAppointmentsChanged(): void {\n this.currentPage = 1;\n }\n\n private sortClients(clients: Array): Array {\n if (!clients.length) {\n return [];\n }\n\n if (clients.length < 2) {\n return [clients[0]];\n }\n\n const firstClient = clients[0].accountNo < clients[1].accountNo ? clients[0] : clients[1];\n const secondClient = clients[0].accountNo > clients[1].accountNo ? clients[0] : clients[1];\n\n return [\n firstClient,\n secondClient,\n ];\n }\n\n private clientName(clients: Array): string {\n if (clients == null || clients.length < 1) {\n return '';\n }\n\n if (clients.length < 2) {\n return `${clients[0].firstName.trim()} ${clients[0].lastName.trim()}`;\n }\n\n const sortedClients = this.sortClients(clients);\n\n return sortedClients[0].lastName.trim().toLowerCase() === sortedClients[1].lastName.trim().toLowerCase()\n ? `${sortedClients[0].firstName.trim()} & ${sortedClients[1].firstName.trim()} ${sortedClients[0].lastName.trim()}`\n : `${sortedClients[0].firstName.trim()} ${sortedClients[0].lastName.trim()} & ${sortedClients[1].firstName.trim()} ${sortedClients[1].lastName.trim()}`;\n }\n\n private goToClient(clientId: string): void {\n window.open('../../clients/' + clientId, '_blank');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./instructed-cleared-variances-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./instructed-cleared-variances-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./instructed-cleared-variances-table.vue?vue&type=template&id=b1bc691c&\"\nimport script from \"./instructed-cleared-variances-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./instructed-cleared-variances-table.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { ExceptionReportApi } from '@/api/exception-reports';\nimport { InstructedClearedVariancesRequestFilters } from '@/api/requests/exception-reports/instructed-cleared-variances-request-filters';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport instructedClearedVariancesTable from '@/components/exception-reports/instructed-cleared-variances-table.vue';\nimport loading from '@/components/loading.vue';\nimport { InstructedClearedVariances } from '@/shared/exception-reports/instructed-cleared-variances';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { AppointmentProductType } from '@/shared/types/appointment-product-type';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\nconst exceptionReportApi = new ExceptionReportApi();\n\n@Component({\n components: {\n instructedClearedVariancesTable,\n loading,\n },\n})\nexport default class InstructedClearedVariancesExceptionReport extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n @typesModule.Getter('activeAppointmentProductTypes') private appointmentProductTypes!: Array;\n\n private isLoading: boolean = true;\n private appointmentDatePeriodFilter: number | null = null;\n private appointmentDateFromFilter: string | Date | null = null;\n private appointmentDateToFilter: string | Date | null = null;\n private partnerPracticeFilter: string | null = null;\n private legalAdvisorFilter: string | null = null;\n private accountNoFilter: number | null = null;\n private clientFirstNameFilter: string | null = null;\n private clientLastNameFilter: string | null = null;\n private appointmentProductTypeFilter: string | null = null;\n private instructionValueFilter: number | null = null;\n private clearedAmountFilter: number | null = null;\n private differenceFilter: number | null = null;\n private appointments: Array = new Array();\n private reportName: string = 'Instructed - Cleared Variances';\n private emptyText: string | null = `Please enter some search filters and click Filter to show ${this.reportName}`;\n\n private datePeriods = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Current Day' },\n { id: 1, value: 'Current Week' },\n { id: 2, value: 'Previous Week' },\n { id: 3, value: 'Current Month' },\n { id: 4, value: 'Previous Month' },\n { id: 5, value: 'Current Quarter' },\n { id: 6, value: 'Previous Quarter' },\n { id: 7, value: 'Current Year' },\n { id: 8, value: 'Previous Year' },\n { id: 9, value: 'Custom Dates' },\n ]);\n\n\n private get isCustomDatePeriod(): boolean {\n return this.appointmentDatePeriodFilter === 9;\n }\n\n private get requestFilters(): InstructedClearedVariancesRequestFilters {\n return {\n appointmentDatePeriod: this.appointmentDatePeriodFilter,\n appointmentDateFrom: this.appointmentDateFromFilter,\n appointmentDateTo: this.appointmentDateToFilter,\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter,\n legalAdvisorId: this.legalAdvisorFilter,\n accountNo: this.accountNoFilter,\n clientFirstName: this.clientFirstNameFilter,\n clientLastName: this.clientLastNameFilter,\n appointmentProductTypeId: this.appointmentProductTypeFilter,\n instructionValue: this.instructionValueFilter,\n clearedAmount: this.clearedAmountFilter,\n difference: this.differenceFilter,\n };\n }\n\n @Watch('appointmentDatePeriodFilter')\n private async onAppointmentDatePeriodFilterChanged(): Promise {\n this.appointmentDateFromFilter = null;\n this.appointmentDateToFilter = null;\n }\n\n public async getReportDataAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n this.appointments = await exceptionReportApi.getInstructedClearedVariancesAsync(this.requestFilters);\n this.emptyText = `No ${this.reportName} found matching the requested search filters`;\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not load ${this.reportName}.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private async exportReportAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n const response = await exceptionReportApi.getInstructedClearedVarianceExportAsync(this.requestFilters);\n\n if (response == null) {\n this.$snackbar.open({ message: `No ${this.reportName} found matching the requested search filters.`, type: 'is-danger' });\n return;\n }\n\n const blob = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n const link = document.createElement('a');\n link.rel = 'noopener';\n link.href = window.URL.createObjectURL(blob);\n link.download = 'instructed-cleared-variances.xlsx';\n link.target = '_blank';\n link.click();\n window.URL.revokeObjectURL(link.href);\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not download ${this.reportName}, please try again.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private clearFilters(): void {\n this.appointmentDatePeriodFilter = null;\n this.appointmentDateFromFilter = null;\n this.appointmentDateToFilter = null;\n this.partnerPracticeFilter = null;\n this.legalAdvisorFilter = null;\n this.accountNoFilter = null;\n this.clientFirstNameFilter = null;\n this.clientLastNameFilter = null;\n this.appointmentProductTypeFilter = null;\n this.instructionValueFilter = null;\n this.clearedAmountFilter = null;\n this.differenceFilter = null;\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n ]);\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./instructed-cleared-variances.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./instructed-cleared-variances.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./instructed-cleared-variances.vue?vue&type=template&id=001afc24&\"\nimport script from \"./instructed-cleared-variances.vue?vue&type=script&lang=ts&\"\nexport * from \"./instructed-cleared-variances.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:\"exception-report monitor-appointment-bookings\"},[_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading \"+_vm._s(_vm.reportName)+\", please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('user-select',{attrs:{\"type\":\"appointment booker\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-period\":_vm.bookingDatePeriodFilter,\"date-from\":_vm.bookingDateFromFilter,\"date-to\":_vm.bookingDateToFilter,\"role-id\":_vm.userRoleFilter},model:{value:(_vm.userFilter),callback:function ($$v) {_vm.userFilter=$$v},expression:\"userFilter\"}},[_vm._v(\"\\n Booker Name:\\n \")])],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"userRoleFilter\"}},[_vm._v(\"Booker Type:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.userRoleFilter),expression:\"userRoleFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"userRoleFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.userRoleFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.roles),function(role){return _c('option',{key:role.id,domProps:{\"value\":role.id}},[_vm._v(_vm._s(role.name))])})],2)])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"bookingDatePeriodFilter\"}},[_vm._v(\"Booking Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.bookingDatePeriodFilter),expression:\"bookingDatePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"bookingDatePeriodFilter\",\"id\":\"bookingDatePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.bookingDatePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomBookingDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"bookingDateFromFilter\"}},[_vm._v(\"From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('bookingDateFromFilter') },attrs:{\"name\":\"bookingDateFromFilter\",\"id\":\"bookingDateFromFilter\",\"data-vv-as\":\"booking date from\"},model:{value:(_vm.bookingDateFromFilter),callback:function ($$v) {_vm.bookingDateFromFilter=$$v},expression:\"bookingDateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('bookingDateFromFilter')),expression:\"errors.has('bookingDateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('bookingDateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomBookingDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"bookingDateToFilter\"}},[_vm._v(\"To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('bookingDateToFilter') },attrs:{\"name\":\"bookingDateToFilter\",\"id\":\"bookingDateToFilter\",\"data-vv-as\":\"booking date to\"},model:{value:(_vm.bookingDateToFilter),callback:function ($$v) {_vm.bookingDateToFilter=$$v},expression:\"bookingDateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('bookingDateToFilter')),expression:\"errors.has('bookingDateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('bookingDateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDatePeriodFilter\"}},[_vm._v(\"Appointment Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentDatePeriodFilter),expression:\"appointmentDatePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"appointmentDatePeriodFilter\",\"id\":\"appointmentDatePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentDatePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomAppointmentDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateFromFilter\"}},[_vm._v(\"From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDateFromFilter') },attrs:{\"name\":\"appointmentDateFromFilter\",\"id\":\"appointmentDateFromFilter\",\"data-vv-as\":\"appointment date from\"},model:{value:(_vm.appointmentDateFromFilter),callback:function ($$v) {_vm.appointmentDateFromFilter=$$v},expression:\"appointmentDateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateFromFilter')),expression:\"errors.has('appointmentDateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomAppointmentDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateToFilter\"}},[_vm._v(\"To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDateToFilter') },attrs:{\"name\":\"appointmentDateToFilter\",\"id\":\"appointmentDateToFilter\",\"data-vv-as\":\"appointment date to\"},model:{value:(_vm.appointmentDateToFilter),callback:function ($$v) {_vm.appointmentDateToFilter=$$v},expression:\"appointmentDateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateToFilter')),expression:\"errors.has('appointmentDateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"daysFromBookingFilter\"}},[_vm._v(\"Days From Booking (on or above):\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.daysFromBookingFilter),expression:\"daysFromBookingFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('numeric'),expression:\"'numeric'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('daysFromBookingFilter') },attrs:{\"type\":\"text\",\"name\":\"daysFromBookingFilter\",\"id\":\"daysFromBookingFilter\",\"data-vv-as\":\"days from booking\"},domProps:{\"value\":(_vm.daysFromBookingFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.daysFromBookingFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('daysFromBookingFilter')),expression:\"errors.has('daysFromBookingFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('daysFromBookingFilter')))])])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"currentMonthFilter\"}},[_vm._v(\"Month:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentMonthFilter),expression:\"currentMonthFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"currentMonthFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.currentMonthFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_c('option',{domProps:{\"value\":true}},[_vm._v(\"Current\")]),_c('option',{domProps:{\"value\":false}},[_vm._v(\"New\")])])])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"accountNoFilter\"}},[_vm._v(\"Account No:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accountNoFilter),expression:\"accountNoFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('numeric'),expression:\"'numeric'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('accountNoFilter') },attrs:{\"type\":\"text\",\"name\":\"accountNoFilter\",\"id\":\"accountNoFilter\",\"data-vv-as\":\"account no\"},domProps:{\"value\":(_vm.accountNoFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.accountNoFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('accountNoFilter')),expression:\"errors.has('accountNoFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('accountNoFilter')))])])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientFirstNameFilter\"}},[_vm._v(\"First Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientFirstNameFilter),expression:\"clientFirstNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientFirstNameFilter\"},domProps:{\"value\":(_vm.clientFirstNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientFirstNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientLastNameFilter\"}},[_vm._v(\"Last Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientLastNameFilter),expression:\"clientLastNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientLastNameFilter\"},domProps:{\"value\":(_vm.clientLastNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientLastNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-12 col-md-8 col-xl-4\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-dropdown',{attrs:{\"split\":\"\",\"block\":\"\",\"variant\":\"primary\",\"text\":\"Filter\"},on:{\"click\":_vm.getReportDataAsync}},[_c('b-dropdown-item',{on:{\"click\":_vm.exportReportAsync}},[_vm._v(\"Download\")])],1)],1)]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('a',{staticClass:\"btn btn-link form-control px-0\",on:{\"click\":_vm.clearFilters}},[_vm._v(\"Clear Filters\")])])])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('monitor-appointment-bookings-table',{staticClass:\"mt-3\",attrs:{\"appointments\":_vm.appointments,\"empty-text\":_vm.emptyText}})],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',[_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"caption-top\":\"\",\"items\":_vm.appointments,\"fields\":_vm.fields,\"current-page\":_vm.currentPage,\"per-page\":_vm.pageSize,\"empty-text\":_vm.emptyText},scopedSlots:_vm._u([{key:\"table-caption\",fn:function(){return [_c('h4',[_vm._v(\"Monitor Appointment Bookings\")]),(_vm.totalRows > 0)?_c('h6',[_vm._v(_vm._s(_vm._f(\"date\")(_vm.startDate))+\" to \"+_vm._s(_vm._f(\"date\")(_vm.endDate)))]):_vm._e()]},proxy:true},{key:\"cell(bookerRole)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((item.bookerRoles),function(role,index){return _c('div',{key:index},[_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(_vm._s(role))])],1)})}},{key:\"cell(createdDate)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.createdDate))+\"\\n \")]}},{key:\"cell(appointmentDate)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.appointmentDate))+\"\\n \")]}},{key:\"cell(accountNo)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((_vm.sortClients(item.clients)),function(client,index){return _c('div',{key:index},[_c('a',{staticClass:\"btn-link\",on:{\"click\":function($event){return _vm.goToClient(client.id)}}},[_vm._v(_vm._s(client.accountNo))])])})}},{key:\"cell(clientName)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.clientName(item.clients))+\"\\n \")]}}])}),(_vm.totalRows > 0)?_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.totalRows,\"per-page\":_vm.pageSize},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}):_vm._e(),(_vm.totalRows > 0)?_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))]):_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\nimport { ExceptionReportClient } from '@/shared/exception-reports/exception-report.client';\nimport { MonitorAppointmentBookings } from '@/shared/exception-reports/monitor-appointment-bookings';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class MonitorAppointmentBookingsTable extends Vue {\n @Prop({ required: true }) private appointments!: Array;\n @Prop({ required: true }) private emptyText!: string;\n\n private currentPage: number = 1;\n private pageSize: number = 50;\n\n private get fields(): Array<{}> {\n return [\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'bookerName', label: 'Booker Name' },\n { key: 'bookerRole', label: 'Booker Type' },\n { key: 'createdDate', label: 'Booking Date' },\n { key: 'appointmentDate', label: 'Appointment Date' },\n { key: 'daysFromBooking', label: 'Days From Booking' },\n { key: 'month', label: 'Month' },\n { key: 'accountNo', label: 'Account No' },\n { key: 'clientName', label: 'Client Name' },\n ];\n }\n\n private get totalRows(): number {\n return this.appointments.length;\n }\n\n private get paginationDescription(): string {\n const start: number = (this.appointments.length < 1) ? 0 : ((this.currentPage - 1) * this.pageSize) + 1;\n const end: number = start + this.pageSize > this.totalRows ? this.totalRows : start + this.pageSize - 1;\n\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.totalRows.toLocaleString()}`;\n }\n\n private get startDate(): string | Date | null {\n const dates = this.appointments.map((a) => a.appointmentDate)\n .sort((d1, d2) => {\n if (d1! > d2!) { return 1; }\n if (d1! < d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n private get endDate(): string | Date | null {\n const dates = this.appointments.map((a) => a.appointmentDate)\n .sort((d1, d2) => {\n if (d1! < d2!) { return 1; }\n if (d1! > d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n @Watch('appointments')\n private onAppointmentsChanged(): void {\n this.currentPage = 1;\n }\n\n private sortClients(clients: Array): Array {\n if (!clients.length) {\n return [];\n }\n\n if (clients.length < 2) {\n return [clients[0]];\n }\n\n const firstClient = clients[0].accountNo < clients[1].accountNo ? clients[0] : clients[1];\n const secondClient = clients[0].accountNo > clients[1].accountNo ? clients[0] : clients[1];\n\n return [\n firstClient,\n secondClient,\n ];\n }\n\n private clientName(clients: Array): string {\n if (clients == null || clients.length < 1) {\n return '';\n }\n\n if (clients.length < 2) {\n return `${clients[0].firstName.trim()} ${clients[0].lastName.trim()}`;\n }\n\n const sortedClients = this.sortClients(clients);\n\n return sortedClients[0].lastName.trim().toLowerCase() === sortedClients[1].lastName.trim().toLowerCase()\n ? `${sortedClients[0].firstName.trim()} & ${sortedClients[1].firstName.trim()} ${sortedClients[0].lastName.trim()}`\n : `${sortedClients[0].firstName.trim()} ${sortedClients[0].lastName.trim()} & ${sortedClients[1].firstName.trim()} ${sortedClients[1].lastName.trim()}`;\n }\n\n private goToClient(clientId: string): void {\n window.open('../../clients/' + clientId, '_blank');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./monitor-appointment-bookings-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./monitor-appointment-bookings-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./monitor-appointment-bookings-table.vue?vue&type=template&id=2f56eed4&\"\nimport script from \"./monitor-appointment-bookings-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./monitor-appointment-bookings-table.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { ExceptionReportApi } from '@/api/exception-reports';\nimport { MonitorAppointmentBookingsRequestFilters } from '@/api/requests/exception-reports/monitor-appointment-bookings-request-filters';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport monitorAppointmentBookingsTable from '@/components/exception-reports/monitor-appointment-bookings-table.vue';\nimport loading from '@/components/loading.vue';\nimport { MonitorAppointmentBookings } from '@/shared/exception-reports/monitor-appointment-bookings';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { Role } from '@/shared/roles/role';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst usersModule = namespace('users');\nconst exceptionReportApi = new ExceptionReportApi();\n\n@Component({\n components: {\n monitorAppointmentBookingsTable,\n loading,\n },\n})\nexport default class MonitorAppointmentBookingsExceptionReport extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n\n @usersModule.Getter('roles') private roles!: Array;\n\n private isLoading: boolean = true;\n private partnerPracticeFilter: string | null = null;\n private userRoleFilter: string | null = null;\n private userFilter: string | null = null;\n private bookingDatePeriodFilter: number | null = null;\n private bookingDateFromFilter: string | Date | null = null;\n private bookingDateToFilter: string | Date | null = null;\n private appointmentDatePeriodFilter: number | null = null;\n private appointmentDateFromFilter: string | Date | null = null;\n private appointmentDateToFilter: string | Date | null = null;\n private daysFromBookingFilter: number | null = null;\n private currentMonthFilter: boolean | null = null;\n private accountNoFilter: number | null = null;\n private clientFirstNameFilter: string | null = null;\n private clientLastNameFilter: string | null = null;\n private appointments: Array = new Array();\n private reportName: string = 'Monitor Appointment Bookings';\n private emptyText: string | null = `Please enter some search filters and click Filter to show ${this.reportName}`;\n\n private datePeriods = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Current Day' },\n { id: 1, value: 'Current Week' },\n { id: 2, value: 'Previous Week' },\n { id: 3, value: 'Current Month' },\n { id: 4, value: 'Previous Month' },\n { id: 5, value: 'Current Quarter' },\n { id: 6, value: 'Previous Quarter' },\n { id: 7, value: 'Current Year' },\n { id: 8, value: 'Previous Year' },\n { id: 9, value: 'Custom Dates' },\n ]);\n\n private get isCustomBookingDatePeriod(): boolean {\n return this.bookingDatePeriodFilter === 9;\n }\n\n private get isCustomAppointmentDatePeriod(): boolean {\n return this.appointmentDatePeriodFilter === 9;\n }\n\n private get requestFilters(): MonitorAppointmentBookingsRequestFilters {\n return {\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter,\n userRoleId: this.userRoleFilter,\n userId: this.userFilter,\n bookingDatePeriod: this.bookingDatePeriodFilter,\n bookingDateFrom: this.bookingDateFromFilter,\n bookingDateTo: this.bookingDateToFilter,\n appointmentDatePeriod: this.appointmentDatePeriodFilter,\n appointmentDateFrom: this.appointmentDateFromFilter,\n appointmentDateTo: this.appointmentDateToFilter,\n daysFromBooking: this.daysFromBookingFilter,\n currentMonth: this.currentMonthFilter,\n accountNo: this.accountNoFilter,\n clientFirstName: this.clientFirstNameFilter,\n clientLastName: this.clientLastNameFilter,\n };\n }\n\n @Watch('appointmentDatePeriodFilter')\n private async onAppointmentDatePeriodFilterChanged(): Promise {\n this.appointmentDateFromFilter = null;\n this.appointmentDateToFilter = null;\n }\n\n public async getReportDataAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n this.appointments = await exceptionReportApi.getMonitorAppointmentBookingsAsync(this.requestFilters);\n this.emptyText = `No ${this.reportName} found matching the requested search filters`;\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not load ${this.reportName}.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private async exportReportAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n const response = await exceptionReportApi.getMonitorAppointmentBookingsExportAsync(this.requestFilters);\n\n if (response == null) {\n this.$snackbar.open({ message: `No ${this.reportName} found matching the requested search filters.`, type: 'is-danger' });\n return;\n }\n\n const blob = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n const link = document.createElement('a');\n link.rel = 'noopener';\n link.href = window.URL.createObjectURL(blob);\n link.download = 'monitor-appointment-bookings.xlsx';\n link.target = '_blank';\n link.click();\n window.URL.revokeObjectURL(link.href);\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not download ${this.reportName}, please try again.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private clearFilters(): void {\n this.partnerPracticeFilter = null;\n this.userRoleFilter = null;\n this.userFilter = null;\n this.bookingDatePeriodFilter = null;\n this.bookingDateFromFilter = null;\n this.bookingDateToFilter = null;\n this.appointmentDatePeriodFilter = null;\n this.appointmentDateFromFilter = null;\n this.appointmentDateToFilter = null;\n this.daysFromBookingFilter = null;\n this.currentMonthFilter = null;\n this.accountNoFilter = null;\n this.clientFirstNameFilter = null;\n this.clientLastNameFilter = null;\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n this.$store.dispatch(`users/loadRolesAsync`),\n ]);\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./monitor-appointment-bookings.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./monitor-appointment-bookings.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./monitor-appointment-bookings.vue?vue&type=template&id=66532685&\"\nimport script from \"./monitor-appointment-bookings.vue?vue&type=script&lang=ts&\"\nexport * from \"./monitor-appointment-bookings.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:\"exception-report no-longer-proceeding-clients\"},[_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading \"+_vm._s(_vm.reportName)+\", please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDatePeriodFilter\"}},[_vm._v(\"Appointment Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentDatePeriodFilter),expression:\"appointmentDatePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"appointmentDatePeriodFilter\",\"id\":\"appointmentDatePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentDatePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateFromFilter\"}},[_vm._v(\"From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDateFromFilter') },attrs:{\"name\":\"appointmentDateFromFilter\",\"id\":\"appointmentDateFromFilter\",\"data-vv-as\":\"appointment from\"},model:{value:(_vm.appointmentDateFromFilter),callback:function ($$v) {_vm.appointmentDateFromFilter=$$v},expression:\"appointmentDateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateFromFilter')),expression:\"errors.has('appointmentDateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateToFilter\"}},[_vm._v(\"To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDateToFilter') },attrs:{\"name\":\"appointmentDateToFilter\",\"id\":\"appointmentDateToFilter\",\"data-vv-as\":\"appointment to\"},model:{value:(_vm.appointmentDateToFilter),callback:function ($$v) {_vm.appointmentDateToFilter=$$v},expression:\"appointmentDateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateToFilter')),expression:\"errors.has('appointmentDateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('user-select',{attrs:{\"type\":\"legal advisor\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-period\":_vm.appointmentDatePeriodFilter,\"date-from\":_vm.appointmentDateFromFilter,\"date-to\":_vm.appointmentDateToFilter},model:{value:(_vm.legalAdvisorFilter),callback:function ($$v) {_vm.legalAdvisorFilter=$$v},expression:\"legalAdvisorFilter\"}},[_vm._v(\"\\n Legal Advisor:\\n \")])],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"accountNoFilter\"}},[_vm._v(\"Account No:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accountNoFilter),expression:\"accountNoFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('numeric'),expression:\"'numeric'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('accountNoFilter') },attrs:{\"type\":\"text\",\"name\":\"accountNoFilter\",\"id\":\"accountNoFilter\",\"data-vv-as\":\"account no\"},domProps:{\"value\":(_vm.accountNoFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.accountNoFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('accountNoFilter')),expression:\"errors.has('accountNoFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('accountNoFilter')))])])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientFirstNameFilter\"}},[_vm._v(\"First Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientFirstNameFilter),expression:\"clientFirstNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientFirstNameFilter\"},domProps:{\"value\":(_vm.clientFirstNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientFirstNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientLastNameFilter\"}},[_vm._v(\"Last Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientLastNameFilter),expression:\"clientLastNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientLastNameFilter\"},domProps:{\"value\":(_vm.clientLastNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientLastNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentProductTypeFilter\"}},[_vm._v(\"Product:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentProductTypeFilter),expression:\"appointmentProductTypeFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"appointmentProductTypeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentProductTypeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.appointmentProductTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(\" \"+_vm._s(type.value))])})],2)])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"paymentStatusTypeFilter\"}},[_vm._v(\"Payment Status:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.paymentStatusTypeFilter),expression:\"paymentStatusTypeFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"paymentStatusTypeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.paymentStatusTypeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.filteredPaymentStatusTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(\" \"+_vm._s(type.value))])})],2)])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"paymentStatusAmountFilter\"}},[_vm._v(\"Amount (on or above):\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}])},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.paymentStatusAmountFilter),expression:\"paymentStatusAmountFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('decimal:2'),expression:\"'decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('paymentStatusAmountFilter') },attrs:{\"type\":\"text\",\"name\":\"paymentStatusAmountFilter\",\"id\":\"paymentStatusAmountFilter\",\"data-vv-as\":\"amount\"},domProps:{\"value\":(_vm.paymentStatusAmountFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.paymentStatusAmountFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('paymentStatusAmountFilter')),expression:\"errors.has('paymentStatusAmountFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('paymentStatusAmountFilter')))])])],1)]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"paymentStatusDatePeriodFilter\"}},[_vm._v(\"Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.paymentStatusDatePeriodFilter),expression:\"paymentStatusDatePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"paymentStatusDatePeriodFilter\",\"id\":\"paymentStatusDatePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.paymentStatusDatePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomPaymentStatusDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"paymentStatusDateFromFilter\"}},[_vm._v(\"From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('paymentStatusDateFromFilter') },attrs:{\"name\":\"paymentStatusDateFromFilter\",\"id\":\"paymentStatusDateFromFilter\",\"data-vv-as\":\"date from\"},model:{value:(_vm.paymentStatusDateFromFilter),callback:function ($$v) {_vm.paymentStatusDateFromFilter=$$v},expression:\"paymentStatusDateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('paymentStatusDateFromFilter')),expression:\"errors.has('paymentStatusDateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('paymentStatusDateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomPaymentStatusDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"paymentStatusDateToFilter\"}},[_vm._v(\"To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('paymentStatusDateToFilter') },attrs:{\"name\":\"paymentStatusDateToFilter\",\"id\":\"paymentStatusDateToFilter\",\"data-vv-as\":\"date to\"},model:{value:(_vm.paymentStatusDateToFilter),callback:function ($$v) {_vm.paymentStatusDateToFilter=$$v},expression:\"paymentStatusDateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('paymentStatusDateToFilter')),expression:\"errors.has('paymentStatusDateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('paymentStatusDateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-12 col-md-8 col-xl-4\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentOutcomeNotesFilter\"}},[_vm._v(\"Appointment Notes:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcomeNotesFilter),expression:\"appointmentOutcomeNotesFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"appointmentOutcomeNotesFilter\"},domProps:{\"value\":(_vm.appointmentOutcomeNotesFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.appointmentOutcomeNotesFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-12 col-md-8 col-xl-4\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-dropdown',{attrs:{\"split\":\"\",\"block\":\"\",\"variant\":\"primary\",\"text\":\"Filter\"},on:{\"click\":_vm.getReportDataAsync}},[_c('b-dropdown-item',{on:{\"click\":_vm.exportReportAsync}},[_vm._v(\"Download\")])],1)],1)]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('a',{staticClass:\"btn btn-link form-control px-0\",on:{\"click\":_vm.clearFilters}},[_vm._v(\"Clear Filters\")])])])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('no-longer-proceeding-clients-table',{staticClass:\"mt-3\",attrs:{\"appointments\":_vm.appointments,\"empty-text\":_vm.emptyText}})],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',[_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"caption-top\":\"\",\"items\":_vm.appointments,\"fields\":_vm.fields,\"current-page\":_vm.currentPage,\"per-page\":_vm.pageSize,\"empty-text\":_vm.emptyText},scopedSlots:_vm._u([{key:\"table-caption\",fn:function(){return [_c('h4',[_vm._v(\"No Longer Proceeding/Write Off Clients\")]),(_vm.totalRows > 0)?_c('h6',[_vm._v(_vm._s(_vm._f(\"date\")(_vm.startDate))+\" to \"+_vm._s(_vm._f(\"date\")(_vm.endDate)))]):_vm._e()]},proxy:true},{key:\"cell(appointmentDate)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.appointmentDate))+\"\\n \")]}},{key:\"cell(appointmentTime)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"time\")(item.appointmentDate))+\"\\n \")]}},{key:\"cell(accountNo)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((_vm.sortClients(item.clients)),function(client,index){return _c('div',{key:index},[_c('a',{staticClass:\"btn-link\",on:{\"click\":function($event){return _vm.goToClient(client.id)}}},[_vm._v(_vm._s(client.accountNo))])])})}},{key:\"cell(clientName)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.clientName(item.clients))+\"\\n \")]}},{key:\"cell(products)\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.isLegacy)?_c('div',[_c('b-badge',{attrs:{\"variant\":\"light\"}},[_c('b-badge',{staticClass:\"mr-1\",staticStyle:{\"font-size\":\"100%\"},attrs:{\"variant\":\"info\"}},[_vm._v(_vm._s(item.products[0].paymentStatus))]),_c('b-badge',{staticClass:\"mr-1\",staticStyle:{\"font-size\":\"100%\"},attrs:{\"variant\":\"success\"}},[_vm._v(\"£\"+_vm._s(item.products[0].amount))])],1)],1):_vm._e(),_vm._l((item.products),function(product,index){return _c('div',{key:index},[_c('b-badge',{attrs:{\"variant\":\"light\"}},[_c('b-badge',{staticClass:\"mr-1\",staticStyle:{\"font-size\":\"100%\"},attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(product.name))]),(!item.isLegacy)?_c('b-badge',{staticClass:\"mr-1\",staticStyle:{\"font-size\":\"100%\"},attrs:{\"variant\":\"info\"}},[_vm._v(_vm._s(product.paymentStatus))]):_vm._e(),(!item.isLegacy)?_c('b-badge',{staticClass:\"mr-1\",staticStyle:{\"font-size\":\"100%\"},attrs:{\"variant\":\"success\"}},[_vm._v(\"£\"+_vm._s(product.amount))]):_vm._e()],1)],1)})]}},{key:\"cell(amount)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((item.products),function(product,index){return _c('div',{key:index},[_vm._v(\"\\n £\"+_vm._s(product.amount)+\"\\n \")])})}},{key:\"cell(date)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((item.products),function(product,index){return _c('div',{key:index},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(product.date))+\"\\n \")])})}}])}),(_vm.totalRows > 0)?_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.totalRows,\"per-page\":_vm.pageSize},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}):_vm._e(),(_vm.totalRows > 0)?_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))]):_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\nimport { ExceptionReportClient } from '@/shared/exception-reports/exception-report.client';\nimport { NoLongerProceedingClients } from '@/shared/exception-reports/no-longer-proceeding-clients';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class NoLongerProceedingClientsTable extends Vue {\n @Prop({ required: true }) private appointments!: Array;\n @Prop({ required: true }) private emptyText!: string;\n\n private currentPage: number = 1;\n private pageSize: number = 50;\n\n private get fields(): Array<{}> {\n return [\n { key: 'appointmentDate', label: 'Appointment Date' },\n { key: 'appointmentTime', label: 'Appointment Time' },\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'legalAdvisor', label: 'Legal Advisor' },\n { key: 'accountNo', label: 'Account No' },\n { key: 'clientName', label: 'Client Name' },\n { key: 'products', label: 'Product/Payment Status/Amount' },\n { key: 'date', label: 'Date' },\n { key: 'appointmentNotes', label: 'Appointment Notes' },\n ];\n }\n\n private get totalRows(): number {\n return this.appointments.length;\n }\n\n private get paginationDescription(): string {\n const start: number = (this.appointments.length < 1) ? 0 : ((this.currentPage - 1) * this.pageSize) + 1;\n const end: number = start + this.pageSize > this.totalRows ? this.totalRows : start + this.pageSize - 1;\n\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.totalRows.toLocaleString()}`;\n }\n\n private get startDate(): string | Date | null {\n const dates = this.appointments.map((a) => a.appointmentDate)\n .sort((d1, d2) => {\n if (d1! > d2!) { return 1; }\n if (d1! < d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n private get endDate(): string | Date | null {\n const dates = this.appointments.map((a) => a.appointmentDate)\n .sort((d1, d2) => {\n if (d1! < d2!) { return 1; }\n if (d1! > d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n @Watch('appointments')\n private onAppointmentsChanged(): void {\n this.currentPage = 1;\n }\n\n private sortClients(clients: Array): Array {\n if (!clients.length) {\n return [];\n }\n\n if (clients.length < 2) {\n return [clients[0]];\n }\n\n const firstClient = clients[0].accountNo < clients[1].accountNo ? clients[0] : clients[1];\n const secondClient = clients[0].accountNo > clients[1].accountNo ? clients[0] : clients[1];\n\n return [\n firstClient,\n secondClient,\n ];\n }\n\n private clientName(clients: Array): string {\n if (clients == null || clients.length < 1) {\n return '';\n }\n\n if (clients.length < 2) {\n return `${clients[0].firstName.trim()} ${clients[0].lastName.trim()}`;\n }\n\n const sortedClients = this.sortClients(clients);\n\n return sortedClients[0].lastName.trim().toLowerCase() === sortedClients[1].lastName.trim().toLowerCase()\n ? `${sortedClients[0].firstName.trim()} & ${sortedClients[1].firstName.trim()} ${sortedClients[0].lastName.trim()}`\n : `${sortedClients[0].firstName.trim()} ${sortedClients[0].lastName.trim()} & ${sortedClients[1].firstName.trim()} ${sortedClients[1].lastName.trim()}`;\n }\n\n private goToClient(clientId: string): void {\n window.open('../../clients/' + clientId, '_blank');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./no-longer-proceeding-clients-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./no-longer-proceeding-clients-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./no-longer-proceeding-clients-table.vue?vue&type=template&id=f1a23686&\"\nimport script from \"./no-longer-proceeding-clients-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./no-longer-proceeding-clients-table.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { ExceptionReportApi } from '@/api/exception-reports';\nimport { NoLongerProceedingClientsRequestFilters } from '@/api/requests/exception-reports/no-longer-proceeding-clients-request-filters';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport noLongerProceedingClientsTable from '@/components/exception-reports/no-longer-proceeding-clients-table.vue';\nimport loading from '@/components/loading.vue';\nimport { NoLongerProceedingClients } from '@/shared/exception-reports/no-longer-proceeding-clients';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { AppointmentPaymentStatusType } from '@/shared/types/appointment-payment-status-type';\nimport { AppointmentProductType } from '@/shared/types/appointment-product-type';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\nconst exceptionReportApi = new ExceptionReportApi();\n\n@Component({\n components: {\n noLongerProceedingClientsTable,\n loading,\n },\n})\nexport default class NoLongerProceedingClientsExceptionReport extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n @typesModule.Getter('activeAppointmentProductTypes') private appointmentProductTypes!: Array;\n @typesModule.Getter('activeAppointmentPaymentStatusTypes') private appointmentPaymentStatusTypes!: Array;\n\n private isLoading: boolean = true;\n private appointmentDatePeriodFilter: number | null = null;\n private appointmentDateFromFilter: string | Date | null = null;\n private appointmentDateToFilter: string | Date | null = null;\n private partnerPracticeFilter: string | null = null;\n private legalAdvisorFilter: string | null = null;\n private accountNoFilter: number | null = null;\n private clientFirstNameFilter: string | null = null;\n private clientLastNameFilter: string | null = null;\n private appointmentProductTypeFilter: string | null = null;\n private paymentStatusTypeFilter: string | null = null;\n private paymentStatusAmountFilter: number | null = null;\n private paymentStatusDatePeriodFilter: number | null = null;\n private paymentStatusDateFromFilter: string | Date | null = null;\n private paymentStatusDateToFilter: string | Date | null = null;\n private appointmentOutcomeNotesFilter: string | null = null;\n private appointments: Array = new Array();\n private reportName: string = 'No Longer Proceeding/Write Off Clients';\n private emptyText: string | null = `Please enter some search filters and click Filter to show ${this.reportName}`;\n\n private datePeriods = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Current Day' },\n { id: 1, value: 'Current Week' },\n { id: 2, value: 'Previous Week' },\n { id: 3, value: 'Current Month' },\n { id: 4, value: 'Previous Month' },\n { id: 5, value: 'Current Quarter' },\n { id: 6, value: 'Previous Quarter' },\n { id: 7, value: 'Current Year' },\n { id: 8, value: 'Previous Year' },\n { id: 9, value: 'Custom Dates' },\n ]);\n\n\n private get isCustomDatePeriod(): boolean {\n return this.appointmentDatePeriodFilter === 9;\n }\n\n private get isCustomPaymentStatusDatePeriod(): boolean {\n return this.paymentStatusDatePeriodFilter === 9;\n }\n\n private get filteredPaymentStatusTypes(): Array {\n if (this.appointmentPaymentStatusTypes == null || !this.appointmentPaymentStatusTypes.length) {\n return [];\n }\n\n return this.appointmentPaymentStatusTypes.filter((type) => type.isNoLongerProceeding || type.isWrittenOff);\n }\n\n private get requestFilters(): NoLongerProceedingClientsRequestFilters {\n return {\n appointmentDatePeriod: this.appointmentDatePeriodFilter,\n appointmentDateFrom: this.appointmentDateFromFilter,\n appointmentDateTo: this.appointmentDateToFilter,\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter,\n legalAdvisorId: this.legalAdvisorFilter,\n accountNo: this.accountNoFilter,\n clientFirstName: this.clientFirstNameFilter,\n clientLastName: this.clientLastNameFilter,\n appointmentProductTypeId: this.appointmentProductTypeFilter,\n paymentStatusId: this.paymentStatusTypeFilter,\n paymentStatusAmount: this.paymentStatusAmountFilter,\n paymentStatusDatePeriod: this.paymentStatusDatePeriodFilter,\n paymentStatusDateFrom: this.paymentStatusDateFromFilter,\n paymentStatusDateTo: this.paymentStatusDateToFilter,\n appointmentOutcomeNotes: this.appointmentOutcomeNotesFilter,\n };\n }\n\n @Watch('appointmentDatePeriodFilter')\n private async onAppointmentDatePeriodFilterChanged(): Promise {\n this.appointmentDateFromFilter = null;\n this.appointmentDateToFilter = null;\n }\n\n public async getReportDataAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n this.appointments = await exceptionReportApi.getNoLongerProceedingClientsAsync(this.requestFilters);\n this.emptyText = `No ${this.reportName} found matching the requested search filters`;\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not load ${this.reportName}.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private async exportReportAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n const response = await exceptionReportApi.getNoLongerProceedingClientsExportAsync(this.requestFilters);\n\n if (response == null) {\n this.$snackbar.open({ message: `No ${this.reportName} found matching the requested search filters.`, type: 'is-danger' });\n return;\n }\n\n const blob = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n const link = document.createElement('a');\n link.rel = 'noopener';\n link.href = window.URL.createObjectURL(blob);\n link.download = 'no-longer-proceeding-clients.xlsx';\n link.target = '_blank';\n link.click();\n window.URL.revokeObjectURL(link.href);\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not download ${this.reportName}, please try again.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private clearFilters(): void {\n this.appointmentDatePeriodFilter = null;\n this.appointmentDateFromFilter = null;\n this.appointmentDateToFilter = null;\n this.partnerPracticeFilter = null;\n this.legalAdvisorFilter = null;\n this.accountNoFilter = null;\n this.clientFirstNameFilter = null;\n this.clientLastNameFilter = null;\n this.appointmentProductTypeFilter = null;\n this.paymentStatusTypeFilter = null;\n this.paymentStatusAmountFilter = null;\n this.paymentStatusDatePeriodFilter = null;\n this.paymentStatusDateFromFilter = null;\n this.paymentStatusDateToFilter = null;\n this.appointmentOutcomeNotesFilter = null;\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n ]);\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./no-longer-proceeding-clients.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./no-longer-proceeding-clients.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./no-longer-proceeding-clients.vue?vue&type=template&id=858a375a&\"\nimport script from \"./no-longer-proceeding-clients.vue?vue&type=script&lang=ts&\"\nexport * from \"./no-longer-proceeding-clients.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:\"exception-report non-instruction-reasons\"},[_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading \"+_vm._s(_vm.reportName)+\", please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDatePeriodFilter\"}},[_vm._v(\"Appointment Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentDatePeriodFilter),expression:\"appointmentDatePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"appointmentDatePeriodFilter\",\"id\":\"appointmentDatePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentDatePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateFromFilter\"}},[_vm._v(\"From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDateFromFilter') },attrs:{\"name\":\"appointmentDateFromFilter\",\"id\":\"appointmentDateFromFilter\",\"data-vv-as\":\"appointment from\"},model:{value:(_vm.appointmentDateFromFilter),callback:function ($$v) {_vm.appointmentDateFromFilter=$$v},expression:\"appointmentDateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateFromFilter')),expression:\"errors.has('appointmentDateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateToFilter\"}},[_vm._v(\"To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDateToFilter') },attrs:{\"name\":\"appointmentDateToFilter\",\"id\":\"appointmentDateToFilter\",\"data-vv-as\":\"appointment to\"},model:{value:(_vm.appointmentDateToFilter),callback:function ($$v) {_vm.appointmentDateToFilter=$$v},expression:\"appointmentDateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateToFilter')),expression:\"errors.has('appointmentDateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('user-select',{attrs:{\"type\":\"legal advisor\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-period\":_vm.appointmentDatePeriodFilter,\"date-from\":_vm.appointmentDateFromFilter,\"date-to\":_vm.appointmentDateToFilter},model:{value:(_vm.legalAdvisorFilter),callback:function ($$v) {_vm.legalAdvisorFilter=$$v},expression:\"legalAdvisorFilter\"}},[_vm._v(\"\\n Legal Advisor:\\n \")])],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"accountNoFilter\"}},[_vm._v(\"Account No:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accountNoFilter),expression:\"accountNoFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('numeric'),expression:\"'numeric'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('accountNoFilter') },attrs:{\"type\":\"text\",\"name\":\"accountNoFilter\",\"id\":\"accountNoFilter\",\"data-vv-as\":\"account no\"},domProps:{\"value\":(_vm.accountNoFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.accountNoFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('accountNoFilter')),expression:\"errors.has('accountNoFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('accountNoFilter')))])])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientFirstNameFilter\"}},[_vm._v(\"First Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientFirstNameFilter),expression:\"clientFirstNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientFirstNameFilter\"},domProps:{\"value\":(_vm.clientFirstNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientFirstNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientLastNameFilter\"}},[_vm._v(\"Last Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientLastNameFilter),expression:\"clientLastNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientLastNameFilter\"},domProps:{\"value\":(_vm.clientLastNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientLastNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"noInstructionTypeFilter\"}},[_vm._v(\"Reason for Non-Instruction:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.noInstructionTypeFilter),expression:\"noInstructionTypeFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"noInstructionTypeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.noInstructionTypeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_c('option',{attrs:{\"value\":\"-BLANK-\"}},[_vm._v(\"Not Recorded\")]),_vm._l((_vm.appointmentNoInstructionTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2)])]),_c('div',{staticClass:\"col-sm-12 col-md-8 col-xl-4\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"noInstructionNotesFilter\"}},[_vm._v(\"Non-Instruction Notes:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.noInstructionNotesFilter),expression:\"noInstructionNotesFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"noInstructionNotesFilter\"},domProps:{\"value\":(_vm.noInstructionNotesFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.noInstructionNotesFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-12 col-md-8 col-xl-4\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-dropdown',{attrs:{\"split\":\"\",\"block\":\"\",\"variant\":\"primary\",\"text\":\"Filter\"},on:{\"click\":_vm.getReportDataAsync}},[_c('b-dropdown-item',{on:{\"click\":_vm.exportReportAsync}},[_vm._v(\"Download\")])],1)],1)]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('a',{staticClass:\"btn btn-link form-control px-0\",on:{\"click\":_vm.clearFilters}},[_vm._v(\"Clear Filters\")])])])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('non-instruction-reasons-table',{staticClass:\"mt-3\",attrs:{\"appointments\":_vm.appointments,\"empty-text\":_vm.emptyText}})],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',[_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"caption-top\":\"\",\"items\":_vm.appointments,\"fields\":_vm.fields,\"current-page\":_vm.currentPage,\"per-page\":_vm.pageSize,\"empty-text\":_vm.emptyText},scopedSlots:_vm._u([{key:\"table-caption\",fn:function(){return [_c('h4',[_vm._v(\"Non-Instruction Reasons\")]),(_vm.totalRows > 0)?_c('h6',[_vm._v(_vm._s(_vm._f(\"date\")(_vm.startDate))+\" to \"+_vm._s(_vm._f(\"date\")(_vm.endDate)))]):_vm._e()]},proxy:true},{key:\"cell(appointmentDate)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.appointmentDate))+\"\\n \")]}},{key:\"cell(appointmentTime)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"time\")(item.appointmentDate))+\"\\n \")]}},{key:\"cell(accountNo)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((_vm.sortClients(item.clients)),function(client,index){return _c('div',{key:index},[_c('a',{staticClass:\"btn-link\",on:{\"click\":function($event){return _vm.goToClient(client.id)}}},[_vm._v(_vm._s(client.accountNo))])])})}},{key:\"cell(clientName)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.clientName(item.clients))+\"\\n \")]}}])}),(_vm.totalRows > 0)?_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.totalRows,\"per-page\":_vm.pageSize},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}):_vm._e(),(_vm.totalRows > 0)?_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))]):_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\nimport { ExceptionReportClient } from '@/shared/exception-reports/exception-report.client';\nimport { NonInstructionReasons } from '@/shared/exception-reports/non-instruction-reasons';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class NonInstructionReasonsTable extends Vue {\n @Prop({ required: true }) private appointments!: Array;\n @Prop({ required: true }) private emptyText!: string;\n\n private currentPage: number = 1;\n private pageSize: number = 50;\n\n private get fields(): Array<{}> {\n return [\n { key: 'appointmentDate', label: 'Appointment Date' },\n { key: 'appointmentTime', label: 'Appointment Time' },\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'legalAdvisor', label: 'Legal Advisor' },\n { key: 'accountNo', label: 'Account No' },\n { key: 'clientName', label: 'Client Name' },\n { key: 'reasonForNonInstruction', label: 'Reason for Non-Instruction' },\n { key: 'nonInstructionNotes', label: 'Non-Instruction Notes' },\n ];\n }\n\n private get totalRows(): number {\n return this.appointments.length;\n }\n\n private get paginationDescription(): string {\n const start: number = (this.appointments.length < 1) ? 0 : ((this.currentPage - 1) * this.pageSize) + 1;\n const end: number = start + this.pageSize > this.totalRows ? this.totalRows : start + this.pageSize - 1;\n\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.totalRows.toLocaleString()}`;\n }\n\n private get startDate(): string | Date | null {\n const dates = this.appointments.map((a) => a.appointmentDate)\n .sort((d1, d2) => {\n if (d1! > d2!) { return 1; }\n if (d1! < d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n private get endDate(): string | Date | null {\n const dates = this.appointments.map((a) => a.appointmentDate)\n .sort((d1, d2) => {\n if (d1! < d2!) { return 1; }\n if (d1! > d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n @Watch('appointments')\n private onAppointmentsChanged(): void {\n this.currentPage = 1;\n }\n\n private sortClients(clients: Array): Array {\n if (!clients.length) {\n return [];\n }\n\n if (clients.length < 2) {\n return [clients[0]];\n }\n\n const firstClient = clients[0].accountNo < clients[1].accountNo ? clients[0] : clients[1];\n const secondClient = clients[0].accountNo > clients[1].accountNo ? clients[0] : clients[1];\n\n return [\n firstClient,\n secondClient,\n ];\n }\n\n private clientName(clients: Array): string {\n if (clients == null || clients.length < 1) {\n return '';\n }\n\n if (clients.length < 2) {\n return `${clients[0].firstName.trim()} ${clients[0].lastName.trim()}`;\n }\n\n const sortedClients = this.sortClients(clients);\n\n return sortedClients[0].lastName.trim().toLowerCase() === sortedClients[1].lastName.trim().toLowerCase()\n ? `${sortedClients[0].firstName.trim()} & ${sortedClients[1].firstName.trim()} ${sortedClients[0].lastName.trim()}`\n : `${sortedClients[0].firstName.trim()} ${sortedClients[0].lastName.trim()} & ${sortedClients[1].firstName.trim()} ${sortedClients[1].lastName.trim()}`;\n }\n\n private goToClient(clientId: string): void {\n window.open('../../clients/' + clientId, '_blank');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./non-instruction-reasons-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./non-instruction-reasons-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./non-instruction-reasons-table.vue?vue&type=template&id=1df5a731&\"\nimport script from \"./non-instruction-reasons-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./non-instruction-reasons-table.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\nimport { ExceptionReportApi } from '@/api/exception-reports';\nimport { NonInstructionReasonsRequestFilters } from '@/api/requests/exception-reports/non-instruction-reasons-request-filters';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport nonInstructionReasonsTable from '@/components/exception-reports/non-instruction-reasons-table.vue';\nimport loading from '@/components/loading.vue';\nimport { NonInstructionReasons } from '@/shared/exception-reports/non-instruction-reasons';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { AppointmentNoInstructionType } from '@/shared/types/appointment-no-instruction-type';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\nconst exceptionReportApi = new ExceptionReportApi();\n\n@Component({\n components: {\n nonInstructionReasonsTable,\n loading,\n },\n})\nexport default class NonInstructionReasonsExceptionReport extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n @typesModule.Getter('activeAppointmentNoInstructionTypes') private appointmentNoInstructionTypes!: Array;\n\n private isLoading: boolean = true;\n private appointmentDatePeriodFilter: number | null = null;\n private appointmentDateFromFilter: string | Date | null = null;\n private appointmentDateToFilter: string | Date | null = null;\n private partnerPracticeFilter: string | null = null;\n private legalAdvisorFilter: string | null = null;\n private accountNoFilter: number | null = null;\n private clientFirstNameFilter: string | null = null;\n private clientLastNameFilter: string | null = null;\n private noInstructionTypeFilter: string | null = null;\n private noInstructionNotesFilter: string | null = null;\n private appointments: Array = new Array();\n private reportName: string = 'Non-Instruction Reasons';\n private emptyText: string | null = `Please enter some search filters and click Filter to show ${this.reportName}`;\n\n private datePeriods = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Current Day' },\n { id: 1, value: 'Current Week' },\n { id: 2, value: 'Previous Week' },\n { id: 3, value: 'Current Month' },\n { id: 4, value: 'Previous Month' },\n { id: 5, value: 'Current Quarter' },\n { id: 6, value: 'Previous Quarter' },\n { id: 7, value: 'Current Year' },\n { id: 8, value: 'Previous Year' },\n { id: 9, value: 'Custom Dates' },\n ]);\n\n\n private get isCustomDatePeriod(): boolean {\n return this.appointmentDatePeriodFilter === 9;\n }\n\n private get requestFilters(): NonInstructionReasonsRequestFilters {\n return {\n appointmentDatePeriod: this.appointmentDatePeriodFilter,\n appointmentDateFrom: this.appointmentDateFromFilter,\n appointmentDateTo: this.appointmentDateToFilter,\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter,\n legalAdvisorId: this.legalAdvisorFilter,\n accountNo: this.accountNoFilter,\n clientFirstName: this.clientFirstNameFilter,\n clientLastName: this.clientLastNameFilter,\n noInstructionTypeId: this.noInstructionTypeFilter,\n noInstructionNotes: this.noInstructionNotesFilter,\n };\n }\n\n @Watch('appointmentDatePeriodFilter')\n private async onAppointmentDatePeriodFilterChanged(): Promise {\n this.appointmentDateFromFilter = null;\n this.appointmentDateToFilter = null;\n }\n\n public async getReportDataAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n const result = await exceptionReportApi.getNonInstructionReasonsAsync(this.requestFilters);\n this.appointments = result.map((appointment) => ({ ...appointment, clients: [...appointment.clients] }));\n this.emptyText = `No ${this.reportName} found matching the requested search filters`;\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not load ${this.reportName}.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private async exportReportAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n const response = await exceptionReportApi.getNonInstructionReasonsExportAsync(this.requestFilters);\n\n if (response == null) {\n this.$snackbar.open({ message: `No ${this.reportName} found matching the requested search filters.`, type: 'is-danger' });\n return;\n }\n\n const blob = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n const link = document.createElement('a');\n link.rel = 'noopener';\n link.href = window.URL.createObjectURL(blob);\n link.download = 'non-instruction-reasons.xlsx';\n link.target = '_blank';\n link.click();\n window.URL.revokeObjectURL(link.href);\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not download ${this.reportName}, please try again.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private clearFilters(): void {\n this.appointmentDatePeriodFilter = null;\n this.appointmentDateFromFilter = null;\n this.appointmentDateToFilter = null;\n this.partnerPracticeFilter = null;\n this.legalAdvisorFilter = null;\n this.accountNoFilter = null;\n this.clientFirstNameFilter = null;\n this.clientLastNameFilter = null;\n this.noInstructionTypeFilter = null;\n this.noInstructionNotesFilter = null;\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n ]);\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./non-instruction-reasons.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./non-instruction-reasons.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./non-instruction-reasons.vue?vue&type=template&id=78c3c24a&\"\nimport script from \"./non-instruction-reasons.vue?vue&type=script&lang=ts&\"\nexport * from \"./non-instruction-reasons.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:\"exception-report outstanding-appointment-outcomes\"},[_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading \"+_vm._s(_vm.reportName)+\", please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDatePeriodFilter\"}},[_vm._v(\"Appointment Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentDatePeriodFilter),expression:\"appointmentDatePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"appointmentDatePeriodFilter\",\"id\":\"appointmentDatePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentDatePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateFromFilter\"}},[_vm._v(\"From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDateFromFilter') },attrs:{\"name\":\"appointmentDateFromFilter\",\"id\":\"appointmentDateFromFilter\",\"data-vv-as\":\"appointment from\"},model:{value:(_vm.appointmentDateFromFilter),callback:function ($$v) {_vm.appointmentDateFromFilter=$$v},expression:\"appointmentDateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateFromFilter')),expression:\"errors.has('appointmentDateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateToFilter\"}},[_vm._v(\"To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDateToFilter') },attrs:{\"name\":\"appointmentDateToFilter\",\"id\":\"appointmentDateToFilter\",\"data-vv-as\":\"appointment to\"},model:{value:(_vm.appointmentDateToFilter),callback:function ($$v) {_vm.appointmentDateToFilter=$$v},expression:\"appointmentDateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateToFilter')),expression:\"errors.has('appointmentDateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('user-select',{attrs:{\"type\":\"legal advisor\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-period\":_vm.appointmentDatePeriodFilter,\"date-from\":_vm.appointmentDateFromFilter,\"date-to\":_vm.appointmentDateToFilter},model:{value:(_vm.legalAdvisorFilter),callback:function ($$v) {_vm.legalAdvisorFilter=$$v},expression:\"legalAdvisorFilter\"}},[_vm._v(\"\\n Legal Advisor:\\n \")])],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentTypeFilter\"}},[_vm._v(\"Appointment Type:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentTypeFilter),expression:\"appointmentTypeFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"appointmentTypeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentTypeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.appointmentTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2)])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"accountNoFilter\"}},[_vm._v(\"Account No:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accountNoFilter),expression:\"accountNoFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('numeric'),expression:\"'numeric'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('accountNoFilter') },attrs:{\"type\":\"text\",\"name\":\"accountNoFilter\",\"id\":\"accountNoFilter\",\"data-vv-as\":\"account no\"},domProps:{\"value\":(_vm.accountNoFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.accountNoFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('accountNoFilter')),expression:\"errors.has('accountNoFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('accountNoFilter')))])])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientFirstNameFilter\"}},[_vm._v(\"First Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientFirstNameFilter),expression:\"clientFirstNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientFirstNameFilter\"},domProps:{\"value\":(_vm.clientFirstNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientFirstNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientLastNameFilter\"}},[_vm._v(\"Last Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientLastNameFilter),expression:\"clientLastNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientLastNameFilter\"},domProps:{\"value\":(_vm.clientLastNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientLastNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-12 col-md-8 col-xl-4\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-dropdown',{attrs:{\"split\":\"\",\"block\":\"\",\"variant\":\"primary\",\"text\":\"Filter\"},on:{\"click\":_vm.getReportDataAsync}},[_c('b-dropdown-item',{on:{\"click\":_vm.exportReportAsync}},[_vm._v(\"Download\")])],1)],1)]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('a',{staticClass:\"btn btn-link form-control px-0\",on:{\"click\":_vm.clearFilters}},[_vm._v(\"Clear Filters\")])])])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('outstanding-appointment-outcomes-table',{staticClass:\"mt-3\",attrs:{\"appointments\":_vm.appointments,\"empty-text\":_vm.emptyText}})],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',[_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"caption-top\":\"\",\"items\":_vm.appointments,\"fields\":_vm.fields,\"current-page\":_vm.currentPage,\"per-page\":_vm.pageSize,\"empty-text\":_vm.emptyText},scopedSlots:_vm._u([{key:\"table-caption\",fn:function(){return [_c('h4',[_vm._v(\"Outstanding Appointment Outcomes\")]),(_vm.totalRows > 0)?_c('h6',[_vm._v(_vm._s(_vm._f(\"date\")(_vm.startDate))+\" to \"+_vm._s(_vm._f(\"date\")(_vm.endDate)))]):_vm._e()]},proxy:true},{key:\"cell(appointmentDate)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.appointmentDate))+\"\\n \")]}},{key:\"cell(appointmentTime)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"time\")(item.appointmentDate))+\"\\n \")]}},{key:\"cell(accountNo)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((_vm.sortClients(item.clients)),function(client,index){return _c('div',{key:index},[_c('a',{staticClass:\"btn-link\",on:{\"click\":function($event){return _vm.goToClient(client.id)}}},[_vm._v(_vm._s(client.accountNo))])])})}},{key:\"cell(clientName)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.clientName(item.clients))+\"\\n \")]}}])}),(_vm.totalRows > 0)?_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.totalRows,\"per-page\":_vm.pageSize},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}):_vm._e(),(_vm.totalRows > 0)?_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))]):_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\nimport { ExceptionReportClient } from '@/shared/exception-reports/exception-report.client';\nimport { OutstandingAppointmentOutcomes } from '@/shared/exception-reports/outstanding-appointment-outcomes';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class OutstandingAppointmentOutcomesTable extends Vue {\n @Prop({ required: true }) private appointments!: Array;\n @Prop({ required: true }) private emptyText!: string;\n\n private currentPage: number = 1;\n private pageSize: number = 50;\n\n private get fields(): Array<{}> {\n return [\n { key: 'appointmentDate', label: 'Appointment Date' },\n { key: 'appointmentTime', label: 'Appointment Time' },\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'legalAdvisor', label: 'Legal Advisor' },\n { key: 'appointmentType', label: 'Appointment Type' },\n { key: 'accountNo', label: 'Account No' },\n { key: 'clientName', label: 'Client Name' },\n ];\n }\n\n private get totalRows(): number {\n return this.appointments.length;\n }\n\n private get paginationDescription(): string {\n const start: number = (this.appointments.length < 1) ? 0 : ((this.currentPage - 1) * this.pageSize) + 1;\n const end: number = start + this.pageSize > this.totalRows ? this.totalRows : start + this.pageSize - 1;\n\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.totalRows.toLocaleString()}`;\n }\n\n private get startDate(): string | Date | null {\n const dates = this.appointments.map((a) => a.appointmentDate)\n .sort((d1, d2) => {\n if (d1! > d2!) { return 1; }\n if (d1! < d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n private get endDate(): string | Date | null {\n const dates = this.appointments.map((a) => a.appointmentDate)\n .sort((d1, d2) => {\n if (d1! < d2!) { return 1; }\n if (d1! > d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n @Watch('appointments')\n private onAppointmentsChanged(): void {\n this.currentPage = 1;\n }\n\n private sortClients(clients: Array): Array {\n if (!clients.length) {\n return [];\n }\n\n if (clients.length < 2) {\n return [clients[0]];\n }\n\n const firstClient = clients[0].accountNo < clients[1].accountNo ? clients[0] : clients[1];\n const secondClient = clients[0].accountNo > clients[1].accountNo ? clients[0] : clients[1];\n\n return [\n firstClient,\n secondClient,\n ];\n }\n\n private clientName(clients: Array): string {\n if (clients == null || clients.length < 1) {\n return '';\n }\n\n if (clients.length < 2) {\n return `${clients[0].firstName.trim()} ${clients[0].lastName.trim()}`;\n }\n\n const sortedClients = this.sortClients(clients);\n\n return sortedClients[0].lastName.trim().toLowerCase() === sortedClients[1].lastName.trim().toLowerCase()\n ? `${sortedClients[0].firstName.trim()} & ${sortedClients[1].firstName.trim()} ${sortedClients[0].lastName.trim()}`\n : `${sortedClients[0].firstName.trim()} ${sortedClients[0].lastName.trim()} & ${sortedClients[1].firstName.trim()} ${sortedClients[1].lastName.trim()}`;\n }\n\n private goToClient(clientId: string): void {\n window.open('../../clients/' + clientId, '_blank');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outstanding-appointment-outcomes-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outstanding-appointment-outcomes-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./outstanding-appointment-outcomes-table.vue?vue&type=template&id=1c9d407b&\"\nimport script from \"./outstanding-appointment-outcomes-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./outstanding-appointment-outcomes-table.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\nimport { ExceptionReportApi } from '@/api/exception-reports';\nimport { OutstandingAppointmentOutcomesRequestFilters } from '@/api/requests/exception-reports/outstanding-appointment-outcomes-request-filters';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport outstandingAppointmentOutcomesTable from '@/components/exception-reports/outstanding-appointment-outcomes-table.vue';\nimport loading from '@/components/loading.vue';\nimport { OutstandingAppointmentOutcomes } from '@/shared/exception-reports/outstanding-appointment-outcomes';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { AppointmentType } from '@/shared/types/appointment-type';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\nconst exceptionReportApi = new ExceptionReportApi();\n\n@Component({\n components: {\n outstandingAppointmentOutcomesTable,\n loading,\n },\n})\nexport default class OutstandingAppointmentOutcomesExceptionReport extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n @typesModule.Getter('activeAppointmentTypes') private appointmentTypes!: Array;\n\n private isLoading: boolean = true;\n private appointmentDatePeriodFilter: number | null = null;\n private appointmentDateFromFilter: string | Date | null = null;\n private appointmentDateToFilter: string | Date | null = null;\n private partnerPracticeFilter: string | null = null;\n private legalAdvisorFilter: string | null = null;\n private appointmentTypeFilter: string | null = null;\n private accountNoFilter: number | null = null;\n private clientFirstNameFilter: string | null = null;\n private clientLastNameFilter: string | null = null;\n private appointments: Array = new Array();\n private reportName: string = 'Outstanding Appointment Outcomes';\n private emptyText: string | null = `Please enter some search filters and click Filter to show ${this.reportName}`;\n\n private datePeriods = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Current Day' },\n { id: 1, value: 'Current Week' },\n { id: 2, value: 'Previous Week' },\n { id: 3, value: 'Current Month' },\n { id: 4, value: 'Previous Month' },\n { id: 5, value: 'Current Quarter' },\n { id: 6, value: 'Previous Quarter' },\n { id: 7, value: 'Current Year' },\n { id: 8, value: 'Previous Year' },\n { id: 9, value: 'Custom Dates' },\n ]);\n\n\n private get isCustomDatePeriod(): boolean {\n return this.appointmentDatePeriodFilter === 9;\n }\n\n private get requestFilters(): OutstandingAppointmentOutcomesRequestFilters {\n return {\n appointmentDatePeriod: this.appointmentDatePeriodFilter,\n appointmentDateFrom: this.appointmentDateFromFilter,\n appointmentDateTo: this.appointmentDateToFilter,\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter,\n legalAdvisorId: this.legalAdvisorFilter,\n appointmentTypeId: this.appointmentTypeFilter,\n accountNo: this.accountNoFilter,\n clientFirstName: this.clientFirstNameFilter,\n clientLastName: this.clientLastNameFilter,\n };\n }\n\n @Watch('appointmentDatePeriodFilter')\n private async onAppointmentDatePeriodFilterChanged(): Promise {\n this.appointmentDateFromFilter = null;\n this.appointmentDateToFilter = null;\n }\n\n public async getReportDataAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n this.appointments = await exceptionReportApi.getOutstandingAppointmentOutcomesAsync(this.requestFilters);\n this.emptyText = `No ${this.reportName} found matching the requested search filters`;\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not load ${this.reportName}.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private async exportReportAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n const response = await exceptionReportApi.getOutstandingAppointmentOutcomesExportAsync(this.requestFilters);\n\n if (response == null) {\n this.$snackbar.open({ message: `No ${this.reportName} found matching the requested search filters.`, type: 'is-danger' });\n return;\n }\n\n const blob = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n const link = document.createElement('a');\n link.rel = 'noopener';\n link.href = window.URL.createObjectURL(blob);\n link.download = 'outstanding-appointment-outcomes.xlsx';\n link.target = '_blank';\n link.click();\n window.URL.revokeObjectURL(link.href);\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not download ${this.reportName}, please try again.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private clearFilters(): void {\n this.appointmentDatePeriodFilter = null;\n this.appointmentDateFromFilter = null;\n this.appointmentDateToFilter = null;\n this.partnerPracticeFilter = null;\n this.legalAdvisorFilter = null;\n this.appointmentTypeFilter = null;\n this.accountNoFilter = null;\n this.clientFirstNameFilter = null;\n this.clientLastNameFilter = null;\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n ]);\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outstanding-appointment-outcomes.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outstanding-appointment-outcomes.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./outstanding-appointment-outcomes.vue?vue&type=template&id=2161fec6&\"\nimport script from \"./outstanding-appointment-outcomes.vue?vue&type=script&lang=ts&\"\nexport * from \"./outstanding-appointment-outcomes.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:\"exception-report outstanding-payments\"},[_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading \"+_vm._s(_vm.reportName)+\", please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDatePeriodFilter\"}},[_vm._v(\"Appointment Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentDatePeriodFilter),expression:\"appointmentDatePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"appointmentDatePeriodFilter\",\"id\":\"appointmentDatePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentDatePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateFromFilter\"}},[_vm._v(\"From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDateFromFilter') },attrs:{\"name\":\"appointmentDateFromFilter\",\"id\":\"appointmentDateFromFilter\",\"data-vv-as\":\"appointment from\"},model:{value:(_vm.appointmentDateFromFilter),callback:function ($$v) {_vm.appointmentDateFromFilter=$$v},expression:\"appointmentDateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateFromFilter')),expression:\"errors.has('appointmentDateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateToFilter\"}},[_vm._v(\"To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDateToFilter') },attrs:{\"name\":\"appointmentDateToFilter\",\"id\":\"appointmentDateToFilter\",\"data-vv-as\":\"appointment to\"},model:{value:(_vm.appointmentDateToFilter),callback:function ($$v) {_vm.appointmentDateToFilter=$$v},expression:\"appointmentDateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateToFilter')),expression:\"errors.has('appointmentDateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('user-select',{attrs:{\"type\":\"legal advisor\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-period\":_vm.appointmentDatePeriodFilter,\"date-from\":_vm.appointmentDateFromFilter,\"date-to\":_vm.appointmentDateToFilter},model:{value:(_vm.legalAdvisorFilter),callback:function ($$v) {_vm.legalAdvisorFilter=$$v},expression:\"legalAdvisorFilter\"}},[_vm._v(\"\\n Legal Advisor:\\n \")])],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"accountNoFilter\"}},[_vm._v(\"Account No:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accountNoFilter),expression:\"accountNoFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('numeric'),expression:\"'numeric'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('accountNoFilter') },attrs:{\"type\":\"text\",\"name\":\"accountNoFilter\",\"id\":\"accountNoFilter\",\"data-vv-as\":\"account no\"},domProps:{\"value\":(_vm.accountNoFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.accountNoFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('accountNoFilter')),expression:\"errors.has('accountNoFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('accountNoFilter')))])])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientFirstNameFilter\"}},[_vm._v(\"First Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientFirstNameFilter),expression:\"clientFirstNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientFirstNameFilter\"},domProps:{\"value\":(_vm.clientFirstNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientFirstNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientLastNameFilter\"}},[_vm._v(\"Last Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientLastNameFilter),expression:\"clientLastNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientLastNameFilter\"},domProps:{\"value\":(_vm.clientLastNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientLastNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentProductTypeFilter\"}},[_vm._v(\"Product:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentProductTypeFilter),expression:\"appointmentProductTypeFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"appointmentProductTypeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentProductTypeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.appointmentProductTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(\" \"+_vm._s(type.value))])})],2)])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"instructionValueFilter\"}},[_vm._v(\"Instruction Value (on or above):\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}])},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.instructionValueFilter),expression:\"instructionValueFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('decimal:2'),expression:\"'decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('instructionValueFilter') },attrs:{\"type\":\"text\",\"name\":\"instructionValueFilter\",\"id\":\"instructionValueFilter\",\"data-vv-as\":\"instruction value\"},domProps:{\"value\":(_vm.instructionValueFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.instructionValueFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('instructionValueFilter')),expression:\"errors.has('instructionValueFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('instructionValueFilter')))])])],1)]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"paymentStatusTypeFilter\"}},[_vm._v(\"Payment Status:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.paymentStatusTypeFilter),expression:\"paymentStatusTypeFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"paymentStatusTypeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.paymentStatusTypeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.filteredPaymentStatusTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2)])]),_c('div',{staticClass:\"col-sm-12 col-md-8 col-xl-4\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentOutcomeNotesFilter\"}},[_vm._v(\"Appointment Notes:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcomeNotesFilter),expression:\"appointmentOutcomeNotesFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"appointmentOutcomeNotesFilter\"},domProps:{\"value\":(_vm.appointmentOutcomeNotesFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.appointmentOutcomeNotesFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-12 col-md-8 col-xl-4\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-dropdown',{attrs:{\"split\":\"\",\"block\":\"\",\"variant\":\"primary\",\"text\":\"Filter\"},on:{\"click\":_vm.getReportDataAsync}},[_c('b-dropdown-item',{on:{\"click\":_vm.exportReportAsync}},[_vm._v(\"Download\")])],1)],1)]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('a',{staticClass:\"btn btn-link form-control px-0\",on:{\"click\":_vm.clearFilters}},[_vm._v(\"Clear Filters\")])])])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('outstanding-payments-table',{staticClass:\"mt-3\",attrs:{\"appointments\":_vm.appointments,\"empty-text\":_vm.emptyText}})],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',[_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"caption-top\":\"\",\"items\":_vm.appointments,\"fields\":_vm.fields,\"current-page\":_vm.currentPage,\"per-page\":_vm.pageSize,\"empty-text\":_vm.emptyText},scopedSlots:_vm._u([{key:\"table-caption\",fn:function(){return [_c('h4',[_vm._v(\"Outstanding Payments\")]),(_vm.totalRows > 0)?_c('h6',[_vm._v(_vm._s(_vm._f(\"date\")(_vm.startDate))+\" to \"+_vm._s(_vm._f(\"date\")(_vm.endDate)))]):_vm._e()]},proxy:true},{key:\"cell(appointmentDate)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.appointmentDate))+\"\\n \")]}},{key:\"cell(appointmentTime)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"time\")(item.appointmentDate))+\"\\n \")]}},{key:\"cell(accountNo)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((_vm.sortClients(item.clients)),function(client,index){return _c('div',{key:index},[_c('a',{staticClass:\"btn-link\",on:{\"click\":function($event){return _vm.goToClient(client.id)}}},[_vm._v(_vm._s(client.accountNo))])])})}},{key:\"cell(clientName)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.clientName(item.clients))+\"\\n \")]}},{key:\"cell(products)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((item.products),function(product,index){return _c('div',{key:index},[_c('b-badge',{attrs:{\"variant\":\"light\"}},[_c('b-badge',{staticClass:\"mr-1\",staticStyle:{\"font-size\":\"100%\"},attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(product.name))]),_c('b-badge',{staticClass:\"mr-1\",staticStyle:{\"font-size\":\"100%\"},attrs:{\"variant\":\"info\"}},[_vm._v(_vm._s(product.paymentStatus))]),(product.instructedValue != null)?_c('b-badge',{staticClass:\"mr-1\",staticStyle:{\"font-size\":\"100%\"},attrs:{\"variant\":\"success\"}},[_vm._v(\"£\"+_vm._s(product.instructedValue))]):_vm._e()],1)],1)})}}])}),(_vm.totalRows > 0)?_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.totalRows,\"per-page\":_vm.pageSize},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}):_vm._e(),(_vm.totalRows > 0)?_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))]):_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\nimport { ExceptionReportClient } from '@/shared/exception-reports/exception-report.client';\nimport { OutstandingPayments } from '@/shared/exception-reports/outstanding-payments';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class OutstandingPaymentsTable extends Vue {\n @Prop({ required: true }) private appointments!: Array;\n @Prop({ required: true }) private emptyText!: string;\n\n private currentPage: number = 1;\n private pageSize: number = 50;\n\n private get fields(): Array<{}> {\n return [\n { key: 'appointmentDate', label: 'Appointment Date' },\n { key: 'appointmentTime', label: 'Appointment Time' },\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'legalAdvisor', label: 'Legal Advisor' },\n { key: 'accountNo', label: 'Account No' },\n { key: 'clientName', label: 'Client Name' },\n { key: 'products', label: 'Product/Payment Status/Instruction Value' },\n { key: 'appointmentNotes', label: 'Appointment Notes' },\n ];\n }\n\n private get totalRows(): number {\n return this.appointments.length;\n }\n\n private get paginationDescription(): string {\n const start: number = (this.appointments.length < 1) ? 0 : ((this.currentPage - 1) * this.pageSize) + 1;\n const end: number = start + this.pageSize > this.totalRows ? this.totalRows : start + this.pageSize - 1;\n\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.totalRows.toLocaleString()}`;\n }\n\n private get startDate(): string | Date | null {\n const dates = this.appointments.map((a) => a.appointmentDate)\n .sort((d1, d2) => {\n if (d1! > d2!) { return 1; }\n if (d1! < d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n private get endDate(): string | Date | null {\n const dates = this.appointments.map((a) => a.appointmentDate)\n .sort((d1, d2) => {\n if (d1! < d2!) { return 1; }\n if (d1! > d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n @Watch('appointments')\n private onAppointmentsChanged(): void {\n this.currentPage = 1;\n }\n\n private sortClients(clients: Array): Array {\n if (!clients.length) {\n return [];\n }\n\n if (clients.length < 2) {\n return [clients[0]];\n }\n\n const firstClient = clients[0].accountNo < clients[1].accountNo ? clients[0] : clients[1];\n const secondClient = clients[0].accountNo > clients[1].accountNo ? clients[0] : clients[1];\n\n return [\n firstClient,\n secondClient,\n ];\n }\n\n private clientName(clients: Array): string {\n if (clients == null || clients.length < 1) {\n return '';\n }\n\n if (clients.length < 2) {\n return `${clients[0].firstName.trim()} ${clients[0].lastName.trim()}`;\n }\n\n const sortedClients = this.sortClients(clients);\n\n return sortedClients[0].lastName.trim().toLowerCase() === sortedClients[1].lastName.trim().toLowerCase()\n ? `${sortedClients[0].firstName.trim()} & ${sortedClients[1].firstName.trim()} ${sortedClients[0].lastName.trim()}`\n : `${sortedClients[0].firstName.trim()} ${sortedClients[0].lastName.trim()} & ${sortedClients[1].firstName.trim()} ${sortedClients[1].lastName.trim()}`;\n }\n\n private goToClient(clientId: string): void {\n window.open('../../clients/' + clientId, '_blank');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outstanding-payments-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outstanding-payments-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./outstanding-payments-table.vue?vue&type=template&id=106ba53e&\"\nimport script from \"./outstanding-payments-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./outstanding-payments-table.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\n\n\n\n\n\n\n\n\nimport { ExceptionReportApi } from '@/api/exception-reports';\nimport { OutstandingPaymentsRequestFilters } from '@/api/requests/exception-reports/outstanding-payments-request-filters';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport outstandingPaymentsTable from '@/components/exception-reports/outstanding-payments-table.vue';\nimport loading from '@/components/loading.vue';\nimport { OutstandingPayments } from '@/shared/exception-reports/outstanding-payments';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { AppointmentPaymentStatusType } from '@/shared/types/appointment-payment-status-type';\nimport { AppointmentProductType } from '@/shared/types/appointment-product-type';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\nconst exceptionReportApi = new ExceptionReportApi();\n\n@Component({\n components: {\n outstandingPaymentsTable,\n loading,\n },\n})\nexport default class OutstandingPaymentsExceptionReport extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n @typesModule.Getter('activeAppointmentProductTypes') private appointmentProductTypes!: Array;\n @typesModule.Getter('activeAppointmentPaymentStatusTypes') private appointmentPaymentStatusTypes!: Array;\n\n private isLoading: boolean = true;\n private appointmentDatePeriodFilter: number | null = null;\n private appointmentDateFromFilter: string | Date | null = null;\n private appointmentDateToFilter: string | Date | null = null;\n private partnerPracticeFilter: string | null = null;\n private legalAdvisorFilter: string | null = null;\n private accountNoFilter: number | null = null;\n private clientFirstNameFilter: string | null = null;\n private clientLastNameFilter: string | null = null;\n private appointmentProductTypeFilter: string | null = null;\n private instructionValueFilter: number | null = null;\n private paymentStatusTypeFilter: string | null = null;\n private appointmentOutcomeNotesFilter: string | null = null;\n private appointments: Array = new Array();\n private reportName: string = 'Outstanding Payments';\n private emptyText: string | null = `Please enter some search filters and click Filter to show ${this.reportName}`;\n\n private datePeriods = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Current Day' },\n { id: 1, value: 'Current Week' },\n { id: 2, value: 'Previous Week' },\n { id: 3, value: 'Current Month' },\n { id: 4, value: 'Previous Month' },\n { id: 5, value: 'Current Quarter' },\n { id: 6, value: 'Previous Quarter' },\n { id: 7, value: 'Current Year' },\n { id: 8, value: 'Previous Year' },\n { id: 9, value: 'Custom Dates' },\n ]);\n\n\n private get isCustomDatePeriod(): boolean {\n return this.appointmentDatePeriodFilter === 9;\n }\n\n private get filteredPaymentStatusTypes(): Array {\n if (this.appointmentPaymentStatusTypes == null || !this.appointmentPaymentStatusTypes.length) {\n return [];\n }\n\n return this.appointmentPaymentStatusTypes.filter((type) => type.isSigningPending || type.isSigningBooked || type.isPartPayment);\n }\n\n private get requestFilters(): OutstandingPaymentsRequestFilters {\n return {\n appointmentDatePeriod: this.appointmentDatePeriodFilter,\n appointmentDateFrom: this.appointmentDateFromFilter,\n appointmentDateTo: this.appointmentDateToFilter,\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter,\n legalAdvisorId: this.legalAdvisorFilter,\n accountNo: this.accountNoFilter,\n clientFirstName: this.clientFirstNameFilter,\n clientLastName: this.clientLastNameFilter,\n appointmentProductTypeId: this.appointmentProductTypeFilter,\n instructionValue: this.instructionValueFilter,\n paymentStatusId: this.paymentStatusTypeFilter,\n appointmentOutcomeNotes: this.appointmentOutcomeNotesFilter,\n };\n }\n\n @Watch('appointmentDatePeriodFilter')\n private async onAppointmentDatePeriodFilterChanged(): Promise {\n this.appointmentDateFromFilter = null;\n this.appointmentDateToFilter = null;\n }\n\n public async getReportDataAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n this.appointments = await exceptionReportApi.getOutstandingPaymentsAsync(this.requestFilters);\n this.emptyText = `No ${this.reportName} found matching the requested search filters`;\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not load ${this.reportName}.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private async exportReportAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n const response = await exceptionReportApi.getOutstandingPaymentsExportAsync(this.requestFilters);\n\n if (response == null) {\n this.$snackbar.open({ message: `No ${this.reportName} found matching the requested search filters.`, type: 'is-danger' });\n return;\n }\n\n const blob = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n const link = document.createElement('a');\n link.rel = 'noopener';\n link.href = window.URL.createObjectURL(blob);\n link.download = 'outstanding-payments.xlsx';\n link.target = '_blank';\n link.click();\n window.URL.revokeObjectURL(link.href);\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not download ${this.reportName}, please try again.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private clearFilters(): void {\n this.appointmentDatePeriodFilter = null;\n this.appointmentDateFromFilter = null;\n this.appointmentDateToFilter = null;\n this.partnerPracticeFilter = null;\n this.legalAdvisorFilter = null;\n this.accountNoFilter = null;\n this.clientFirstNameFilter = null;\n this.clientLastNameFilter = null;\n this.appointmentProductTypeFilter = null;\n this.instructionValueFilter = null;\n this.paymentStatusTypeFilter = null;\n this.appointmentOutcomeNotesFilter = null;\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n ]);\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outstanding-payments.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outstanding-payments.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./outstanding-payments.vue?vue&type=template&id=7ea8af96&\"\nimport script from \"./outstanding-payments.vue?vue&type=script&lang=ts&\"\nexport * from \"./outstanding-payments.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:\"exception-report outstanding-signings\"},[_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading \"+_vm._s(_vm.reportName)+\", please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDatePeriodFilter\"}},[_vm._v(\"Appointment Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentDatePeriodFilter),expression:\"appointmentDatePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"appointmentDatePeriodFilter\",\"id\":\"appointmentDatePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentDatePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateFromFilter\"}},[_vm._v(\"From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDateFromFilter') },attrs:{\"name\":\"appointmentDateFromFilter\",\"id\":\"appointmentDateFromFilter\",\"data-vv-as\":\"appointment from\"},model:{value:(_vm.appointmentDateFromFilter),callback:function ($$v) {_vm.appointmentDateFromFilter=$$v},expression:\"appointmentDateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateFromFilter')),expression:\"errors.has('appointmentDateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateToFilter\"}},[_vm._v(\"To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDateToFilter') },attrs:{\"name\":\"appointmentDateToFilter\",\"id\":\"appointmentDateToFilter\",\"data-vv-as\":\"appointment to\"},model:{value:(_vm.appointmentDateToFilter),callback:function ($$v) {_vm.appointmentDateToFilter=$$v},expression:\"appointmentDateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateToFilter')),expression:\"errors.has('appointmentDateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('user-select',{attrs:{\"type\":\"legal advisor\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-period\":_vm.appointmentDatePeriodFilter,\"date-from\":_vm.appointmentDateFromFilter,\"date-to\":_vm.appointmentDateToFilter},model:{value:(_vm.legalAdvisorFilter),callback:function ($$v) {_vm.legalAdvisorFilter=$$v},expression:\"legalAdvisorFilter\"}},[_vm._v(\"\\n Legal Advisor:\\n \")])],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"accountNoFilter\"}},[_vm._v(\"Account No:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accountNoFilter),expression:\"accountNoFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('numeric'),expression:\"'numeric'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('accountNoFilter') },attrs:{\"type\":\"text\",\"name\":\"accountNoFilter\",\"id\":\"accountNoFilter\",\"data-vv-as\":\"account no\"},domProps:{\"value\":(_vm.accountNoFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.accountNoFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('accountNoFilter')),expression:\"errors.has('accountNoFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('accountNoFilter')))])])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientFirstNameFilter\"}},[_vm._v(\"First Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientFirstNameFilter),expression:\"clientFirstNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientFirstNameFilter\"},domProps:{\"value\":(_vm.clientFirstNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientFirstNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientLastNameFilter\"}},[_vm._v(\"Last Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientLastNameFilter),expression:\"clientLastNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientLastNameFilter\"},domProps:{\"value\":(_vm.clientLastNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientLastNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentProductTypeFilter\"}},[_vm._v(\"Product:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentProductTypeFilter),expression:\"appointmentProductTypeFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"appointmentProductTypeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentProductTypeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.appointmentProductTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(\" \"+_vm._s(type.value))])})],2)])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"instructionValueFilter\"}},[_vm._v(\"Instruction Value (on or above):\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}])},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.instructionValueFilter),expression:\"instructionValueFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('decimal:2'),expression:\"'decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('instructionValueFilter') },attrs:{\"type\":\"text\",\"name\":\"instructionValueFilter\",\"id\":\"instructionValueFilter\",\"data-vv-as\":\"instruction value\"},domProps:{\"value\":(_vm.instructionValueFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.instructionValueFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('instructionValueFilter')),expression:\"errors.has('instructionValueFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('instructionValueFilter')))])])],1)]),_c('div',{staticClass:\"col-sm-12 col-md-8 col-xl-4\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentOutcomeNotesFilter\"}},[_vm._v(\"Appointment Notes:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcomeNotesFilter),expression:\"appointmentOutcomeNotesFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"appointmentOutcomeNotesFilter\"},domProps:{\"value\":(_vm.appointmentOutcomeNotesFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.appointmentOutcomeNotesFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-12 col-md-8 col-xl-4\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-dropdown',{attrs:{\"split\":\"\",\"block\":\"\",\"variant\":\"primary\",\"text\":\"Filter\"},on:{\"click\":_vm.getReportDataAsync}},[_c('b-dropdown-item',{on:{\"click\":_vm.exportReportAsync}},[_vm._v(\"Download\")])],1)],1)]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('a',{staticClass:\"btn btn-link form-control px-0\",on:{\"click\":_vm.clearFilters}},[_vm._v(\"Clear Filters\")])])])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('outstanding-signings-table',{staticClass:\"mt-3\",attrs:{\"appointments\":_vm.appointments,\"empty-text\":_vm.emptyText}})],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',[_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"caption-top\":\"\",\"items\":_vm.appointments,\"fields\":_vm.fields,\"current-page\":_vm.currentPage,\"per-page\":_vm.pageSize,\"empty-text\":_vm.emptyText},scopedSlots:_vm._u([{key:\"table-caption\",fn:function(){return [_c('h4',[_vm._v(\"Outstanding Signings\")]),(_vm.totalRows > 0)?_c('h6',[_vm._v(_vm._s(_vm._f(\"date\")(_vm.startDate))+\" to \"+_vm._s(_vm._f(\"date\")(_vm.endDate)))]):_vm._e()]},proxy:true},{key:\"cell(appointmentDate)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.appointmentDate))+\"\\n \")]}},{key:\"cell(appointmentTime)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"time\")(item.appointmentDate))+\"\\n \")]}},{key:\"cell(accountNo)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((_vm.sortClients(item.clients)),function(client,index){return _c('div',{key:index},[_c('a',{staticClass:\"btn-link\",on:{\"click\":function($event){return _vm.goToClient(client.id)}}},[_vm._v(_vm._s(client.accountNo))])])})}},{key:\"cell(clientName)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.clientName(item.clients))+\"\\n \")]}},{key:\"cell(products)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((item.products),function(product,index){return _c('div',{key:index},[_c('b-badge',{attrs:{\"variant\":\"light\"}},[_c('b-badge',{staticClass:\"mr-1\",staticStyle:{\"font-size\":\"100%\"},attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(product.name))]),(product.instructedValue != null)?_c('b-badge',{staticClass:\"mr-1\",staticStyle:{\"font-size\":\"100%\"},attrs:{\"variant\":\"success\"}},[_vm._v(\"£\"+_vm._s(product.instructedValue))]):_vm._e()],1)],1)})}}])}),(_vm.totalRows > 0)?_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.totalRows,\"per-page\":_vm.pageSize},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}):_vm._e(),(_vm.totalRows > 0)?_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))]):_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\nimport { ExceptionReportClient } from '@/shared/exception-reports/exception-report.client';\nimport { OutstandingSignings } from '@/shared/exception-reports/outstanding-signings';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class OutstandingSigningsTable extends Vue {\n @Prop({ required: true }) private appointments!: Array;\n @Prop({ required: true }) private emptyText!: string;\n\n private currentPage: number = 1;\n private pageSize: number = 50;\n\n private get fields(): Array<{}> {\n return [\n { key: 'appointmentDate', label: 'Appointment Date' },\n { key: 'appointmentTime', label: 'Appointment Time' },\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'legalAdvisor', label: 'Legal Advisor' },\n { key: 'accountNo', label: 'Account No' },\n { key: 'clientName', label: 'Client Name' },\n { key: 'products', label: 'Product/Instruction Value' },\n { key: 'appointmentNotes', label: 'Appointment Notes' },\n ];\n }\n\n private get totalRows(): number {\n return this.appointments.length;\n }\n\n private get paginationDescription(): string {\n const start: number = (this.appointments.length < 1) ? 0 : ((this.currentPage - 1) * this.pageSize) + 1;\n const end: number = start + this.pageSize > this.totalRows ? this.totalRows : start + this.pageSize - 1;\n\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.totalRows.toLocaleString()}`;\n }\n\n private get startDate(): string | Date | null {\n const dates = this.appointments.map((a) => a.appointmentDate)\n .sort((d1, d2) => {\n if (d1! > d2!) { return 1; }\n if (d1! < d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n private get endDate(): string | Date | null {\n const dates = this.appointments.map((a) => a.appointmentDate)\n .sort((d1, d2) => {\n if (d1! < d2!) { return 1; }\n if (d1! > d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n @Watch('appointments')\n private onAppointmentsChanged(): void {\n this.currentPage = 1;\n }\n\n private sortClients(clients: Array): Array {\n if (!clients.length) {\n return [];\n }\n\n if (clients.length < 2) {\n return [clients[0]];\n }\n\n const firstClient = clients[0].accountNo < clients[1].accountNo ? clients[0] : clients[1];\n const secondClient = clients[0].accountNo > clients[1].accountNo ? clients[0] : clients[1];\n\n return [\n firstClient,\n secondClient,\n ];\n }\n\n private clientName(clients: Array): string {\n if (clients == null || clients.length < 1) {\n return '';\n }\n\n if (clients.length < 2) {\n return `${clients[0].firstName.trim()} ${clients[0].lastName.trim()}`;\n }\n\n const sortedClients = this.sortClients(clients);\n\n return sortedClients[0].lastName.trim().toLowerCase() === sortedClients[1].lastName.trim().toLowerCase()\n ? `${sortedClients[0].firstName.trim()} & ${sortedClients[1].firstName.trim()} ${sortedClients[0].lastName.trim()}`\n : `${sortedClients[0].firstName.trim()} ${sortedClients[0].lastName.trim()} & ${sortedClients[1].firstName.trim()} ${sortedClients[1].lastName.trim()}`;\n }\n\n private goToClient(clientId: string): void {\n window.open('../../clients/' + clientId, '_blank');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outstanding-signings-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outstanding-signings-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./outstanding-signings-table.vue?vue&type=template&id=2a82aa6a&\"\nimport script from \"./outstanding-signings-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./outstanding-signings-table.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\nimport { ExceptionReportApi } from '@/api/exception-reports';\nimport { OutstandingSigningsRequestFilters } from '@/api/requests/exception-reports/outstanding-signings-request-filters';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport outstandingSigningsTable from '@/components/exception-reports/outstanding-signings-table.vue';\nimport loading from '@/components/loading.vue';\nimport { OutstandingSignings } from '@/shared/exception-reports/outstanding-signings';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { AppointmentProductType } from '@/shared/types/appointment-product-type';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\nconst exceptionReportApi = new ExceptionReportApi();\n\n@Component({\n components: {\n outstandingSigningsTable,\n loading,\n },\n})\nexport default class OutstandingSigningsExceptionReport extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n @typesModule.Getter('activeAppointmentProductTypes') private appointmentProductTypes!: Array;\n\n private isLoading: boolean = true;\n private appointmentDatePeriodFilter: number | null = null;\n private appointmentDateFromFilter: string | Date | null = null;\n private appointmentDateToFilter: string | Date | null = null;\n private partnerPracticeFilter: string | null = null;\n private legalAdvisorFilter: string | null = null;\n private accountNoFilter: number | null = null;\n private clientFirstNameFilter: string | null = null;\n private clientLastNameFilter: string | null = null;\n private appointmentProductTypeFilter: string | null = null;\n private instructionValueFilter: number | null = null;\n private appointmentOutcomeNotesFilter: string | null = null;\n private appointments: Array = new Array();\n private reportName: string = 'Outstanding Signings';\n private emptyText: string | null = `Please enter some search filters and click Filter to show ${this.reportName}`;\n\n private datePeriods = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Current Day' },\n { id: 1, value: 'Current Week' },\n { id: 2, value: 'Previous Week' },\n { id: 3, value: 'Current Month' },\n { id: 4, value: 'Previous Month' },\n { id: 5, value: 'Current Quarter' },\n { id: 6, value: 'Previous Quarter' },\n { id: 7, value: 'Current Year' },\n { id: 8, value: 'Previous Year' },\n { id: 9, value: 'Custom Dates' },\n ]);\n\n\n private get isCustomDatePeriod(): boolean {\n return this.appointmentDatePeriodFilter === 9;\n }\n\n private get requestFilters(): OutstandingSigningsRequestFilters {\n return {\n appointmentDatePeriod: this.appointmentDatePeriodFilter,\n appointmentDateFrom: this.appointmentDateFromFilter,\n appointmentDateTo: this.appointmentDateToFilter,\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter,\n legalAdvisorId: this.legalAdvisorFilter,\n accountNo: this.accountNoFilter,\n clientFirstName: this.clientFirstNameFilter,\n clientLastName: this.clientLastNameFilter,\n appointmentProductTypeId: this.appointmentProductTypeFilter,\n instructionValue: this.instructionValueFilter,\n appointmentOutcomeNotes: this.appointmentOutcomeNotesFilter,\n };\n }\n\n @Watch('appointmentDatePeriodFilter')\n private async onAppointmentDatePeriodFilterChanged(): Promise {\n this.appointmentDateFromFilter = null;\n this.appointmentDateToFilter = null;\n }\n\n public async getReportDataAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n this.appointments = await exceptionReportApi.getOutstandingSigningsAsync(this.requestFilters);\n this.emptyText = `No ${this.reportName} found matching the requested search filters`;\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not load ${this.reportName}.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private async exportReportAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n const response = await exceptionReportApi.getOutstandingSigningsExportAsync(this.requestFilters);\n\n if (response == null) {\n this.$snackbar.open({ message: `No ${this.reportName} found matching the requested search filters.`, type: 'is-danger' });\n return;\n }\n\n const blob = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n const link = document.createElement('a');\n link.rel = 'noopener';\n link.href = window.URL.createObjectURL(blob);\n link.download = 'outstanding-signings.xlsx';\n link.target = '_blank';\n link.click();\n window.URL.revokeObjectURL(link.href);\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not download ${this.reportName}, please try again.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private clearFilters(): void {\n this.appointmentDatePeriodFilter = null;\n this.appointmentDateFromFilter = null;\n this.appointmentDateToFilter = null;\n this.partnerPracticeFilter = null;\n this.legalAdvisorFilter = null;\n this.accountNoFilter = null;\n this.clientFirstNameFilter = null;\n this.clientLastNameFilter = null;\n this.appointmentProductTypeFilter = null;\n this.instructionValueFilter = null;\n this.appointmentOutcomeNotesFilter = null;\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n ]);\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outstanding-signings.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outstanding-signings.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./outstanding-signings.vue?vue&type=template&id=7ce5132d&\"\nimport script from \"./outstanding-signings.vue?vue&type=script&lang=ts&\"\nexport * from \"./outstanding-signings.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:\"exception-report tasks-overdue\"},[_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading \"+_vm._s(_vm.reportName)+\", please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"v\"}},[_vm._v(\"Type:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.taskItemTypeFilter),expression:\"taskItemTypeFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"taskItemTypeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.taskItemTypeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.taskItemTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2)])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"accountNoFilter\"}},[_vm._v(\"Account No:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accountNoFilter),expression:\"accountNoFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('numeric'),expression:\"'numeric'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('accountNoFilter') },attrs:{\"type\":\"text\",\"name\":\"accountNoFilter\",\"id\":\"accountNoFilter\",\"data-vv-as\":\"account no\"},domProps:{\"value\":(_vm.accountNoFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.accountNoFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('accountNoFilter')),expression:\"errors.has('accountNoFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('accountNoFilter')))])])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientFirstNameFilter\"}},[_vm._v(\"First Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientFirstNameFilter),expression:\"clientFirstNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientFirstNameFilter\"},domProps:{\"value\":(_vm.clientFirstNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientFirstNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientLastNameFilter\"}},[_vm._v(\"Last Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientLastNameFilter),expression:\"clientLastNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientLastNameFilter\"},domProps:{\"value\":(_vm.clientLastNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientLastNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"dueDateFilter\"}},[_vm._v(\"Due Date (on or before):\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('date_format:dd/MM/yyyy'),expression:\"'date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('dueDateFilter') },attrs:{\"name\":\"dueDateFilter\",\"id\":\"dueDateFilter\",\"data-vv-as\":\"due date\"},model:{value:(_vm.dueDateFilter),callback:function ($$v) {_vm.dueDateFilter=$$v},expression:\"dueDateFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('dueDateFilter')),expression:\"errors.has('dueDateFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('dueDateFilter')))])],1)]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('user-select',{attrs:{\"type\":\"assigned task\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-to\":_vm.dueDateFilter,\"role-id\":_vm.userRoleFilter},model:{value:(_vm.userFilter),callback:function ($$v) {_vm.userFilter=$$v},expression:\"userFilter\"}},[_vm._v(\"\\n Assigned User Name:\\n \")])],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"userRoleFilter\"}},[_vm._v(\"Assigned User Type:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.userRoleFilter),expression:\"userRoleFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"userRoleFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.userRoleFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.roles),function(role){return _c('option',{key:role.id,domProps:{\"value\":role.id}},[_vm._v(_vm._s(_vm._f(\"capitalizeFirst\")(role.name)))])})],2)])]),_c('div',{staticClass:\"col-sm-12 col-md-8 col-xl-4\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-dropdown',{attrs:{\"split\":\"\",\"block\":\"\",\"variant\":\"primary\",\"text\":\"Filter\"},on:{\"click\":_vm.getReportDataAsync}},[_c('b-dropdown-item',{on:{\"click\":_vm.exportReportAsync}},[_vm._v(\"Download\")])],1)],1)]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('a',{staticClass:\"btn btn-link form-control px-0\",on:{\"click\":_vm.clearFilters}},[_vm._v(\"Clear Filters\")])])])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('tasks-overdue-table',{staticClass:\"mt-3\",attrs:{\"tasks\":_vm.tasks,\"empty-text\":_vm.emptyText}})],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',[_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"caption-top\":\"\",\"items\":_vm.tasks,\"fields\":_vm.fields,\"current-page\":_vm.currentPage,\"per-page\":_vm.pageSize,\"empty-text\":_vm.emptyText},scopedSlots:_vm._u([{key:\"table-caption\",fn:function(){return [_c('h4',[_vm._v(\"Tasks Overdue\")]),(_vm.totalRows > 0)?_c('h6',[_vm._v(_vm._s(_vm._f(\"date\")(_vm.startDate))+\" to \"+_vm._s(_vm._f(\"date\")(_vm.endDate)))]):_vm._e()]},proxy:true},{key:\"cell(type)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(_vm._s(_vm.taskTypeDescription(item.type)))])]}},{key:\"cell(accountNo)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('a',{staticClass:\"btn-link\",on:{\"click\":function($event){return _vm.goToClient(item.clientId)}}},[_vm._v(_vm._s(item.accountNo))])]}},{key:\"cell(dueDate)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.dueDate))+\"\\n \")]}},{key:\"cell(user)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((item.users),function(user,userIndex){return _c('div',{key:userIndex},[_vm._v(\"\\n \"+_vm._s(user.name)+\"\\n \"),_vm._l((user.roles),function(role,roleIndex){return _c('b-badge',{key:roleIndex,staticClass:\"mr-1\",attrs:{\"variant\":\"primary\"}},[_vm._v(_vm._s(role))])})],2)})}}])}),(_vm.totalRows > 0)?_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.totalRows,\"per-page\":_vm.pageSize},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}):_vm._e(),(_vm.totalRows > 0)?_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))]):_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\nimport { TasksOverdue } from '@/shared/exception-reports/tasks-overdue';\nimport { TaskType } from '@/shared/task-type';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class TasksOverdueTable extends Vue {\n @Prop({ required: true }) private tasks!: Array;\n @Prop({ required: true }) private emptyText!: string;\n\n private currentPage: number = 1;\n private pageSize: number = 50;\n\n private get fields(): Array<{}> {\n return [\n { key: 'type', label: 'Task Type' },\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'accountNo', label: 'Account No' },\n { key: 'clientName', label: 'Client Name' },\n { key: 'dueDate', label: 'Due Date' },\n { key: 'user', label: 'Assigned User' },\n ];\n }\n\n private get totalRows(): number {\n return this.tasks.length;\n }\n\n private get paginationDescription(): string {\n const start: number = (this.tasks.length < 1) ? 0 : ((this.currentPage - 1) * this.pageSize) + 1;\n const end: number = start + this.pageSize > this.totalRows ? this.totalRows : start + this.pageSize - 1;\n\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.totalRows.toLocaleString()}`;\n }\n\n private get startDate(): string | Date | null {\n const dates = this.tasks.map((t) => t.dueDate)\n .sort((d1, d2) => {\n if (d1! > d2!) { return 1; }\n if (d1! < d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n private get endDate(): string | Date | null {\n const dates = this.tasks.map((t) => t.dueDate)\n .sort((d1, d2) => {\n if (d1! < d2!) { return 1; }\n if (d1! > d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n @Watch('tasks')\n private onTasksChanged(): void {\n this.currentPage = 1;\n }\n\n private taskTypeDescription(id: TaskType) {\n switch (id) {\n case TaskType.RetrieveWillPacket:\n return 'Retrieve Will Packet';\n case TaskType.SendConfirmationLetter:\n return 'Send Confirmation Letter';\n default:\n return '';\n }\n }\n\n private goToClient(clientId: string): void {\n window.open('../../clients/' + clientId, '_blank');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tasks-overdue-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tasks-overdue-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./tasks-overdue-table.vue?vue&type=template&id=5e28fb12&\"\nimport script from \"./tasks-overdue-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./tasks-overdue-table.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\nimport { ExceptionReportApi } from '@/api/exception-reports';\nimport { TasksOverdueRequestFilters } from '@/api/requests/exception-reports/tasks-overdue-request-filters';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport tasksOverdueTable from '@/components/exception-reports/tasks-overdue-table.vue';\nimport loading from '@/components/loading.vue';\nimport { TasksOverdue } from '@/shared/exception-reports/tasks-overdue';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { Role } from '@/shared/roles/role';\nimport { TaskType } from '@/shared/task-type';\nimport { Component, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst usersModule = namespace('users');\nconst exceptionReportApi = new ExceptionReportApi();\n\n@Component({\n components: {\n tasksOverdueTable,\n loading,\n },\n})\nexport default class TasksOverdueExceptionReport extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n\n @usersModule.Getter('roles') private roles!: Array;\n\n private isLoading: boolean = true;\n private taskItemTypeFilter: TaskType | null = null;\n private partnerPracticeFilter: string | null = null;\n private accountNoFilter: number | null = null;\n private clientFirstNameFilter: string | null = null;\n private clientLastNameFilter: string | null = null;\n private dueDateFilter: string | Date | null = null;\n private userRoleFilter: string | null = null;\n private userFilter: string | null = null;\n private tasks: Array = new Array();\n private reportName: string = 'Tasks Overdue';\n private emptyText: string | null = `Please enter some search filters and click Filter to show ${this.reportName}`;\n\n private taskItemTypes: Array<{ id: TaskType, value: string }> = new Array<{ id: TaskType, value: string }>(...[\n { id: TaskType.RetrieveWillPacket, value: 'Retrieve Will Packet' },\n { id: TaskType.SendConfirmationLetter, value: 'Send Confirmation Letter' },\n ]);\n\n private get requestFilters(): TasksOverdueRequestFilters {\n return {\n taskItemType: this.taskItemTypeFilter,\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter,\n accountNo: this.accountNoFilter,\n clientFirstName: this.clientFirstNameFilter,\n clientLastName: this.clientLastNameFilter,\n dueDate: this.dueDateFilter,\n userRoleId: this.userRoleFilter,\n userId: this.userFilter,\n };\n }\n\n public async getReportDataAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n this.tasks = await exceptionReportApi.getTasksOverdueAsync(this.requestFilters);\n this.emptyText = `No ${this.reportName} found matching the requested search filters`;\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not load ${this.reportName}.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private async exportReportAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n const response = await exceptionReportApi.getTasksOverdueExportAsync(this.requestFilters);\n\n if (response == null) {\n this.$snackbar.open({ message: `No ${this.reportName} found matching the requested search filters.`, type: 'is-danger' });\n return;\n }\n\n const blob = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n const link = document.createElement('a');\n link.rel = 'noopener';\n link.href = window.URL.createObjectURL(blob);\n link.download = 'tasks-overdue.xlsx';\n link.target = '_blank';\n link.click();\n window.URL.revokeObjectURL(link.href);\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not download ${this.reportName}, please try again.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private clearFilters(): void {\n this.taskItemTypeFilter = null;\n this.partnerPracticeFilter = null;\n this.accountNoFilter = null;\n this.clientFirstNameFilter = null;\n this.clientLastNameFilter = null;\n this.dueDateFilter = null;\n this.userRoleFilter = null;\n this.userFilter = null;\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n this.$store.dispatch(`users/loadRolesAsync`),\n ]);\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tasks-overdue.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tasks-overdue.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./tasks-overdue.vue?vue&type=template&id=87083d18&\"\nimport script from \"./tasks-overdue.vue?vue&type=script&lang=ts&\"\nexport * from \"./tasks-overdue.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:\"exception-report tasks-unassigned\"},[_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading \"+_vm._s(_vm.reportName)+\", please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"v\"}},[_vm._v(\"Type:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.taskItemTypeFilter),expression:\"taskItemTypeFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"taskItemTypeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.taskItemTypeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.taskItemTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2)])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"accountNoFilter\"}},[_vm._v(\"Account No:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accountNoFilter),expression:\"accountNoFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('numeric'),expression:\"'numeric'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('accountNoFilter') },attrs:{\"type\":\"text\",\"name\":\"accountNoFilter\",\"id\":\"accountNoFilter\",\"data-vv-as\":\"account no\"},domProps:{\"value\":(_vm.accountNoFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.accountNoFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('accountNoFilter')),expression:\"errors.has('accountNoFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('accountNoFilter')))])])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientFirstNameFilter\"}},[_vm._v(\"First Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientFirstNameFilter),expression:\"clientFirstNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientFirstNameFilter\"},domProps:{\"value\":(_vm.clientFirstNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientFirstNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientLastNameFilter\"}},[_vm._v(\"Last Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientLastNameFilter),expression:\"clientLastNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientLastNameFilter\"},domProps:{\"value\":(_vm.clientLastNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientLastNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"dueDateFilter\"}},[_vm._v(\"Due Date (on or before):\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('date_format:dd/MM/yyyy'),expression:\"'date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('dueDateFilter') },attrs:{\"name\":\"dueDateFilter\",\"id\":\"dueDateFilter\",\"data-vv-as\":\"due date\"},model:{value:(_vm.dueDateFilter),callback:function ($$v) {_vm.dueDateFilter=$$v},expression:\"dueDateFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('dueDateFilter')),expression:\"errors.has('dueDateFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('dueDateFilter')))])],1)]),_c('div',{staticClass:\"col-sm-12 col-md-8 col-xl-4\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-dropdown',{attrs:{\"split\":\"\",\"block\":\"\",\"variant\":\"primary\",\"text\":\"Filter\"},on:{\"click\":_vm.getReportDataAsync}},[_c('b-dropdown-item',{on:{\"click\":_vm.exportReportAsync}},[_vm._v(\"Download\")])],1)],1)]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('a',{staticClass:\"btn btn-link form-control px-0\",on:{\"click\":_vm.clearFilters}},[_vm._v(\"Clear Filters\")])])])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('tasks-unassigned-table',{staticClass:\"mt-3\",attrs:{\"tasks\":_vm.tasks,\"empty-text\":_vm.emptyText}})],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',[_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"caption-top\":\"\",\"items\":_vm.tasks,\"fields\":_vm.fields,\"current-page\":_vm.currentPage,\"per-page\":_vm.pageSize,\"empty-text\":_vm.emptyText},scopedSlots:_vm._u([{key:\"table-caption\",fn:function(){return [_c('h4',[_vm._v(\"Tasks Unassigned\")]),(_vm.totalRows > 0)?_c('h6',[_vm._v(_vm._s(_vm._f(\"date\")(_vm.startDate))+\" to \"+_vm._s(_vm._f(\"date\")(_vm.endDate)))]):_vm._e()]},proxy:true},{key:\"cell(type)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(_vm._s(_vm.taskTypeDescription(item.type)))])]}},{key:\"cell(accountNo)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('a',{staticClass:\"btn-link\",on:{\"click\":function($event){return _vm.goToClient(item.clientId)}}},[_vm._v(_vm._s(item.accountNo))])]}},{key:\"cell(dueDate)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.dueDate))+\"\\n \")]}}])}),(_vm.totalRows > 0)?_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.totalRows,\"per-page\":_vm.pageSize},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}):_vm._e(),(_vm.totalRows > 0)?_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))]):_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\nimport { TasksUnassigned } from '@/shared/exception-reports/tasks-unassigned';\nimport { TaskType } from '@/shared/task-type';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class TasksUnassignedTable extends Vue {\n @Prop({ required: true }) private tasks!: Array;\n @Prop({ required: true }) private emptyText!: string;\n\n private currentPage: number = 1;\n private pageSize: number = 50;\n\n private get fields(): Array<{}> {\n return [\n { key: 'type', label: 'Task Type' },\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'accountNo', label: 'Account No' },\n { key: 'clientName', label: 'Client Name' },\n { key: 'dueDate', label: 'Due Date' },\n ];\n }\n\n private get totalRows(): number {\n return this.tasks.length;\n }\n\n private get paginationDescription(): string {\n const start: number = (this.tasks.length < 1) ? 0 : ((this.currentPage - 1) * this.pageSize) + 1;\n const end: number = start + this.pageSize > this.totalRows ? this.totalRows : start + this.pageSize - 1;\n\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.totalRows.toLocaleString()}`;\n }\n\n private get startDate(): string | Date | null {\n const dates = this.tasks.map((t) => t.dueDate)\n .sort((d1, d2) => {\n if (d1! > d2!) { return 1; }\n if (d1! < d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n private get endDate(): string | Date | null {\n const dates = this.tasks.map((t) => t.dueDate)\n .sort((d1, d2) => {\n if (d1! < d2!) { return 1; }\n if (d1! > d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n @Watch('tasks')\n private onTasksChanged(): void {\n this.currentPage = 1;\n }\n\n private taskTypeDescription(id: TaskType) {\n switch (id) {\n case TaskType.RetrieveWillPacket:\n return 'Retrieve Will Packet';\n case TaskType.SendConfirmationLetter:\n return 'Send Confirmation Letter';\n default:\n return '';\n }\n }\n\n private goToClient(clientId: string): void {\n window.open('../../clients/' + clientId, '_blank');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tasks-unassigned-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tasks-unassigned-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./tasks-unassigned-table.vue?vue&type=template&id=6ddd6960&\"\nimport script from \"./tasks-unassigned-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./tasks-unassigned-table.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\nimport { ExceptionReportApi } from '@/api/exception-reports';\nimport { TasksUnassignedRequestFilters } from '@/api/requests/exception-reports/tasks-unassigned-request-filters';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport tasksUnassignedTable from '@/components/exception-reports/tasks-unassigned-table.vue';\nimport loading from '@/components/loading.vue';\nimport { TasksUnassigned } from '@/shared/exception-reports/tasks-unassigned';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { TaskType } from '@/shared/task-type';\nimport { Component, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst exceptionReportApi = new ExceptionReportApi();\n\n@Component({\n components: {\n tasksUnassignedTable,\n loading,\n },\n})\nexport default class TasksUnassignedExceptionReport extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n\n private isLoading: boolean = true;\n private taskItemTypeFilter: TaskType | null = null;\n private partnerPracticeFilter: string | null = null;\n private accountNoFilter: number | null = null;\n private clientFirstNameFilter: string | null = null;\n private clientLastNameFilter: string | null = null;\n private dueDateFilter: string | Date | null = null;\n private tasks: Array = new Array();\n private reportName: string = 'Tasks Unassigned';\n private emptyText: string | null = `Please enter some search filters and click Filter to show ${this.reportName}`;\n\n private taskItemTypes: Array<{ id: TaskType, value: string }> = new Array<{ id: TaskType, value: string }>(...[\n { id: TaskType.RetrieveWillPacket, value: 'Retrieve Will Packet' },\n { id: TaskType.SendConfirmationLetter, value: 'Send Confirmation Letter' },\n ]);\n\n private get requestFilters(): TasksUnassignedRequestFilters {\n return {\n taskItemType: this.taskItemTypeFilter,\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter,\n accountNo: this.accountNoFilter,\n clientFirstName: this.clientFirstNameFilter,\n clientLastName: this.clientLastNameFilter,\n dueDate: this.dueDateFilter,\n };\n }\n\n public async getReportDataAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n this.tasks = await exceptionReportApi.getTasksUnassignedAsync(this.requestFilters);\n this.emptyText = `No ${this.reportName} found matching the requested search filters`;\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not load ${this.reportName}.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private async exportReportAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n const response = await exceptionReportApi.getTasksUnassignedExportAsync(this.requestFilters);\n\n if (response == null) {\n this.$snackbar.open({ message: `No ${this.reportName} found matching the requested search filters.`, type: 'is-danger' });\n return;\n }\n\n const blob = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n const link = document.createElement('a');\n link.rel = 'noopener';\n link.href = window.URL.createObjectURL(blob);\n link.download = 'tasks-unassigned.xlsx';\n link.target = '_blank';\n link.click();\n window.URL.revokeObjectURL(link.href);\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not download ${this.reportName}, please try again.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private clearFilters(): void {\n this.taskItemTypeFilter = null;\n this.partnerPracticeFilter = null;\n this.accountNoFilter = null;\n this.clientFirstNameFilter = null;\n this.clientLastNameFilter = null;\n this.dueDateFilter = null;\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n ]);\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tasks-unassigned.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tasks-unassigned.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./tasks-unassigned.vue?vue&type=template&id=2e340ae9&\"\nimport script from \"./tasks-unassigned.vue?vue&type=script&lang=ts&\"\nexport * from \"./tasks-unassigned.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:\"exception-report user-report\"},[_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading \"+_vm._s(_vm.reportName)+\", please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true,\"rlg-data\":true},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('user-select',{attrs:{\"type\":\"account access\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-period\":_vm.lastAccessDatePeriodFilter,\"date-from\":_vm.lastAccessDateFromFilter,\"date-to\":_vm.lastAccessDateToFilter,\"role-id\":_vm.userRoleFilterId},model:{value:(_vm.userFilter),callback:function ($$v) {_vm.userFilter=$$v},expression:\"userFilter\"}},[_vm._v(\"\\n User Name:\\n \")])],1),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"userRoleFilter\"}},[_vm._v(\"User Type:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.userRoleFilter),expression:\"userRoleFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"userRoleFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.userRoleFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.roles),function(role){return _c('option',{key:role.name,domProps:{\"value\":role.name}},[_vm._v(_vm._s(_vm._f(\"capitalizeFirst\")(role.name)))])})],2)])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"accountNoFilter\"}},[_vm._v(\"Account No:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accountNoFilter),expression:\"accountNoFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('numeric'),expression:\"'numeric'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('accountNoFilter') },attrs:{\"type\":\"text\",\"name\":\"accountNoFilter\",\"id\":\"accountNoFilter\",\"data-vv-as\":\"account no\"},domProps:{\"value\":(_vm.accountNoFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.accountNoFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('accountNoFilter')),expression:\"errors.has('accountNoFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('accountNoFilter')))])])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientFirstNameFilter\"}},[_vm._v(\"First Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientFirstNameFilter),expression:\"clientFirstNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientFirstNameFilter\"},domProps:{\"value\":(_vm.clientFirstNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientFirstNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientLastNameFilter\"}},[_vm._v(\"Last Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientLastNameFilter),expression:\"clientLastNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"clientLastNameFilter\"},domProps:{\"value\":(_vm.clientLastNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getReportDataAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientLastNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"lastAccessDatePeriodFilter\"}},[_vm._v(\"Access Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.lastAccessDatePeriodFilter),expression:\"lastAccessDatePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"lastAccessDatePeriodFilter\",\"id\":\"lastAccessDatePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.lastAccessDatePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"lastAccessDateFromFilter\"}},[_vm._v(\"From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('lastAccessDateFromFilter') },attrs:{\"name\":\"lastAccessDateFromFilter\",\"id\":\"lastAccessDateFromFilter\",\"data-vv-as\":\"last access date from\"},model:{value:(_vm.lastAccessDateFromFilter),callback:function ($$v) {_vm.lastAccessDateFromFilter=$$v},expression:\"lastAccessDateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('lastAccessDateFromFilter')),expression:\"errors.has('lastAccessDateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('lastAccessDateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-6 col-md-4 col-xl-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"lastAccessDateToFilter\"}},[_vm._v(\"To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('lastAccessDateToFilter') },attrs:{\"name\":\"lastAccessDateToFilter\",\"id\":\"lastAccessDateToFilter\",\"data-vv-as\":\"last access date to\"},model:{value:(_vm.lastAccessDateToFilter),callback:function ($$v) {_vm.lastAccessDateToFilter=$$v},expression:\"lastAccessDateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('lastAccessDateToFilter')),expression:\"errors.has('lastAccessDateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('lastAccessDateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-12 col-md-8 col-xl-4\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-dropdown',{attrs:{\"split\":\"\",\"block\":\"\",\"variant\":\"primary\",\"text\":\"Filter\"},on:{\"click\":_vm.getReportDataAsync}},[_c('b-dropdown-item',{on:{\"click\":_vm.exportReportAsync}},[_vm._v(\"Download\")])],1)],1)]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('a',{staticClass:\"btn btn-link form-control px-0\",on:{\"click\":_vm.clearFilters}},[_vm._v(\"Clear Filters\")])])])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('user-report-table',{staticClass:\"mt-3\",attrs:{\"access-log\":_vm.accessLog,\"empty-text\":_vm.emptyText}})],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',[_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"caption-top\":\"\",\"items\":_vm.accessLog,\"fields\":_vm.fields,\"current-page\":_vm.currentPage,\"per-page\":_vm.pageSize,\"empty-text\":_vm.emptyText},scopedSlots:_vm._u([{key:\"table-caption\",fn:function(){return [_c('h4',[_vm._v(\"User Report\")]),(_vm.totalRows > 0)?_c('h6',[_vm._v(_vm._s(_vm._f(\"date\")(_vm.startDate))+\" to \"+_vm._s(_vm._f(\"date\")(_vm.endDate)))]):_vm._e()]},proxy:true},{key:\"cell(userRole)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((item.userRoles),function(role,index){return _c('div',{key:index},[_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(_vm._s(role))])],1)})}},{key:\"cell(accountNo)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('a',{staticClass:\"btn-link\",on:{\"click\":function($event){return _vm.goToClient(item.clientId)}}},[_vm._v(_vm._s(item.accountNo))])]}},{key:\"cell(accessDate)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"date\")(item.accessDate))+\"\\n \")]}},{key:\"cell(accessTime)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"time\")(item.accessDate))+\"\\n \")]}}])}),(_vm.totalRows > 0)?_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.totalRows,\"per-page\":_vm.pageSize},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}):_vm._e(),(_vm.totalRows > 0)?_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))]):_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\nimport { UserReport } from '@/shared/exception-reports/user-report';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class UserReportTable extends Vue {\n @Prop({ required: true }) private accessLog!: Array;\n @Prop({ required: true }) private emptyText!: string;\n\n private currentPage: number = 1;\n private pageSize: number = 50;\n\n private get fields(): Array<{}> {\n return [\n { key: 'partnerPractice', label: 'Assigned To' },\n { key: 'userName', label: 'User Name' },\n { key: 'userRole', label: 'User Type' },\n { key: 'accountNo', label: 'Account No' },\n { key: 'clientName', label: 'Client Name' },\n { key: 'accessDate', label: 'Access Date' },\n { key: 'accessTime', label: 'Access Time' },\n ];\n }\n\n private get totalRows(): number {\n return this.accessLog.length;\n }\n\n private get paginationDescription(): string {\n const start: number = (this.accessLog.length < 1) ? 0 : ((this.currentPage - 1) * this.pageSize) + 1;\n const end: number = start + this.pageSize > this.totalRows ? this.totalRows : start + this.pageSize - 1;\n\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.totalRows.toLocaleString()}`;\n }\n\n private get startDate(): string | Date | null {\n const dates = this.accessLog.map((a) => a.accessDate)\n .sort((d1, d2) => {\n if (d1! > d2!) { return 1; }\n if (d1! < d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n private get endDate(): string | Date | null {\n const dates = this.accessLog.map((a) => a.accessDate)\n .sort((d1, d2) => {\n if (d1! < d2!) { return 1; }\n if (d1! > d2!) { return -1; }\n return 0;\n });\n\n return dates[0];\n }\n\n @Watch('accessLog')\n private onAccessLogChanged(): void {\n this.currentPage = 1;\n }\n\n private goToClient(clientId: string): void {\n window.open('../../clients/' + clientId, '_blank');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user-report-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user-report-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./user-report-table.vue?vue&type=template&id=3a9e438f&\"\nimport script from \"./user-report-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./user-report-table.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\nimport { ExceptionReportApi } from '@/api/exception-reports';\nimport { UserReportRequestFilters } from '@/api/requests/exception-reports/user-report-request-filters';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport userReportTable from '@/components/exception-reports/user-report-table.vue';\nimport loading from '@/components/loading.vue';\nimport { UserReport } from '@/shared/exception-reports/user-report';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { Role } from '@/shared/roles/role';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst usersModule = namespace('users');\nconst exceptionReportApi = new ExceptionReportApi();\n\n@Component({\n components: {\n userReportTable,\n loading,\n },\n})\nexport default class UserReportExceptionReport extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n\n @usersModule.Getter('roles') private roles!: Array;\n\n private isLoading: boolean = true;\n private partnerPracticeFilter: string | null = null;\n private userRoleFilter: string | null = null;\n private userFilter: string | null = null;\n private accountNoFilter: number | null = null;\n private clientFirstNameFilter: string | null = null;\n private clientLastNameFilter: string | null = null;\n private lastAccessDatePeriodFilter: number | null = null;\n private lastAccessDateFromFilter: string | Date | null = null;\n private lastAccessDateToFilter: string | Date | null = null;\n private accessLog: Array = new Array();\n private reportName: string = 'User Report';\n private emptyText: string | null = `Please enter some search filters and click Filter to show ${this.reportName}`;\n\n private datePeriods = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Current Day' },\n { id: 1, value: 'Current Week' },\n { id: 2, value: 'Previous Week' },\n { id: 3, value: 'Current Month' },\n { id: 4, value: 'Previous Month' },\n { id: 5, value: 'Current Quarter' },\n { id: 6, value: 'Previous Quarter' },\n { id: 7, value: 'Current Year' },\n { id: 8, value: 'Previous Year' },\n { id: 9, value: 'Custom Dates' },\n ]);\n\n private get isCustomDatePeriod(): boolean {\n return this.lastAccessDatePeriodFilter === 9;\n }\n\n private get userRoleFilterId(): string | null {\n return this.userRoleFilter == null ? null : this.roles.find((role) => role.name.toLowerCase() === this.userRoleFilter!.toLowerCase())!.id;\n }\n\n private get requestFilters(): UserReportRequestFilters {\n return {\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter,\n userRole: this.userRoleFilter,\n userId: this.userFilter,\n accountNo: this.accountNoFilter,\n clientFirstName: this.clientFirstNameFilter,\n clientLastName: this.clientLastNameFilter,\n lastAccessDatePeriod: this.lastAccessDatePeriodFilter,\n lastAccessDateFrom: this.lastAccessDateFromFilter,\n lastAccessDateTo: this.lastAccessDateToFilter,\n };\n }\n\n @Watch('lastAccessDatePeriodFilter')\n private async onLastAccessDatePeriodFilterChanged(): Promise {\n this.lastAccessDateFromFilter = null;\n this.lastAccessDateToFilter = null;\n }\n\n public async getReportDataAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n this.accessLog = await exceptionReportApi.getUserReportAsync(this.requestFilters);\n this.emptyText = `No ${this.reportName} found matching the requested search filters`;\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not load ${this.reportName}.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private async exportReportAsync(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n\n try {\n const response = await exceptionReportApi.getUserReportExportAsync(this.requestFilters);\n\n if (response == null) {\n this.$snackbar.open({ message: `No ${this.reportName} found matching the requested search filters.`, type: 'is-danger' });\n return;\n }\n\n const blob = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n const link = document.createElement('a');\n link.rel = 'noopener';\n link.href = window.URL.createObjectURL(blob);\n link.download = 'user-report.xlsx';\n link.target = '_blank';\n link.click();\n window.URL.revokeObjectURL(link.href);\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not download ${this.reportName}, please try again.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private clearFilters(): void {\n this.partnerPracticeFilter = null;\n this.userRoleFilter = null;\n this.userFilter = null;\n this.accountNoFilter = null;\n this.clientFirstNameFilter = null;\n this.clientLastNameFilter = null;\n this.lastAccessDatePeriodFilter = null;\n this.lastAccessDateFromFilter = null;\n this.lastAccessDateToFilter = null;\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n this.$store.dispatch(`users/loadRolesAsync`),\n ]);\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user-report.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user-report.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./user-report.vue?vue&type=template&id=41d24730&\"\nimport script from \"./user-report.vue?vue&type=script&lang=ts&\"\nexport * from \"./user-report.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\nconst userModule = namespace('user');\n\nimport blankDataFieldsPostCall from '@/components/exception-reports/blank-data-fields-post-call.vue';\nimport callbacksOverdue from '@/components/exception-reports/callbacks-overdue.vue';\nimport cancellationReasons from '@/components/exception-reports/cancellation-reasons.vue';\nimport clientsConsideringOptions from '@/components/exception-reports/clients-considering-options.vue';\nimport instructedClearedVariances from '@/components/exception-reports/instructed-cleared-variances.vue';\nimport monitorAppointmentBookings from '@/components/exception-reports/monitor-appointment-bookings.vue';\nimport noLongerProceedingClients from '@/components/exception-reports/no-longer-proceeding-clients.vue';\nimport nonInstructionReasons from '@/components/exception-reports/non-instruction-reasons.vue';\nimport outstandingAppointmentOutcomes from '@/components/exception-reports/outstanding-appointment-outcomes.vue';\nimport outstandingPayments from '@/components/exception-reports/outstanding-payments.vue';\nimport outstandingSignings from '@/components/exception-reports/outstanding-signings.vue';\nimport tasksOverdue from '@/components/exception-reports/tasks-overdue.vue';\nimport tasksUnassigned from '@/components/exception-reports/tasks-unassigned.vue';\nimport userReport from '@/components/exception-reports/user-report.vue';\nimport layout from '@/layouts/app.vue';\nimport { User } from '@/shared/user';\nimport { Component, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\n@Component({\n components: {\n layout,\n blankDataFieldsPostCall,\n callbacksOverdue,\n cancellationReasons,\n clientsConsideringOptions,\n instructedClearedVariances,\n monitorAppointmentBookings,\n noLongerProceedingClients,\n nonInstructionReasons,\n outstandingAppointmentOutcomes,\n outstandingPayments,\n outstandingSignings,\n tasksOverdue,\n tasksUnassigned,\n userReport,\n },\n})\n\nexport default class ExceptionReports extends Vue {\n @userModule.Getter('user') private currentUser!: User;\n\n private selectedReportItem: number | null = null;\n\n private get reportItems(): Array<{}> {\n const appointments: Array<{}> = [];\n const usage: Array<{}> = [];\n const tasks: Array<{}> = [];\n const customerExperienceTeam: Array<{}> = [];\n\n this.addItem(appointments, { value: 0, text: 'Clients Considering Options', roles: ['System', 'Administrator', 'Internal Key Stakeholder', 'PP Key Stakeholder'] });\n this.addItem(appointments, { value: 1, text: 'Outstanding Signings', roles: ['System', 'Administrator', 'Internal Key Stakeholder', 'PP Key Stakeholder'] });\n this.addItem(appointments, { value: 2, text: 'Outstanding Payments', roles: ['System', 'Administrator', 'Internal Key Stakeholder', 'PP Key Stakeholder'] });\n this.addItem(appointments, { value: 3, text: 'Non-Instruction Reasons', roles: ['System', 'Administrator', 'Internal Key Stakeholder', 'PP Key Stakeholder'] });\n this.addItem(appointments, { value: 4, text: 'No Longer Proceeding/Write-Off Clients', roles: ['System', 'Administrator', 'Internal Key Stakeholder', 'PP Key Stakeholder'] });\n this.addItem(appointments, { value: 5, text: 'Instructed - Cleared Variances', roles: ['System', 'Administrator', 'Internal Key Stakeholder', 'PP Key Stakeholder'] });\n this.addItem(appointments, { value: 6, text: 'Cancellation Reasons', roles: ['System', 'Administrator', 'Internal Key Stakeholder', 'PP Key Stakeholder', 'Customer experience executive team leader', 'Head of Customer Experience Team'] });\n\n this.addItem(usage, { value: 7, text: 'Outstanding Appointment Outcomes', roles: ['System', 'Administrator', 'Internal Key Stakeholder', 'PP Key Stakeholder'] });\n this.addItem(usage, { value: 8, text: 'Blank Data Fields Post Calls', roles: ['System', 'Administrator', 'Internal Key Stakeholder', 'Customer experience executive team leader', 'Head of Customer Experience Team'] });\n this.addItem(usage, { value: 9, text: 'User Report', roles: ['System', 'Administrator', 'Internal Key Stakeholder'] });\n\n this.addItem(tasks, { value: 10, text: 'Tasks Overdue', roles: ['System', 'Administrator', 'Internal Key Stakeholder', 'Customer experience executive team leader', 'Head of Customer Experience Team', 'Data creation team leader'] });\n this.addItem(tasks, { value: 11, text: 'Tasks Unassigned', roles: ['System', 'Administrator', 'Internal Key Stakeholder', 'Customer experience executive team leader', 'Head of Customer Experience Team', 'Data creation team leader'] });\n\n this.addItem(customerExperienceTeam, { value: 12, text: 'Callbacks Overdue', roles: ['System', 'Administrator', 'Internal Key Stakeholder', 'Customer experience executive team leader', 'Head of Customer Experience Team'] });\n this.addItem(customerExperienceTeam, { value: 13, text: 'Monitor Appointment Bookings', roles: ['System', 'Administrator', 'Internal Key Stakeholder', 'Customer experience executive team leader', 'Head of Customer Experience Team'] });\n\n const options: Array<{}> = [{ value: null, text: '--- Please Select ---' }];\n\n if (appointments.length) {\n options.push({ label: 'Appointments', options: appointments });\n }\n\n if (usage.length) {\n options.push({ label: 'Usage', options: usage });\n }\n\n if (tasks.length) {\n options.push({ label: 'Tasks', options: tasks });\n }\n\n if (customerExperienceTeam.length) {\n options.push({ label: 'Customer Experience Team', options: customerExperienceTeam });\n }\n\n return options;\n }\n\n private addItem(collection: Array<{}>, item: { value: number | null, text: string, roles: Array }): void {\n const userRoles = this.currentUser.roles.map((role) => role.name.toLowerCase());\n const itemRoles = item.roles.map((role) => role.toLowerCase());\n\n if (userRoles.some((role) => itemRoles.indexOf(role) > -1)) {\n collection.push(item);\n }\n\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./exception-reports.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./exception-reports.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./exception-reports.vue?vue&type=template&id=5372b100&\"\nimport script from \"./exception-reports.vue?vue&type=script&lang=ts&\"\nexport * from \"./exception-reports.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:\"dashboard\"},[_vm._m(0),_c('div',{staticClass:\"row\"},[(_vm.isAdministrator || _vm.isInternalKeyStakeholder)?_c('div',{staticClass:\"col\"},[_c('b-tabs',{attrs:{\"pills\":\"\",\"justified\":\"\",\"card\":\"\"}},[_c('b-tab',{attrs:{\"title\":\"Partner Practice\"}},[_c('partner-practice-dashboard',{staticClass:\"mb-5\"})],1),_c('b-tab',{attrs:{\"title\":\"Customer Experience\"}},[_c('customer-experience-dashboard',{staticClass:\"mb-5\"})],1),_c('b-tab',{attrs:{\"title\":\"Data Creation\"}},[_c('data-creation-dashboard',{staticClass:\"mb-5\"})],1)],1)],1):_c('div',{staticClass:\"col\"},[(_vm.showPartnerPracticeDashboard)?_c('partner-practice-dashboard',{staticClass:\"mb-5\"}):_vm._e(),(_vm.showCustomerExperienceDashboard)?_c('customer-experience-dashboard',{staticClass:\"mb-5\"}):_vm._e(),(_vm.showDataCreationDashboard)?_c('data-creation-dashboard',{staticClass:\"mb-5\"}):_vm._e()],1)]),(_vm.showAppointments)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('appointments')],1)]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row pb-3\"},[_c('div',{staticClass:\"col-12\"},[_c('h2',[_vm._v(\"Dashboard\")])])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dashboard-appointment\"},[_vm._m(0),_c('div',{staticClass:\"form-row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading appointments, please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-sm-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"accountNoFilter\"}},[_vm._v(\"Account Number:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accountNoFilter),expression:\"accountNoFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('numeric'),expression:\"'numeric'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('accountNoFilter') },attrs:{\"type\":\"text\",\"name\":\"accountNoFilter\",\"data-vv-as\":\"account no\"},domProps:{\"value\":(_vm.accountNoFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.reloadAppointments($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.accountNoFilter=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('accountNoFilter')),expression:\"errors.has('accountNoFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('accountNoFilter')))])])]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientFirstNameFilter\"}},[_vm._v(\"Client First Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientFirstNameFilter),expression:\"clientFirstNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"clientFirstNameFilter\"},domProps:{\"value\":(_vm.clientFirstNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.reloadAppointments($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientFirstNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientLastNameFilter\"}},[_vm._v(\"Client Last Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientLastNameFilter),expression:\"clientLastNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"clientLastNameFilter\"},domProps:{\"value\":(_vm.clientLastNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.reloadAppointments($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientLastNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"locationTypeFilter\"}},[_vm._v(\"Location:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.locationTypeFilter),expression:\"locationTypeFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"locationTypeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.locationTypeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.locationTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2)])]),(_vm.showAddressFilter)?_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"addressFilter\"}},[_vm._v(\"Address:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.addressFilter),expression:\"addressFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"addressFilter\"},domProps:{\"value\":(_vm.addressFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.reloadAppointments($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.addressFilter=$event.target.value}}})])]):_vm._e(),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDatePeriodFilter\"}},[_vm._v(\"Appointment Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentDatePeriodFilter),expression:\"appointmentDatePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"appointmentDatePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentDatePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateFromFilter\"}},[_vm._v(\"From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDateFromFilter') },attrs:{\"name\":\"appointmentDateFromFilter\",\"id\":\"appointmentDateFromFilter\",\"data-vv-as\":\"appointment date from\"},model:{value:(_vm.appointmentDateFromFilter),callback:function ($$v) {_vm.appointmentDateFromFilter=$$v},expression:\"appointmentDateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateFromFilter')),expression:\"errors.has('appointmentDateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateToFilter\"}},[_vm._v(\"To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('appointmentDateToFilter') },attrs:{\"name\":\"appointmentDateToFilter\",\"id\":\"appointmentDateToFilter\",\"data-vv-as\":\"appointment date to\"},model:{value:(_vm.appointmentDateToFilter),callback:function ($$v) {_vm.appointmentDateToFilter=$$v},expression:\"appointmentDateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateToFilter')),expression:\"errors.has('appointmentDateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentStatusFilter\"}},[_vm._v(\"Status:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentStatusFilter),expression:\"appointmentStatusFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"appointmentStatusFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentStatusFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.statusTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])}),0)])]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentOutcomeFilter\"}},[_vm._v(\"Appointment Outcome:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentOutcomeFilter),expression:\"appointmentOutcomeFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"appointmentOutcomeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentOutcomeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.outcomeTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2)])]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"paymentStatusFilter\"}},[_vm._v(\"Payment Status:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.paymentStatusFilter),expression:\"paymentStatusFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"paymentStatusFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.paymentStatusFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.paymentStatuses),function(status){return _c('option',{key:status.id,domProps:{\"value\":status.id}},[_vm._v(_vm._s(status.value))])})],2)])]),_c('div',{staticClass:\"col-sm-4\"},[_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-btn',{staticClass:\"form-control\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.reloadAppointments}},[_vm._v(\"Filter\")])],1)]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('a',{staticClass:\"btn btn-link form-control px-0\",on:{\"click\":_vm.clearFilters}},[_vm._v(\"Clear Filters\")])])])])])]),_c('appointment-list',{staticClass:\"pt-3\",attrs:{\"appointments\":_vm.appointments},on:{\"show-view-dialog\":_vm.showViewDialog,\"show-completion-dialog\":_vm.showCompletionDialog,\"show-edit-outcome-dialog\":_vm.showEditOutcomeDialog,\"show-rebook-dialog\":_vm.showRebookDialog,\"show-edit-dialog\":_vm.showEditDialog,\"show-delete-appointment-dialog\":_vm.showDeleteAppointmentDialog,\"show-delete-outcome-dialog\":_vm.showDeleteOutcomeDialog}})],1)],1),_c('confirmation-dialog',{ref:\"modal\",attrs:{\"centered\":\"\",\"title\":\"Are you sure?\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true,\"variant\":\"danger\",\"ok-text\":\"Delete\"},on:{\"ok\":_vm.onDeleteAppointment,\"cancel\":_vm.onCancel},model:{value:(_vm.deleteAppointmentConfirmationDialogVisible),callback:function ($$v) {_vm.deleteAppointmentConfirmationDialogVisible=$$v},expression:\"deleteAppointmentConfirmationDialogVisible\"}},[_c('div',[_vm._v(\"\\n Are you sure you want to delete this appointment?\\n \")])]),_c('confirmation-dialog',{ref:\"modal\",attrs:{\"centered\":\"\",\"title\":\"Are you sure?\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true,\"variant\":\"danger\",\"ok-text\":\"Delete\"},on:{\"ok\":_vm.onDeleteOutcome,\"cancel\":_vm.onCancel},model:{value:(_vm.deleteOutcomeConfirmationDialogVisible),callback:function ($$v) {_vm.deleteOutcomeConfirmationDialogVisible=$$v},expression:\"deleteOutcomeConfirmationDialogVisible\"}},[_c('div',[_vm._v(\"\\n Are you sure you want to delete this appointment'''s outcome?\\n \")])]),(_vm.viewDialogVisible)?_c('view-appointment-dialog',{attrs:{\"visible\":_vm.viewDialogVisible,\"appointment\":_vm.selectedAppointment},on:{\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.bookDialogVisible)?_c('book-appointment-dialog',{attrs:{\"visible\":_vm.bookDialogVisible,\"client\":_vm.selectedAppointmentClient,\"original-appointment\":_vm.selectedAppointment,\"is-rebook\":_vm.isAppointmentRebook,\"is-edit\":_vm.isAppointmentEdit},on:{\"ok\":_vm.onAppointmentBooked,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.completeDialogVisible)?_c('complete-appointment-dialog',{attrs:{\"visible\":_vm.completeDialogVisible,\"appointment\":_vm.selectedAppointment},on:{\"ok\":_vm.onCompleted,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.editOutcomeDialogVisible)?_c('edit-appointment-outcome-dialog',{attrs:{\"visible\":_vm.editOutcomeDialogVisible,\"appointment\":_vm.selectedAppointment},on:{\"ok\":_vm.onOutcomeChanged,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.editOutcomeLegacyDialogVisible)?_c('edit-appointment-outcome-legacy-dialog',{attrs:{\"visible\":_vm.editOutcomeLegacyDialogVisible,\"appointment\":_vm.selectedAppointment},on:{\"ok\":_vm.onOutcomeChanged,\"cancel\":_vm.onCancel}}):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row pb-3\"},[_c('div',{staticClass:\"col\"},[_c('h3',[_vm._v(\"Appointments\")])])])}]\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { AppointmentApi } from '@/api/appointments';\nimport { ClientAccountsApi } from '@/api/client-accounts';\nimport { AppointmentListRequestFilters } from '@/api/requests/appointments/appointment-list-request-filters';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport appointmentList from '@/components/appointments/appointment-list.vue';\nimport bookAppointmentDialog from '@/components/appointments/book-appointment-dialog.vue';\nimport completeAppointmentDialog from '@/components/appointments/complete-appointment/complete-appointment-dialog.vue';\nimport editAppointmentOutcomeDialog from '@/components/appointments/edit-appointment-outcome-dialog.vue';\nimport editAppointmentOutcomeLegacyDialog from '@/components/appointments/edit-appointment-outcome-legacy-dialog.vue';\nimport viewAppointmentDialog from '@/components/appointments/view-appointment-dialog.vue';\nimport loading from '@/components/loading.vue';\nimport { Appointment } from '@/shared/appointments/appointment';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { LocationType } from '@/shared/location-type';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { User } from '@/shared/user';\nimport { Component, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst userModule = namespace('user');\n\nconst appointmentApi = new AppointmentApi();\nconst clientAccountApi = new ClientAccountsApi();\n\n@Component({\n components: {\n appointmentList,\n bookAppointmentDialog,\n completeAppointmentDialog,\n editAppointmentOutcomeDialog,\n editAppointmentOutcomeLegacyDialog,\n viewAppointmentDialog,\n loading,\n },\n})\nexport default class DashboardAppointment extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n @userModule.Getter('user') private currentUser!: User;\n\n private isLoading: boolean = true;\n private appointments: Array = new Array();\n private partnerPracticeFilter: string | null = null;\n private accountNoFilter: number | null = null;\n private clientFirstNameFilter: string | null = null;\n private clientLastNameFilter: string | null = null;\n private locationTypeFilter: number | null = null;\n private addressFilter: string | null = null;\n private appointmentDatePeriodFilter: number | null = 0;\n private appointmentDateFromFilter: string | Date | null = null;\n private appointmentDateToFilter: string | Date | null = null;\n private appointmentStatusFilter: number = 1;\n private appointmentOutcomeFilter: number | null = null;\n private paymentStatusFilter: number | null = null;\n private selectedAppointment: Appointment | null = null;\n private selectedAppointmentClient: ClientAccount | null = null;\n private viewDialogVisible: boolean = false;\n private bookDialogVisible: boolean = false;\n private completeDialogVisible: boolean = false;\n private editOutcomeDialogVisible: boolean = false;\n private editOutcomeLegacyDialogVisible: boolean = false;\n private deleteAppointmentConfirmationDialogVisible: boolean = false;\n private deleteOutcomeConfirmationDialogVisible: boolean = false;\n private isAppointmentRebook: boolean = false;\n private isAppointmentEdit: boolean = false;\n private showProductTabs: boolean = false;\n\n private locationTypes = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Office' },\n { id: 1, value: 'Home' },\n { id: 2, value: 'Telephone' },\n { id: 3, value: 'Video' },\n ]);\n\n private datePeriods = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Current Day' },\n { id: 1, value: 'Current Week' },\n { id: 2, value: 'Previous Week' },\n { id: 3, value: 'Current Month' },\n { id: 4, value: 'Previous Month' },\n { id: 5, value: 'Current Quarter' },\n { id: 6, value: 'Previous Quarter' },\n { id: 7, value: 'Current Year' },\n { id: 8, value: 'Previous Year' },\n { id: 9, value: 'Custom Dates' },\n ]);\n\n private statusTypes = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Pending' },\n { id: 1, value: 'Incomplete' },\n ]);\n\n private outcomeTypes = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'No Show' },\n { id: 1, value: 'Cancelled' },\n { id: 2, value: 'Re-booked' },\n { id: 3, value: 'Considering Options' },\n { id: 4, value: '14 Day Cooling Off Period' },\n { id: 5, value: 'Instructed' },\n { id: 6, value: 'Didn\\'t Instruct' },\n ]);\n\n private paymentStatuses = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Signing Pending' },\n { id: 1, value: 'Signing Booked' },\n { id: 2, value: 'Debtor' },\n { id: 3, value: 'No Longer Proceeding' },\n { id: 4, value: 'Written Off' },\n { id: 5, value: 'Part Payment' },\n { id: 6, value: 'Banked' },\n { id: 7, value: 'Cleared' },\n ]);\n\n private get showAddressFilter(): boolean {\n return this.locationTypeFilter === LocationType.Office || this.locationTypeFilter === LocationType.Home;\n }\n\n private get isCustomDatePeriod(): boolean {\n return this.appointmentDatePeriodFilter === 9;\n }\n\n private async showViewDialog(appointment: Appointment): Promise {\n this.selectedAppointment = appointment;\n this.viewDialogVisible = true;\n }\n\n private async showRebookDialog(appointment: Appointment): Promise {\n this.selectedAppointment = appointment;\n this.selectedAppointmentClient = await clientAccountApi.getClientAccountByIdAsync(appointment.clients[0].id!);\n this.isAppointmentRebook = true;\n this.bookDialogVisible = true;\n }\n\n private async showEditDialog(appointment: Appointment): Promise {\n this.selectedAppointment = appointment;\n this.isAppointmentEdit = true;\n this.bookDialogVisible = true;\n }\n\n private async showCompletionDialog(appointment: Appointment): Promise {\n this.selectedAppointment = appointment;\n this.completeDialogVisible = true;\n }\n\n private async showEditOutcomeDialog(appointment: Appointment): Promise {\n this.selectedAppointment = appointment;\n\n if (appointment.outcome == null) {\n return;\n }\n\n if (appointment.outcome.isLegacy) {\n this.editOutcomeLegacyDialogVisible = true;\n return;\n }\n\n this.showProductTabs = appointment.outcome.products != null && appointment.outcome.products.length > 0;\n this.editOutcomeDialogVisible = true;\n }\n\n private async showDeleteAppointmentDialog(appointment: Appointment): Promise {\n this.selectedAppointment = appointment;\n this.deleteAppointmentConfirmationDialogVisible = true;\n }\n\n private async showDeleteOutcomeDialog(appointment: Appointment): Promise {\n this.selectedAppointment = appointment;\n this.deleteOutcomeConfirmationDialogVisible = true;\n }\n\n private onCancel(): void {\n this.selectedAppointment = null;\n this.selectedAppointmentClient = null;\n this.deleteAppointmentConfirmationDialogVisible = false;\n this.deleteOutcomeConfirmationDialogVisible = false;\n this.bookDialogVisible = false;\n this.viewDialogVisible = false;\n this.completeDialogVisible = false;\n this.editOutcomeDialogVisible = false;\n this.editOutcomeLegacyDialogVisible = false;\n this.isAppointmentRebook = false;\n this.isAppointmentEdit = false;\n }\n\n private onAppointmentBooked(): void {\n if (this.isAppointmentEdit) {\n this.$snackbar.open({ message: `Appointment successfully updated`, type: 'is-success' });\n } else {\n this.$snackbar.open({ message: `Appointment successfully re-booked`, type: 'is-success' });\n }\n\n this.onCancel();\n this.reloadAppointments();\n }\n\n private onCompleted(): void {\n this.$snackbar.open({ message: `Appointment successfully completed`, type: 'is-success' });\n this.onCancel();\n this.reloadAppointments();\n }\n\n private onOutcomeChanged(): void {\n this.$snackbar.open({ message: `Appointment outcome successfully updated`, type: 'is-success' });\n this.onCancel();\n this.reloadAppointments();\n }\n\n private async onDeleteAppointment(): Promise {\n try {\n await appointmentApi.deleteAppointmentAsync(this.selectedAppointment!);\n await this.reloadAppointments();\n } catch (e) {\n this.$snackbar.open({ message: 'Could not delete appointment, please try again.', type: 'is-danger' });\n }\n this.onCancel();\n }\n\n private async onDeleteOutcome(): Promise {\n try {\n await appointmentApi.deleteAppointmentOutcomeAsync(this.selectedAppointment!);\n await this.reloadAppointments();\n } catch (e) {\n this.$snackbar.open({ message: 'Could not delete appointment outcome, please try again.', type: 'is-danger' });\n }\n this.onCancel();\n }\n\n private async fetchAllAppointmentsAsync(): Promise {\n try {\n const filters: AppointmentListRequestFilters = {\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter,\n accountNumber: this.accountNoFilter,\n clientFirstName: this.clientFirstNameFilter,\n clientLastName: this.clientLastNameFilter,\n legalAdvisorId: this.currentUser.id!,\n locationType: this.locationTypeFilter,\n address: this.showAddressFilter ? this.addressFilter : null,\n appointmentDatePeriod: this.appointmentDatePeriodFilter,\n appointmentDateFrom: this.appointmentDateFromFilter,\n appointmentDateTo: this.appointmentDateToFilter,\n appointmentStatus: this.appointmentStatusFilter,\n appointmentOutcome: this.appointmentOutcomeFilter,\n paymentStatus: this.paymentStatusFilter,\n };\n\n this.appointments = await appointmentApi.getAppointmentsAsync(filters);\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not load appointments, please try again.', type: 'is-danger' });\n }\n }\n }\n\n private async reloadAppointments(): Promise {\n if (!(await this.$validator.validateAll())) {\n return;\n }\n\n this.isLoading = true;\n await this.fetchAllAppointmentsAsync();\n this.isLoading = false;\n }\n\n private clearFilters(): void {\n this.partnerPracticeFilter = null;\n this.accountNoFilter = null;\n this.clientFirstNameFilter = null;\n this.clientLastNameFilter = null;\n this.locationTypeFilter = null;\n this.addressFilter = null;\n this.appointmentDatePeriodFilter = 0;\n this.appointmentDateFromFilter = null;\n this.appointmentDateToFilter = null;\n this.appointmentStatusFilter = 1;\n this.appointmentOutcomeFilter = null;\n this.paymentStatusFilter = null;\n }\n\n private async mounted(): Promise {\n\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`users/loadRolesAsync`),\n this.$store.dispatch(`users/loadAllUsersAsync`),\n ]);\n\n if (this.partnerPractices.length === 1) {\n await this.fetchAllAppointmentsAsync();\n }\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointments.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointments.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./appointments.vue?vue&type=template&id=c5fd104c&\"\nimport script from \"./appointments.vue?vue&type=script&lang=ts&\"\nexport * from \"./appointments.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:\"customer-experience-dashboard\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('div',{attrs:{\"role\":\"tablist\"}},[_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-card-header',{staticClass:\"p-0\",attrs:{\"role\":\"tab\"}},[_c('toggle-button',{attrs:{\"collapse-id\":\"ce-calls\",\"text\":\"Calls\"}})],1),_c('b-collapse',{attrs:{\"id\":\"ce-calls\",\"role\":\"tabpanel\"}},[_c('b-card-body',[_c('customer-experience-call-dashboard')],1)],1)],1),_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-card-header',{staticClass:\"p-0\",attrs:{\"role\":\"tab\"}},[_c('toggle-button',{attrs:{\"collapse-id\":\"ce-appointments\",\"text\":\"Appointments\"}})],1),_c('b-collapse',{attrs:{\"id\":\"ce-appointments\",\"role\":\"tabpanel\"}},[_c('b-card-body',[_c('customer-experience-appointment-dashboard')],1)],1)],1),_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-card-header',{staticClass:\"p-0\",attrs:{\"role\":\"tab\"}},[_c('toggle-button',{attrs:{\"collapse-id\":\"ce-tasks\",\"text\":\"Tasks\"}})],1),_c('b-collapse',{attrs:{\"id\":\"ce-tasks\",\"role\":\"tabpanel\"}},[_c('b-card-body',[_c('task-dashboard',{attrs:{\"defaultUserRole\":_vm.defaultUserRoleName}})],1)],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:\"customer-experience-appointment-dashboard\"},[_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.loading}},[_vm._v(\"Loading dashboard data, please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-sm-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"datePeriodFilter\"}},[_vm._v(\"Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.datePeriodFilter),expression:\"datePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"datePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.datePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"dateFromFilter\"}},[_vm._v(\"Date From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('dateFromFilter') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"wrapper-class\":'datepicker-wrapper',\"calendar-class\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"dateFromFilter\",\"data-vv-as\":\"date from\"},model:{value:(_vm.dateFromFilter),callback:function ($$v) {_vm.dateFromFilter=$$v},expression:\"dateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('dateFromFilter')),expression:\"errors.has('dateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('dateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"dateToFilter\"}},[_vm._v(\"Date To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('dateToFilter') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"wrapper-class\":'datepicker-wrapper',\"calendar-class\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"dateToFilter\",\"data-vv-as\":\"date to\"},model:{value:(_vm.dateToFilter),callback:function ($$v) {_vm.dateToFilter=$$v},expression:\"dateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('dateToFilter')),expression:\"errors.has('dateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('dateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"bookerUserRoleFilter\"}},[_vm._v(\"Booker Role:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.bookerUserRoleFilter),expression:\"bookerUserRoleFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"bookerUserRoleFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.bookerUserRoleFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.bookerUserRoles),function(role){return _c('option',{key:role.id,domProps:{\"value\":role.id}},[_vm._v(_vm._s(_vm._f(\"capitalizeFirst\")(role.name)))])})],2)])]),_c('div',{staticClass:\"col-sm-2\"},[_c('user-select',{attrs:{\"type\":\"appointment booker\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-period\":_vm.datePeriodFilter,\"date-from\":_vm.dateFromFilter,\"date-to\":_vm.dateToFilter,\"role-id\":_vm.bookerUserRoleFilter},model:{value:(_vm.bookerUserFilter),callback:function ($$v) {_vm.bookerUserFilter=$$v},expression:\"bookerUserFilter\"}},[_vm._v(\"\\n Booker Name:\\n \")])],1),_c('div',{staticClass:\"col-sm-2\"},[_c('user-select',{attrs:{\"type\":\"legal advisor\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-period\":_vm.datePeriodFilter,\"date-from\":_vm.dateFromFilter,\"date-to\":_vm.dateToFilter},model:{value:(_vm.legalAdvisorFilter),callback:function ($$v) {_vm.legalAdvisorFilter=$$v},expression:\"legalAdvisorFilter\"}},[_vm._v(\"\\n Legal Advisor:\\n \")])],1),_c('div',{staticClass:\"col-sm-2\"},[_c('original-source-select',{attrs:{\"partner-practice-id\":_vm.partnerPracticeFilter},model:{value:(_vm.originalSourceFilter),callback:function ($$v) {_vm.originalSourceFilter=$$v},expression:\"originalSourceFilter\"}})],1),_c('div',{staticClass:\"col-sm-1\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-btn',{staticClass:\"form-control\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.loadDataAsync}},[_vm._v(\"Filter\")])],1)]),_c('div',{staticClass:\"col-sm-1\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('div',{staticClass:\"form-inline\"},[_c('a',{staticClass:\"btn btn-link form-control px-0\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.clearFiltersAsync}},[_vm._v(\"Clear Filters\")])])])])]),_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Appointments\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm.data.appointments))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Booked to Sat Percentage\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm._f(\"percentage\")(_vm.data.bookedToSatPercentage)))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Sat to Instructed Percentage\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm._f(\"percentage\")(_vm.data.satToInstructedPercentage)))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Instruction Value\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.data.instructionValue)))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Average Case Size\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.data.averageCaseSize)))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Cleared\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.data.clearedAmount)))])])])])])])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Api } from '@/api/api';\nimport { CustomerExperienceAppointmentDashboardRequest } from '@/api/requests/dashboard/customer-experience-appointment-dashboard-request';\nimport { CustomerExperienceCallDashboardRequest } from '@/api/requests/dashboard/customer-experience-call-dashboard-request';\nimport { DataCreationDashboardRequest } from '@/api/requests/dashboard/data-creation-dashboard-request';\nimport { PartnerPracticeDashboardRequest } from '@/api/requests/dashboard/partner-practice-dashboard-request';\nimport { TaskDashboardRequest } from '@/api/requests/dashboard/task-dashboard-request';\nimport { CustomerExperienceAppointmentDashboardResponse } from '@/api/responses/dashboard/customer-experience-appointment-dashboard-response';\nimport { CustomerExperienceCallDashboardResponse } from '@/api/responses/dashboard/customer-experience-call-dashboard-response';\nimport { DataCreationDashboardResponse } from '@/api/responses/dashboard/data-creation-dashboard-response';\nimport { PartnerPracticeDashboardResponse } from '@/api/responses/dashboard/partner-practice-dashboard-response';\nimport { TaskDashboardResponse } from '@/api/responses/dashboard/task-dashboard-response';\n\nexport class DashboardApi extends Api {\n public getPartnerPracticeDashboardDataAsync(filters: PartnerPracticeDashboardRequest): Promise {\n return this.getAsync(`v1/dashboard/partnerpractice`, filters);\n }\n\n public getCustomerExperienceAppointmentDashboardDataAsync(filters: CustomerExperienceAppointmentDashboardRequest): Promise {\n return this.getAsync(`v1/dashboard/customerexperience/appointment`, filters);\n }\n\n public getCustomerExperienceCallDashboardDataAsync(filters: CustomerExperienceCallDashboardRequest): Promise {\n return this.getAsync(`v1/dashboard/customerexperience/call`, filters);\n }\n\n public getDataCreationDashboardDataAsync(filters: DataCreationDashboardRequest): Promise {\n return this.getAsync(`v1/dashboard/datacreation`, filters);\n }\n\n public getTaskDashboardDataAsync(filters: TaskDashboardRequest): Promise {\n return this.getAsync(`v1/dashboard/task`, filters);\n }\n\n public constructor() {\n super();\n }\n}\n","export interface CustomerExperienceAppointmentDashboardResponse {\n appointments: number;\n bookedToSatPercentage: number;\n satToInstructedPercentage: number;\n instructionValue: number;\n averageCaseSize: number;\n clearedAmount: number;\n}\n\nexport function createCustomerExperienceAppointmentDashboardResponse(): CustomerExperienceAppointmentDashboardResponse {\n return {\n appointments: 0,\n bookedToSatPercentage: 0,\n satToInstructedPercentage: 0,\n instructionValue: 0,\n averageCaseSize: 0,\n clearedAmount: 0,\n };\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { DashboardApi } from '@/api/dashboard';\nimport { createCustomerExperienceAppointmentDashboardResponse, CustomerExperienceAppointmentDashboardResponse } from '@/api/responses/dashboard/customer-experience-appointment-dashboard-response';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport loading from '@/components/loading.vue';\nimport layout from '@/layouts/app.vue';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { RoleName } from '@/shared/role-name';\nimport { Role } from '@/shared/roles/role';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst usersModule = namespace('users');\nconst dashboardApi = new DashboardApi();\n\n@Component({\n components: {\n layout,\n loading,\n },\n})\nexport default class CustomerExperienceAppointmentDashboard extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n\n @usersModule.Getter('roles') private roles!: Array;\n\n private loading: boolean = true;\n private partnerPracticeFilter: string | null = null;\n private originalSourceFilter: string | null = null;\n private datePeriodFilter: number | null = 3;\n private dateFromFilter?: string | Date | null = null;\n private dateToFilter?: string | Date | null = null;\n private bookerUserRoleFilter: string | null = null;\n private bookerUserFilter: string | null = null;\n private legalAdvisorFilter: string | null = null;\n private data: CustomerExperienceAppointmentDashboardResponse = createCustomerExperienceAppointmentDashboardResponse();\n private datePeriods = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Current Day' },\n { id: 1, value: 'Current Week' },\n { id: 2, value: 'Previous Week' },\n { id: 3, value: 'Current Month' },\n { id: 4, value: 'Previous Month' },\n { id: 5, value: 'Current Quarter' },\n { id: 6, value: 'Previous Quarter' },\n { id: 7, value: 'Current Year' },\n { id: 8, value: 'Previous Year' },\n { id: 9, value: 'Custom Dates' },\n ]);\n\n private get isCustomDatePeriod(): boolean {\n return this.datePeriodFilter === 9;\n }\n\n private get bookerUserRoles(): Array {\n return this.roles.filter((role) => role.name.toLowerCase() !== RoleName.System.toLowerCase());\n }\n\n @Watch('datePeriodFilter')\n private async onDatePeriodFilterChanged(): Promise {\n this.dateFromFilter = null;\n this.dateToFilter = null;\n }\n\n private async fetchDashboardDataAsync(): Promise {\n try {\n this.data = await dashboardApi.getCustomerExperienceAppointmentDashboardDataAsync({\n datePeriod: this.datePeriodFilter,\n dateFrom: this.dateFromFilter,\n dateTo: this.dateToFilter,\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter,\n originalSourceId: this.originalSourceFilter,\n bookerRoleId: this.bookerUserRoleFilter,\n bookerId: this.bookerUserFilter,\n legalAdvisorId: this.legalAdvisorFilter,\n });\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not load dashboard data.`, type: 'is-danger' });\n }\n }\n }\n\n private async loadDataAsync(): Promise {\n const isValid = await this.$validator.validateAll();\n\n if (!isValid) { return; }\n\n this.loading = true;\n await this, this.fetchDashboardDataAsync();\n this.loading = false;\n }\n\n private async clearFiltersAsync(): Promise {\n this.partnerPracticeFilter = null;\n this.originalSourceFilter = null;\n this.dateFromFilter = null;\n this.dateToFilter = null;\n this.datePeriodFilter = 3;\n this.bookerUserRoleFilter = this.roles.find((role) => role.name.toLowerCase() === RoleName.CustomerExperienceExecutive.toLowerCase())!.id!;\n this.bookerUserFilter = null;\n this.legalAdvisorFilter = null;\n }\n\n public async mounted(): Promise {\n this.loading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n this.$store.dispatch(`users/loadRolesAsync`),\n this.fetchDashboardDataAsync(),\n ]);\n\n this.loading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./customer-experience-appointment-dashboard.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./customer-experience-appointment-dashboard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./customer-experience-appointment-dashboard.vue?vue&type=template&id=b6e45484&\"\nimport script from \"./customer-experience-appointment-dashboard.vue?vue&type=script&lang=ts&\"\nexport * from \"./customer-experience-appointment-dashboard.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./customer-experience-appointment-dashboard.vue?vue&type=style&index=0&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 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:\"customer-experience-call-dashboard\"},[_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.loading}},[_vm._v(\"Loading dashboard data, please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-sm-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true,\"rlg-data\":true},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"datePeriodFilter\"}},[_vm._v(\"Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.datePeriodFilter),expression:\"datePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"datePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.datePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"dateFromFilter\"}},[_vm._v(\"Date From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('dateFromFilter') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"wrapper-class\":'datepicker-wrapper',\"calendar-class\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"dateFromFilter\",\"data-vv-as\":\"date from\"},model:{value:(_vm.dateFromFilter),callback:function ($$v) {_vm.dateFromFilter=$$v},expression:\"dateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('dateFromFilter')),expression:\"errors.has('dateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('dateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"dateToFilter\"}},[_vm._v(\"Date To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('dateToFilter') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"wrapper-class\":'datepicker-wrapper',\"calendar-class\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"dateToFilter\",\"data-vv-as\":\"date to\"},model:{value:(_vm.dateToFilter),callback:function ($$v) {_vm.dateToFilter=$$v},expression:\"dateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('dateToFilter')),expression:\"errors.has('dateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('dateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"callerUserRoleFilter\"}},[_vm._v(\"Caller Role:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.callerUserRoleFilter),expression:\"callerUserRoleFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"callerUserRoleFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.callerUserRoleFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.callerUserRoles),function(role){return _c('option',{key:role.id,domProps:{\"value\":role.id}},[_vm._v(_vm._s(_vm._f(\"capitalizeFirst\")(role.name)))])})],2)])]),_c('div',{staticClass:\"col-sm-2\"},[_c('user-select',{attrs:{\"type\":\"interaction author\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-period\":_vm.datePeriodFilter,\"date-from\":_vm.dateFromFilter,\"date-to\":_vm.dateToFilter,\"role-id\":_vm.callerUserRoleFilter},model:{value:(_vm.callerUserFilter),callback:function ($$v) {_vm.callerUserFilter=$$v},expression:\"callerUserFilter\"}},[_vm._v(\"\\n Caller Name:\\n \")])],1),_c('div',{staticClass:\"col-sm-2\"},[_c('original-source-select',{attrs:{\"partner-practice-id\":_vm.partnerPracticeFilter},model:{value:(_vm.originalSourceFilter),callback:function ($$v) {_vm.originalSourceFilter=$$v},expression:\"originalSourceFilter\"}})],1),_c('div',{staticClass:\"col-sm-1\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-btn',{staticClass:\"form-control\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.loadDataAsync}},[_vm._v(\"Filter\")])],1)]),_c('div',{staticClass:\"col-sm-1\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('div',{staticClass:\"form-inline\"},[_c('a',{staticClass:\"btn btn-link form-control px-0\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.clearFiltersAsync}},[_vm._v(\"Clear Filters\")])])])])]),_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Calls\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm.data.callsMade))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Calls Answered\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm.data.callsAnswered))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Calls Answered Percentage\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm._f(\"percentage\")(_vm.data.callsAnsweredPercentage)))])])])])])]),_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Appointments Booked\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm.data.callsAppointmentBooked))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Answered to Booked Percentage\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm._f(\"percentage\")(_vm.data.callsAppointmentBookedPercentage)))])])])])])]),_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Unable to Contact\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm.data.callsUnableToContact))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Unable to Contact Percentage\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm._f(\"percentage\")(_vm.data.callsUnableToContactPercentage)))])])])])])])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export interface CustomerExperienceCallDashboardResponse {\n callsMade: number;\n callsAnswered: number;\n callsAnsweredPercentage: number;\n callsAppointmentBooked: number;\n callsAppointmentBookedPercentage: number;\n callsUnableToContact: number;\n callsUnableToContactPercentage: number;\n}\n\nexport function createCustomerExperienceCallDashboardResponse(): CustomerExperienceCallDashboardResponse {\n return {\n callsMade: 0,\n callsAnswered: 0,\n callsAnsweredPercentage: 0,\n callsAppointmentBooked: 0,\n callsAppointmentBookedPercentage: 0,\n callsUnableToContact: 0,\n callsUnableToContactPercentage: 0,\n };\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { DashboardApi } from '@/api/dashboard';\nimport { createCustomerExperienceCallDashboardResponse, CustomerExperienceCallDashboardResponse } from '@/api/responses/dashboard/customer-experience-call-dashboard-response';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport loading from '@/components/loading.vue';\nimport layout from '@/layouts/app.vue';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { RoleName } from '@/shared/role-name';\nimport { Role } from '@/shared/roles/role';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst usersModule = namespace('users');\nconst dashboardApi = new DashboardApi();\n\n@Component({\n components: {\n layout,\n loading,\n },\n})\nexport default class CustomerExperienceCallDashboard extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n\n @usersModule.Getter('roles') public roles!: Array;\n\n private loading: boolean = true;\n private partnerPracticeFilter: string | null = null;\n private originalSourceFilter: string | null = null;\n private datePeriodFilter: number | null = 0;\n private dateFromFilter?: string | Date | null = null;\n private dateToFilter?: string | Date | null = null;\n private callerUserRoleFilter: string | null = null;\n private callerUserFilter: string | null = null;\n private data: CustomerExperienceCallDashboardResponse = createCustomerExperienceCallDashboardResponse();\n private datePeriods = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Current Day' },\n { id: 1, value: 'Current Week' },\n { id: 2, value: 'Previous Week' },\n { id: 3, value: 'Current Month' },\n { id: 4, value: 'Previous Month' },\n { id: 5, value: 'Current Quarter' },\n { id: 6, value: 'Previous Quarter' },\n { id: 7, value: 'Current Year' },\n { id: 8, value: 'Previous Year' },\n { id: 9, value: 'Custom Dates' },\n ]);\n\n private get isCustomDatePeriod(): boolean {\n return this.datePeriodFilter === 9;\n }\n\n private get callerUserRoles(): Array {\n return this.roles.filter((role) => role.name.toLowerCase() !== RoleName.System.toLowerCase());\n }\n\n @Watch('datePeriodFilter')\n private async onDatePeriodFilterChanged(): Promise {\n this.dateFromFilter = null;\n this.dateToFilter = null;\n }\n\n private async fetchDashboardDataAsync(): Promise {\n try {\n this.data = await dashboardApi.getCustomerExperienceCallDashboardDataAsync({\n datePeriod: this.datePeriodFilter,\n dateFrom: this.dateFromFilter,\n dateTo: this.dateToFilter,\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter,\n originalSourceId: this.originalSourceFilter,\n callerRoleId: this.callerUserRoleFilter,\n callerId: this.callerUserFilter,\n });\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not load dashboard data.`, type: 'is-danger' });\n }\n }\n }\n\n private async loadDataAsync(): Promise {\n const isValid = await this.$validator.validateAll();\n\n if (!isValid) { return; }\n\n this.loading = true;\n await this, this.fetchDashboardDataAsync();\n this.loading = false;\n }\n\n private async clearFiltersAsync(): Promise {\n this.partnerPracticeFilter = null;\n this.originalSourceFilter = null;\n this.dateFromFilter = null;\n this.dateToFilter = null;\n this.datePeriodFilter = 0;\n this.callerUserRoleFilter = this.roles.find((role) => role.name.toLowerCase() === RoleName.CustomerExperienceExecutive.toLowerCase())!.id!;\n this.callerUserFilter = null;\n }\n\n public async mounted(): Promise {\n this.loading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`users/loadRolesAsync`),\n this.fetchDashboardDataAsync(),\n ]);\n\n this.loading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./customer-experience-call-dashboard.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./customer-experience-call-dashboard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./customer-experience-call-dashboard.vue?vue&type=template&id=e59b1a9a&\"\nimport script from \"./customer-experience-call-dashboard.vue?vue&type=script&lang=ts&\"\nexport * from \"./customer-experience-call-dashboard.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./customer-experience-call-dashboard.vue?vue&type=style&index=0&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 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:\"task-dashboard\"},[_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.loading}},[_vm._v(\"Loading dashboard data, please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-sm-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"datePeriodFilter\"}},[_vm._v(\"Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.datePeriodFilter),expression:\"datePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"datePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.datePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"dateFromFilter\"}},[_vm._v(\"Date From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('dateFromFilter') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"wrapper-class\":'datepicker-wrapper',\"calendar-class\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"dateFromFilter\",\"data-vv-as\":\"date from\"},model:{value:(_vm.dateFromFilter),callback:function ($$v) {_vm.dateFromFilter=$$v},expression:\"dateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('dateFromFilter')),expression:\"errors.has('dateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('dateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"dateToFilter\"}},[_vm._v(\"Date To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('dateToFilter') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"wrapper-class\":'datepicker-wrapper',\"calendar-class\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"dateToFilter\",\"data-vv-as\":\"date to\"},model:{value:(_vm.dateToFilter),callback:function ($$v) {_vm.dateToFilter=$$v},expression:\"dateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('dateToFilter')),expression:\"errors.has('dateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('dateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"userRoleFilter\"}},[_vm._v(\"User Role:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.userRoleFilter),expression:\"userRoleFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"userRoleFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.userRoleFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.userRoles),function(role){return _c('option',{key:role.id,domProps:{\"value\":role.id}},[_vm._v(_vm._s(_vm._f(\"capitalizeFirst\")(role.name)))])})],2)])]),_c('div',{staticClass:\"col-sm-2\"},[_c('user-select',{attrs:{\"type\":\"task\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-period\":_vm.datePeriodFilter,\"date-from\":_vm.dateFromFilter,\"date-to\":_vm.dateToFilter,\"role-id\":_vm.userRoleFilter},model:{value:(_vm.userFilter),callback:function ($$v) {_vm.userFilter=$$v},expression:\"userFilter\"}},[_vm._v(\"\\n User Name:\\n \")])],1),_c('div',{staticClass:\"col-sm-2\"},[_c('original-source-select',{attrs:{\"partner-practice-id\":_vm.partnerPracticeFilter},model:{value:(_vm.originalSourceFilter),callback:function ($$v) {_vm.originalSourceFilter=$$v},expression:\"originalSourceFilter\"}})],1),_c('div',{staticClass:\"col-sm-1\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-btn',{staticClass:\"form-control\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.loadDataAsync}},[_vm._v(\"Filter\")])],1)]),_c('div',{staticClass:\"col-sm-1\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('div',{staticClass:\"form-inline\"},[_c('a',{staticClass:\"btn btn-link form-control px-0\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.clearFiltersAsync}},[_vm._v(\"Clear Filters\")])])])])]),_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Tasks Completed\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm.data.tasksCompleted))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Tasks Outstanding\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm.data.tasksOutstanding))])])])])])])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export interface TaskDashboardResponse {\n tasksCompleted: number;\n tasksOutstanding: number;\n}\n\nexport function createTaskDashboardResponse(): TaskDashboardResponse {\n return {\n tasksCompleted: 0,\n tasksOutstanding: 0,\n };\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { DashboardApi } from '@/api/dashboard';\nimport { createTaskDashboardResponse, TaskDashboardResponse } from '@/api/responses/dashboard/task-dashboard-response';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport loading from '@/components/loading.vue';\nimport layout from '@/layouts/app.vue';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { RoleName } from '@/shared/role-name';\nimport { Role } from '@/shared/roles/role';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst usersModule = namespace('users');\nconst dashboardApi = new DashboardApi();\n\n\n@Component({\n components: {\n layout,\n loading,\n },\n})\nexport default class TaskDashboard extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n\n @usersModule.Getter('roles') public roles!: Array;\n\n @Prop({ required: true }) public defaultUserRole!: string;\n\n private loading: boolean = true;\n private partnerPracticeFilter: string | null = null;\n private originalSourceFilter: string | null = null;\n private datePeriodFilter: number = 0;\n private dateFromFilter?: string | Date | null = null;\n private dateToFilter?: string | Date | null = null;\n private userRoleFilter: string | null = null;\n private userFilter: string | null = null;\n private data: TaskDashboardResponse = createTaskDashboardResponse();\n private datePeriods = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Current Day' },\n { id: 1, value: 'Current Week' },\n { id: 2, value: 'Previous Week' },\n { id: 3, value: 'Current Month' },\n { id: 4, value: 'Previous Month' },\n { id: 5, value: 'Current Quarter' },\n { id: 6, value: 'Previous Quarter' },\n { id: 7, value: 'Current Year' },\n { id: 8, value: 'Previous Year' },\n { id: 9, value: 'Custom Dates' },\n ]);\n\n private get isCustomDatePeriod(): boolean {\n return this.datePeriodFilter === 9;\n }\n\n private get userRoles(): Array {\n return this.roles.filter((role) => role.name.toLowerCase() !== RoleName.System.toLowerCase());\n }\n\n @Watch('datePeriodFilter')\n private async onDatePeriodFilterChanged(): Promise {\n this.dateFromFilter = null;\n this.dateToFilter = null;\n }\n\n private async fetchDashboardDataAsync(): Promise {\n try {\n this.data = await dashboardApi.getTaskDashboardDataAsync({\n datePeriod: this.datePeriodFilter,\n dateFrom: this.dateFromFilter,\n dateTo: this.dateToFilter,\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter,\n originalSourceId: this.originalSourceFilter,\n userRoleId: this.userRoleFilter,\n userId: this.userFilter,\n });\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not load dashboard data.`, type: 'is-danger' });\n }\n }\n }\n\n private async loadDataAsync(): Promise {\n const isValid = await this.$validator.validateAll();\n\n if (!isValid) { return; }\n\n this.loading = true;\n await this, this.fetchDashboardDataAsync();\n this.loading = false;\n }\n\n private async clearFiltersAsync(): Promise {\n this.partnerPracticeFilter = null;\n this.originalSourceFilter = null;\n this.dateFromFilter = null;\n this.dateToFilter = null;\n this.datePeriodFilter = 0;\n this.userRoleFilter = this.roles.find((role) => role.name.toLowerCase() === this.defaultUserRole.toLowerCase())!.id!;\n this.userFilter = null;\n }\n\n public async mounted(): Promise {\n this.loading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n this.$store.dispatch(`users/loadRolesAsync`),\n ]);\n\n await this.clearFiltersAsync();\n await this.fetchDashboardDataAsync();\n\n this.loading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./task-dashboard.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./task-dashboard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./task-dashboard.vue?vue&type=template&id=2eeda6a9&\"\nimport script from \"./task-dashboard.vue?vue&type=script&lang=ts&\"\nexport * from \"./task-dashboard.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./task-dashboard.vue?vue&type=style&index=0&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 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('button',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:(_vm.collapseId),expression:\"collapseId\"}],staticClass:\"btn btn-block text-left\"},[_c('div',{staticClass:\"row justify-content-beteen align-items-center when-closed\"},[_c('div',{staticClass:\"col\"},[_c('h5',{staticClass:\"my-1\"},[_vm._v(_vm._s(_vm.text))])]),_c('div',{staticClass:\"col-1 text-right\"},[_c('b-icon-caret-down-fill')],1)]),_c('div',{staticClass:\"row justify-content-beteen align-items-center when-open\"},[_c('div',{staticClass:\"col\"},[_c('h5',{staticClass:\"my-1\"},[_vm._v(_vm._s(_vm.text))])]),_c('div',{staticClass:\"col-1 text-right\"},[_c('b-icon-caret-up-fill')],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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class ToggleButton extends Vue {\n @Prop({ required: true }) public collapseId!: string;\n @Prop({ required: true }) public text!: string;\n}\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./toggle-button.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./toggle-button.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./toggle-button.vue?vue&type=template&id=52249e6e&\"\nimport script from \"./toggle-button.vue?vue&type=script&lang=ts&\"\nexport * from \"./toggle-button.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./toggle-button.vue?vue&type=style&index=0&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 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\nimport customerExperienceAppointmentDashboard from '@/components/home/customer-experience-appointment-dashboard.vue';\nimport customerExperienceCallDashboard from '@/components/home/customer-experience-call-dashboard.vue';\nimport taskDashboard from '@/components/home/task-dashboard.vue';\nimport loading from '@/components/loading.vue';\nimport toggleButton from '@/components/toggle-button.vue';\nimport layout from '@/layouts/app.vue';\nimport { RoleName } from '@/shared/role-name';\nimport { Component, Vue } from 'vue-property-decorator';\n\n@Component({\n components: {\n customerExperienceAppointmentDashboard,\n customerExperienceCallDashboard,\n taskDashboard,\n layout,\n loading,\n toggleButton,\n },\n})\nexport default class CustomerExperienceDashboard extends Vue {\n private defaultUserRoleName = RoleName.CustomerExperienceExecutive;\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./customer-experience-dashboard.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./customer-experience-dashboard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./customer-experience-dashboard.vue?vue&type=template&id=7ce098b6&\"\nimport script from \"./customer-experience-dashboard.vue?vue&type=script&lang=ts&\"\nexport * from \"./customer-experience-dashboard.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:\"data-creation-dashboard\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('div',{attrs:{\"role\":\"tablist\"}},[_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-card-header',{staticClass:\"p-0\",attrs:{\"role\":\"tab\"}},[_c('toggle-button',{attrs:{\"collapse-id\":\"dc-data-management\",\"text\":\"Data Management\"}})],1),_c('b-collapse',{attrs:{\"id\":\"dc-data-management\",\"role\":\"tabpanel\"}},[_c('b-card-body',[_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.loading}},[_vm._v(\"Loading dashboard data, please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-sm-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true,\"rlg-data\":true},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"datePeriodFilter\"}},[_vm._v(\"Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.datePeriodFilter),expression:\"datePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"datePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.datePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"dateFromFilter\"}},[_vm._v(\"Date From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('dateFromFilter') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"wrapper-class\":'datepicker-wrapper',\"calendar-class\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"dateFromFilter\",\"data-vv-as\":\"date from\"},model:{value:(_vm.dateFromFilter),callback:function ($$v) {_vm.dateFromFilter=$$v},expression:\"dateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('dateFromFilter')),expression:\"errors.has('dateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('dateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"dateToFilter\"}},[_vm._v(\"Date To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('dateToFilter') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"wrapper-class\":'datepicker-wrapper',\"calendar-class\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"dateToFilter\",\"data-vv-as\":\"date to\"},model:{value:(_vm.dateToFilter),callback:function ($$v) {_vm.dateToFilter=$$v},expression:\"dateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('dateToFilter')),expression:\"errors.has('dateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('dateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"userRoleFilter\"}},[_vm._v(\"User Role:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.userRoleFilter),expression:\"userRoleFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"userRoleFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.userRoleFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.authorUserRoles),function(role){return _c('option',{key:role.id,domProps:{\"value\":role.id}},[_vm._v(_vm._s(_vm._f(\"capitalizeFirst\")(role.name)))])})],2)])]),_c('div',{staticClass:\"col-sm-2\"},[_c('user-select',{attrs:{\"type\":\"account author\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-period\":_vm.datePeriodFilter,\"date-from\":_vm.dateFromFilter,\"date-to\":_vm.dateToFilter,\"role-id\":_vm.userRoleFilter},model:{value:(_vm.userFilter),callback:function ($$v) {_vm.userFilter=$$v},expression:\"userFilter\"}},[_vm._v(\"\\n User Name:\\n \")])],1),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"productTypeFilter\"}},[_vm._v(\"Product Type:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.productTypeFilter),expression:\"productTypeFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"productTypeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.productTypeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.productTypes),function(product){return _c('option',{key:product.id,domProps:{\"value\":product.id}},[_vm._v(_vm._s(product.value))])})],2)])]),_c('div',{staticClass:\"col-sm-2\"},[_c('original-source-select',{attrs:{\"partner-practice-id\":_vm.partnerPracticeFilter},model:{value:(_vm.originalSourceFilter),callback:function ($$v) {_vm.originalSourceFilter=$$v},expression:\"originalSourceFilter\"}})],1),_c('div',{staticClass:\"col-sm-1\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-btn',{staticClass:\"form-control\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.loadDataAsync}},[_vm._v(\"Filter\")])],1)]),_c('div',{staticClass:\"col-sm-1\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('div',{staticClass:\"form-inline\"},[_c('a',{staticClass:\"btn btn-link form-control px-0\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.clearFiltersAsync}},[_vm._v(\"Clear Filters\")])])])])]),_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Accounts Created\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm.data.accountsCreated))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Accounts Updated\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm.data.accountsUpdated))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Products Added\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm.data.productsAdded))])])])])])])])],1)])],1)],1),_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-card-header',{staticClass:\"p-0\",attrs:{\"role\":\"tab\"}},[_c('toggle-button',{attrs:{\"collapse-id\":\"dc-tasks\",\"text\":\"Tasks\"}})],1),_c('b-collapse',{attrs:{\"id\":\"dc-tasks\",\"role\":\"tabpanel\"}},[_c('b-card-body',[_c('task-dashboard',{attrs:{\"defaultUserRole\":_vm.defaultUserRoleName}})],1)],1)],1)],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export interface DataCreationDashboardResponse {\n accountsCreated: number;\n accountsUpdated: number;\n productsAdded: number;\n}\n\nexport function createDataCreationDashboardResponse(): DataCreationDashboardResponse {\n return {\n accountsCreated: 0,\n accountsUpdated: 0,\n productsAdded: 0,\n };\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { DashboardApi } from '@/api/dashboard';\nimport { createDataCreationDashboardResponse, DataCreationDashboardResponse } from '@/api/responses/dashboard/data-creation-dashboard-response';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport taskDashboard from '@/components/home/task-dashboard.vue';\nimport loading from '@/components/loading.vue';\nimport toggleButton from '@/components/toggle-button.vue';\nimport layout from '@/layouts/app.vue';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { RoleName } from '@/shared/role-name';\nimport { Role } from '@/shared/roles/role';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst usersModule = namespace('users');\nconst dashboardApi = new DashboardApi();\n\n\n@Component({\n components: {\n layout,\n loading,\n taskDashboard,\n toggleButton,\n },\n})\nexport default class DataCreationDashboard extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n\n @usersModule.Getter('roles') public roles!: Array;\n\n private loading: boolean = true;\n private partnerPracticeFilter: string | null = null;\n private originalSourceFilter: string | null = null;\n private datePeriodFilter: number = 0;\n private dateFromFilter?: string | Date | null = null;\n private dateToFilter?: string | Date | null = null;\n private userRoleFilter: string | null = null;\n private userFilter: string | null = null;\n private productTypeFilter: number | null = null;\n private defaultUserRoleName: string = RoleName.DataCreationExecutive;\n private data: DataCreationDashboardResponse = createDataCreationDashboardResponse();\n private datePeriods = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Current Day' },\n { id: 1, value: 'Current Week' },\n { id: 2, value: 'Previous Week' },\n { id: 3, value: 'Current Month' },\n { id: 4, value: 'Previous Month' },\n { id: 5, value: 'Current Quarter' },\n { id: 6, value: 'Previous Quarter' },\n { id: 7, value: 'Current Year' },\n { id: 8, value: 'Previous Year' },\n { id: 9, value: 'Custom Dates' },\n ]);\n private productTypes = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Deed' },\n { id: 1, value: 'Power of Attorney' },\n { id: 2, value: 'Will' },\n ]);\n\n private get isCustomDatePeriod(): boolean {\n return this.datePeriodFilter === 9;\n }\n\n private get authorUserRoles(): Array {\n return this.roles.filter((role) => role.name.toLowerCase() !== RoleName.System.toLowerCase());\n }\n\n @Watch('datePeriodFilter')\n private async onDatePeriodFilterChanged(): Promise {\n this.dateFromFilter = null;\n this.dateToFilter = null;\n }\n\n private async fetchDashboardDataAsync(): Promise {\n try {\n this.data = await dashboardApi.getDataCreationDashboardDataAsync({\n datePeriod: this.datePeriodFilter,\n dateFrom: this.dateFromFilter,\n dateTo: this.dateToFilter,\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter,\n originalSourceId: this.originalSourceFilter,\n authorRoleId: this.userRoleFilter,\n authorId: this.userFilter,\n productType: this.productTypeFilter,\n });\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not load dashboard data.`, type: 'is-danger' });\n }\n }\n }\n\n private async loadDataAsync(): Promise {\n const isValid = await this.$validator.validateAll();\n\n if (!isValid) { return; }\n\n this.loading = true;\n await this, this.fetchDashboardDataAsync();\n this.loading = false;\n }\n\n private async clearFiltersAsync(): Promise {\n this.partnerPracticeFilter = null;\n this.originalSourceFilter = null;\n this.dateFromFilter = null;\n this.dateToFilter = null;\n this.datePeriodFilter = 0;\n this.userRoleFilter = this.roles.find((role) => role.name.toLowerCase() === this.defaultUserRoleName.toLowerCase())!.id!;\n this.userFilter = null;\n this.productTypeFilter = null;\n }\n\n public async mounted(): Promise {\n this.loading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n this.$store.dispatch(`users/loadRolesAsync`),\n ]);\n\n await this.clearFiltersAsync();\n await this.fetchDashboardDataAsync();\n\n this.loading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./data-creation-dashboard.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./data-creation-dashboard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./data-creation-dashboard.vue?vue&type=template&id=6ae15088&\"\nimport script from \"./data-creation-dashboard.vue?vue&type=script&lang=ts&\"\nexport * from \"./data-creation-dashboard.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./data-creation-dashboard.vue?vue&type=style&index=0&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 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:\"partner-practice-dashboard\"},[_c('div',{staticClass:\"row pt-3\"},[_c('loading',{attrs:{\"active\":_vm.loading}},[_vm._v(\"Loading dashboard data, please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-sm-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"datePeriodFilter\"}},[_vm._v(\"Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.datePeriodFilter),expression:\"datePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"datePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.datePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"dateFromFilter\"}},[_vm._v(\"Date From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('dateFromFilter') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"wrapper-class\":'datepicker-wrapper',\"calendar-class\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"dateFromFilter\",\"data-vv-as\":\"date from\"},model:{value:(_vm.dateFromFilter),callback:function ($$v) {_vm.dateFromFilter=$$v},expression:\"dateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('dateFromFilter')),expression:\"errors.has('dateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('dateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomDatePeriod)?_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"dateToFilter\"}},[_vm._v(\"Date To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid': _vm.errors.has('dateToFilter') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"wrapper-class\":'datepicker-wrapper',\"calendar-class\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"dateToFilter\",\"data-vv-as\":\"date to\"},model:{value:(_vm.dateToFilter),callback:function ($$v) {_vm.dateToFilter=$$v},expression:\"dateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('dateToFilter')),expression:\"errors.has('dateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('dateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-2\"},[_c('user-select',{attrs:{\"type\":\"legal advisor\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-period\":_vm.datePeriodFilter,\"date-from\":_vm.dateFromFilter,\"date-to\":_vm.dateToFilter},model:{value:(_vm.legalAdvisorFilter),callback:function ($$v) {_vm.legalAdvisorFilter=$$v},expression:\"legalAdvisorFilter\"}},[_vm._v(\"\\n Legal Advisor:\\n \")])],1),_c('div',{staticClass:\"col-sm-2\"},[_c('original-source-select',{attrs:{\"partner-practice-id\":_vm.partnerPracticeFilter},model:{value:(_vm.originalSourceFilter),callback:function ($$v) {_vm.originalSourceFilter=$$v},expression:\"originalSourceFilter\"}})],1),_c('div',{staticClass:\"col-sm-1\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-btn',{staticClass:\"form-control\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.loadDataAsync}},[_vm._v(\"Filter\")])],1)]),_c('div',{staticClass:\"col-sm-1\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('div',{staticClass:\"form-inline\"},[_c('a',{staticClass:\"btn btn-link form-control px-0\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.clearFiltersAsync}},[_vm._v(\"Clear Filters\")])])])])]),_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('div',{attrs:{\"role\":\"tablist\"}},[_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-card-header',{staticClass:\"p-0\",attrs:{\"role\":\"tab\"}},[_c('toggle-button',{attrs:{\"collapse-id\":\"pp-target\",\"text\":\"Target\"}})],1),_c('b-collapse',{attrs:{\"id\":\"pp-target\",\"role\":\"tabpanel\"}},[_c('b-card-body',[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Banking Target\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.data.bankingTarget)))])])])])])])])],1)],1),_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-card-header',{staticClass:\"p-0\",attrs:{\"role\":\"tab\"}},[_c('toggle-button',{attrs:{\"collapse-id\":\"pp-appointments\",\"text\":\"Appointments\"}})],1),_c('b-collapse',{attrs:{\"id\":\"pp-appointments\",\"role\":\"tabpanel\"}},[_c('b-card-body',[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Appointments\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm.data.appointments))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Booked to Sat Percentage\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm._f(\"percentage\")(_vm.data.bookedToSatPercentage)))])])])])])])])],1)],1),_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-card-header',{staticClass:\"p-0\",attrs:{\"role\":\"tab\"}},[_c('toggle-button',{attrs:{\"collapse-id\":\"pp-performance\",\"text\":\"Performance\"}})],1),_c('b-collapse',{attrs:{\"id\":\"pp-performance\",\"role\":\"tabpanel\"}},[_c('b-card-body',[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Sat to Instructed Percentage\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm._f(\"percentage\")(_vm.data.satToInstructedPercentage)))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Average Case Size\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.data.averageCaseSize)))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Professional Executor Percentage\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm._f(\"percentage\")(_vm.data.professionalExecutorPercentage)))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Will - LPA Conversion Rate\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm._f(\"percentage\")(_vm.data.willLpaConversionRate)))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"LPA Conversion Rate\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm._f(\"percentage\")(_vm.data.lpaConversionRate)))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Revenue Per Client\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.data.revenuePerClient)))])])])])])])])],1)],1),_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-card-header',{staticClass:\"p-0\",attrs:{\"role\":\"tab\"}},[_c('toggle-button',{attrs:{\"collapse-id\":\"pp-financial\",\"text\":\"Financial\"}})],1),_c('b-collapse',{attrs:{\"id\":\"pp-financial\",\"role\":\"tabpanel\"}},[_c('b-card-body',[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Instruction Value\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.data.instructionValue)))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Difference to Target\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.data.differenceToTarget)))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Cleared\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.data.clearedAmount)))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Banked\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.data.bankedAmount)))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Signing Pending (All)\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.data.signingPendingAmount)))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Signing Booked\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.data.signingBookedAmount)))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Predicted Banking\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.data.predictedBanking)))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Debtors (All)\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.data.debtorAmount)))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"No Longer Proceeding\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.data.noLongerProceedingAmount)))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Written Off\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.data.writtenOffAmount)))])])])])])])])],1)],1),_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-card-header',{staticClass:\"p-0\",attrs:{\"role\":\"tab\"}},[_c('toggle-button',{attrs:{\"collapse-id\":\"pp-process\",\"text\":\"Process\"}})],1),_c('b-collapse',{attrs:{\"id\":\"pp-process\",\"role\":\"tabpanel\"}},[_c('b-card-body',[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Turnaround Time (Days)\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm._f(\"decimal\")(_vm.data.turnaroundTime,1)))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Recovery Rate\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm._f(\"percentage\")(_vm.data.recoveryRate)))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"Considering Options (Products)\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm.data.consideringOptions))])])])])]),_c('div',{staticClass:\"col-3\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"widget-body\"},[_c('div',{staticClass:\"widget-title\"},[_vm._v(\"14 Day Cooling Off Period (Products)\")]),_c('div',{staticClass:\"widget-value\"},[_vm._v(_vm._s(_vm.data.coolingOff))])])])])])])])],1)],1)],1)])])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export interface PartnerPracticeDashboardResponse {\n appointments: number;\n bookedToSatPercentage: number;\n satToInstructedPercentage: number;\n instructionValue: number;\n averageCaseSize: number;\n professionalExecutorPercentage: number;\n willLpaConversionRate: number;\n lpaConversionRate: number;\n turnaroundTime: number;\n revenuePerClient: number;\n recoveryRate: number;\n writtenOffRate: number;\n clearedAmount: number;\n bankedAmount: number;\n signingBookedAmount: number;\n predictedBanking: number;\n bankingTarget: number;\n differenceToTarget: number;\n signingPendingAmount: number;\n consideringOptions: number;\n coolingOff: number;\n debtorAmount: number;\n noLongerProceedingAmount: number;\n writtenOffAmount: number;\n}\n\nexport function createPartnerPracticeDashboardResponse(): PartnerPracticeDashboardResponse {\n return {\n appointments: 0,\n bookedToSatPercentage: 0,\n satToInstructedPercentage: 0,\n instructionValue: 0,\n averageCaseSize: 0,\n professionalExecutorPercentage: 0,\n willLpaConversionRate: 0,\n lpaConversionRate: 0,\n turnaroundTime: 0,\n revenuePerClient: 0,\n recoveryRate: 0,\n writtenOffRate: 0,\n clearedAmount: 0,\n bankedAmount: 0,\n signingBookedAmount: 0,\n predictedBanking: 0,\n bankingTarget: 0,\n differenceToTarget: 0,\n signingPendingAmount: 0,\n consideringOptions: 0,\n coolingOff: 0,\n debtorAmount: 0,\n noLongerProceedingAmount: 0,\n writtenOffAmount: 0,\n };\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { DashboardApi } from '@/api/dashboard';\nimport { createPartnerPracticeDashboardResponse, PartnerPracticeDashboardResponse } from '@/api/responses/dashboard/partner-practice-dashboard-response';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport loading from '@/components/loading.vue';\nimport toggleButton from '@/components/toggle-button.vue';\nimport layout from '@/layouts/app.vue';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst dashboardApi = new DashboardApi();\n\n@Component({\n components: {\n layout,\n loading,\n toggleButton,\n },\n})\nexport default class PartnerPracticeDashboard extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n\n private loading: boolean = true;\n private partnerPracticeFilter: string | null = null;\n private originalSourceFilter: string | null = null;\n private datePeriodFilter: number | null = 3;\n private dateFromFilter?: string | Date | null = null;\n private dateToFilter?: string | Date | null = null;\n private legalAdvisorFilter: string | null = null;\n private data: PartnerPracticeDashboardResponse = createPartnerPracticeDashboardResponse();\n private datePeriods = new Array<{ id: number | null, value: string }>(...[\n { id: 0, value: 'Current Day' },\n { id: 1, value: 'Current Week' },\n { id: 2, value: 'Previous Week' },\n { id: 3, value: 'Current Month' },\n { id: 4, value: 'Previous Month' },\n { id: 5, value: 'Current Quarter' },\n { id: 6, value: 'Previous Quarter' },\n { id: 7, value: 'Current Year' },\n { id: 8, value: 'Previous Year' },\n { id: 9, value: 'Custom Dates' },\n ]);\n\n private get isCustomDatePeriod(): boolean {\n return this.datePeriodFilter === 9;\n }\n\n @Watch('datePeriodFilter')\n private async onDatePeriodFilterChanged(): Promise {\n this.dateFromFilter = null;\n this.dateToFilter = null;\n }\n\n private async fetchDashboardDataAsync(): Promise {\n try {\n this.data = await dashboardApi.getPartnerPracticeDashboardDataAsync({\n datePeriod: this.datePeriodFilter,\n dateFrom: this.dateFromFilter,\n dateTo: this.dateToFilter,\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter,\n originalSourceTypeId: this.originalSourceFilter,\n legalAdvisorId: this.legalAdvisorFilter,\n });\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else {\n this.$snackbar.open({ message: `Could not load dashboard data.`, type: 'is-danger' });\n }\n }\n }\n\n private async loadDataAsync(): Promise {\n const isValid = await this.$validator.validateAll();\n\n if (!isValid) { return; }\n\n this.loading = true;\n await this.fetchDashboardDataAsync();\n this.loading = false;\n }\n\n private async clearFiltersAsync(): Promise {\n this.partnerPracticeFilter = null;\n this.originalSourceFilter = null;\n this.dateFromFilter = null;\n this.dateToFilter = null;\n this.datePeriodFilter = 3;\n this.legalAdvisorFilter = null;\n }\n\n public async mounted(): Promise {\n this.loading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n this.fetchDashboardDataAsync(),\n ]);\n\n this.loading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./partner-practice-dashboard.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./partner-practice-dashboard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./partner-practice-dashboard.vue?vue&type=template&id=7494248a&\"\nimport script from \"./partner-practice-dashboard.vue?vue&type=script&lang=ts&\"\nexport * from \"./partner-practice-dashboard.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./partner-practice-dashboard.vue?vue&type=style&index=0&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 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\nimport appointments from '@/components/home/appointments.vue';\nimport customerExperienceDashboard from '@/components/home/customer-experience-dashboard.vue';\nimport dataCreationDashboard from '@/components/home/data-creation-dashboard.vue';\nimport partnerPracticeDashboard from '@/components/home/partner-practice-dashboard.vue';\nimport { RoleName } from '@/shared/role-name';\nimport { User } from '@/shared/user';\nimport { Component, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst userModule = namespace('user');\n\n@Component({\n components: {\n appointments,\n customerExperienceDashboard,\n dataCreationDashboard,\n partnerPracticeDashboard,\n },\n})\nexport default class Dashboard extends Vue {\n @userModule.Getter('user') private currentUser!: User | null;\n @userModule.Getter('isAdministrator') private isAdministrator!: boolean;\n @userModule.Getter('isInternalKeyStakeholder') private isInternalKeyStakeholder!: boolean;\n @userModule.Getter('isLegalAdvisor') private isLegalAdvisor!: boolean;\n\n private get showAppointments(): boolean {\n if (this.isAdministrator || this.isInternalKeyStakeholder) {\n return false;\n }\n\n return this.isLegalAdvisor;\n }\n\n\n private get showPartnerPracticeDashboard(): boolean {\n if (this.isAdministrator || this.isInternalKeyStakeholder) {\n return false;\n }\n\n return this.currentUser != null && this.currentUser.roles.some((role) =>\n (role.name.toLowerCase() === RoleName.HoD.toLowerCase() && this.currentUser!.partnerPracticeId != null) ||\n (role.name.toLowerCase() === RoleName.LegalAdvisor.toLowerCase() && this.currentUser!.partnerPracticeId != null) ||\n (role.name.toLowerCase() === RoleName.LegalAssistant.toLowerCase() && this.currentUser!.partnerPracticeId != null));\n }\n\n private get showCustomerExperienceDashboard(): boolean {\n if (this.isAdministrator || this.isInternalKeyStakeholder) {\n return false;\n }\n\n return this.currentUser != null && this.currentUser.roles.some((role) =>\n role.name.toLowerCase() === RoleName.CustomerExperienceExecutive.toLowerCase() ||\n role.name.toLowerCase() === RoleName.CustomerExperienceExecutiveTeamLeader.toLowerCase() ||\n role.name.toLowerCase() === RoleName.HeadOfCustomerExperienceTeam.toLowerCase());\n\n }\n\n private get showDataCreationDashboard(): boolean {\n if (this.isAdministrator || this.isInternalKeyStakeholder) {\n return false;\n }\n\n return this.currentUser != null && this.currentUser.roles.some((role) =>\n role.name.toLowerCase() === RoleName.DataCreationExecutive.toLowerCase() ||\n role.name.toLowerCase() === RoleName.DataCreationTeamLeader.toLowerCase());\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dashboard.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dashboard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./dashboard.vue?vue&type=template&id=e9146eec&\"\nimport script from \"./dashboard.vue?vue&type=script&lang=ts&\"\nexport * from \"./dashboard.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:\"partner-practices\"},[_c('div',{staticClass:\"row pb-3 align-items-center justify-content-between\"},[_vm._m(0),_c('div',{staticClass:\"col text-right\"},[_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onAddPartnerPractice}},[_c('div',{staticClass:\"feather-container\"},[_c('svg',{staticClass:\"feather feather-icon-left feather-plus-circle\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('circle',{attrs:{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"16\"}}),_c('line',{attrs:{\"x1\":\"8\",\"y1\":\"12\",\"x2\":\"16\",\"y2\":\"12\"}})]),_c('span',{staticClass:\"feather-text\"},[_vm._v(\"Add Partner Practice\")])])])],1)]),_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading, please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"name-filter\"}},[_vm._v(\"Partner Practice Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.nameFilter),expression:\"nameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"name-filter\"},domProps:{\"value\":(_vm.nameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.fetchPartnerPracticesAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.nameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"status-filter\"}},[_vm._v(\"Status:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.statusFilter),expression:\"statusFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"status-filter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.statusFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.statuses),function(status){return _c('option',{key:status.id,domProps:{\"value\":status.id}},[_vm._v(_vm._s(status.value))])}),0)])]),_c('div',{staticClass:\"col-sm-1\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-btn',{staticClass:\"form-control\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.fetchPartnerPracticesAsync}},[_vm._v(\"Filter\")])],1)]),_c('div',{staticClass:\"col-sm-1\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('a',{staticClass:\"btn btn-link form-control px-0\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.clearFilters}},[_vm._v(\"Clear Filters\")])])])]),_c('div',{staticClass:\"row pt-3 align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('partner-practices-table',{attrs:{\"partner-practices\":_vm.partnerPractices,\"page\":_vm.currentPage,\"page-size\":_vm.pageSize,\"total\":_vm.total},on:{\"page-changed\":_vm.onPageChangedAsync},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar partnerPractice = ref.partnerPractice;\nreturn [_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[(!partnerPractice.isArchived)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onEditPartnerPractice(partnerPractice)}}},[_vm._v(\"Edit\")]):_vm._e(),(partnerPractice.isArchived && _vm.isAdministrator)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onRestorePartnerPractice(partnerPractice)}}},[_vm._v(\"Restore\")]):_vm._e(),(!partnerPractice.isArchived && _vm.isAdministrator)?_c('b-dropdown-divider'):_vm._e(),(!partnerPractice.isArchived && _vm.isAdministrator)?_c('b-dropdown-item',{staticClass:\"text-danger\",on:{\"click\":function($event){return _vm.onArchivePartnerPractice(partnerPractice)}}},[_vm._v(\"Archive\")]):_vm._e()],1)]}}])})],1)])])],1),(_vm.addPartnerPracticeDialogVisible)?_c('add-partner-practice-dialog',{attrs:{\"visible\":_vm.addPartnerPracticeDialogVisible},on:{\"ok\":_vm.onPartnerPracticeCreatedAsync,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.selectedPartnerPractice != null && _vm.editPartnerPracticeDialogVisible)?_c('edit-partner-practice-dialog',{attrs:{\"visible\":_vm.editPartnerPracticeDialogVisible,\"partner-practice\":_vm.selectedPartnerPractice},on:{\"ok\":_vm.onPartnerPracticeUpdatedAsync,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.selectedPartnerPractice != null && _vm.restoreConfirmationDialogVisible)?_c('confirmation-dialog',{attrs:{\"centered\":\"\",\"ok-text\":\"Restore\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"ok\":_vm.onRestorePartnerPracticeConfirmedAsync,\"cancel\":_vm.onCancel},model:{value:(_vm.restoreConfirmationDialogVisible),callback:function ($$v) {_vm.restoreConfirmationDialogVisible=$$v},expression:\"restoreConfirmationDialogVisible\"}},[_c('p',[_vm._v(\"Are you sure you want to restore '\"+_vm._s(_vm.selectedPartnerPractice.name)+\"'?\")]),_c('p',[_vm._v(\"This will \"),_c('strong',[_vm._v(\"not\")]),_vm._v(\" restore any users associated with the partner practice. You will need to restore the users you wish to have access to the system individually.\")])]):_vm._e(),(_vm.selectedPartnerPractice != null && _vm.archiveConfirmationDialogVisible)?_c('confirmation-dialog',{attrs:{\"centered\":\"\",\"variant\":\"danger\",\"ok-text\":\"Archive\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"ok\":_vm.onArchivePartnerPracticeConfirmedAsync,\"cancel\":_vm.onCancel},model:{value:(_vm.archiveConfirmationDialogVisible),callback:function ($$v) {_vm.archiveConfirmationDialogVisible=$$v},expression:\"archiveConfirmationDialogVisible\"}},[_c('p',[_vm._v(\"Are you sure you want to archive '\"+_vm._s(_vm.selectedPartnerPractice.name)+\"'?\")]),_c('p',[_vm._v(\"If any users associated with the partner practice are currently logged in, they will immediately be logged out and their accounts archived.\")]),_c('p',[_vm._v(\"Any client accounts associated with the partner practice will no longer be accessible through the system.\")])]):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col\"},[_c('h2',[_vm._v(\"Partner Practices\")])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"add-partner-practice-dialog\"},[_c('b-modal',{attrs:{\"centered\":\"\",\"body-class\":\"modal-stepper\",\"size\":\"xl\",\"title\":\"Add Partner Practice\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('stepper',{model:{value:(_vm.currentStep),callback:function ($$v) {_vm.currentStep=$$v},expression:\"currentStep\"}},[_c('step',{attrs:{\"title\":\"Details\",\"completed\":_vm.detailsCompleted}},[_c('partner-practice-details',{ref:\"details\",attrs:{\"partner-practice\":_vm.partnerPractice}})],1),_c('step',{attrs:{\"title\":\"Addresses\",\"disabled\":!_vm.detailsCompleted,\"completed\":_vm.addressesCompleted}},[(_vm.isAddressVisible)?_c('address-with-lookup',{ref:\"address\",attrs:{\"address\":_vm.selectedAddress,\"compact\":true}}):_c('partner-practice-address-list',{attrs:{\"addresses\":_vm.partnerPractice.addresses},on:{\"add\":_vm.onAddAddress},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar address = ref.address;\nvar index = ref.index;\nreturn [_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onEditAddress(address)}}},[_vm._v(\"Edit\")]),_c('b-dropdown-divider'),_c('b-dropdown-item',{staticClass:\"text-danger\",on:{\"click\":function($event){return _vm.onRemoveAddress(index)}}},[_vm._v(\"Remove\")])],1)]}}])})],1),_c('step',{attrs:{\"title\":\"Introducers\",\"disabled\":!_vm.addressesCompleted,\"completed\":_vm.introducersCompleted}},[_c('partner-practice-original-sources',{attrs:{\"partner-practice\":_vm.partnerPractice}})],1),_c('step',{attrs:{\"title\":\"Email Attachments\",\"disabled\":!_vm.introducersCompleted}},[(_vm.isEmailVisible)?_c('partner-practice-email',{ref:\"email\",attrs:{\"attachment\":_vm.selectedEmailAttachment},on:{\"import-file\":_vm.onImportEmailAttachmentChanged,\"file-changed\":_vm.onEmailAttachmentFileChanged}}):_c('partner-practice-email-list',{attrs:{\"email-attachments\":_vm.partnerPractice.emailAttachments},on:{\"add\":_vm.onAddEmailAttachment},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar attachment = ref.attachment;\nvar index = ref.index;\nreturn [_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onEditEmailAttachment(attachment)}}},[_vm._v(\"Edit\")]),_c('b-dropdown-divider'),_c('b-dropdown-item',{staticClass:\"text-danger\",on:{\"click\":function($event){return _vm.onRemoveEmailAttachment(index)}}},[_vm._v(\"Remove\")])],1)]}}])})],1)],1),(_vm.isAddressVisible)?_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onCancelAddress}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onSaveAddressAsync}},[_vm._v(\"Save\")])],1):(_vm.isEmailVisible)?_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onCancelEmailAttachment}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onSaveEmailAttachmentAsync}},[_vm._v(\"Save\")])],1):_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),(_vm.currentStep > 0)?_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onPrevious}},[_vm._v(\"Previous\")]):_vm._e(),(_vm.currentStep < _vm.maxSteps)?_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving || !_vm.allowNext},on:{\"click\":_vm.onNextAsync}},[_vm._v(\"Next\")]):_vm._e(),(_vm.currentStep === _vm.maxSteps)?_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onAddAsync}},[_vm._v(\"Add\")]):_vm._e()],1)],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('div',{staticClass:\"partner-practice-address-list\"},[_c('div',{staticClass:\"list-group selectable\"},_vm._l((_vm.addresses),function(address,index){return _c('div',{key:index,staticClass:\"list-group-item\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col\"},[_vm._v(_vm._s(_vm._f(\"singlelineaddress\")(address)))]),_c('div',{staticClass:\"col-auto\"},[_vm._t(\"actions\",null,{\"address\":address,\"index\":index})],2)])])}),0),(!_vm.addresses.length)?_c('div',{staticClass:\"text-center\"},[_vm._v(\"No addresses, \"),_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.onAddAddress}},[_vm._v(\"click here\")]),_vm._v(\" to add a new address.\")]):_c('div',{staticClass:\"text-center mt-3\"},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.onAddAddress}},[_vm._v(\"Click here\")]),_vm._v(\" to add another address.\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { PartnerPracticeAddress } from '@/shared/partner-practice-address';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class PartnerPracticeAddressList extends Vue {\n @Prop({ required: true }) private addresses!: Array;\n\n private onAddAddress(): void {\n this.$emit('add');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./partner-practice-address-list.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./partner-practice-address-list.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./partner-practice-address-list.vue?vue&type=template&id=3e189b84&\"\nimport script from \"./partner-practice-address-list.vue?vue&type=script&lang=ts&\"\nexport * from \"./partner-practice-address-list.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:\"partner-practice-details\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"name\"}},[_vm._v(\"Name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.partnerPractice.name),expression:\"partnerPractice.name\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('partner-practice-details.name') },attrs:{\"type\":\"text\",\"name\":\"name\",\"id\":\"name\",\"data-vv-scope\":\"partner-practice-details\",\"data-vv-as\":\"name\"},domProps:{\"value\":(_vm.partnerPractice.name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.partnerPractice, \"name\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('partner-practice-details.name')),expression:\"errors.has('partner-practice-details.name')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('partner-practice-details.name')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"email\"}},[_vm._v(\"Email Address\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.partnerPractice.email),expression:\"partnerPractice.email\"},{name:\"validate\",rawName:\"v-validate\",value:('required|email'),expression:\"'required|email'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('partner-practice-details.email') },attrs:{\"type\":\"text\",\"name\":\"email\",\"id\":\"email\",\"data-vv-scope\":\"partner-practice-details\",\"data-vv-as\":\"e-mail address\"},domProps:{\"value\":(_vm.partnerPractice.email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.partnerPractice, \"email\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('partner-practice-details.email')),expression:\"errors.has('partner-practice-details.email')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('partner-practice-details.email')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"telephone\"}},[_vm._v(\"Telephone\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.partnerPractice.telephone),expression:\"partnerPractice.telephone\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('partner-practice-details.telephone') },attrs:{\"type\":\"text\",\"name\":\"telephone\",\"id\":\"telephone\",\"data-vv-scope\":\"partner-practice-details\",\"data-vv-as\":\"telephone\"},domProps:{\"value\":(_vm.partnerPractice.telephone)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.partnerPractice, \"telephone\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('partner-practice-details.telephone')),expression:\"errors.has('partner-practice-details.telephone')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('partner-practice-details.telephone')))])]),_c('div',{staticClass:\"form-group\"},[_c('b-form-checkbox',{attrs:{\"switch\":\"\"},model:{value:(_vm.partnerPractice.isSimpsonsSolicitors),callback:function ($$v) {_vm.$set(_vm.partnerPractice, \"isSimpsonsSolicitors\", $$v)},expression:\"partnerPractice.isSimpsonsSolicitors\"}},[_vm._v(\"Simpsons Solicitors\")])],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\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class PartnerPracticeDetails extends Vue {\n @Prop({ required: true }) private partnerPractice!: PartnerPractice;\n\n @Watch('$validator.errors', { deep: true })\n private onErrorsChanged(): void {\n this.$emit('errors-changed', this.$validator.errors.any());\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./partner-practice-details.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./partner-practice-details.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./partner-practice-details.vue?vue&type=template&id=32209b2f&\"\nimport script from \"./partner-practice-details.vue?vue&type=script&lang=ts&\"\nexport * from \"./partner-practice-details.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:\"partner-practice-email-list\"},[_c('div',{staticClass:\"list-group selectable\"},_vm._l((_vm.emailAttachments),function(attachment,index){return _c('div',{key:index,staticClass:\"list-group-item\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-auto\"},[_c('div',[_vm._v(_vm._s(_vm.displayName(attachment)))]),_c('small',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"File:\")]),_vm._v(\" \"+_vm._s(attachment.attachmentFilename))])]),_c('div',{staticClass:\"col\"},[(attachment.emailType === 2)?_c('b-badge',{staticClass:\"mx-1\",attrs:{\"variant\":\"info\"}},[_vm._v(\"Initial Appointment Booking\")]):_vm._e(),(attachment.emailType === 3)?_c('b-badge',{staticClass:\"mx-1\",attrs:{\"variant\":\"info\"}},[_vm._v(\"Signing Appointment Booking\")]):_vm._e(),(attachment.emailType === 4)?_c('b-badge',{staticClass:\"mx-1\",attrs:{\"variant\":\"info\"}},[_vm._v(\"General Appointment Booking\")]):_vm._e()],1),_c('div',{staticClass:\"col-auto\"},[_vm._t(\"actions\",null,{\"attachment\":attachment,\"index\":index})],2)])])}),0),(!_vm.emailAttachments.length)?_c('div',{staticClass:\"text-center\"},[_vm._v(\"No e-mail attachments, \"),_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.onAddAttachment}},[_vm._v(\"click here\")]),_vm._v(\" to add a new e-mail attachment.\")]):_c('div',{staticClass:\"text-center mt-3\"},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.onAddAttachment}},[_vm._v(\"Click here\")]),_vm._v(\" to add another e-mail attachment.\")])])}\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\nimport { PartnerPracticeEmailAttachment } from '@/shared/partner-practice-email-attachment';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class PartnerPracticeEmailList extends Vue {\n @Prop({ required: true }) private emailAttachments!: Array;\n\n private displayName(attachment: PartnerPracticeEmailAttachment): string {\n return attachment.attachmentAlias == null || attachment.attachmentAlias.trim() === '' ? attachment.attachmentFilename! : attachment.attachmentAlias!;\n }\n\n private onAddAttachment(): void {\n this.$emit('add');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./partner-practice-email-list.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./partner-practice-email-list.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./partner-practice-email-list.vue?vue&type=template&id=5cf13e8c&\"\nimport script from \"./partner-practice-email-list.vue?vue&type=script&lang=ts&\"\nexport * from \"./partner-practice-email-list.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:\"partner-practice-email\"},[_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.importFile),expression:\"importFile\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":\"import-file\",\"id\":\"import-file-false\"},domProps:{\"value\":false,\"checked\":_vm._q(_vm.importFile,false)},on:{\"change\":function($event){_vm.importFile=false}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"import-file-false\"}},[_vm._v(\"Use Existing\")])]),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.importFile),expression:\"importFile\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":\"import-file\",\"id\":\"import-file-true\"},domProps:{\"value\":true,\"checked\":_vm._q(_vm.importFile,true)},on:{\"change\":function($event){_vm.importFile=true}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"import-file-true\"}},[_vm._v(\"Upload New\")])])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"attachment-filename\"}},[_vm._v(\"File\")]),(_vm.importFile)?_c('b-form-file',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],class:{ 'is-invalid': _vm.errors.has('email-attachment.attachment-filename') },attrs:{\"name\":\"attachment-filename\",\"id\":\"attachment-filename\",\"data-vv-scope\":\"email-attachment\",\"data-vv-as\":\"file\",\"placholder\":\"Choose a file...\",\"accept\":\".doc, .docx, .pdf\"},model:{value:(_vm.attachmentFile),callback:function ($$v) {_vm.attachmentFile=$$v},expression:\"attachmentFile\"}}):_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.attachment.attachmentFilename),expression:\"attachment.attachmentFilename\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('email-attachment.attachment-filename') },attrs:{\"name\":\"attachment-filename\",\"id\":\"attachment-filename\",\"data-vv-scope\":\"email-attachment\",\"data-vv-as\":\"file\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.attachment, \"attachmentFilename\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.attachmentFiles),function(file){return _c('option',{key:file,domProps:{\"value\":file}},[_vm._v(_vm._s(file))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('email-attachment.attachment-filename')),expression:\"errors.has('email-attachment.attachment-filename')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('email-attachment.attachment-filename')))])],1),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"attachment-alias\"}},[_vm._v(\"Filename Alias\")]),_c('div',{staticClass:\"input-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.attachment.attachmentAlias),expression:\"attachment.attachmentAlias\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"attachment-alias\"},domProps:{\"value\":(_vm.attachment.attachmentAlias)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.attachment, \"attachmentAlias\", $event.target.value)}}}),(_vm.attachmentExtension != null)?_c('div',{staticClass:\"input-group-append\"},[_c('span',{staticClass:\"input-group-text\"},[_vm._v(_vm._s(_vm.attachmentExtension))])]):_vm._e()])]),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"Email Type\")]),_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.attachment.emailType),expression:\"attachment.emailType\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-check-input\",class:{ 'is-invalid': _vm.errors.has('email-attachment.email-type') },attrs:{\"type\":\"radio\",\"name\":\"email-type\",\"id\":\"email-type-initial\",\"data-vv-scope\":\"email-attachment\",\"data-vv-as\":\"e-mail type\"},domProps:{\"value\":2,\"checked\":_vm._q(_vm.attachment.emailType,2)},on:{\"change\":function($event){return _vm.$set(_vm.attachment, \"emailType\", 2)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"email-type-initial\"}},[_vm._v(\"Initial Appointment Booking\")])]),_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.attachment.emailType),expression:\"attachment.emailType\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-check-input\",class:{ 'is-invalid': _vm.errors.has('email-attachment.email-type') },attrs:{\"type\":\"radio\",\"name\":\"email-type\",\"id\":\"email-type-signing\",\"data-vv-scope\":\"email-attachment\",\"data-vv-as\":\"e-mail type\"},domProps:{\"value\":3,\"checked\":_vm._q(_vm.attachment.emailType,3)},on:{\"change\":function($event){return _vm.$set(_vm.attachment, \"emailType\", 3)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"email-type-signing\"}},[_vm._v(\"Signing Appointment Booking\")])]),_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.attachment.emailType),expression:\"attachment.emailType\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-check-input\",class:{ 'is-invalid': _vm.errors.has('email-attachment.email-type') },attrs:{\"type\":\"radio\",\"name\":\"email-type\",\"id\":\"email-type-general\",\"data-vv-scope\":\"email-attachment\",\"data-vv-as\":\"e-mail type\"},domProps:{\"value\":4,\"checked\":_vm._q(_vm.attachment.emailType,4)},on:{\"change\":function($event){return _vm.$set(_vm.attachment, \"emailType\", 4)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"email-type-general\"}},[_vm._v(\"General Appointment Booking\")])]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('email-attachment.email-type')),expression:\"errors.has('email-attachment.email-type')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('email-attachment.email-type')))])])])}\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\nimport { PartnerPracticeEmailAttachment } from '@/shared/partner-practice-email-attachment';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst attachmentModule = namespace('attachment');\n\n@Component\nexport default class PartnerPracticeEmail extends Vue {\n @attachmentModule.Getter('files') private attachmentFiles!: Array;\n\n @Prop({ required: true }) private attachment!: PartnerPracticeEmailAttachment;\n\n private importFile: boolean = false;\n private attachmentFile: File | null = null;\n\n private get attachmentExtension(): string | null {\n if (!this.importFile && this.attachment.attachmentFilename != null) {\n return `.${this.attachment!.attachmentFilename!.split('.').pop()}`;\n }\n\n if (this.importFile && this.attachmentFile != null) {\n return `.${this.attachmentFile.name.split('.').pop()}`;\n }\n\n return null;\n }\n\n @Watch('importFile')\n private onImportFileChanged(): void {\n this.attachment.attachmentFilename = null;\n this.attachmentFile = null;\n this.$emit('import-file', this.importFile);\n }\n\n @Watch('attachmentFile')\n private onAttachmentFileChanged(): void {\n this.$emit('file-changed', this.attachmentFile);\n }\n\n private async mounted(): Promise {\n await this.$store.dispatch(`attachment/fetchEmailAttachmentsAsync`);\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./partner-practice-email.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./partner-practice-email.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./partner-practice-email.vue?vue&type=template&id=74be7aaa&\"\nimport script from \"./partner-practice-email.vue?vue&type=script&lang=ts&\"\nexport * from \"./partner-practice-email.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:\"partner-practice-original-sources\"},[_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-row\"},_vm._l((_vm.filteredClientOriginalSourceTypes),function(type,index){return _c('div',{key:type.id,staticClass:\"col-3\",class:{ 'border-bottom': index < _vm.indexModulus }},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.partnerPractice.originalSourceTypes),expression:\"partnerPractice.originalSourceTypes\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":type.id},domProps:{\"value\":type.id,\"checked\":Array.isArray(_vm.partnerPractice.originalSourceTypes)?_vm._i(_vm.partnerPractice.originalSourceTypes,type.id)>-1:(_vm.partnerPractice.originalSourceTypes)},on:{\"change\":function($event){var $$a=_vm.partnerPractice.originalSourceTypes,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=type.id,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.partnerPractice, \"originalSourceTypes\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.partnerPractice, \"originalSourceTypes\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.partnerPractice, \"originalSourceTypes\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":type.id}},[_vm._v(_vm._s(type.value))])])])}),0)])])}\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\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { ClientOriginalSourceType } from '@/shared/types/client-original-source-type';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\n\n@Component\nexport default class PartnerPracticeOriginalSources extends Vue {\n @typesModule.Getter('clientOriginalSourceTypes') private clientOriginalSourceTypes!: Array;\n\n @Prop({ required: true }) private partnerPractice!: PartnerPractice;\n\n private get filteredClientOriginalSourceTypes(): Array {\n return this.clientOriginalSourceTypes == null\n ? []\n : this.clientOriginalSourceTypes.filter((type) => !type.isArchived || this.partnerPractice.originalSourceTypes.some((t) => t === type.id))\n .sort((t1, t2) => {\n if (t1.value > t2.value) { return 1; }\n if (t1.value < t2.value) { return -1; }\n return 0;\n });\n }\n\n private get indexModulus(): number {\n const bar = this.clientOriginalSourceTypes.length % 4;\n return this.clientOriginalSourceTypes.length - bar;\n\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./partner-practice-original-sources.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./partner-practice-original-sources.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./partner-practice-original-sources.vue?vue&type=template&id=11b993dd&\"\nimport script from \"./partner-practice-original-sources.vue?vue&type=script&lang=ts&\"\nexport * from \"./partner-practice-original-sources.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./partner-practice-original-sources.vue?vue&type=style&index=0&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 null,\n null\n \n)\n\nexport default component.exports","import { PartnerPracticeAddress } from '@/shared/partner-practice-address';\nimport { PartnerPracticeEmailAttachment } from '@/shared/partner-practice-email-attachment';\nimport { User } from '@/shared/user';\n\nexport interface PartnerPractice {\n id?: string | null;\n name: string | null;\n email: string | null;\n telephone: string | null;\n isSimpsonsSolicitors: boolean;\n isArchived?: boolean;\n version?: number;\n createdDate?: string;\n createdBy?: string;\n lastModifiedDate?: string | null;\n lastModifiedBy?: string | null;\n addresses: Array;\n emailAttachments: Array;\n originalSourceTypes: Array;\n users?: Array;\n}\n\nexport function createPartnerPractice(): PartnerPractice {\n return {\n name: '',\n email: '',\n telephone: '',\n isSimpsonsSolicitors: false,\n addresses: new Array(),\n originalSourceTypes: new Array(),\n emailAttachments: new Array(),\n };\n}\n","export interface PartnerPracticeAddress {\n id?: string | null;\n addressLine1: string | null;\n addressLine2: string | null;\n addressLine3: string | null;\n town: string | null;\n county: string | null;\n postcode: string | null;\n version?: number;\n}\n\nexport function createPartnerPracticeAddress(): PartnerPracticeAddress {\n return {\n addressLine1: '',\n addressLine2: '',\n addressLine3: '',\n town: '',\n county: '',\n postcode: '',\n };\n}\n","export interface PartnerPracticeEmailAttachment {\n id?: string | null;\n emailType: number | null;\n attachmentFilename: string | null;\n attachmentAlias: string | null;\n version?: number;\n}\n\nexport function createPartnerPracticeEmailAttachment(): PartnerPracticeEmailAttachment {\n return {\n emailType: null,\n attachmentFilename: null,\n attachmentAlias: '',\n };\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { EmailAttachmentApi } from '@/api/email-attachment';\nimport { PartnerPracticeApi } from '@/api/partner-practice';\nimport { BadRequest } from '@/api/responses/bad-request';\nimport addressWithLookup from '@/components/address-with-lookup.vue';\nimport partnerPracticeAddressList from '@/components/settings/partner-practices/partner-practice-address-list.vue';\nimport partnerPracticeDetails from '@/components/settings/partner-practices/partner-practice-details.vue';\nimport partnerPracticeEmailList from '@/components/settings/partner-practices/partner-practice-email-list.vue';\nimport partnerPracticeEmail from '@/components/settings/partner-practices/partner-practice-email.vue';\nimport partnerPracticeOriginalSources from '@/components/settings/partner-practices/partner-practice-original-sources.vue';\nimport { createPartnerPractice, PartnerPractice } from '@/shared/partner-practice';\nimport { createPartnerPracticeAddress, PartnerPracticeAddress } from '@/shared/partner-practice-address';\nimport { createPartnerPracticeEmailAttachment, PartnerPracticeEmailAttachment } from '@/shared/partner-practice-email-attachment';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\nconst emailAttachmentApi = new EmailAttachmentApi();\nconst partnerPracticeApi = new PartnerPracticeApi();\n\n@Component({\n components: {\n addressWithLookup,\n partnerPracticeAddressList,\n partnerPracticeDetails,\n partnerPracticeEmailList,\n partnerPracticeEmail,\n partnerPracticeOriginalSources,\n },\n})\nexport default class AddPartnerPracticeDialog extends Vue {\n @Prop({ required: true }) private visible!: boolean;\n\n private isVisible: boolean = this.visible;\n private isSaving: boolean = false;\n private currentStep: number = 0;\n private maxSteps: number = 3;\n private detailsCompleted: boolean = false;\n private addressesCompleted: boolean = false;\n private introducersCompleted: boolean = false;\n private partnerPractice: PartnerPractice = createPartnerPractice();\n\n private isAddressVisible: boolean = false;\n private isAddressEdit: boolean = false;\n private selectedAddress: PartnerPracticeAddress | null = null;\n\n private isEmailVisible: boolean = false;\n private isEmailEdit: boolean = false;\n private importEmailAttachment: boolean = false;\n private emailAttachmentFile: File | null = null;\n private selectedEmailAttachment: PartnerPracticeEmailAttachment | null = null;\n\n private get allowNext(): boolean {\n if (this.currentStep !== 1) {\n return true;\n }\n\n return this.partnerPractice.addresses.length > 0;\n }\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.isVisible = visible;\n }\n\n private async onNextAsync(): Promise {\n switch (this.currentStep) {\n case 0:\n if (!(await (this.$refs.details as Vue).$validator.validateAll('partner-practice-details'))) {\n return;\n }\n\n this.detailsCompleted = true;\n break;\n\n case 1:\n this.addressesCompleted = true;\n break;\n\n case 2:\n this.introducersCompleted = true;\n break;\n }\n\n setTimeout(() => { this.currentStep++; }, 0);\n }\n\n private async onAddAsync(): Promise {\n this.isSaving = true;\n\n try {\n await partnerPracticeApi.createPartnerPracticeAsync({\n ...this.partnerPractice,\n addresses: [...this.partnerPractice.addresses],\n emailAttachments: [...this.partnerPractice.emailAttachments],\n originalSourceTypes: [...this.partnerPractice.originalSourceTypes],\n });\n\n this.$emit('ok', { ...this.partnerPractice });\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not create partner practice '${this.partnerPractice.name}'. Please try again.`, type: 'is-danger' });\n }\n }\n\n this.isSaving = false;\n }\n\n private onPrevious(): void {\n this.currentStep--;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n\n private async onSaveAddressAsync(): Promise {\n if (!(await (this.$refs.address as Vue).$validator.validateAll('address-details'))) {\n return;\n }\n\n this.isSaving = true;\n\n if (this.isAddressEdit) {\n const index = this.partnerPractice.addresses.findIndex((address) => address.id === this.selectedAddress!.id!);\n\n if (index > -1) {\n if (this.selectedAddress!.id === 'editing') {\n this.selectedAddress!.id = null;\n }\n\n this.partnerPractice.addresses.splice(index, 1, { ...this.selectedAddress! });\n } else {\n this.$snackbar.open({ message: 'Could not update address. Please try again.', type: 'is-danger' });\n }\n } else {\n this.partnerPractice.addresses.push({ ...this.selectedAddress! });\n }\n\n this.isSaving = false;\n this.onCancelAddress();\n }\n\n private onAddAddress(): void {\n this.selectedAddress = createPartnerPracticeAddress();\n this.isAddressVisible = true;\n }\n\n private onEditAddress(address: PartnerPracticeAddress): void {\n if (address.id == null) {\n address.id = 'editing';\n }\n\n this.selectedAddress = { ...address };\n this.isAddressEdit = true;\n this.isAddressVisible = true;\n }\n\n private onRemoveAddress(index: number): void {\n this.partnerPractice.addresses.splice(index, 1);\n this.onCancelAddress();\n }\n\n private onCancelAddress(): void {\n for (const address of this.partnerPractice.addresses.filter((a) => a.id === 'editing')) {\n address.id = null;\n }\n\n this.selectedAddress = null;\n this.isAddressEdit = false;\n this.isAddressVisible = false;\n }\n\n private async onSaveEmailAttachmentAsync(): Promise {\n if (!(await (this.$refs.email as Vue).$validator.validateAll('email-attachment'))) {\n return;\n }\n\n this.isSaving = true;\n\n if (this.importEmailAttachment) {\n if (!(await this.uploadFileAsync())) {\n this.isSaving = false;\n return;\n }\n\n this.selectedEmailAttachment!.attachmentFilename = this.emailAttachmentFile!.name;\n }\n\n const extension = `.${this.selectedEmailAttachment!.attachmentFilename!.split('.').pop()}`;\n const formattedAlias = this.selectedEmailAttachment!.attachmentAlias != null && this.selectedEmailAttachment!.attachmentAlias.trim() !== ''\n ? `${this.selectedEmailAttachment!.attachmentAlias.trim()}${!this.selectedEmailAttachment!.attachmentAlias.trim().toLowerCase().endsWith(extension) ? extension : ''}`\n : null;\n\n if (this.isEmailEdit) {\n const index = this.partnerPractice.emailAttachments.findIndex((email) => email.id === this.selectedEmailAttachment!.id!);\n\n if (index > -1) {\n if (this.selectedEmailAttachment!.id === 'editing') {\n this.selectedEmailAttachment!.id = null;\n }\n\n this.partnerPractice.emailAttachments.splice(index, 1, { ...this.selectedEmailAttachment!, attachmentAlias: formattedAlias });\n } else {\n this.$snackbar.open({ message: 'Could not update e-mail attachment. Please try again.', type: 'is-danger' });\n }\n } else {\n this.partnerPractice.emailAttachments.push({ ...this.selectedEmailAttachment!, attachmentAlias: formattedAlias });\n }\n\n await this.$store.dispatch(`attachment/fetchEmailAttachmentsAsync`);\n\n this.isSaving = false;\n this.onCancelEmailAttachment();\n }\n\n private onAddEmailAttachment(): void {\n this.selectedEmailAttachment = createPartnerPracticeEmailAttachment();\n this.importEmailAttachment = false;\n this.emailAttachmentFile = null;\n this.isEmailVisible = true;\n }\n\n private onEditEmailAttachment(attachment: PartnerPracticeEmailAttachment): void {\n if (attachment.id == null) {\n attachment.id = 'editing';\n }\n\n this.selectedEmailAttachment = { ...attachment };\n this.importEmailAttachment = false;\n this.emailAttachmentFile = null;\n this.isEmailEdit = true;\n this.isEmailVisible = true;\n }\n\n private onRemoveEmailAttachment(index: number): void {\n this.partnerPractice.emailAttachments.splice(index, 1);\n this.onCancelEmailAttachment();\n }\n\n private onCancelEmailAttachment(): void {\n for (const email of this.partnerPractice.emailAttachments.filter((e) => e.id === 'editing')) {\n email.id = null;\n }\n\n this.selectedEmailAttachment = null;\n this.importEmailAttachment = false;\n this.emailAttachmentFile = null;\n this.isEmailEdit = false;\n this.isEmailVisible = false;\n }\n\n private onImportEmailAttachmentChanged(importFile: boolean): void {\n this.importEmailAttachment = importFile;\n }\n\n private onEmailAttachmentFileChanged(attachmentFile: File | null): void {\n this.emailAttachmentFile = attachmentFile;\n }\n\n private async uploadFileAsync(): Promise {\n try {\n await emailAttachmentApi.emailAttachmentAsync(this.emailAttachmentFile!);\n this.$snackbar.open({ message: `Email attachment '${this.emailAttachmentFile!.name}' has been uploaded.`, type: 'is-success' });\n\n return true;\n } catch (e) {\n if (e instanceof BadRequest) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n }\n\n this.$snackbar.open({ message: `Could not upload '${this.emailAttachmentFile!.name}'. Please try again.`, type: 'is-danger' });\n\n return false;\n }\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-partner-practice-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-partner-practice-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./add-partner-practice-dialog.vue?vue&type=template&id=63bb92cf&\"\nimport script from \"./add-partner-practice-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./add-partner-practice-dialog.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:\"edit-partner-practice-dialog\"},[_c('b-modal',{attrs:{\"centered\":\"\",\"size\":\"xl\",\"title\":\"Edit Partner Practice\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading, please wait...\")]),(_vm.isAddressVisible)?_c('address-with-lookup',{ref:\"address\",attrs:{\"address\":_vm.selectedAddress,\"compact\":true}}):(_vm.isEmailVisible)?_c('partner-practice-email',{ref:\"email\",attrs:{\"attachment\":_vm.selectedEmailAttachment},on:{\"import-file\":_vm.onImportEmailAttachmentChanged,\"file-changed\":_vm.onEmailAttachmentFileChanged}}):(_vm.isUserVisible)?_c('b-tabs',{model:{value:(_vm.userCurrentTab),callback:function ($$v) {_vm.userCurrentTab=$$v},expression:\"userCurrentTab\"}},[_c('b-tab',{staticClass:\"tab\"},[_c('template',{slot:\"title\"},[_c('div',{staticClass:\"feather-container\"},[_c('span',{staticClass:\"feather-text\",class:{ 'text-danger': _vm.showUserDetailsError }},[_vm._v(\"Details\")]),(_vm.showUserDetailsError)?_c('svg',{staticClass:\"feather feather-icon-right feather-alert-circle text-danger\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('circle',{attrs:{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"12\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"16\",\"x2\":\"12.01\",\"y2\":\"16\"}})]):_vm._e()])]),_c('div',{staticClass:\"mt-3\"},[_c('user-details',{ref:\"userDetails\",attrs:{\"user\":_vm.selectedUser},on:{\"errors-changed\":_vm.onUserDetailsErrorsChanged}})],1)],2),_c('b-tab',{staticClass:\"tab\"},[_c('template',{slot:\"title\"},[_c('div',{staticClass:\"feather-container\"},[_c('span',{staticClass:\"feather-text\",class:{ 'text-danger': _vm.showUserRolesError }},[_vm._v(\"Roles\")]),(_vm.showUserRolesError)?_c('svg',{staticClass:\"feather feather-icon-right feather-alert-circle text-danger\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('circle',{attrs:{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"12\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"16\",\"x2\":\"12.01\",\"y2\":\"16\"}})]):_vm._e()])]),_c('div',{staticClass:\"mt-3\"},[_c('user-roles',{attrs:{\"prefix\":\"userRoles\",\"user\":_vm.selectedUser,\"partner-practice-user\":true}})],1)],2),(_vm.selectedUser.id != null)?_c('b-tab',{staticClass:\"tab\"},[_c('template',{slot:\"title\"},[_c('div',{staticClass:\"feather-container\"},[_c('span',{staticClass:\"feather-text\"},[_vm._v(\"Targets\")])])]),_c('div',{staticClass:\"mt-3\"},[_c('user-targets',{ref:\"userTargets\",attrs:{\"user\":_vm.selectedUser}})],1)],2):_vm._e()],1):_c('b-tabs',{model:{value:(_vm.currentTab),callback:function ($$v) {_vm.currentTab=$$v},expression:\"currentTab\"}},[_c('b-tab',{staticClass:\"tab\"},[_c('template',{slot:\"title\"},[_c('div',{staticClass:\"feather-container\"},[_c('span',{staticClass:\"feather-text\",class:{ 'text-danger': _vm.showDetailsError }},[_vm._v(\"Details\")]),(_vm.showDetailsError)?_c('svg',{staticClass:\"feather feather-icon-right feather-alert-circle text-danger\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('circle',{attrs:{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"12\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"16\",\"x2\":\"12.01\",\"y2\":\"16\"}})]):_vm._e()])]),_c('div',{staticClass:\"mt-3\"},[_c('partner-practice-details',{ref:\"details\",attrs:{\"partner-practice\":_vm.latestPartnerPractice},on:{\"errors-changed\":_vm.onDetailsErrorsChanged}})],1)],2),_c('b-tab',{staticClass:\"tab\"},[_c('template',{slot:\"title\"},[_c('div',{staticClass:\"feather-container\"},[_c('span',{staticClass:\"feather-text\",class:{ 'text-danger': _vm.showAddressesError }},[_vm._v(\"Addresses\")]),(_vm.showAddressesError)?_c('svg',{staticClass:\"feather feather-icon-right feather-alert-circle text-danger\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('circle',{attrs:{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"12\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"16\",\"x2\":\"12.01\",\"y2\":\"16\"}})]):_vm._e()])]),_c('div',{staticClass:\"mt-3\"},[_c('partner-practice-address-list',{attrs:{\"addresses\":_vm.latestPartnerPractice.addresses},on:{\"add\":_vm.onAddAddress},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar address = ref.address;\nvar index = ref.index;\nreturn [_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onEditAddress(address)}}},[_vm._v(\"Edit\")]),_c('b-dropdown-divider'),_c('b-dropdown-item',{staticClass:\"text-danger\",on:{\"click\":function($event){return _vm.onRemoveAddress(index)}}},[_vm._v(\"Remove\")])],1)]}}])})],1)],2),_c('b-tab',{staticClass:\"tab\"},[_c('template',{slot:\"title\"},[_c('div',{staticClass:\"feather-container\"},[_c('span',{staticClass:\"feather-text\"},[_vm._v(\"Users\")])])]),_c('div',{staticClass:\"row mt-3 align-items-center justify-content-end\"},[_c('div',{staticClass:\"col text-right\"},[_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onAddUser}},[_c('div',{staticClass:\"feather-container\"},[_c('svg',{staticClass:\"feather feather-icon-left feather-plus-circle\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('circle',{attrs:{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"16\"}}),_c('line',{attrs:{\"x1\":\"8\",\"y1\":\"12\",\"x2\":\"16\",\"y2\":\"12\"}})]),_c('span',{staticClass:\"feather-text\"},[_vm._v(\"Add User\")])])])],1)]),_c('div',{staticClass:\"row mt-3\"},[_c('div',{staticClass:\"col\"},[_c('users-table',{attrs:{\"users\":_vm.latestPartnerPractice.users},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar user = ref.user;\nreturn [_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[(!user.isArchived)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onEditUser(user)}}},[_vm._v(\"Edit\")]):_vm._e(),(!user.isArchived && !user.activatedDate)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onResendUserInvite(user)}}},[_vm._v(\"Re-send Activation Link\")]):_vm._e(),(!user.isArchived)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onUnassignUser(user)}}},[_vm._v(\"Un-assign from Partner Practice\")]):_vm._e(),(user.isArchived && _vm.isAdministrator)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onRestoreUser(user)}}},[_vm._v(\"Restore\")]):_vm._e(),(!user.isArchived && _vm.isAdministrator)?_c('b-dropdown-divider'):_vm._e(),(!user.isArchived && _vm.isAdministrator)?_c('b-dropdown-item',{staticClass:\"text-danger\",on:{\"click\":function($event){return _vm.onArchiveUser(user)}}},[_vm._v(\"Archive\")]):_vm._e()],1)]}}])}),(_vm.selectedUser != null && _vm.isResendUserInviteConfirmationDialogVisible)?_c('confirmation-dialog',{attrs:{\"centered\":\"\",\"ok-text\":\"Re-send Activation Link\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"ok\":_vm.onResendUserInviteConfirmedAsync,\"cancel\":_vm.onCancelUser},model:{value:(_vm.isResendUserInviteConfirmationDialogVisible),callback:function ($$v) {_vm.isResendUserInviteConfirmationDialogVisible=$$v},expression:\"isResendUserInviteConfirmationDialogVisible\"}},[_c('p',[_vm._v(\"Are you sure you want to send '\"+_vm._s(_vm.selectedUser.email)+\"' a new activation e-mail?\")])]):_vm._e(),(_vm.selectedUser != null && _vm.isUnassignUserConfirmationDialogVisible)?_c('confirmation-dialog',{attrs:{\"centered\":\"\",\"ok-text\":\"Un-assign\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"ok\":_vm.onUnassignUserConfirmedAsync,\"cancel\":_vm.onCancelUser},model:{value:(_vm.isUnassignUserConfirmationDialogVisible),callback:function ($$v) {_vm.isUnassignUserConfirmationDialogVisible=$$v},expression:\"isUnassignUserConfirmationDialogVisible\"}},[_c('p',[_vm._v(\"Are you sure you want to un-assign '\"+_vm._s(_vm.selectedUser.email)+\"' from the current partner practice?\")])]):_vm._e(),(_vm.selectedUser != null && _vm.isRestoreUserConfirmationDialogVisible)?_c('confirmation-dialog',{attrs:{\"centered\":\"\",\"ok-text\":\"Restore\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"ok\":_vm.onRestoreUserConfirmedAsync,\"cancel\":_vm.onCancelUser},model:{value:(_vm.isRestoreUserConfirmationDialogVisible),callback:function ($$v) {_vm.isRestoreUserConfirmationDialogVisible=$$v},expression:\"isRestoreUserConfirmationDialogVisible\"}},[_c('p',[_vm._v(\"Are you sure you want to restore '\"+_vm._s(_vm.selectedUser.email)+\"'?\")]),_c('p',[_vm._v(\"The user will be restored at the current partner practice, and will be able to login to the system again.\")])]):_vm._e(),(_vm.selectedUser != null && _vm.isArchiveUserConfirmationDialogVisible)?_c('confirmation-dialog',{attrs:{\"centered\":\"\",\"variant\":\"danger\",\"ok-text\":\"Archive\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"ok\":_vm.onArchiveUserConfirmedAsync,\"cancel\":_vm.onCancelUser},model:{value:(_vm.isArchiveUserConfirmationDialogVisible),callback:function ($$v) {_vm.isArchiveUserConfirmationDialogVisible=$$v},expression:\"isArchiveUserConfirmationDialogVisible\"}},[_c('p',[_vm._v(\"Are you sure you want to archive '\"+_vm._s(_vm.selectedUser.email)+\"'?\")]),_c('p',[_vm._v(\"If the user is currently logged in, they will be immediately logged out.\")])]):_vm._e()],1)])],2),_c('b-tab',{staticClass:\"tab\"},[_c('template',{slot:\"title\"},[_c('div',{staticClass:\"feather-container\"},[_c('span',{staticClass:\"feather-text\"},[_vm._v(\"Introducers\")])])]),_c('div',{staticClass:\"mt-3\"},[_c('partner-practice-original-sources',{attrs:{\"partner-practice\":_vm.latestPartnerPractice}})],1)],2),_c('b-tab',{staticClass:\"tab\"},[_c('template',{slot:\"title\"},[_c('div',{staticClass:\"feather-container\"},[_c('span',{staticClass:\"feather-text\"},[_vm._v(\"Email Attachments\")])])]),_c('div',{staticClass:\"mt-3\"},[_c('partner-practice-email-list',{attrs:{\"email-attachments\":_vm.latestPartnerPractice.emailAttachments},on:{\"add\":_vm.onAddEmailAttachment},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar attachment = ref.attachment;\nvar index = ref.index;\nreturn [_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onEditEmailAttachment(attachment)}}},[_vm._v(\"Edit\")]),_c('b-dropdown-divider'),_c('b-dropdown-item',{staticClass:\"text-danger\",on:{\"click\":function($event){return _vm.onRemoveEmailAttachment(index)}}},[_vm._v(\"Remove\")])],1)]}}])})],1)],2)],1),(_vm.isAddressVisible)?_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onCancelAddress}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onSaveAddressAsync}},[_vm._v(\"Save\")])],1):(_vm.isEmailVisible)?_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onCancelEmailAttachment}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onSaveEmailAttachmentAsync}},[_vm._v(\"Save\")])],1):(_vm.isUserVisible)?_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onCancelUser}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onSaveUserAsync}},[_vm._v(\"Save\")])],1):_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onSaveAsync}},[_vm._v(\"Save\")])],1)],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('div',{staticClass:\"user-details\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"first-name\"}},[_vm._v(\"First Name(s)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.user.firstName),expression:\"user.firstName\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('user-details.first-name') },attrs:{\"type\":\"text\",\"name\":\"first-name\",\"id\":\"first-name\",\"data-vv-scope\":\"user-details\",\"data-vv-as\":\"first name\"},domProps:{\"value\":(_vm.user.firstName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.user, \"firstName\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('user-details.first-name')),expression:\"errors.has('user-details.first-name')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('user-details.first-name')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"last-name\"}},[_vm._v(\"Last Name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.user.lastName),expression:\"user.lastName\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('user-details.last-name') },attrs:{\"type\":\"text\",\"name\":\"last-name\",\"id\":\"last-name\",\"data-vv-scope\":\"user-details\",\"data-vv-as\":\"last name\"},domProps:{\"value\":(_vm.user.lastName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.user, \"lastName\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('user-details.last-name')),expression:\"errors.has('user-details.last-name')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('user-details.last-name')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"email\"}},[_vm._v(\"Email Address\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.user.email),expression:\"user.email\"},{name:\"validate\",rawName:\"v-validate\",value:('required|email'),expression:\"'required|email'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('user-details.email') },attrs:{\"type\":\"text\",\"name\":\"email\",\"id\":\"email\",\"data-vv-scope\":\"user-details\",\"data-vv-as\":\"e-mail address\"},domProps:{\"value\":(_vm.user.email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.user, \"email\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('user-details.email')),expression:\"errors.has('user-details.email')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('user-details.email')))])])])}\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\nimport { User } from '@/shared/user';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class UserDetails extends Vue {\n @Prop({ required: true }) private user!: User;\n\n @Watch('$validator.errors', { deep: true })\n private onErrorsChanged(): void {\n this.$emit('errors-changed', this.$validator.errors.any());\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user-details.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user-details.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./user-details.vue?vue&type=template&id=eb3597a6&\"\nimport script from \"./user-details.vue?vue&type=script&lang=ts&\"\nexport * from \"./user-details.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:\"list-group list-group-flush\"},_vm._l((_vm.filteredRoles),function(role){return _c('div',{key:role.id,staticClass:\"list-group-item\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.user.roles),expression:\"user.roles\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":role.id,\"disabled\":!_vm.canEdit},domProps:{\"value\":role,\"checked\":Array.isArray(_vm.user.roles)?_vm._i(_vm.user.roles,role)>-1:(_vm.user.roles)},on:{\"change\":function($event){var $$a=_vm.user.roles,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=role,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.user, \"roles\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.user, \"roles\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.user, \"roles\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":role.id}},[_vm._v(_vm._s(_vm._f(\"capitalizeFirst\")(role.name)))])])])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\nimport { RoleName } from '@/shared/role-name';\nimport { Role } from '@/shared/roles/role';\nimport { User } from '@/shared/user';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst userModule = namespace('user');\nconst usersModule = namespace('users');\n\n@Component\nexport default class UserRoles extends Vue {\n @userModule.Getter('user') private currentUser!: User;\n\n @usersModule.Getter('roles') private roles!: Array;\n\n @Prop({ required: true }) private user!: User;\n @Prop({ required: false, default: false }) private partnerPracticeUser!: boolean;\n\n private get filteredRoles(): Array {\n if (this.partnerPracticeUser) {\n return this.roles.filter((role) =>\n role.name.toLowerCase() === RoleName.LegalAdvisor.toLowerCase() ||\n role.name.toLowerCase() === RoleName.LegalAssistant.toLowerCase() ||\n role.name.toLowerCase() === RoleName.HoD.toLowerCase());\n }\n\n return this.roles.filter((role) => role.name.toLowerCase() !== RoleName.System.toLowerCase());\n }\n\n private get canEdit(): boolean {\n if (this.user.id == null) {\n return true;\n }\n\n return this.user.id !== this.currentUser.id!;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user-roles.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user-roles.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./user-roles.vue?vue&type=template&id=a698ce4c&\"\nimport script from \"./user-roles.vue?vue&type=script&lang=ts&\"\nexport * from \"./user-roles.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:\"user-targets\"},_vm._l((_vm.targetSets),function(set,index){return _c('b-card',{key:index,attrs:{\"no-body\":\"\"}},[_c('b-card-header',{attrs:{\"role\":\"tab\"}},[_c('button',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:((\"accordion-\" + index)),expression:\"`accordion-${index}`\"}],staticClass:\"btn btn-block text-left\"},[_vm._v(\"\\n \"+_vm._s(set.year)+\"\\n \")])]),_c('b-collapse',{attrs:{\"accordion\":\"user-target-accordion\",\"id\":(\"accordion-\" + index),\"role\":\"tabpanel\"},model:{value:(set.year === _vm.currentYear),callback:function ($$v) {_vm.$set(set, \"year === currentYear\", $$v)},expression:\"set.year === currentYear\"}},[_c('b-card-body',[_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col-4 col-lg-2\"},[_c('label',{attrs:{\"for\":\"`january-${index}`\"}},[_vm._v(\"January\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}],null,true)},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(set.targets[0].amount),expression:\"set.targets[0].amount\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal:2'),expression:\"'required|decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has((\"user-targets.january-\" + index)) },attrs:{\"type\":\"text\",\"name\":(\"january-\" + index),\"id\":(\"january-\" + index),\"data-vv-scope\":\"user-targets\",\"data-vv-as\":\"amount\"},domProps:{\"value\":(set.targets[0].amount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(set.targets[0], \"amount\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has((\"user-targets.january-\" + index))),expression:\"errors.has(`user-targets.january-${index}`)\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first((\"user-targets.january-\" + index))))])])],1),_c('div',{staticClass:\"form-group col-4 col-lg-2\"},[_c('label',{attrs:{\"for\":\"`february-${index}`\"}},[_vm._v(\"February\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}],null,true)},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(set.targets[1].amount),expression:\"set.targets[1].amount\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal:2'),expression:\"'required|decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has((\"user-targets.february-\" + index)) },attrs:{\"type\":\"text\",\"name\":(\"february-\" + index),\"id\":(\"february-\" + index),\"data-vv-scope\":\"user-targets\",\"data-vv-as\":\"amount\"},domProps:{\"value\":(set.targets[1].amount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(set.targets[1], \"amount\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has((\"user-targets.february-\" + index))),expression:\"errors.has(`user-targets.february-${index}`)\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first((\"user-targets.february-\" + index))))])])],1),_c('div',{staticClass:\"form-group col-4 col-lg-2\"},[_c('label',{attrs:{\"for\":\"`march-${index}`\"}},[_vm._v(\"March\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}],null,true)},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(set.targets[2].amount),expression:\"set.targets[2].amount\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal:2'),expression:\"'required|decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has((\"user-targets.march-\" + index)) },attrs:{\"type\":\"text\",\"name\":(\"march-\" + index),\"id\":(\"march-\" + index),\"data-vv-scope\":\"user-targets\",\"data-vv-as\":\"amount\"},domProps:{\"value\":(set.targets[2].amount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(set.targets[2], \"amount\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has((\"user-targets.march-\" + index))),expression:\"errors.has(`user-targets.march-${index}`)\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first((\"user-targets.march-\" + index))))])])],1),_c('div',{staticClass:\"form-group col-4 col-lg-2\"},[_c('label',{attrs:{\"for\":\"`april-${index}`\"}},[_vm._v(\"April\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}],null,true)},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(set.targets[3].amount),expression:\"set.targets[3].amount\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal:2'),expression:\"'required|decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has((\"user-targets.april-\" + index)) },attrs:{\"type\":\"text\",\"name\":(\"april-\" + index),\"id\":(\"april-\" + index),\"data-vv-scope\":\"user-targets\",\"data-vv-as\":\"amount\"},domProps:{\"value\":(set.targets[3].amount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(set.targets[3], \"amount\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has((\"user-targets.april-\" + index))),expression:\"errors.has(`user-targets.april-${index}`)\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first((\"user-targets.april-\" + index))))])])],1),_c('div',{staticClass:\"form-group col-4 col-lg-2\"},[_c('label',{attrs:{\"for\":\"`may-${index}`\"}},[_vm._v(\"May\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}],null,true)},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(set.targets[4].amount),expression:\"set.targets[4].amount\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal:2'),expression:\"'required|decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has((\"user-targets.may-\" + index)) },attrs:{\"type\":\"text\",\"name\":(\"may-\" + index),\"id\":(\"may-\" + index),\"data-vv-scope\":\"user-targets\",\"data-vv-as\":\"amount\"},domProps:{\"value\":(set.targets[4].amount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(set.targets[4], \"amount\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has((\"user-targets.may-\" + index))),expression:\"errors.has(`user-targets.may-${index}`)\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first((\"user-targets.may-\" + index))))])])],1),_c('div',{staticClass:\"form-group col-4 col-lg-2\"},[_c('label',{attrs:{\"for\":\"`june-${index}`\"}},[_vm._v(\"June\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}],null,true)},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(set.targets[5].amount),expression:\"set.targets[5].amount\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal:2'),expression:\"'required|decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has((\"user-targets.june-\" + index)) },attrs:{\"type\":\"text\",\"name\":(\"june-\" + index),\"id\":(\"june-\" + index),\"data-vv-scope\":\"user-targets\",\"data-vv-as\":\"amount\"},domProps:{\"value\":(set.targets[5].amount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(set.targets[5], \"amount\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has((\"user-targets.june-\" + index))),expression:\"errors.has(`user-targets.june-${index}`)\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first((\"user-targets.june-\" + index))))])])],1),_c('div',{staticClass:\"form-group col-4 col-lg-2\"},[_c('label',{attrs:{\"for\":\"`july-${index}`\"}},[_vm._v(\"July\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}],null,true)},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(set.targets[6].amount),expression:\"set.targets[6].amount\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal:2'),expression:\"'required|decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has((\"user-targets.july-\" + index)) },attrs:{\"type\":\"text\",\"name\":(\"july-\" + index),\"id\":(\"july-\" + index),\"data-vv-scope\":\"user-targets\",\"data-vv-as\":\"amount\"},domProps:{\"value\":(set.targets[6].amount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(set.targets[6], \"amount\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has((\"user-targets.july-\" + index))),expression:\"errors.has(`user-targets.july-${index}`)\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first((\"user-targets.july-\" + index))))])])],1),_c('div',{staticClass:\"form-group col-4 col-lg-2\"},[_c('label',{attrs:{\"for\":\"`august-${index}`\"}},[_vm._v(\"August\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}],null,true)},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(set.targets[7].amount),expression:\"set.targets[7].amount\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal:2'),expression:\"'required|decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has((\"user-targets.august-\" + index)) },attrs:{\"type\":\"text\",\"name\":(\"august-\" + index),\"id\":(\"august-\" + index),\"data-vv-scope\":\"user-targets\",\"data-vv-as\":\"amount\"},domProps:{\"value\":(set.targets[7].amount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(set.targets[7], \"amount\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has((\"user-targets.august-\" + index))),expression:\"errors.has(`user-targets.august-${index}`)\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first((\"user-targets.august-\" + index))))])])],1),_c('div',{staticClass:\"form-group col-4 col-lg-2\"},[_c('label',{attrs:{\"for\":\"`september-${index}`\"}},[_vm._v(\"September\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}],null,true)},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(set.targets[8].amount),expression:\"set.targets[8].amount\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal:2'),expression:\"'required|decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has((\"user-targets.september-\" + index)) },attrs:{\"type\":\"text\",\"name\":(\"september-\" + index),\"id\":(\"september-\" + index),\"data-vv-scope\":\"user-targets\",\"data-vv-as\":\"amount\"},domProps:{\"value\":(set.targets[8].amount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(set.targets[8], \"amount\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has((\"user-targets.september-\" + index))),expression:\"errors.has(`user-targets.september-${index}`)\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first((\"user-targets.september-\" + index))))])])],1),_c('div',{staticClass:\"form-group col-4 col-lg-2\"},[_c('label',{attrs:{\"for\":\"`october-${index}`\"}},[_vm._v(\"October\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}],null,true)},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(set.targets[9].amount),expression:\"set.targets[9].amount\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal:2'),expression:\"'required|decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has((\"user-targets.october-\" + index)) },attrs:{\"type\":\"text\",\"name\":(\"october-\" + index),\"id\":(\"october-\" + index),\"data-vv-scope\":\"user-targets\",\"data-vv-as\":\"amount\"},domProps:{\"value\":(set.targets[9].amount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(set.targets[9], \"amount\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has((\"user-targets.october-\" + index))),expression:\"errors.has(`user-targets.october-${index}`)\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first((\"user-targets.october-\" + index))))])])],1),_c('div',{staticClass:\"form-group col-4 col-lg-2\"},[_c('label',{attrs:{\"for\":\"`november-${index}`\"}},[_vm._v(\"November\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}],null,true)},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(set.targets[10].amount),expression:\"set.targets[10].amount\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal:2'),expression:\"'required|decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has((\"user-targets.november-\" + index)) },attrs:{\"type\":\"text\",\"name\":(\"november-\" + index),\"id\":(\"november-\" + index),\"data-vv-scope\":\"user-targets\",\"data-vv-as\":\"amount\"},domProps:{\"value\":(set.targets[10].amount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(set.targets[10], \"amount\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has((\"user-targets.november-\" + index))),expression:\"errors.has(`user-targets.november-${index}`)\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first((\"user-targets.november-\" + index))))])])],1),_c('div',{staticClass:\"form-group col-4 col-lg-2\"},[_c('label',{attrs:{\"for\":\"`december-${index}`\"}},[_vm._v(\"December\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}],null,true)},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(set.targets[11].amount),expression:\"set.targets[11].amount\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal:2'),expression:\"'required|decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has((\"user-targets.december-\" + index)) },attrs:{\"type\":\"text\",\"name\":(\"december-\" + index),\"id\":(\"december-\" + index),\"data-vv-scope\":\"user-targets\",\"data-vv-as\":\"amount\"},domProps:{\"value\":(set.targets[11].amount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(set.targets[11], \"amount\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has((\"user-targets.december-\" + index))),expression:\"errors.has(`user-targets.december-${index}`)\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first((\"user-targets.december-\" + index))))])])],1)])])],1)],1)}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { DateTime } from 'luxon';\n\nexport interface UserTarget {\n id?: string | null;\n date: string | Date;\n amount: number;\n}\n\nexport function createUserTarget(year: number, month: number): UserTarget {\n const date = DateTime.fromISO(`${year}-${month.toString().padStart(2, '0')}-01`, { zone: 'UTC' });\n\n return {\n date: date.toJSDate(),\n amount: 0,\n };\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { User } from '@/shared/user';\nimport { createUserTarget, UserTarget } from '@/shared/user-target';\nimport { DateTime } from 'luxon';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class UserTargets extends Vue {\n @Prop({ required: true }) private user!: User;\n\n private currentYear: number = DateTime.local().year;\n\n private get targetSets(): Array<{ year: number, targets: Array }> {\n if (!this.user.targets.length) {\n return [];\n }\n\n const minimumYear: number = 2019;\n const maximumYear: number = DateTime.local().year + 1;\n\n const targetSets: Array<{ year: number, targets: Array }> = [];\n\n for (let i = maximumYear; i >= minimumYear; i--) {\n targetSets.push({\n year: i, targets: [\n this.findUserTarget(i, 1),\n this.findUserTarget(i, 2),\n this.findUserTarget(i, 3),\n this.findUserTarget(i, 4),\n this.findUserTarget(i, 5),\n this.findUserTarget(i, 6),\n this.findUserTarget(i, 7),\n this.findUserTarget(i, 8),\n this.findUserTarget(i, 9),\n this.findUserTarget(i, 10),\n this.findUserTarget(i, 11),\n this.findUserTarget(i, 12),\n ],\n });\n }\n\n return targetSets;\n }\n\n private findUserTarget(year: number, month: number): UserTarget {\n return this.user.targets.find((target) => {\n const date = target.date instanceof Date ? DateTime.fromJSDate(target.date, { zone: 'UTC' }) : DateTime.fromISO(target.date, { zone: 'UTC' });\n return date.year === year && date.month === month;\n })!;\n }\n\n private populateUserTargets(): void {\n const minimumYear: number = 2019;\n const maximumYear: number = DateTime.local().year + 1;\n\n for (let year = minimumYear; year <= maximumYear; year++) {\n for (let month = 1; month <= 12; month++) {\n if (this.user.targets.some((target) => {\n const date = target.date instanceof Date ? DateTime.fromJSDate(target.date, { zone: 'UTC' }) : DateTime.fromISO(target.date, { zone: 'UTC' });\n return date.year === year && date.month === month;\n })) {\n continue;\n }\n\n this.user.targets.push(createUserTarget(year, month));\n }\n }\n }\n\n private async mounted(): Promise {\n this.populateUserTargets();\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user-targets.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user-targets.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./user-targets.vue?vue&type=template&id=078dc7ee&\"\nimport script from \"./user-targets.vue?vue&type=script&lang=ts&\"\nexport * from \"./user-targets.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:\"users-table\"},[_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"items\":_vm.users,\"fields\":_vm.userFields,\"current-page\":_vm.currentPage,\"per-page\":_vm.pageSize,\"empty-text\":\"No users found.\"},scopedSlots:_vm._u([{key:\"cell(roles)\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((_vm.userRoles(item)),function(role){return _c('b-badge',{key:role.name,attrs:{\"variant\":\"primary\"}},[_vm._v(_vm._s(_vm._f(\"capitalizeFirst\")(role.name)))])})}},{key:\"cell(status)\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.activatedDate && !item.isArchived)?_c('b-badge',{attrs:{\"variant\":\"success\"}},[_vm._v(\"Activated\")]):_vm._e(),(!item.activatedDate && !item.isArchived)?_c('b-badge',{attrs:{\"variant\":\"warning\"}},[_vm._v(\"Pending\")]):_vm._e(),(item.isArchived)?_c('b-badge',{attrs:{\"variant\":\"danger\"}},[_vm._v(\"Archived\")]):_vm._e()]}},{key:\"cell(actions)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._t(\"actions\",null,{\"user\":item})]}}],null,true)}),_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.totalRows,\"per-page\":_vm.pageSize},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}),_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))])],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\nimport { User } from '@/shared/user';\nimport { UserRole } from '@/shared/user-role';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class UsersTable extends Vue {\n @Prop({ required: true }) private users!: Array;\n\n private currentPage: number = 1;\n private pageSize: number = 25;\n\n private get userFields(): Array<{}> {\n return [\n { key: 'firstName', label: 'First Name' },\n { key: 'lastName', label: 'Last Name' },\n { key: 'email', label: 'Email' },\n { key: 'roles', label: 'Roles' },\n { key: 'status', label: 'Status' },\n { key: 'actions', label: '', class: 'col-1', tdClass: 'text-right' },\n ];\n }\n\n private get totalRows(): number {\n return this.users.length;\n }\n\n private get paginationDescription(): string {\n const start = this.users.length < 1 ? 0 : ((this.currentPage - 1) * this.pageSize) + 1;\n const end = start + this.pageSize > this.totalRows ? this.totalRows : start + this.pageSize - 1;\n\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.totalRows.toLocaleString()}`;\n }\n\n private userRoles(user: User): Array {\n if (user.roles == null || !user.roles.length) {\n return [];\n }\n\n return [...user.roles]\n .sort((a, b) => {\n if (a.name.toLowerCase() > b.name.toLowerCase()) { return 1; }\n if (a.name.toLowerCase() < b.name.toLowerCase()) { return -1; }\n return 0;\n });\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./users-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./users-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./users-table.vue?vue&type=template&id=511e0214&\"\nimport script from \"./users-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./users-table.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 { UserRole } from '@/shared/user-role';\nimport { UserTarget } from '@/shared/user-target';\n\nexport interface User {\n id?: string | null;\n partnerPracticeId: string | null;\n firstName: string;\n lastName: string;\n email: string;\n activatedDate?: string | null;\n isArchived?: boolean;\n version?: number;\n createdDate?: string | Date | null;\n createdBy?: string | null;\n lastModifiedDate?: string | Date | null;\n lastModifiedBy?: string | null;\n roles: Array;\n targets: Array;\n}\n\nexport function createUser(partnerPracticeId: string | null): User {\n return {\n partnerPracticeId,\n firstName: '',\n lastName: '',\n email: '',\n roles: new Array(),\n targets: new Array(),\n };\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { EmailAttachmentApi } from '@/api/email-attachment';\nimport { PartnerPracticeApi } from '@/api/partner-practice';\nimport { BadRequest } from '@/api/responses/bad-request';\nimport { UserApi } from '@/api/user';\nimport addressWithLookup from '@/components/address-with-lookup.vue';\nimport loading from '@/components/loading.vue';\nimport partnerPracticeAddressList from '@/components/settings/partner-practices/partner-practice-address-list.vue';\nimport partnerPracticeDetails from '@/components/settings/partner-practices/partner-practice-details.vue';\nimport partnerPracticeEmailList from '@/components/settings/partner-practices/partner-practice-email-list.vue';\nimport partnerPracticeEmail from '@/components/settings/partner-practices/partner-practice-email.vue';\nimport partnerPracticeOriginalSources from '@/components/settings/partner-practices/partner-practice-original-sources.vue';\nimport userDetails from '@/components/settings/users/user-details.vue';\nimport userRoles from '@/components/settings/users/user-roles.vue';\nimport userTargets from '@/components/settings/users/user-targets.vue';\nimport usersTable from '@/components/settings/users/users-table.vue';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { createPartnerPracticeAddress, PartnerPracticeAddress } from '@/shared/partner-practice-address';\nimport { createPartnerPracticeEmailAttachment, PartnerPracticeEmailAttachment } from '@/shared/partner-practice-email-attachment';\nimport { createUser, User } from '@/shared/user';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst userModule = namespace('user');\nconst usersModule = namespace('users');\n\nconst emailAttachmentApi = new EmailAttachmentApi();\nconst partnerPracticeApi = new PartnerPracticeApi();\nconst userApi = new UserApi();\n\n@Component({\n components: {\n addressWithLookup,\n loading,\n partnerPracticeAddressList,\n partnerPracticeDetails,\n partnerPracticeEmailList,\n partnerPracticeEmail,\n partnerPracticeOriginalSources,\n userDetails,\n userRoles,\n userTargets,\n usersTable,\n },\n})\nexport default class AddPartnerPracticeDialog extends Vue {\n @userModule.Getter('isAdministrator') private isAdministrator!: boolean;\n\n @usersModule.Getter('partnerPracticeUsers') private partnerPracticeUsers!: (partnerPracticeId: string) => Array;\n\n @Prop({ required: true }) private visible!: boolean;\n @Prop({ required: true }) private partnerPractice!: PartnerPractice;\n\n private isVisible: boolean = this.visible;\n private isLoading: boolean = true;\n private isSaving: boolean = false;\n private currentTab: number = 0;\n private showDetailsError: boolean = false;\n private latestPartnerPractice: PartnerPractice = {\n ...this.partnerPractice,\n addresses: [...this.partnerPractice.addresses],\n originalSourceTypes: [...this.partnerPractice.originalSourceTypes],\n emailAttachments: [...this.partnerPractice.emailAttachments],\n };\n\n private isAddressVisible: boolean = false;\n private isAddressEdit: boolean = false;\n private selectedAddress: PartnerPracticeAddress | null = null;\n\n private isUserVisible: boolean = false;\n private isResendUserInviteConfirmationDialogVisible: boolean = false;\n private isUnassignUserConfirmationDialogVisible: boolean = false;\n private isRestoreUserConfirmationDialogVisible: boolean = false;\n private isArchiveUserConfirmationDialogVisible: boolean = false;\n private userCurrentTab: number = 0;\n private showUserDetailsError: boolean = false;\n private selectedUser: User | null = null;\n\n private isEmailVisible: boolean = false;\n private isEmailEdit: boolean = false;\n private importEmailAttachment: boolean = false;\n private emailAttachmentFile: File | null = null;\n private selectedEmailAttachment: PartnerPracticeEmailAttachment | null = null;\n\n private get showAddressesError(): boolean {\n return this.latestPartnerPractice.addresses.length < 1;\n }\n\n private get showUserRolesError(): boolean {\n return this.selectedUser == null ? false : this.selectedUser.roles.length < 1;\n }\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.isVisible = visible;\n }\n\n private async onSaveAsync(): Promise {\n if (!(await (this.$refs.details as Vue).$validator.validateAll('partner-practice-details')) || this.latestPartnerPractice.addresses.length < 1) {\n return;\n }\n\n this.isSaving = true;\n\n try {\n await partnerPracticeApi.updatePartnerPracticeAsync({\n ...this.latestPartnerPractice,\n id: this.latestPartnerPractice.id!,\n addresses: [...this.latestPartnerPractice.addresses],\n emailAttachments: [...this.latestPartnerPractice.emailAttachments],\n originalSourceTypes: [...this.latestPartnerPractice.originalSourceTypes],\n isArchived: this.latestPartnerPractice.isArchived!,\n version: this.latestPartnerPractice.version!,\n });\n\n this.$emit('ok', { ...this.latestPartnerPractice });\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not update partner practice '${this.latestPartnerPractice.name}'. Please try again.`, type: 'is-danger' });\n }\n }\n\n this.isSaving = false;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n\n private onDetailsErrorsChanged(hasErrors: boolean): void {\n this.showDetailsError = hasErrors;\n }\n\n private async onSaveAddressAsync(): Promise {\n if (!(await (this.$refs.address as Vue).$validator.validateAll('address-details'))) {\n return;\n }\n\n this.isSaving = true;\n\n if (this.isAddressEdit) {\n const index = this.latestPartnerPractice.addresses.findIndex((address) => address.id === this.selectedAddress!.id!);\n\n if (index > -1) {\n if (this.selectedAddress!.id === 'editing') {\n this.selectedAddress!.id = null;\n }\n\n this.latestPartnerPractice.addresses.splice(index, 1, { ...this.selectedAddress! });\n } else {\n this.$snackbar.open({ message: 'Could not update address. Please try again.', type: 'is-danger' });\n }\n } else {\n this.latestPartnerPractice.addresses.push({ ...this.selectedAddress! });\n }\n\n this.isSaving = false;\n this.onCancelAddress();\n }\n\n private onAddAddress(): void {\n this.selectedAddress = createPartnerPracticeAddress();\n this.isAddressVisible = true;\n }\n\n private onEditAddress(address: PartnerPracticeAddress): void {\n if (address.id == null) {\n address.id = 'editing';\n }\n\n this.selectedAddress = { ...address };\n this.isAddressEdit = true;\n this.isAddressVisible = true;\n }\n\n private onRemoveAddress(index: number): void {\n this.latestPartnerPractice.addresses.splice(index, 1);\n this.onCancelAddress();\n }\n\n private onCancelAddress(): void {\n for (const address of this.latestPartnerPractice.addresses.filter((a) => a.id === 'editing')) {\n address.id = null;\n }\n\n this.selectedAddress = null;\n this.isAddressEdit = false;\n this.isAddressVisible = false;\n }\n\n private async fetchUsersAsync(): Promise {\n this.isLoading = true;\n\n await this.$store.dispatch(`users/loadAllUsersAsync`);\n this.latestPartnerPractice.users = this.partnerPracticeUsers(this.partnerPractice.id!);\n\n this.isLoading = false;\n }\n\n private async onSaveUserAsync(): Promise {\n const isDetailsValid = await (this.$refs.userDetails as Vue).$validator.validateAll('user-details');\n const isRolesValid = this.selectedUser!.roles.length > 0;\n const isTargetsValid = this.selectedUser!.id == null ? true : await (this.$refs.userTargets as Vue).$validator.validateAll('user-targets');\n\n if (!isDetailsValid || !isRolesValid || !isTargetsValid) {\n return;\n }\n\n this.isSaving = true;\n\n try {\n if (this.selectedUser!.id == null) {\n await userApi.createUserAsync({ ...this.selectedUser!, roles: this.selectedUser!.roles.map((role) => role.name) });\n this.$snackbar.open({ message: `User '${this.selectedUser!.email}' has been created.`, type: 'is-success' });\n } else {\n await userApi.updateUserAsync({\n ...this.selectedUser!,\n id: this.selectedUser!.id!,\n isArchived: this.selectedUser!.isArchived!,\n roles: this.selectedUser!.roles.map((role) => role.name),\n targets: [...this.selectedUser!.targets],\n version: this.selectedUser!.version!,\n });\n\n this.$snackbar.open({ message: `User '${this.selectedUser!.email}' has been updated.`, type: 'is-success' });\n }\n\n this.onCancelUser();\n await this.fetchUsersAsync();\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not ${this.selectedUser!.id == null ? 'create' : 'update'} user '${this.selectedUser!.email}'.`, type: 'is-danger' });\n }\n }\n\n this.isSaving = false;\n }\n\n private async onResendUserInviteConfirmedAsync(): Promise {\n try {\n await userApi.reinviteUserAsync({ ...this.selectedUser! });\n this.$snackbar.open({ message: `Activation e-mail sent to user '${this.selectedUser!.email}'.`, type: 'is-success' });\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not re-send activation e-mail to user '${this.selectedUser!.email}'.`, type: 'is-danger' });\n }\n }\n\n this.onCancelUser();\n await this.fetchUsersAsync();\n }\n\n private async onUnassignUserConfirmedAsync(): Promise {\n try {\n await userApi.unassignFromPartnerPracticeAsync(this.selectedUser!.id!);\n this.$snackbar.open({ message: `User '${this.selectedUser!.email}' un-assigned from partner practice '${this.latestPartnerPractice.name}'.`, type: 'is-success' });\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not un-assign user '${this.selectedUser!.email}' from partner practice '${this.latestPartnerPractice.name}'.`, type: 'is-danger' });\n }\n }\n\n this.onCancelUser();\n await this.fetchUsersAsync();\n }\n\n private async onRestoreUserConfirmedAsync(): Promise {\n try {\n await userApi.updateUserAsync({\n ...this.selectedUser!,\n id: this.selectedUser!.id!,\n isArchived: false,\n roles: this.selectedUser!.roles.map((role) => role.name),\n version: this.selectedUser!.version!,\n });\n\n this.$snackbar.open({ message: `User '${this.selectedUser!.email}' has been restored.`, type: 'is-success' });\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not restore user '${this.selectedUser!.email}'.`, type: 'is-danger' });\n }\n }\n\n this.onCancelUser();\n await this.fetchUsersAsync();\n }\n\n private async onArchiveUserConfirmedAsync(): Promise {\n try {\n await userApi.deleteUserAsync({ ...this.selectedUser! });\n this.$snackbar.open({ message: `User '${this.selectedUser!.email}' has been archived.`, type: 'is-success' });\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not archive user '${this.selectedUser!.email}'.`, type: 'is-danger' });\n }\n }\n\n this.onCancelUser();\n await this.fetchUsersAsync();\n }\n\n private onAddUser(): void {\n this.selectedUser = createUser(this.partnerPractice.id!);\n this.userCurrentTab = 0;\n this.isUserVisible = true;\n }\n\n private onEditUser(user: User): void {\n this.selectedUser = { ...user, roles: [...user.roles] };\n this.userCurrentTab = 0;\n this.isUserVisible = true;\n }\n\n private onResendUserInvite(user: User): void {\n this.selectedUser = { ...user, roles: [...user.roles] };\n this.isResendUserInviteConfirmationDialogVisible = true;\n }\n\n private onUnassignUser(user: User): void {\n this.selectedUser = { ...user, roles: [...user.roles] };\n this.isUnassignUserConfirmationDialogVisible = true;\n }\n\n private onRestoreUser(user: User): void {\n this.selectedUser = { ...user, roles: [...user.roles] };\n this.isRestoreUserConfirmationDialogVisible = true;\n }\n\n private onArchiveUser(user: User): void {\n this.selectedUser = { ...user, roles: [...user.roles] };\n this.isArchiveUserConfirmationDialogVisible = true;\n }\n\n private onCancelUser(): void {\n this.isUserVisible = false;\n this.isResendUserInviteConfirmationDialogVisible = false;\n this.isUnassignUserConfirmationDialogVisible = false;\n this.isRestoreUserConfirmationDialogVisible = false;\n this.isArchiveUserConfirmationDialogVisible = false;\n\n this.selectedUser = null;\n\n setTimeout(() => { this.currentTab = 2; }, 0);\n }\n\n private onUserDetailsErrorsChanged(hasErrors: boolean): void {\n this.showUserDetailsError = hasErrors;\n }\n\n private async onSaveEmailAttachmentAsync(): Promise {\n if (!(await (this.$refs.email as Vue).$validator.validateAll('email-attachment'))) {\n return;\n }\n\n this.isSaving = true;\n\n if (this.importEmailAttachment) {\n if (!(await this.uploadFileAsync())) {\n this.isSaving = false;\n return;\n }\n\n this.selectedEmailAttachment!.attachmentFilename = this.emailAttachmentFile!.name;\n }\n\n const extension = `.${this.selectedEmailAttachment!.attachmentFilename!.split('.').pop()}`;\n const formattedAlias = this.selectedEmailAttachment!.attachmentAlias != null && this.selectedEmailAttachment!.attachmentAlias.trim() !== ''\n ? `${this.selectedEmailAttachment!.attachmentAlias.trim()}${!this.selectedEmailAttachment!.attachmentAlias.trim().toLowerCase().endsWith(extension) ? extension : ''}`\n : null;\n\n if (this.isEmailEdit) {\n const index = this.latestPartnerPractice.emailAttachments.findIndex((email) => email.id === this.selectedEmailAttachment!.id!);\n\n if (index > -1) {\n if (this.selectedEmailAttachment!.id === 'editing') {\n this.selectedEmailAttachment!.id = null;\n }\n\n this.latestPartnerPractice.emailAttachments.splice(index, 1, { ...this.selectedEmailAttachment!, attachmentAlias: formattedAlias });\n } else {\n this.$snackbar.open({ message: 'Could not update e-mail attachment. Please try again.', type: 'is-danger' });\n }\n } else {\n this.latestPartnerPractice.emailAttachments.push({ ...this.selectedEmailAttachment!, attachmentAlias: formattedAlias });\n }\n\n await this.$store.dispatch(`attachment/fetchEmailAttachmentsAsync`);\n\n this.isSaving = false;\n this.onCancelEmailAttachment();\n }\n\n private onAddEmailAttachment(): void {\n this.selectedEmailAttachment = createPartnerPracticeEmailAttachment();\n this.importEmailAttachment = false;\n this.emailAttachmentFile = null;\n this.isEmailVisible = true;\n }\n\n private onEditEmailAttachment(attachment: PartnerPracticeEmailAttachment): void {\n if (attachment.id == null) {\n attachment.id = 'editing';\n }\n\n this.selectedEmailAttachment = { ...attachment };\n this.importEmailAttachment = false;\n this.emailAttachmentFile = null;\n this.isEmailEdit = true;\n this.isEmailVisible = true;\n }\n\n private onRemoveEmailAttachment(index: number): void {\n this.latestPartnerPractice.emailAttachments.splice(index, 1);\n this.onCancelEmailAttachment();\n }\n\n private onCancelEmailAttachment(): void {\n for (const email of this.latestPartnerPractice.emailAttachments.filter((e) => e.id === 'editing')) {\n email.id = null;\n }\n\n this.selectedEmailAttachment = null;\n this.importEmailAttachment = false;\n this.emailAttachmentFile = null;\n this.isEmailEdit = false;\n this.isEmailVisible = false;\n }\n\n private onImportEmailAttachmentChanged(importFile: boolean): void {\n this.importEmailAttachment = importFile;\n }\n\n private onEmailAttachmentFileChanged(attachmentFile: File | null): void {\n this.emailAttachmentFile = attachmentFile;\n }\n\n private async uploadFileAsync(): Promise {\n try {\n await emailAttachmentApi.emailAttachmentAsync(this.emailAttachmentFile!);\n this.$snackbar.open({ message: `Email attachment '${this.emailAttachmentFile!.name}' has been uploaded.`, type: 'is-success' });\n\n return true;\n } catch (e) {\n if (e instanceof BadRequest) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n }\n\n this.$snackbar.open({ message: `Could not upload '${this.emailAttachmentFile!.name}'. Please try again.`, type: 'is-danger' });\n\n return false;\n }\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await this.fetchUsersAsync();\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-partner-practice-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-partner-practice-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./edit-partner-practice-dialog.vue?vue&type=template&id=4438fe8c&\"\nimport script from \"./edit-partner-practice-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./edit-partner-practice-dialog.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:\"partner-practices-table\"},[_c('b-table',{attrs:{\"hover\":\"\",\"show-empty\":\"\",\"items\":_vm.partnerPractices,\"fields\":_vm.partnerPracticeFields,\"no-provider-paging\":true,\"empty-text\":\"No partner practices found.\"},scopedSlots:_vm._u([{key:\"cell(address)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm._f(\"singlelineaddress\")(item.addresses[0]))+\"\\n \")]}},{key:\"cell(status)\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.isArchived)?_c('b-badge',{attrs:{\"variant\":\"danger\"}},[_vm._v(\"Archived\")]):_c('b-badge',{attrs:{\"variant\":\"success\"}},[_vm._v(\"Active\")])]}},{key:\"cell(actions)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._t(\"actions\",null,{\"partnerPractice\":item})]}}],null,true)}),_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.total,\"per-page\":_vm.pageSize},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}),_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))])],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\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class PartnerPracticesTable extends Vue {\n @Prop({ required: true }) private partnerPractices!: Array;\n @Prop({ required: true }) private page!: number;\n @Prop({ required: true }) private pageSize!: number;\n @Prop({ required: true }) private total!: number;\n\n private currentPage: number = this.page;\n\n private get partnerPracticeFields(): Array<{}> {\n return [\n { key: 'name', label: 'Name' },\n { key: 'address', label: 'Address' },\n { key: 'email', label: 'Email' },\n { key: 'telephone', label: 'Telephone' },\n { key: 'status', label: 'Status' },\n { key: 'actions', label: '', class: 'col-1', tdClass: 'text-right' },\n ];\n }\n\n private get paginationDescription(): string {\n const start = this.partnerPractices.length < 1 ? 0 : ((this.currentPage - 1) * this.pageSize) + 1;\n const end = start + this.pageSize > this.total ? this.total : start + this.pageSize - 1;\n\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.total.toLocaleString()}`;\n }\n\n @Watch('page')\n private onPageChanged(page: number): void {\n this.currentPage = page;\n }\n\n @Watch('currentPage')\n private onCurrentPageChanged(): void {\n this.$emit('page-changed', this.currentPage);\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./partner-practices-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./partner-practices-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./partner-practices-table.vue?vue&type=template&id=da233684&\"\nimport script from \"./partner-practices-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./partner-practices-table.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\nimport { PartnerPracticeApi } from '@/api/partner-practice';\nimport loading from '@/components/loading.vue';\nimport addPartnerPracticeDialog from '@/components/settings/partner-practices/add-partner-practice-dialog.vue';\nimport editPartnerPracticeDialog from '@/components/settings/partner-practices/edit-partner-practice-dialog.vue';\nimport partnerPracticesTable from '@/components/settings/partner-practices/partner-practices-table.vue';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { Component, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst userModule = namespace('user');\nconst partnerPracticeApi = new PartnerPracticeApi();\n\n@Component({\n components: {\n loading,\n addPartnerPracticeDialog,\n editPartnerPracticeDialog,\n partnerPracticesTable,\n },\n})\nexport default class PartnerPractices extends Vue {\n @userModule.Getter('isAdministrator') private isAdministrator!: boolean;\n\n private isLoading: boolean = true;\n private currentPage: number = 1;\n private pageSize: number = 25;\n private total: number = 0;\n private partnerPractices: Array = new Array();\n private selectedPartnerPractice: PartnerPractice | null = null;\n private nameFilter: string | null = null;\n private statusFilter: number = 1;\n private addPartnerPracticeDialogVisible: boolean = false;\n private editPartnerPracticeDialogVisible: boolean = false;\n private restoreConfirmationDialogVisible: boolean = false;\n private archiveConfirmationDialogVisible: boolean = false;\n private statuses: Array<{ id: number, value: string }> = [\n { id: 0, value: 'All' },\n { id: 1, value: 'Active' },\n { id: 2, value: 'Archived' },\n ];\n\n private async fetchPartnerPracticesAsync(): Promise {\n this.isLoading = true;\n\n try {\n const result = await partnerPracticeApi.getPartnerPracticesAsync({\n page: this.currentPage,\n pageSize: this.pageSize,\n name: this.nameFilter,\n status: this.statusFilter,\n });\n\n this.partnerPractices = result.partnerPractices;\n this.total = result.total;\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not load partner practices.', type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private async onPageChangedAsync(page: number): Promise {\n this.currentPage = page;\n await this.fetchPartnerPracticesAsync();\n }\n\n private async onPartnerPracticeCreatedAsync(partnerPractice: PartnerPractice): Promise {\n this.$snackbar.open({ message: `Partner practice '${partnerPractice.name}' has been created.`, type: 'is-success' });\n\n this.onCancel();\n await this.fetchPartnerPracticesAsync();\n }\n\n private async onPartnerPracticeUpdatedAsync(partnerPractice: PartnerPractice): Promise {\n this.$snackbar.open({ message: `Partner practice '${partnerPractice.name}' has been updated.`, type: 'is-success' });\n\n this.onCancel();\n await this.fetchPartnerPracticesAsync();\n }\n\n private async onRestorePartnerPracticeConfirmedAsync(): Promise {\n try {\n await partnerPracticeApi.updatePartnerPracticeAsync({\n ...this.selectedPartnerPractice!,\n id: this.selectedPartnerPractice!.id!,\n addresses: [...this.selectedPartnerPractice!.addresses],\n emailAttachments: [...this.selectedPartnerPractice!.emailAttachments],\n originalSourceTypes: [...this.selectedPartnerPractice!.originalSourceTypes.map((type) => type)],\n isArchived: false,\n version: this.selectedPartnerPractice!.version!,\n });\n\n this.$snackbar.open({ message: `Partner practice '${this.selectedPartnerPractice!.name}' has been restored.`, type: 'is-success' });\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not restore partner practice '${this.selectedPartnerPractice!.name}'.`, type: 'is-danger' });\n }\n }\n\n this.onCancel();\n await this.fetchPartnerPracticesAsync();\n }\n\n private async onArchivePartnerPracticeConfirmedAsync(): Promise {\n try {\n await partnerPracticeApi.deletePartnerPracticeAsync(this.selectedPartnerPractice!);\n this.$snackbar.open({ message: `Partner practice '${this.selectedPartnerPractice!.name}' has been archived.`, type: 'is-success' });\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not archive partner practice '${this.selectedPartnerPractice!.name}'.`, type: 'is-danger' });\n }\n }\n\n this.onCancel();\n await this.fetchPartnerPracticesAsync();\n }\n\n private onAddPartnerPractice(): void {\n this.selectedPartnerPractice = null;\n this.addPartnerPracticeDialogVisible = true;\n }\n\n private onEditPartnerPractice(partnerPractice: PartnerPractice): void {\n this.selectedPartnerPractice = { ...partnerPractice };\n this.editPartnerPracticeDialogVisible = true;\n }\n\n private onRestorePartnerPractice(partnerPractice: PartnerPractice): void {\n this.selectedPartnerPractice = { ...partnerPractice };\n this.restoreConfirmationDialogVisible = true;\n }\n\n private onArchivePartnerPractice(partnerPractice: PartnerPractice): void {\n this.selectedPartnerPractice = { ...partnerPractice };\n this.archiveConfirmationDialogVisible = true;\n }\n\n private onCancel(): void {\n this.addPartnerPracticeDialogVisible = false;\n this.editPartnerPracticeDialogVisible = false;\n this.restoreConfirmationDialogVisible = false;\n this.archiveConfirmationDialogVisible = false;\n\n this.selectedPartnerPractice = null;\n }\n\n private clearFilters(): void {\n this.nameFilter = null;\n this.statusFilter = 1;\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n const store = [\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`users/loadRolesAsync`),\n ];\n\n await Promise.all(store);\n\n await this.fetchPartnerPracticesAsync();\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./partner-practices.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./partner-practices.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./partner-practices.vue?vue&type=template&id=2d3a7513&\"\nimport script from \"./partner-practices.vue?vue&type=script&lang=ts&\"\nexport * from \"./partner-practices.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:\"system-settings\"},[_vm._m(0),_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading, please wait...\")]),_c('div',{staticClass:\"col\"},[_c('b-table',{attrs:{\"show-empty\":\"\",\"items\":_vm.systemSettings,\"fields\":_vm.systemSettingFields,\"np-provider-paging\":true,\"empty-text\":\"No system options found.\"},scopedSlots:_vm._u([{key:\"cell(value)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(item.value)+\" days\\n \")]}},{key:\"cell(actions)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-btn',{attrs:{\"size\":\"sm\"},on:{\"click\":function($event){return _vm.onEditSetting(item)}}},[_vm._v(\"Edit\")])]}}])})],1)],1),(_vm.selectedSetting != null && _vm.editSettingDialogVisible)?_c('edit-system-setting-dialog',{attrs:{\"visible\":_vm.editSettingDialogVisible,\"system-setting\":_vm.selectedSetting},on:{\"ok\":_vm.onSaveAsync,\"cancel\":_vm.onCancel}}):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row pb-3 align-items-center justify-content-between\"},[_c('div',{staticClass:\"col\"},[_c('h2',[_vm._v(\"System Settings\")])])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"edit-system-setting-dialog\"},[_c('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Edit System Setting\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"edit-setting\"},[_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"value\"}},[_vm._v(_vm._s(_vm.systemSetting.name))]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"day(s)\")])]},proxy:true}])},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.systemSetting.value),expression:\"systemSetting.value\"},{name:\"validate\",rawName:\"v-validate\",value:('required|numeric'),expression:\"'required|numeric'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('value') },attrs:{\"type\":\"text\",\"name\":\"value\",\"id\":\"value\",\"data-vv-as\":_vm.systemSetting.name},domProps:{\"value\":(_vm.systemSetting.value)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.systemSetting, \"value\", $event.target.value)}}})]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('value')),expression:\"errors.has('value')\"}],staticClass:\"invalid-value\"},[_vm._v(_vm._s(_vm.errors.first('value')))])],1)])])]),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onSaveAsync}},[_vm._v(\"Save\")])],1)],2)],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\nimport { SystemSetting } from '@/shared/system-setting';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class EditSystemSettingDialog extends Vue {\n @Prop({ required: true }) private visible!: boolean;\n @Prop({ required: true }) private systemSetting!: SystemSetting;\n\n private isVisible: boolean = this.visible;\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.isVisible = visible;\n }\n\n private async onSaveAsync(): Promise {\n const isValid = await this.$validator.validateAll();\n\n if (!isValid) {\n return;\n }\n\n this.$emit('ok', { ...this.systemSetting });\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-system-setting-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-system-setting-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./edit-system-setting-dialog.vue?vue&type=template&id=2fefdd86&\"\nimport script from \"./edit-system-setting-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./edit-system-setting-dialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./edit-system-setting-dialog.vue?vue&type=style&index=0&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 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\nimport loading from '@/components/loading.vue';\nimport editSystemSettingDialog from '@/components/settings/system-settings/edit-system-setting-dialog.vue';\nimport { SystemSetting } from '@/shared/system-setting';\nimport { Component, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst settingsModule = namespace('settings');\n\n@Component({\n components: {\n editSystemSettingDialog,\n loading,\n },\n})\nexport default class SystemSettings extends Vue {\n @settingsModule.Getter('systemSettings') private systemSettings!: Array;\n\n private isLoading: boolean = true;\n private selectedSetting: SystemSetting | null = null;\n private editSettingDialogVisible: boolean = false;\n\n private get systemSettingFields(): Array<{}> {\n return [\n { key: 'name', label: 'Setting' },\n { key: 'value', label: 'Value' },\n { key: 'actions', label: '', class: 'col-1', tdClass: 'text-right' },\n ];\n }\n\n private onEditSetting(item: SystemSetting): void {\n this.selectedSetting = { ...item };\n this.editSettingDialogVisible = true;\n }\n\n private async onSaveAsync(item: SystemSetting): Promise {\n try {\n await this.$store.dispatch(`settings/updateSystemSettingAsync`, { ...item });\n this.$snackbar.open({ message: `'${item.name}' has been successfully updated.`, type: 'is-success' });\n\n this.selectedSetting = null;\n this.editSettingDialogVisible = false;\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not update '${item.name}'. Please try again.`, type: 'is-danger' });\n }\n }\n }\n\n private onCancel(): void {\n this.selectedSetting = null;\n this.editSettingDialogVisible = false;\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await this.$store.dispatch(`settings/loadSystemSettingsAsync`);\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./system-settings.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./system-settings.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./system-settings.vue?vue&type=template&id=3bdc19db&\"\nimport script from \"./system-settings.vue?vue&type=script&lang=ts&\"\nexport * from \"./system-settings.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:\"types\"},[_c('div',{staticClass:\"row pb-3 align-items-center justify-content-between\"},[_vm._m(0),_c('div',{staticClass:\"col text-right\"},[_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.addNewItem}},[_c('div',{staticClass:\"feather-container\"},[_c('svg',{staticClass:\"feather feather-icon-left feather-plus-circle\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('circle',{attrs:{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"16\"}}),_c('line',{attrs:{\"x1\":\"8\",\"y1\":\"12\",\"x2\":\"16\",\"y2\":\"12\"}})]),_c('span',{staticClass:\"feather-text\"},[_vm._v(\"Add Type\")])])])],1)]),_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading, please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-sm-3\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"categoryFilter\"}},[_vm._v(\"Category:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.categoryFilter),expression:\"categoryFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"categoryFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.categoryFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.categories),function(category){return _c('option',{key:category,domProps:{\"value\":category}},[_vm._v(_vm._s(category))])}),0)])]),_c('div',{staticClass:\"col-sm-3\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"typeFilter\"}},[_vm._v(\"Type:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.typeIdFilter),expression:\"typeIdFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"typeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.typeIdFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.typesForCategory(_vm.categoryFilter)),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.title))])}),0)])]),_c('div',{staticClass:\"col-sm-3\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"statusFilter\"}},[_vm._v(\"Status:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.statusFilter),expression:\"statusFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"statusFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.statusFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.statuses),function(status){return _c('option',{key:status.id,domProps:{\"value\":status.id}},[_vm._v(_vm._s(status.title))])}),0)])])]),_c('div',{staticClass:\"row pt-3 align-items-center\"},[_c('div',{staticClass:\"col\"},[(_vm.filteredTypeValues == null || !_vm.filteredTypeValues.length)?_c('div',{staticClass:\"text-center border-top\"},[_vm._v(\"\\n No items found\\n \")]):_vm._e(),_c('draggable',{staticClass:\"draggable-list-group\",attrs:{\"handle\":\".drag-handle\"},on:{\"end\":_vm.onReorderedAsync},model:{value:(_vm.selectedTypeValues),callback:function ($$v) {_vm.selectedTypeValues=$$v},expression:\"selectedTypeValues\"}},_vm._l((_vm.selectedTypeValues),function(item,index){return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.filteredTypeValues.includes(item)),expression:\"filteredTypeValues.includes(item)\"}],key:index,staticClass:\"list-group-item justify-content-between align-items-center\"},[_c('div',{staticClass:\"feather-container\"},[_c('svg',{staticClass:\"feather feather-icon-left feather-menu drag-handle\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('line',{attrs:{\"x1\":\"3\",\"y1\":\"12\",\"x2\":\"21\",\"y2\":\"12\"}}),_c('line',{attrs:{\"x1\":\"3\",\"y1\":\"6\",\"x2\":\"21\",\"y2\":\"6\"}}),_c('line',{attrs:{\"x1\":\"3\",\"y1\":\"18\",\"x2\":\"21\",\"y2\":\"18\"}})]),(item.isArchived)?_c('span',{staticClass:\"feather-text\"},[_c('strike',[_vm._v(_vm._s(item.value))])],1):_c('span',{staticClass:\"feather-text\"},[_vm._v(_vm._s(item.value))])]),_c('div',[_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[(item.isArchived)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.restoreItem(item)}}},[_vm._v(\"Restore\")]):_vm._e(),(!item.isArchived)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.editItem(item)}}},[_vm._v(\"Edit\")]):_vm._e(),(!item.isArchived)?_c('b-dropdown-divider'):_vm._e(),(!item.isArchived)?_c('b-dropdown-item',{staticClass:\"text-danger\",on:{\"click\":function($event){return _vm.archiveItem(item)}}},[_vm._v(\"Archive\")]):_vm._e()],1)],1)])}),0)],1)])])],1),(_vm.addTypeDialogVisible)?_c('add-type-dialog',{attrs:{\"visible\":_vm.addTypeDialogVisible,\"options\":_vm.selectedTypeOptions},on:{\"ok\":_vm.onAddAsync,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.selectedTypeValue != null && _vm.editTypeDialogVisible)?_c('edit-type-dialog',{attrs:{\"visible\":_vm.editTypeDialogVisible,\"type\":_vm.selectedTypeValue,\"options\":_vm.selectedTypeOptions},on:{\"ok\":_vm.onEditAsync,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.selectedTypeValue != null && _vm.deleteConfirmationDialogVisible)?_c('confirmation-dialog',{attrs:{\"variant\":\"danger\",\"ok-text\":\"Archive\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true,\"centered\":\"\"},on:{\"ok\":_vm.onArchiveAsync,\"cancel\":_vm.onCancel},model:{value:(_vm.deleteConfirmationDialogVisible),callback:function ($$v) {_vm.deleteConfirmationDialogVisible=$$v},expression:\"deleteConfirmationDialogVisible\"}},[_c('div',[_vm._v(\"Are you sure you want to archive '\"+_vm._s(_vm.selectedTypeValue.value)+\"'?\")])]):_vm._e(),(_vm.selectedTypeValue != null && _vm.restoreConfirmationDialogVisible)?_c('confirmation-dialog',{attrs:{\"ok-text\":\"Restore\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true,\"centered\":\"\"},on:{\"ok\":_vm.onRestoreAsync,\"cancel\":_vm.onCancel},model:{value:(_vm.restoreConfirmationDialogVisible),callback:function ($$v) {_vm.restoreConfirmationDialogVisible=$$v},expression:\"restoreConfirmationDialogVisible\"}},[_c('div',[_vm._v(\"Are you sure you want to restore '\"+_vm._s(_vm.selectedTypeValue.value)+\"'?\")])]):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col\"},[_c('h2',[_vm._v(\"Types\")])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"add-type-dialog\"},[_c('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Add Type\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"value\"}},[_vm._v(\"Value\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('value') },attrs:{\"type\":\"text\",\"data-vv-as\":\"value\",\"name\":\"value\"},domProps:{\"value\":(_vm.value)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.value=$event.target.value}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('value')),expression:\"errors.has('value')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('value')))])]),(_vm.uniqueOptions != null && _vm.uniqueOptions.length)?_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('b-form-checkbox-group',{attrs:{\"options\":_vm.uniqueOptions,\"plain\":\"\",\"stacked\":\"\"},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}}),_c('hr'),_c('small',{staticClass:\"form-text text-muted\"},[_vm._v(\"*Only one of the above options can be selected per type value.\")])],1)]):_vm._e(),(_vm.nonUniqueOptions != null && _vm.nonUniqueOptions.length)?_c('div',{staticClass:\"form-group\"},[_c('b-form-checkbox-group',{attrs:{\"options\":_vm.nonUniqueOptions,\"plain\":\"\",\"stacked\":\"\"},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}})],1):_vm._e(),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onAddAsync}},[_vm._v(\"Add\")])],1)],2)],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\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class AddTypeDialog extends Vue {\n @Prop({ required: true }) public visible!: boolean;\n @Prop({ required: false, default: [] }) public options!: Array<{ text: string, value: string, unique: boolean }>;\n\n private isVisible: boolean = this.visible;\n private value: string | null = '';\n private selected: Array = [];\n\n private get uniqueOptions(): Array<{ text: string, value: string, disabled: boolean }> {\n if (this.options == null || !this.options.length) {\n return [];\n }\n\n const result = this.options.filter((o) => o.unique);\n const current = result.filter((r) => this.selected.includes(r.value));\n\n return result.map((r) => {\n return {\n text: r.text,\n value: r.value,\n disabled: current.some((c) => c.value !== r.value),\n };\n });\n }\n\n private get nonUniqueOptions(): Array<{ text: string, value: string }> {\n if (this.options == null || !this.options.length) {\n return [];\n }\n\n return this.options.filter((o) => !o.unique);\n }\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean) {\n this.isVisible = visible;\n this.value = '';\n }\n\n private async onAddAsync(): Promise {\n const isValid = await this.$validator.validateAll();\n\n if (!isValid) {\n return;\n }\n\n if (this.options == null || !this.options.length) {\n this.$emit('ok', { value: this.value });\n return;\n }\n\n const optionsObj: any = {};\n for (const option of this.options) {\n optionsObj[option.value] = (this.selected.some((o) => o === option.value));\n }\n\n this.$emit('ok', { value: this.value, ...optionsObj });\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-type-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-type-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./add-type-dialog.vue?vue&type=template&id=8ff1c0b2&\"\nimport script from \"./add-type-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./add-type-dialog.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:\"edit-type-dialog\"},[_c('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Edit Type\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"value\"}},[_vm._v(\"Value\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.type.value),expression:\"type.value\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('value') },attrs:{\"type\":\"text\",\"data-vv-as\":\"value\",\"name\":\"value\"},domProps:{\"value\":(_vm.type.value)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.type, \"value\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('value')),expression:\"errors.has('value')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('value')))])]),(_vm.uniqueOptions != null && _vm.uniqueOptions.length)?_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('b-form-checkbox-group',{attrs:{\"options\":_vm.uniqueOptions,\"plain\":\"\",\"stacked\":\"\"},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}}),_c('hr'),_c('small',{staticClass:\"form-text text-muted\"},[_vm._v(\"*Only one of the above options can be selected per type value.\")])],1)]):_vm._e(),(_vm.nonUniqueOptions != null && _vm.nonUniqueOptions.length)?_c('div',{staticClass:\"form-group\"},[_c('b-form-checkbox-group',{attrs:{\"options\":_vm.nonUniqueOptions,\"plain\":\"\",\"stacked\":\"\"},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}})],1):_vm._e(),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onSaveAsync}},[_vm._v(\"Save\")])],1)],2)],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\nimport { GenericType } from '@/shared/types/generic-type';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class EditTypeDialog extends Vue {\n @Prop({ required: true }) public visible!: boolean;\n @Prop({ required: true }) public type!: GenericType;\n @Prop({ required: false, default: [] }) public options!: Array<{ text: string, value: string, unique: boolean }>;\n\n private isVisible: boolean = this.visible;\n private selected: Array = [];\n\n private get uniqueOptions(): Array<{ text: string, value: string, disabled: boolean }> {\n if (this.options == null || !this.options.length) {\n return [];\n }\n\n const result = this.options.filter((o) => o.unique);\n const current = result.filter((r) => this.selected.includes(r.value));\n\n return result.map((r) => {\n return {\n text: r.text,\n value: r.value,\n disabled: current.some((c) => c.value !== r.value),\n };\n });\n }\n\n private get nonUniqueOptions(): Array<{ text: string, value: string }> {\n if (this.options == null || !this.options.length) {\n return [];\n }\n\n return this.options.filter((o) => !o.unique);\n }\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.isVisible = visible;\n }\n\n @Watch('options', { immediate: true })\n private onOptionsChanged(): void {\n if (this.options == null || !this.options.length) {\n return;\n }\n\n const annoymousType: any = { ...this.type };\n\n for (const option of this.options) {\n if (!annoymousType[option.value]) {\n continue;\n }\n\n this.selected.push(option.value);\n }\n }\n\n private async onSaveAsync(): Promise {\n const isValid = await this.$validator.validateAll();\n\n if (!isValid) {\n return;\n }\n\n if (this.options == null || !this.options.length) {\n this.$emit('ok', { ...this.type });\n return;\n }\n\n const optionsObj: any = {};\n for (const option of this.options) {\n optionsObj[option.value] = (this.selected.some((o) => o === option.value));\n }\n\n this.$emit('ok', { ...this.type, ...optionsObj });\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-type-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-type-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./edit-type-dialog.vue?vue&type=template&id=7a8a8392&\"\nimport script from \"./edit-type-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./edit-type-dialog.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\nimport loading from '@/components/loading.vue';\nimport addTypeDialog from '@/components/settings/types/add-type-dialog.vue';\nimport editTypeDialog from '@/components/settings/types/edit-type-dialog.vue';\nimport { AdditionalDocumentType } from '@/shared/types/additional-document-type';\nimport { AppointmentCancellationType } from '@/shared/types/appointment-cancellation-type';\nimport { AppointmentExecutorType } from '@/shared/types/appointment-executor-type';\nimport { AppointmentNoInstructionType } from '@/shared/types/appointment-no-instruction-type';\nimport { AppointmentOutcomeType } from '@/shared/types/appointment-outcome-type';\nimport { AppointmentPaymentStatusType } from '@/shared/types/appointment-payment-status-type';\nimport { AppointmentProductType } from '@/shared/types/appointment-product-type';\nimport { AppointmentReasonType } from '@/shared/types/appointment-reason-type';\nimport { AppointmentType } from '@/shared/types/appointment-type';\nimport { ClientOriginalSourceType } from '@/shared/types/client-original-source-type';\nimport { ClientRelationshipType } from '@/shared/types/client-relationship-type';\nimport { ClientStatusType } from '@/shared/types/client-status-type';\nimport { ClientTitleType } from '@/shared/types/client-title-type';\nimport { GenericType } from '@/shared/types/generic-type';\nimport { InteractionLetterType } from '@/shared/types/interaction-letter-type';\nimport { InteractionOutcomeType } from '@/shared/types/interaction-outcome-type';\nimport { InteractionType } from '@/shared/types/interaction-type';\nimport { PowerOfAttorneyType } from '@/shared/types/power-of-attorney-type';\nimport { WillType } from '@/shared/types/will-type';\nimport { camelCase } from '@/string-utilities';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\n// @ts-ignore\nimport draggable from 'vuedraggable';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\n\n@Component({\n components: {\n loading,\n addTypeDialog,\n editTypeDialog,\n draggable,\n },\n})\nexport default class Types extends Vue {\n @typesModule.Getter('additionalDocumentTypes') public additionalDocumentTypes!: Array;\n @typesModule.Getter('appointmentCancellationTypes') public appointmentCancellationTypes!: Array;\n @typesModule.Getter('appointmentExecutorTypes') public appointmentExecutorTypes!: Array;\n @typesModule.Getter('appointmentReasonTypes') public appointmentReasonTypes!: Array;\n @typesModule.Getter('appointmentNoInstructionTypes') public appointmentNoInstructionTypes!: Array;\n @typesModule.Getter('appointmentOutcomeTypes') public appointmentOutcomeTypes!: Array;\n @typesModule.Getter('appointmentPaymentStatusTypes') public appointmentPaymentStatusTypes!: Array;\n @typesModule.Getter('appointmentProductTypes') public appointmentProductTypes!: Array;\n @typesModule.Getter('appointmentTypes') public appointmentTypes!: Array;\n @typesModule.Getter('clientOriginalSourceTypes') public clientOriginalSourceTypes!: Array;\n @typesModule.Getter('clientRelationshipTypes') public clientRelationshipTypes!: Array;\n @typesModule.Getter('clientStatusTypes') public clientStatusTypes!: Array;\n @typesModule.Getter('clientTitleTypes') public clientTitleTypes!: Array;\n @typesModule.Getter('interactionLetterTypes') public interactionLetterTypes!: Array;\n @typesModule.Getter('interactionOutcomeTypes') public interactionOutcomeTypes!: Array;\n @typesModule.Getter('interactionTypes') public interactionTypes!: Array;\n @typesModule.Getter('powerOfAttorneyTypes') public powerOfAttorneyTypes!: Array;\n @typesModule.Getter('willTypes') public willTypes!: Array;\n\n private categories: Array = [\n 'Appointment',\n 'Client',\n 'Interaction',\n 'Will',\n 'Power of Attorney',\n ];\n\n private types: Array<{ category: string, id: string, title: string, options?: Array<{ text: string, value: string, unique: boolean }> }> = [\n {\n category: 'Appointment', id: 'appointment', title: 'Appointment Types', options: [\n { text: 'Is Location Required', value: 'isLocationRequired', unique: false },\n { text: 'Is Initial Appointment', value: 'isInitialAppointment', unique: true },\n { text: 'Is Signing Appointment', value: 'isSigningAppointment', unique: true },\n ],\n },\n {\n category: 'Appointment', id: 'appointment cancellation', title: 'Appointment Cancellation Types', options: [\n { text: 'Is No Longer Interested', value: 'isNoLongerInterested', unique: true },\n { text: 'Is Additional Commitments', value: 'isAdditionalCommitments', unique: true },\n { text: 'Is Sickness', value: 'isSickness', unique: true },\n ],\n },\n {\n category: 'Appointment', id: 'appointment executor', title: 'Appointment Executor Types', options: [\n { text: 'Is Professional Executor', value: 'isProfessionalExecutor', unique: false },\n ],\n },\n { category: 'Appointment', id: 'appointment no instruction', title: 'Appointment No Instruction Types' },\n {\n category: 'Appointment', id: 'appointment outcome', title: 'Appointment Outcome Types', options: [\n { text: 'Is Sat', value: 'isSat', unique: false },\n { text: 'Is Not Sat', value: 'isNotSat', unique: false },\n { text: 'Is Cancelled', value: 'isCancelled', unique: false },\n ],\n },\n {\n category: 'Appointment', id: 'appointment payment status', title: 'Appointment Payment Status Types', options: [\n { text: 'Is Signing Pending', value: 'isSigningPending', unique: true },\n { text: 'Is Signing Booked', value: 'isSigningBooked', unique: true },\n { text: 'Is Banked', value: 'isBanked', unique: true },\n { text: 'Is Cleared', value: 'isCleared', unique: true },\n { text: 'Is Part Payment', value: 'isPartPayment', unique: true },\n { text: 'Is Debtor', value: 'isDebtor', unique: true },\n { text: 'Is No Longer Proceeding', value: 'isNoLongerProceeding', unique: true },\n { text: 'Is Written Off', value: 'isWrittenOff', unique: true },\n { text: 'Is Complete', value: 'isComplete', unique: false },\n { text: 'Is Admin Only', value: 'isAdminOnly', unique: false },\n ],\n },\n {\n category: 'Appointment', id: 'appointment product', title: 'Appointment Product Types', options: [\n { text: 'Is Will', value: 'isWill', unique: true },\n { text: 'Is LPA', value: 'isLpa', unique: true },\n ],\n },\n { category: 'Appointment', id: 'appointment reason', title: 'Appointment Reason Types' },\n {\n category: 'Client', id: 'additional document', title: 'Additional Document Types', options: [\n { text: 'Is Other Text Required', value: 'isOtherTextRequired', unique: false },\n ],\n },\n {\n category: 'Client', id: 'client original source', title: 'Client Introducer Types', options: [\n { text: 'Is Valid For RLG Data', value: 'isValidForAcquisition', unique: false },\n ],\n },\n { category: 'Client', id: 'client relationship', title: 'Client Relationship Types' },\n {\n category: 'Client', id: 'client status', title: 'Client Status Types', options: [\n { text: 'Is Client', value: 'isClient', unique: true },\n { text: 'Is Lead', value: 'isLead', unique: true },\n { text: 'Is Business Will Client', value: 'isBusinessWillClient', unique: true },\n { text: 'Is Deceased', value: 'isDeceased', unique: true },\n { text: 'Is Archived', value: 'isAccountArchived', unique: true },\n ],\n },\n { category: 'Client', id: 'client title', title: 'Client Title Types' },\n {\n category: 'Interaction', id: 'interaction', title: 'Interaction Types', options: [\n { text: 'Is Call Outcome Required', value: 'isCallOutcomeRequired', unique: false },\n { text: 'Is Letter Type Required', value: 'isLetterTypeRequired', unique: false },\n { text: 'Is LFTSY', value: 'isLFTSY', unique: true },\n { text: 'Is Call Made', value: 'isCallMade', unique: true },\n { text: 'Is Call Received', value: 'isCallReceived', unique: true },\n ],\n },\n {\n category: 'Interaction', id: 'interaction letter', title: 'Interaction Letter Types', options: [\n { text: 'Is First Contact', value: 'isFirstContact', unique: true },\n { text: 'Is Second Contact', value: 'isSecondContact', unique: true },\n { text: 'Is Third Contact', value: 'isThirdContact', unique: true },\n ],\n },\n {\n category: 'Interaction', id: 'interaction outcome', title: 'Interaction Outcome Types', options: [\n { text: 'Is Call Made Outcome', value: 'isCallMadeOutcome', unique: false },\n { text: 'Is Call Received Outcome', value: 'isCallReceivedOutcome', unique: false },\n { text: 'Is LFTSY Outcome', value: 'isLFTSYOutcome', unique: false },\n { text: 'Is Callback', value: 'isCallback', unique: false },\n { text: 'Is Appointment Booked', value: 'isAppointmentBooked', unique: false },\n { text: 'Is Appointment Re-booked', value: 'isAppointmentRebooked', unique: false },\n { text: 'Is Appointment Confirmed', value: 'isAppointmentConfirmed', unique: false },\n { text: 'Is Appointment Cancelled', value: 'isAppointmentCancelled', unique: false },\n { text: 'Is Deceased', value: 'isDeceased', unique: false },\n { text: 'Is Unable to Contact', value: 'isUnableToContact', unique: true },\n { text: 'Is Do Not Contact', value: 'isDoNotContact', unique: true },\n { text: 'Is Allow Contact', value: 'isAllowContact', unique: true },\n { text: 'Is Call in Two Years', value: 'isCallInTwoYears', unique: true },\n { text: 'Is Wrong Number', value: 'isWrongNumber', unique: true },\n { text: 'Is Will Void', value: 'isWillVoid', unique: true },\n { text: 'Is Will Released', value: 'isWillReleased', unique: true },\n ],\n },\n { category: 'Will', id: 'will', title: 'Will Types' },\n {\n category: 'Power of Attorney', id: 'power of attorney', title: 'Power of Attorney Types', options: [\n { text: 'Is Exclusive', value: 'isExclusive', unique: true },\n { text: 'Is Unknown', value: 'isUnknown', unique: true },\n ],\n },\n ];\n\n private statuses: Array<{ id: number, title: string }> = [\n { id: 0, title: 'All' },\n { id: 1, title: 'Active' },\n { id: 2, title: 'Archived' },\n ];\n\n private isLoading: boolean = true;\n private categoryFilter: string = 'Appointment';\n private typeIdFilter: string | null = 'appointment';\n private statusFilter: number = 1;\n private selectedTypeValues: Array = [];\n private selectedTypeValue: GenericType | null = null;\n private selectedTypeOptions: Array<{ text: string, value: string }> = [];\n private addTypeDialogVisible: boolean = false;\n private editTypeDialogVisible: boolean = false;\n private deleteConfirmationDialogVisible: boolean = false;\n private restoreConfirmationDialogVisible: boolean = false;\n\n private get filteredTypeValues(): Array {\n switch (this.statusFilter) {\n case 1:\n return this.selectedTypeValues.filter((v) => !v.isArchived);\n case 2:\n return this.selectedTypeValues.filter((v) => v.isArchived);\n default:\n return this.selectedTypeValues;\n }\n }\n\n @Watch('additionalDocumentTypes')\n private onAdditionalDocumentTypesChanged(newValues: Array): void {\n this.selectedTypeValues = [...newValues];\n }\n\n @Watch('appointmentCancellationTypes')\n private onAppointmentCancellTypesChanged(newValues: Array): void {\n this.selectedTypeValues = [...newValues];\n }\n\n @Watch('appointmentExecutorTypes')\n private onAppointmentExecutorTypesChanged(newValues: Array): void {\n this.selectedTypeValues = [...newValues];\n }\n\n @Watch('appointmentReasonTypes')\n private onAppointmentReasonTypesChanged(newValues: Array): void {\n this.selectedTypeValues = [...newValues];\n }\n\n @Watch('appointmentNoInstructionTypes')\n private onAppointmentNoInstructionTypesChanged(newValues: Array): void {\n this.selectedTypeValues = [...newValues];\n }\n\n @Watch('appointmentOutcomeTypes')\n private onAppointmentOutcomeTypesChanged(newValues: Array): void {\n this.selectedTypeValues = [...newValues];\n }\n\n @Watch('appointmentPaymentStatusTypes')\n private onAppointmentPaymentStatusTypesChanged(newValues: Array): void {\n this.selectedTypeValues = [...newValues];\n }\n\n @Watch('appointmentProductTypes')\n private onAppointmentProductTypesChanged(newValues: Array): void {\n this.selectedTypeValues = [...newValues];\n }\n\n @Watch('appointmentTypes')\n private onAppointmentTypesChanged(newValues: Array): void {\n this.selectedTypeValues = [...newValues];\n }\n\n @Watch('clientOriginalSourceTypes')\n private onClientOriginalSourceTypesChanged(newValues: Array): void {\n this.selectedTypeValues = [...newValues];\n }\n\n @Watch('clientRelationshipTypes')\n private onClientRelationshipTypesChanged(newValues: Array): void {\n this.selectedTypeValues = [...newValues];\n }\n\n @Watch('clientStatusTypes')\n private onClientStatusTypesChanged(newValues: Array): void {\n this.selectedTypeValues = [...newValues];\n }\n\n @Watch('clientTitleTypes')\n private onClientTitleTypesChanged(newValues: Array): void {\n this.selectedTypeValues = [...newValues];\n }\n\n @Watch('interactionLetterTypes')\n private onInteractionLetterTypesChanged(newValues: Array): void {\n this.selectedTypeValues = [...newValues];\n }\n\n @Watch('interactionOutcomeTypes')\n private onInteractionOutcomeTypesChanged(newValues: Array): void {\n this.selectedTypeValues = [...newValues];\n }\n\n @Watch('interactionTypes')\n private onInteractionTypesChanged(newValues: Array): void {\n this.selectedTypeValues = [...newValues];\n }\n\n @Watch('willTypes')\n private onWillTypesChanged(newValues: Array): void {\n this.selectedTypeValues = [...newValues];\n }\n\n @Watch('powerOfAttorneyTypes')\n private onPowerOfAttorneyTypesChanged(newValues: Array): void {\n this.selectedTypeValues = [...newValues];\n }\n\n @Watch('categoryFilter')\n private onCategoryFilterChanged(newValue: string): void {\n const types = this.typesForCategory(newValue);\n this.typeIdFilter = types == null || !types.length ? null : types[0].id;\n }\n\n @Watch('typeIdFilter')\n private async onTypeIdFilterChanged(): Promise {\n await this.loadTypeValuesAsync();\n }\n\n private async onAddAsync(item: { value: string, [key: string]: any }): Promise {\n try {\n await this.$store.dispatch(`types/createTypeAsync`, { type: this.typeIdFilter, item: { ...item } });\n this.$snackbar.open({ message: `Type '${item.value}' has been successfully created.`, type: 'is-success' });\n } catch (e) {\n this.$snackbar.open({ message: `Could not create the new type value '${item.value}'. Please try again.`, type: 'is-danger' });\n }\n\n this.onCancel();\n await this.loadTypeValuesAsync();\n }\n\n private async onEditAsync(item: { [key: string]: any }): Promise {\n try {\n await this.$store.dispatch(`types/updateTypeAsync`, { type: this.typeIdFilter, item: { ...item } });\n this.$snackbar.open({ message: `Type '${this.selectedTypeValue!.value}' has been successfully updated.`, type: 'is-success' });\n } catch (e) {\n this.$snackbar.open({ message: `Could not update the type value '${this.selectedTypeValue!.value}'. Please try again.`, type: 'is-danger' });\n }\n\n this.onCancel();\n await this.loadTypeValuesAsync();\n }\n\n private async onArchiveAsync(): Promise {\n try {\n await this.$store.dispatch(`types/archiveTypeAsync`, { type: this.typeIdFilter, item: { ...this.selectedTypeValue! } });\n this.$snackbar.open({ message: `Type '${this.selectedTypeValue!.value}' has been successfully archived.`, type: 'is-success' });\n } catch (e) {\n this.$snackbar.open({ message: `Could not archive the type value '${this.selectedTypeValue!.value}'. Please try again.`, type: 'is-danger' });\n }\n\n this.onCancel();\n await this.loadTypeValuesAsync();\n }\n\n private async onRestoreAsync(): Promise {\n try {\n await this.$store.dispatch(`types/updateTypeAsync`, { type: this.typeIdFilter, item: { ...this.selectedTypeValue, isArchived: false } });\n this.$snackbar.open({ message: `Type '${this.selectedTypeValue!.value}' has been successfully restored.`, type: 'is-success' });\n } catch (e) {\n this.$snackbar.open({ message: `Could not restore the type value '${this.selectedTypeValue!.value}'. Please try again.`, type: 'is-danger' });\n }\n\n this.onCancel();\n await this.loadTypeValuesAsync();\n }\n\n private async onReorderedAsync(e: { newIndex: number, oldIndex: number }): Promise {\n const selectedValue = { ...this.selectedTypeValues[e.newIndex] };\n const moveUp: boolean = e.newIndex < e.oldIndex;\n const siblingValue = this.selectedTypeValues[moveUp ? e.newIndex + 1 : e.newIndex - 1];\n\n if (siblingValue == null) {\n return;\n }\n\n try {\n await this.$store.dispatch(`types/updateTypeAsync`, { type: this.typeIdFilter, item: { ...selectedValue, displayOrder: siblingValue.displayOrder! } });\n this.$snackbar.open({ message: 'Display order updated successfully.', type: 'is-success' });\n } catch (e) {\n this.$snackbar.open({ message: 'Could not update the display order for all values.', type: 'is-danger' });\n }\n\n await this.loadTypeValuesAsync();\n }\n\n private async loadTypeValuesAsync(): Promise {\n this.isLoading = true;\n await this.$store.dispatch(`types/${camelCase(`load ${this.typeIdFilter}TypesAsync`)}`);\n this.isLoading = false;\n }\n\n private addNewItem(): void {\n this.selectedTypeOptions = this.types.find((t) => t.id === this.typeIdFilter)!.options!;\n this.addTypeDialogVisible = true;\n }\n\n private editItem(item: GenericType) {\n this.selectedTypeValue = { ...item };\n this.selectedTypeOptions = this.types.find((t) => t.id === this.typeIdFilter)!.options!;\n this.editTypeDialogVisible = true;\n }\n\n private archiveItem(item: GenericType) {\n this.selectedTypeValue = { ...item };\n this.deleteConfirmationDialogVisible = true;\n }\n\n private restoreItem(item: GenericType) {\n this.selectedTypeValue = { ...item };\n this.restoreConfirmationDialogVisible = true;\n }\n\n private onCancel(): void {\n this.selectedTypeValue = null;\n\n this.addTypeDialogVisible = false;\n this.editTypeDialogVisible = false;\n this.deleteConfirmationDialogVisible = false;\n this.restoreConfirmationDialogVisible = false;\n }\n\n private typesForCategory(category: string): Array<{ id: string, title: string }> {\n if (this.types == null || !this.types.length) {\n return [];\n }\n\n const types = this.types.filter((t) => t.category === category);\n\n return types == null ? [] : types;\n }\n\n public async mounted(): Promise {\n await this.loadTypeValuesAsync();\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./types.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./types.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./types.vue?vue&type=template&id=0f808a61&\"\nimport script from \"./types.vue?vue&type=script&lang=ts&\"\nexport * from \"./types.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:\"users\"},[_c('div',{staticClass:\"row pb-3 align-items-center justify-content-between\"},[_vm._m(0),_c('div',{staticClass:\"col text-right\"},[_c('b-btn',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onAddUser}},[_c('div',{staticClass:\"feather-container\"},[_c('svg',{staticClass:\"feather feather-icon-left feather-plus-circle\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('circle',{attrs:{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"16\"}}),_c('line',{attrs:{\"x1\":\"8\",\"y1\":\"12\",\"x2\":\"16\",\"y2\":\"12\"}})]),_c('span',{staticClass:\"feather-text\"},[_vm._v(\"Add User\")])])])],1)]),_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading, please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-sm-3\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"status-filter\"}},[_vm._v(\"Status:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.statusFilter),expression:\"statusFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"status-filter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.statusFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.statuses),function(status){return _c('option',{key:status.id,domProps:{\"value\":status.id}},[_vm._v(_vm._s(status.value))])}),0)])])]),_c('div',{staticClass:\"row pt-3 align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('users-table',{attrs:{\"users\":_vm.users},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar user = ref.user;\nreturn [(user.email != 'system@rightlegalgroup.com')?_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[(!user.isArchived)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onEditUser(user)}}},[_vm._v(\"Edit\")]):_vm._e(),(!user.isArchived && !user.activatedDate)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onResendActivation(user)}}},[_vm._v(\"Re-send Activation Link\")]):_vm._e(),(!user.isArchived && user.id !== _vm.currentUser.id)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onAssignToPartnerPractice(user)}}},[_vm._v(\"Assign to Partner Practice\")]):_vm._e(),(user.isArchived && _vm.isAdministrator)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onRestoreUser(user)}}},[_vm._v(\"Restore\")]):_vm._e(),(!user.isArchived && user.id !== _vm.currentUser.id && _vm.isAdministrator)?_c('b-dropdown-divider'):_vm._e(),(!user.isArchived && user.id !== _vm.currentUser.id && _vm.isAdministrator)?_c('b-dropdown-item',{staticClass:\"text-danger\",on:{\"click\":function($event){return _vm.onArchiveUser(user)}}},[_vm._v(\"Archive\")]):_vm._e()],1):_vm._e()]}}])})],1)])])],1),(_vm.addUserDialogVisible)?_c('add-user-dialog',{attrs:{\"visible\":_vm.addUserDialogVisible},on:{\"ok\":_vm.onUserCreatedAsync,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.selectedUser != null && _vm.editUserDialogVisible)?_c('edit-user-dialog',{attrs:{\"visible\":_vm.editUserDialogVisible,\"user\":_vm.selectedUser},on:{\"ok\":_vm.onUserUpdatedAsync,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.selectedUser != null && _vm.assignToPartnerPracticeDialogVisible)?_c('assign-user-to-partner-practice-dialog',{attrs:{\"visible\":_vm.assignToPartnerPracticeDialogVisible,\"user\":_vm.selectedUser},on:{\"ok\":_vm.onUserAssignedToPartnerPracticeAsync,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.selectedUser != null && _vm.resendActivationConfirmationDialogVisible)?_c('confirmation-dialog',{attrs:{\"centered\":\"\",\"ok-text\":\"Re-send Activation Link\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"ok\":_vm.onResendActivationConfirmedAsync,\"cancel\":_vm.onCancel},model:{value:(_vm.resendActivationConfirmationDialogVisible),callback:function ($$v) {_vm.resendActivationConfirmationDialogVisible=$$v},expression:\"resendActivationConfirmationDialogVisible\"}},[_c('p',[_vm._v(\"Are you sure you want to send '\"+_vm._s(_vm.selectedUser.email)+\"' a new activation e-mail?\")])]):_vm._e(),(_vm.selectedUser != null && _vm.restoreConfirmationDialogVisible)?_c('confirmation-dialog',{attrs:{\"centered\":\"\",\"ok-text\":\"Restore\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"ok\":_vm.onRestoreUserConfirmedAsync,\"cancel\":_vm.onCancel},model:{value:(_vm.restoreConfirmationDialogVisible),callback:function ($$v) {_vm.restoreConfirmationDialogVisible=$$v},expression:\"restoreConfirmationDialogVisible\"}},[_c('p',[_vm._v(\"Are you sure you want to restore '\"+_vm._s(_vm.selectedUser.email)+\"'?\")]),_c('p',[_vm._v(\"The user will be restored, and will be able to login to the system again.\")])]):_vm._e(),(_vm.selectedUser != null && _vm.archiveConfirmationDialogVisible)?_c('confirmation-dialog',{attrs:{\"centered\":\"\",\"variant\":\"danger\",\"ok-text\":\"Archive\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},on:{\"ok\":_vm.onArchiveUserConfirmedAsync,\"cancel\":_vm.onCancel},model:{value:(_vm.archiveConfirmationDialogVisible),callback:function ($$v) {_vm.archiveConfirmationDialogVisible=$$v},expression:\"archiveConfirmationDialogVisible\"}},[_c('p',[_vm._v(\"Are you sure you want to archive '\"+_vm._s(_vm.selectedUser.email)+\"'?\")]),_c('p',[_vm._v(\"If the user is currently logged in, they will be immediately logged out.\")])]):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col\"},[_c('h2',[_vm._v(\"Users\")])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"add-user-dialog\"},[_c('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Add User\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('b-tabs',{model:{value:(_vm.currentTab),callback:function ($$v) {_vm.currentTab=$$v},expression:\"currentTab\"}},[_c('b-tab',{staticClass:\"tab\"},[_c('template',{slot:\"title\"},[_c('div',{staticClass:\"feather-container\"},[_c('span',{staticClass:\"feather-text\",class:{ 'text-danger': _vm.showDetailsError }},[_vm._v(\"Details\")]),(_vm.showDetailsError)?_c('svg',{staticClass:\"feather feather-icon-right feather-alert-circle text-danger\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('circle',{attrs:{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"12\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"16\",\"x2\":\"12.01\",\"y2\":\"16\"}})]):_vm._e()])]),_c('user-details',{ref:\"details\",attrs:{\"user\":_vm.user},on:{\"errors-changed\":_vm.onDetailsErrorsChanged}})],2),_c('b-tab',{staticClass:\"tab\"},[_c('template',{slot:\"title\"},[_c('div',{staticClass:\"feather-container\"},[_c('span',{staticClass:\"feather-text\",class:{ 'text-danger': _vm.showRolesError }},[_vm._v(\"Roles\")]),(_vm.showRolesError)?_c('svg',{staticClass:\"feather feather-icon-right feather-alert-circle text-danger\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('circle',{attrs:{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"12\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"16\",\"x2\":\"12.01\",\"y2\":\"16\"}})]):_vm._e()])]),_c('user-roles',{attrs:{\"user\":_vm.user}})],2)],1),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onAddAsync}},[_vm._v(\"Add\")])],1)],2)],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\nimport { UserApi } from '@/api/user';\nimport userDetails from '@/components/settings/users/user-details.vue';\nimport userRoles from '@/components/settings/users/user-roles.vue';\nimport { createUser, User } from '@/shared/user';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\nconst userApi = new UserApi();\n\n@Component({\n components: {\n userDetails,\n userRoles,\n },\n})\nexport default class AddUserDialog extends Vue {\n @Prop({ required: true }) private visible!: boolean;\n\n private isVisible: boolean = this.visible;\n private isSaving: boolean = false;\n private currentTab: number = 0;\n private user: User = createUser(null);\n private showDetailsError: boolean = false;\n\n private get showRolesError(): boolean {\n return this.user.roles.length < 1;\n }\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.isVisible = visible;\n }\n\n private async onAddAsync(): Promise {\n if (!(await (this.$refs.details as Vue).$validator.validateAll('user-details')) || this.user.roles.length < 1) {\n return;\n }\n\n this.isSaving = true;\n\n try {\n await userApi.createUserAsync({ ...this.user, roles: this.user.roles.map((role) => role.name) });\n this.$emit('ok', { ...this.user });\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not create user '${this.user.email}'.`, type: 'is-danger' });\n }\n }\n\n this.isSaving = false;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n\n private onDetailsErrorsChanged(hasErrors: boolean): void {\n this.showDetailsError = hasErrors;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-user-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-user-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./add-user-dialog.vue?vue&type=template&id=61ff5aad&\"\nimport script from \"./add-user-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./add-user-dialog.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:\"assign-user-to-partner-practice-dialog\"},[_c('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Assign to Partner Practice\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"partner-practice\"}},[_vm._v(\"Partner Practice\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedPartnerPractice),expression:\"selectedPartnerPractice\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('assign-user.partner-practice') },attrs:{\"name\":\"partner-practice\",\"id\":\"partner-practice\",\"data-vv-scope\":\"assign-user\",\"data-vv-as\":\"partner practice\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedPartnerPractice=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.partnerPractices),function(partnerPractice){return _c('option',{key:partnerPractice.id,domProps:{\"value\":partnerPractice}},[_vm._v(_vm._s(partnerPractice.name))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('assign-user.partner-practice')),expression:\"errors.has('assign-user.partner-practice')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('assign-user.partner-practice')))])]),_c('user-roles',{attrs:{\"user\":_vm.user,\"partner-practice-user\":true}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.user.roles.length < 1),expression:\"user.roles.length < 1\"}],staticClass:\"custom-invalid-feedback\"},[_vm._v(\"A user role is required\")]),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onAssignAsync}},[_vm._v(\"Assign\")])],1)],2)],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\nimport { UserApi } from '@/api/user';\nimport userRoles from '@/components/settings/users/user-roles.vue';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { User } from '@/shared/user';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst userApi = new UserApi();\n\n@Component({\n components: {\n userRoles,\n },\n})\nexport default class AssignUserToPartnerPracticeDialog extends Vue {\n @partnerPracticesModule.Getter('partnerPractices') private partnerPractices!: Array;\n\n @Prop({ required: true }) private visible!: boolean;\n @Prop({ required: true }) private user!: User;\n\n private isVisible: boolean = this.visible;\n private isSaving: boolean = false;\n private selectedPartnerPractice: PartnerPractice | null = null;\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.isVisible = visible;\n }\n\n private async onAssignAsync(): Promise {\n if (!(await this.$validator.validateAll('assign-user')) || this.user.roles.length < 1) {\n return;\n }\n\n this.isSaving = true;\n\n try {\n await userApi.assignToPartnerPracticeAsync(this.user.id!,\n {\n partnerPracticeId: this.selectedPartnerPractice!.id!,\n roles: this.user.roles.map((role) => role.name),\n },\n );\n\n this.$emit('ok', { ...this.user, partnerPracticeId: this.selectedPartnerPractice!.id! });\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not assign user '${this.user.email}' to partner practice '${this.selectedPartnerPractice!.name!}'.`, type: 'is-danger' });\n }\n }\n\n this.isSaving = false;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./assign-user-to-partner-practice-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./assign-user-to-partner-practice-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./assign-user-to-partner-practice-dialog.vue?vue&type=template&id=d2d737d8&\"\nimport script from \"./assign-user-to-partner-practice-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./assign-user-to-partner-practice-dialog.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:\"edit-user-dialog\"},[_c('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Edit User\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('b-tabs',{model:{value:(_vm.currentTab),callback:function ($$v) {_vm.currentTab=$$v},expression:\"currentTab\"}},[_c('b-tab',{staticClass:\"tab\"},[_c('template',{slot:\"title\"},[_c('div',{staticClass:\"feather-container\"},[_c('span',{staticClass:\"feather-text\",class:{ 'text-danger': _vm.showDetailsError }},[_vm._v(\"Details\")]),(_vm.showDetailsError)?_c('svg',{staticClass:\"feather feather-icon-right feather-alert-circle text-danger\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('circle',{attrs:{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"12\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"16\",\"x2\":\"12.01\",\"y2\":\"16\"}})]):_vm._e()])]),_c('user-details',{ref:\"details\",attrs:{\"user\":_vm.user},on:{\"errors-changed\":_vm.onDetailsErrorsChanged}})],2),_c('b-tab',{staticClass:\"tab\"},[_c('template',{slot:\"title\"},[_c('div',{staticClass:\"feather-container\"},[_c('span',{staticClass:\"feather-text\",class:{ 'text-danger': _vm.showRolesError }},[_vm._v(\"Roles\")]),(_vm.showRolesError)?_c('svg',{staticClass:\"feather feather-icon-right feather-alert-circle text-danger\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('circle',{attrs:{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"12\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"16\",\"x2\":\"12.01\",\"y2\":\"16\"}})]):_vm._e()])]),_c('user-roles',{attrs:{\"user\":_vm.user}})],2)],1),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onSaveAsync}},[_vm._v(\"Save\")])],1)],2)],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\nimport { UserApi } from '@/api/user';\nimport userDetails from '@/components/settings/users/user-details.vue';\nimport userRoles from '@/components/settings/users/user-roles.vue';\nimport { User } from '@/shared/user';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\nconst userApi = new UserApi();\n\n@Component({\n components: {\n userDetails,\n userRoles,\n },\n})\nexport default class EditUserDialog extends Vue {\n @Prop({ required: true }) private visible!: boolean;\n @Prop({ required: true }) private user!: User;\n\n private isVisible: boolean = this.visible;\n private isSaving: boolean = false;\n private currentTab: number = 0;\n private showDetailsError: boolean = false;\n\n private get showRolesError(): boolean {\n return this.user.roles.length < 1;\n }\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.isVisible = visible;\n }\n\n private async onSaveAsync(): Promise {\n if (!(await (this.$refs.details as Vue).$validator.validateAll('user-details')) || this.user.roles.length < 1) {\n return;\n }\n\n this.isSaving = true;\n\n try {\n await userApi.updateUserAsync({\n ...this.user,\n id: this.user.id!,\n isArchived: this.user.isArchived!,\n roles: this.user.roles.map((role) => role.name),\n version: this.user.version!,\n });\n\n this.$emit('ok', { ...this.user });\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not update user '${this.user.email}'.`, type: 'is-danger' });\n }\n }\n\n this.isSaving = false;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n\n private onDetailsErrorsChanged(hasErrors: boolean): void {\n this.showDetailsError = hasErrors;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-user-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-user-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./edit-user-dialog.vue?vue&type=template&id=f0598364&\"\nimport script from \"./edit-user-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./edit-user-dialog.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\nimport { UserApi } from '@/api/user';\nimport loading from '@/components/loading.vue';\nimport addUserDialog from '@/components/settings/users/add-user-dialog.vue';\nimport assignUserToPartnerPracticeDialog from '@/components/settings/users/assign-user-to-partner-practice-dialog.vue';\nimport editUserDialog from '@/components/settings/users/edit-user-dialog.vue';\nimport usersTable from '@/components/settings/users/users-table.vue';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { RoleName } from '@/shared/role-name';\nimport { User } from '@/shared/user';\nimport { UserStatus } from '@/shared/user-status';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst userModule = namespace('user');\nconst usersModule = namespace('users');\nconst userApi = new UserApi();\n\n@Component({\n components: {\n loading,\n addUserDialog,\n assignUserToPartnerPracticeDialog,\n editUserDialog,\n usersTable,\n },\n})\nexport default class Users extends Vue {\n @partnerPracticesModule.Getter('partnerPractices') private partnerPractices!: Array;\n\n @userModule.Getter('user') private currentUser!: User | null;\n @userModule.Getter('isAdministrator') public isAdministrator!: boolean;\n\n @usersModule.Getter('rightLegalGroupUsers') private rightLegalGroupUsers!: (status: UserStatus) => Array;\n\n private isLoading: boolean = true;\n private users: Array = new Array();\n private selectedUser: User | null = null;\n private statusFilter: number = 1;\n private addUserDialogVisible: boolean = false;\n private editUserDialogVisible: boolean = false;\n private assignToPartnerPracticeDialogVisible: boolean = false;\n private resendActivationConfirmationDialogVisible: boolean = false;\n private restoreConfirmationDialogVisible: boolean = false;\n private archiveConfirmationDialogVisible: boolean = false;\n private statuses: Array<{ id: UserStatus, value: string }> = [\n { id: UserStatus.All, value: 'All' },\n { id: UserStatus.Active, value: 'Active' },\n { id: UserStatus.Archived, value: 'Archived' },\n ];\n\n @Watch('statusFilter')\n private async onStatusFilterChangedAsync(): Promise {\n await this.fetchUsersAsync();\n }\n\n private async fetchUsersAsync(): Promise {\n this.isLoading = true;\n\n await this.$store.dispatch(`users/loadAllUsersAsync`);\n this.users = this.rightLegalGroupUsers(this.statusFilter);\n\n this.isLoading = false;\n }\n\n private async onUserCreatedAsync(user: User): Promise {\n this.$snackbar.open({ message: `User '${user.email}' has been created.`, type: 'is-success' });\n\n this.onCancel();\n await this.fetchUsersAsync();\n }\n\n private async onUserUpdatedAsync(user: User): Promise {\n this.$snackbar.open({ message: `User '${user.email}' has been updated.`, type: 'is-success' });\n\n this.onCancel();\n await this.fetchUsersAsync();\n }\n\n private async onUserAssignedToPartnerPracticeAsync(user: User): Promise {\n const partnerPractice = this.partnerPractices.find((pp) => pp.id === user.partnerPracticeId);\n const message = partnerPractice == null\n ? `User '${user.email}' assigned to partner practice.`\n : `User '${user.email}' assigned to partner practice '${partnerPractice.name}'.`;\n\n this.$snackbar.open({ message, type: 'is-success' });\n\n this.onCancel();\n await this.fetchUsersAsync();\n }\n\n private async onResendActivationConfirmedAsync(): Promise {\n try {\n await userApi.reinviteUserAsync(this.selectedUser!);\n this.$snackbar.open({ message: `Activation e-mail sent to user '${this.selectedUser!.email}'.`, type: 'is-success' });\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not re-send activation e-mail to user '${this.selectedUser!.email}'.`, type: 'is-danger' });\n }\n }\n\n this.onCancel();\n await this.fetchUsersAsync();\n }\n\n private async onRestoreUserConfirmedAsync(): Promise {\n try {\n await userApi.updateUserAsync({\n ...this.selectedUser!,\n id: this.selectedUser!.id!,\n isArchived: false,\n roles: this.selectedUser!.roles.map((role) => role.name),\n version: this.selectedUser!.version!,\n });\n\n this.$snackbar.open({ message: `User '${this.selectedUser!.email}' has been restored.`, type: 'is-success' });\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not restore user '${this.selectedUser!.email}'.`, type: 'is-danger' });\n }\n }\n\n this.onCancel();\n await this.fetchUsersAsync();\n }\n\n private async onArchiveUserConfirmedAsync(): Promise {\n try {\n await userApi.deleteUserAsync(this.selectedUser!);\n this.$snackbar.open({ message: `User '${this.selectedUser!.email}' has been archived.`, type: 'is-success' });\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not archive user '${this.selectedUser!.email}'.`, type: 'is-danger' });\n }\n }\n\n this.onCancel();\n await this.fetchUsersAsync();\n }\n\n private onAddUser(): void {\n this.selectedUser = null;\n this.addUserDialogVisible = true;\n }\n\n private onEditUser(user: User): void {\n this.selectedUser = { ...user, roles: [...user.roles] };\n this.editUserDialogVisible = true;\n }\n\n private onAssignToPartnerPractice(user: User): void {\n this.selectedUser = {\n ...user,\n roles: [...user.roles.filter((role) =>\n role.name.toLowerCase() === RoleName.LegalAdvisor.toLowerCase() ||\n role.name.toLowerCase() === RoleName.LegalAssistant.toLowerCase() ||\n role.name.toLowerCase() === RoleName.HoD.toLowerCase())],\n };\n this.assignToPartnerPracticeDialogVisible = true;\n }\n\n private onResendActivation(user: User): void {\n this.selectedUser = { ...user, roles: [...user.roles] };\n this.resendActivationConfirmationDialogVisible = true;\n }\n\n private onRestoreUser(user: User): void {\n this.selectedUser = { ...user, roles: [...user.roles] };\n this.restoreConfirmationDialogVisible = true;\n }\n\n private onArchiveUser(user: User): void {\n this.selectedUser = { ...user, roles: [...user.roles] };\n this.archiveConfirmationDialogVisible = true;\n }\n\n private onCancel(): void {\n this.addUserDialogVisible = false;\n this.editUserDialogVisible = false;\n this.assignToPartnerPracticeDialogVisible = false;\n this.resendActivationConfirmationDialogVisible = false;\n this.restoreConfirmationDialogVisible = false;\n this.archiveConfirmationDialogVisible = false;\n\n this.selectedUser = null;\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n this.$store.dispatch(`users/loadRolesAsync`),\n ]);\n\n await this.fetchUsersAsync();\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./users.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./users.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./users.vue?vue&type=template&id=75a52075&\"\nimport script from \"./users.vue?vue&type=script&lang=ts&\"\nexport * from \"./users.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:\"target-tracker\"},[_vm._m(0),_c('target-tracker-filters',{on:{\"filter\":_vm.onFilterAsync}}),(_vm.request != null)?_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading legal advisor targets, please wait...\")]),_c('div',{staticClass:\"col\"},[(_vm.targets.length !== 0)?_c('b-tabs',{attrs:{\"content-class\":\"mt-3\",\"active-nav-item-class\":\"font-weight-bold\"},model:{value:(_vm.tabIndex),callback:function ($$v) {_vm.tabIndex=$$v},expression:\"tabIndex\"}},[_c('b-tab',{attrs:{\"lazy\":\"\",\"title\":\"Overview\"}},[_c('target-tracker-overview-table',{attrs:{\"targets\":_vm.targets}})],1),_vm._l((_vm.legalAdvisors),function(advisor,index){return _c('b-tab',{key:index,attrs:{\"lazy\":\"\",\"title\":advisor.name},on:{\"click\":function($event){return _vm.onUserTabClicked(advisor.id)}}},[_c('target-tracker-advisor-tab',{attrs:{\"advisor\":_vm.selectedAdvisor,\"partner-practice-id\":_vm.request.partnerPracticeId},on:{\"refresh\":_vm.reloadUserAsync}})],1)})],2):_vm._e()],1)],1):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row pb-3 align-items-center justify-content-between\"},[_c('div',{staticClass:\"col\"},[_c('h2',[_vm._v(\"Legal Advisor Target Tracker\")])])])}]\n\nexport { render, staticRenderFns }","import { Api } from '@/api/api';\nimport { TargetTrackerRequest } from '@/api/requests/target-tracker/target-tracker-request';\nimport { UpdateTargetTrackerPaymentOwnerRequest } from '@/api/requests/target-tracker/update-target-tracker-payment-owner-request';\nimport { UpdateTargetTrackerPaymentRequest } from '@/api/requests/target-tracker/update-target-tracker-payment-request';\nimport { TargetTrackerAdvisor } from '@/shared/target-tracker-advisor';\nimport { TargetTrackerOverview } from '@/shared/target-tracker-overview';\n\nexport class TargetTrackerApi extends Api {\n public getTargetTrackerOverviewAsync(filters: TargetTrackerRequest): Promise> {\n return this.getAsync>(`v1/target-tracker`, filters);\n }\n\n public getTargetTrackerDetailsAsync(legalAdvisorId: string, filters: TargetTrackerRequest): Promise {\n return this.getAsync(`v1/target-tracker/${legalAdvisorId}`, filters);\n }\n\n public async updateTargetTrackerPaymentAsync(paymentId: string, request: UpdateTargetTrackerPaymentRequest): Promise {\n const url = `v1/target-tracker/payment/${paymentId}`;\n const location = await this.putAsync(`v1/target-tracker/payment/${paymentId}`, { ...request });\n return location.replace(`${url}/`, ``);\n }\n\n public async updateTargetTrackerPaymentOwnerAsync(paymentId: string, request: UpdateTargetTrackerPaymentOwnerRequest): Promise {\n const url = `v1/target-tracker/advisor/${paymentId}`;\n const location = await this.putAsync(`v1/target-tracker/advisor/${paymentId}`, { ...request });\n return location.replace(`${url}/`, ``);\n }\n\n public constructor() {\n super();\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"target-tracker-advisor-tab\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading appointment, please wait...\")]),(_vm.advisor !=null)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group col-md-2\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"banking-target\"}},[_vm._v(\"Banking Target\")]),(_vm.advisor.id === '00000000-0000-0000-0000-000000000000')?_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"banking-target\"}},[_vm._v(\"N/A\")]):_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"banking-target\"}},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.advisor.targetAmount)))])]),_c('div',{staticClass:\"form-group col-md-2\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"predicted-banking\"}},[_vm._v(\"Predicted Banking\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"predicted-banking\"}},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.predictedBanking)))])]),_c('div',{staticClass:\"form-group col-md-2\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"difference-to-target\"}},[_vm._v(\"Difference to Target\")]),(_vm.advisor.id === '00000000-0000-0000-0000-000000000000')?_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"difference-to-target\"}},[_vm._v(\"N/A\")]):_c('div',{staticClass:\"form-control\",class:[_vm.differenceToTarget > 0 ? 'bg-danger text-light' : 'bg-success text-light'],attrs:{\"id\":\"difference-to-target\"}},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.differenceToTarget)))])])]):_vm._e(),(_vm.advisor != null)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('b-tabs',{attrs:{\"content-class\":\"mt-3\"}},[_c('b-tab',{attrs:{\"title\":\"Cleared\"}},[_c('target-tracker-detail-table',{attrs:{\"appointments\":_vm.appointments(0),\"show-legal-advisor\":_vm.advisor.id === '00000000-0000-0000-0000-000000000000',\"show-signing\":true,\"show-cleared\":true},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[(item.clients.length === 1)?_c('b-dropdown-item',{attrs:{\"to\":{ name: 'view-client', params: { id: item.clients[0].id } },\"target\":\"_blank\"}},[_vm._v(\"\\n View Client Account\\n \")]):_vm._l((item.clients),function(client){return _c('b-dropdown-item',{key:client.id,attrs:{\"to\":{ name: 'view-client', params: { id: client.id } },\"target\":\"_blank\"}},[_vm._v(\"\\n View Client Account (\"+_vm._s(client.firstName.trim())+\" \"+_vm._s(client.lastName.trim())+\")\\n \")])}),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onViewAppointmentAsync(item.appointmentId)}}},[_vm._v(\"View Appointment\")]),(_vm.canEdit(item))?_c('div',[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onEditAppointmentOutcomeAsync(item.appointmentId)}}},[_vm._v(\"Edit Appointment Outcome\")]),(_vm.isInternalKeyStakeholder)?_c('div',[_c('b-dropdown-divider'),(_vm.advisor.id === '00000000-0000-0000-0000-000000000000')?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onMoveTo(item)}}},[_vm._v(\"Move to...\")]):_vm._e(),(!item.partPayment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToSigningPending(item)}}},[_vm._v(\"Change to Signing Pending\")]):_vm._e(),(!item.partPayment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToSigningBooked(item)}}},[_vm._v(\"Change to Signing Booked\")]):_vm._e(),(item.partPayment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToPartPayment(item)}}},[_vm._v(\"Change to Pending\")]):_vm._e(),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToBanked(item)}}},[_vm._v(\"Change to Banked\")]),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToDebtor(item)}}},[_vm._v(\"Change to Debtor\")]),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToNoLongerProceeding(item)}}},[_vm._v(\"Change to No Longer Proceeding\")]),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToWrittenOff(item)}}},[_vm._v(\"Change to Written Off\")])],1):_vm._e()],1):_vm._e()],2)]}}],null,false,620601453)})],1),_c('b-tab',{attrs:{\"title\":\"Banked\"}},[_c('target-tracker-detail-table',{attrs:{\"appointments\":_vm.appointments(1),\"show-legal-advisor\":_vm.advisor.id === '00000000-0000-0000-0000-000000000000',\"show-signing\":true,\"show-banked\":true},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[(item.clients.length === 1)?_c('b-dropdown-item',{attrs:{\"to\":{ name: 'view-client', params: { id: item.clients[0].id } },\"target\":\"_blank\"}},[_vm._v(\"\\n View Client Account\\n \")]):_vm._l((item.clients),function(client){return _c('b-dropdown-item',{key:client.id,attrs:{\"to\":{ name: 'view-client', params: { id: client.id } },\"target\":\"_blank\"}},[_vm._v(\"\\n View Client Account (\"+_vm._s(client.firstName.trim())+\" \"+_vm._s(client.lastName.trim())+\")\\n \")])}),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onViewAppointmentAsync(item.appointmentId)}}},[_vm._v(\"View Appointment\")]),(_vm.canEdit(item))?_c('div',[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onEditAppointmentOutcomeAsync(item.appointmentId)}}},[_vm._v(\"Edit Appointment Outcome\")]),_c('b-dropdown-divider'),(_vm.advisor.id === '00000000-0000-0000-0000-000000000000')?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onMoveTo(item)}}},[_vm._v(\"Move to...\")]):_vm._e(),(!item.partPayment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToSigningPending(item)}}},[_vm._v(\"Change to Signing Pending\")]):_vm._e(),(!item.partPayment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToSigningBooked(item)}}},[_vm._v(\"Change to Signing Booked\")]):_vm._e(),(item.partPayment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToPartPayment(item)}}},[_vm._v(\"Change to Pending\")]):_vm._e(),(_vm.isHeadOfDepartment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToCleared(item)}}},[_vm._v(\"Change to Cleared\")]):_vm._e(),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToDebtor(item)}}},[_vm._v(\"Change to Debtor\")]),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToNoLongerProceeding(item)}}},[_vm._v(\"Change to No Longer Proceeding\")]),(_vm.isHeadOfDepartment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToWrittenOff(item)}}},[_vm._v(\"Change to Written Off\")]):_vm._e()],1):_vm._e()],2)]}}],null,false,1548529625)})],1),_c('b-tab',{attrs:{\"title\":\"Signing Booked\"}},[_c('target-tracker-detail-table',{attrs:{\"appointments\":_vm.appointments(2),\"show-legal-advisor\":_vm.advisor.id === '00000000-0000-0000-0000-000000000000',\"show-signing\":true},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[(item.clients.length === 1)?_c('b-dropdown-item',{attrs:{\"to\":{ name: 'view-client', params: { id: item.clients[0].id } },\"target\":\"_blank\"}},[_vm._v(\"\\n View Client Account\\n \")]):_vm._l((item.clients),function(client){return _c('b-dropdown-item',{key:client.id,attrs:{\"to\":{ name: 'view-client', params: { id: client.id } },\"target\":\"_blank\"}},[_vm._v(\"\\n View Client Account (\"+_vm._s(client.firstName.trim())+\" \"+_vm._s(client.lastName.trim())+\")\\n \")])}),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onViewAppointmentAsync(item.appointmentId)}}},[_vm._v(\"View Appointment\")]),(_vm.canEdit(item))?_c('div',[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onEditAppointmentOutcomeAsync(item.appointmentId)}}},[_vm._v(\"Edit Appointment Outcome\")]),_c('b-dropdown-divider'),(_vm.advisor.id === '00000000-0000-0000-0000-000000000000')?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onMoveTo(item)}}},[_vm._v(\"Move to...\")]):_vm._e(),(!item.partPayment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToSigningPending(item)}}},[_vm._v(\"Change to Signing Pending\")]):_vm._e(),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToBanked(item)}}},[_vm._v(\"Change to Banked\")]),(_vm.isHeadOfDepartment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToCleared(item)}}},[_vm._v(\"Change to Cleared\")]):_vm._e(),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToDebtor(item)}}},[_vm._v(\"Change to Debtor\")]),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToNoLongerProceeding(item)}}},[_vm._v(\"Change to No Longer Proceeding\")]),(_vm.isHeadOfDepartment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToWrittenOff(item)}}},[_vm._v(\"Change to Written Off\")]):_vm._e()],1):_vm._e()],2)]}}],null,false,220505220)})],1),_c('b-tab',{attrs:{\"title\":\"Signing Pending\"}},[_c('target-tracker-detail-table',{attrs:{\"appointments\":_vm.appointments(4),\"show-legal-advisor\":_vm.advisor.id === '00000000-0000-0000-0000-000000000000'},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[(item.clients.length === 1)?_c('b-dropdown-item',{attrs:{\"to\":{ name: 'view-client', params: { id: item.clients[0].id } },\"target\":\"_blank\"}},[_vm._v(\"\\n View Client Account\\n \")]):_vm._l((item.clients),function(client){return _c('b-dropdown-item',{key:client.id,attrs:{\"to\":{ name: 'view-client', params: { id: client.id } },\"target\":\"_blank\"}},[_vm._v(\"\\n View Client Account (\"+_vm._s(client.firstName.trim())+\" \"+_vm._s(client.lastName.trim())+\")\\n \")])}),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onViewAppointmentAsync(item.appointmentId)}}},[_vm._v(\"View Appointment\")]),(_vm.canEdit(item))?_c('div',[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onEditAppointmentOutcomeAsync(item.appointmentId)}}},[_vm._v(\"Edit Appointment Outcome\")]),_c('b-dropdown-divider'),(_vm.advisor.id === '00000000-0000-0000-0000-000000000000')?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onMoveTo(item)}}},[_vm._v(\"Move to...\")]):_vm._e(),(!item.partPayment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToSigningBooked(item)}}},[_vm._v(\"Change to Signing Booked\")]):_vm._e(),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToBanked(item)}}},[_vm._v(\"Change to Banked\")]),(_vm.isHeadOfDepartment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToCleared(item)}}},[_vm._v(\"Change to Cleared\")]):_vm._e(),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToDebtor(item)}}},[_vm._v(\"Change to Debtor\")]),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToNoLongerProceeding(item)}}},[_vm._v(\"Change to No Longer Proceeding\")]),(_vm.isHeadOfDepartment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToWrittenOff(item)}}},[_vm._v(\"Change to Written Off\")]):_vm._e()],1):_vm._e()],2)]}}],null,false,1964295588)})],1),_c('b-tab',{attrs:{\"title\":\"Next Month\"}},[_c('target-tracker-detail-table',{attrs:{\"appointments\":_vm.appointments(3),\"show-legal-advisor\":_vm.advisor.id === '00000000-0000-0000-0000-000000000000',\"show-signing\":true},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[(item.clients.length === 1)?_c('b-dropdown-item',{attrs:{\"to\":{ name: 'view-client', params: { id: item.clients[0].id } },\"target\":\"_blank\"}},[_vm._v(\"\\n View Client Account\\n \")]):_vm._l((item.clients),function(client){return _c('b-dropdown-item',{key:client.id,attrs:{\"to\":{ name: 'view-client', params: { id: client.id } },\"target\":\"_blank\"}},[_vm._v(\"\\n View Client Account (\"+_vm._s(client.firstName.trim())+\" \"+_vm._s(client.lastName.trim())+\")\\n \")])}),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onViewAppointmentAsync(item.appointmentId)}}},[_vm._v(\"View Appointment\")]),(_vm.canEdit(item))?_c('div',[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onEditAppointmentOutcomeAsync(item.appointmentId)}}},[_vm._v(\"Edit Appointment Outcome\")]),_c('b-dropdown-divider'),(_vm.advisor.id === '00000000-0000-0000-0000-000000000000')?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onMoveTo(item)}}},[_vm._v(\"Move to...\")]):_vm._e(),(!item.partPayment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToSigningPending(item)}}},[_vm._v(\"Change to Signing Pending\")]):_vm._e(),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToBanked(item)}}},[_vm._v(\"Change to Banked\")]),(_vm.isHeadOfDepartment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToCleared(item)}}},[_vm._v(\"Change to Cleared\")]):_vm._e(),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToDebtor(item)}}},[_vm._v(\"Change to Debtor\")]),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToNoLongerProceeding(item)}}},[_vm._v(\"Change to No Longer Proceeding\")]),(_vm.isHeadOfDepartment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToWrittenOff(item)}}},[_vm._v(\"Change to Written Off\")]):_vm._e()],1):_vm._e()],2)]}}],null,false,220505220)})],1),_c('b-tab',{attrs:{\"title\":\"Debtor\"}},[_c('target-tracker-detail-table',{attrs:{\"appointments\":_vm.appointments(5),\"show-legal-advisor\":_vm.advisor.id === '00000000-0000-0000-0000-000000000000',\"show-signing\":true},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[(item.clients.length === 1)?_c('b-dropdown-item',{attrs:{\"to\":{ name: 'view-client', params: { id: item.clients[0].id } },\"target\":\"_blank\"}},[_vm._v(\"\\n View Client Account\\n \")]):_vm._l((item.clients),function(client){return _c('b-dropdown-item',{key:client.id,attrs:{\"to\":{ name: 'view-client', params: { id: client.id } },\"target\":\"_blank\"}},[_vm._v(\"\\n View Client Account (\"+_vm._s(client.firstName.trim())+\" \"+_vm._s(client.lastName.trim())+\")\\n \")])}),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onViewAppointmentAsync(item.appointmentId)}}},[_vm._v(\"View Appointment\")]),(_vm.canEdit(item))?_c('div',[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onEditAppointmentOutcomeAsync(item.appointmentId)}}},[_vm._v(\"Edit Appointment Outcome\")]),_c('b-dropdown-divider'),(_vm.advisor.id === '00000000-0000-0000-0000-000000000000')?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onMoveTo(item)}}},[_vm._v(\"Move to...\")]):_vm._e(),(!item.partPayment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToSigningPending(item)}}},[_vm._v(\"Change to Signing Pending\")]):_vm._e(),(!item.partPayment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToSigningBooked(item)}}},[_vm._v(\"Change to Signing Booked\")]):_vm._e(),(item.partPayment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToPartPayment(item)}}},[_vm._v(\"Change to Pending\")]):_vm._e(),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToBanked(item)}}},[_vm._v(\"Change to Banked\")]),(_vm.isHeadOfDepartment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToCleared(item)}}},[_vm._v(\"Change to Cleared\")]):_vm._e(),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToNoLongerProceeding(item)}}},[_vm._v(\"Change to No Longer Proceeding\")]),(_vm.isHeadOfDepartment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToWrittenOff(item)}}},[_vm._v(\"Change to Written Off\")]):_vm._e()],1):_vm._e()],2)]}}],null,false,2033941241)})],1),_c('b-tab',{attrs:{\"title\":\"No Longer Proceeding\"}},[_c('target-tracker-detail-table',{attrs:{\"appointments\":_vm.appointments(6),\"show-legal-advisor\":_vm.advisor.id === '00000000-0000-0000-0000-000000000000',\"show-signing\":true},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[(item.clients.length === 1)?_c('b-dropdown-item',{attrs:{\"to\":{ name: 'view-client', params: { id: item.clients[0].id } },\"target\":\"_blank\"}},[_vm._v(\"\\n View Client Account\\n \")]):_vm._l((item.clients),function(client){return _c('b-dropdown-item',{key:client.id,attrs:{\"to\":{ name: 'view-client', params: { id: client.id } },\"target\":\"_blank\"}},[_vm._v(\"\\n View Client Account (\"+_vm._s(client.firstName.trim())+\" \"+_vm._s(client.lastName.trim())+\")\\n \")])}),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onViewAppointmentAsync(item.appointmentId)}}},[_vm._v(\"View Appointment\")]),(_vm.canEdit(item))?_c('div',[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onEditAppointmentOutcomeAsync(item.appointmentId)}}},[_vm._v(\"Edit Appointment Outcome\")]),_c('b-dropdown-divider'),(_vm.advisor.id === '00000000-0000-0000-0000-000000000000')?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onMoveTo(item)}}},[_vm._v(\"Move to...\")]):_vm._e(),(!item.partPayment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToSigningPending(item)}}},[_vm._v(\"Change to Signing Pending\")]):_vm._e(),(!item.partPayment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToSigningBooked(item)}}},[_vm._v(\"Change to Signing Booked\")]):_vm._e(),(item.partPayment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToPartPayment(item)}}},[_vm._v(\"Change to Pending\")]):_vm._e(),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToBanked(item)}}},[_vm._v(\"Change to Banked\")]),(_vm.isHeadOfDepartment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToCleared(item)}}},[_vm._v(\"Change to Cleared\")]):_vm._e(),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToDebtor(item)}}},[_vm._v(\"Change to Debtor\")]),(_vm.isHeadOfDepartment)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onChangeToWrittenOff(item)}}},[_vm._v(\"Change to Written Off\")]):_vm._e()],1):_vm._e()],2)]}}],null,false,2482276825)})],1),_c('b-tab',{attrs:{\"title\":\"Considering Options\"}},[_c('target-tracker-detail-table',{attrs:{\"appointments\":_vm.appointments(7),\"show-legal-advisor\":_vm.advisor.id === '00000000-0000-0000-0000-000000000000'},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-dropdown',{attrs:{\"right\":\"\",\"size\":\"sm\",\"text\":\"Actions\"}},[(item.clients.length === 1)?_c('b-dropdown-item',{attrs:{\"to\":{ name: 'view-client', params: { id: item.clients[0].id } },\"target\":\"_blank\"}},[_vm._v(\"\\n View Client Account\\n \")]):_vm._l((item.clients),function(client){return _c('b-dropdown-item',{key:client.id,attrs:{\"to\":{ name: 'view-client', params: { id: client.id } },\"target\":\"_blank\"}},[_vm._v(\"\\n View Client Account (\"+_vm._s(client.firstName.trim())+\" \"+_vm._s(client.lastName.trim())+\")\\n \")])}),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onViewAppointmentAsync(item.appointmentId)}}},[_vm._v(\"View Appointment\")]),(_vm.canEdit(item))?_c('div',[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onEditAppointmentOutcomeAsync(item.appointmentId)}}},[_vm._v(\"Edit Appointment Outcome\")]),(_vm.advisor.id === '00000000-0000-0000-0000-000000000000')?_c('b-dropdown-divider'):_vm._e(),(_vm.advisor.id === '00000000-0000-0000-0000-000000000000')?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onMoveTo(item)}}},[_vm._v(\"Move to...\")]):_vm._e()],1):_vm._e()],2)]}}],null,false,54945977)})],1)],1)],1)]):_vm._e(),(_vm.selectedAppointment != null && _vm.showViewAppointmentDialog)?_c('view-appointment-dialog',{attrs:{\"visible\":_vm.showViewAppointmentDialog,\"appointment\":_vm.selectedAppointment},on:{\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.selectedAppointment != null && _vm.showEditAppointmentOutcomeDialog)?_c('edit-appointment-outcome-dialog',{attrs:{\"visible\":_vm.showEditAppointmentOutcomeDialog,\"appointment\":_vm.selectedAppointment},on:{\"ok\":_vm.onAppointmentOutcomeUpdated,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.selectedPayment != null && _vm.showAssignAdvisorDialog)?_c('assign-advisor-dialog',{attrs:{\"payment\":_vm.selectedPayment,\"partner-practice-id\":_vm.partnerPracticeId},on:{\"ok\":_vm.onAdvisorAssigned,\"cancel\":_vm.onCancel},model:{value:(_vm.showAssignAdvisorDialog),callback:function ($$v) {_vm.showAssignAdvisorDialog=$$v},expression:\"showAssignAdvisorDialog\"}}):_vm._e(),(_vm.selectedPayment != null && _vm.showEditPaymentDialog)?_c('edit-payment-dialog',{attrs:{\"payment\":_vm.selectedPayment,\"payment-status-type\":_vm.selectedPaymentStatusType},on:{\"ok\":_vm.onPaymentUpdated,\"cancel\":_vm.onCancel},model:{value:(_vm.showEditPaymentDialog),callback:function ($$v) {_vm.showEditPaymentDialog=$$v},expression:\"showEditPaymentDialog\"}}):_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('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Move to...\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-btn-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{attrs:{\"for\":\"advisor\"}},[_vm._v(\"Legal Advisor\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.legalAdvisorId),expression:\"legalAdvisorId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('move-to.advisor') },attrs:{\"name\":\"advisor\",\"id\":\"advisor\",\"data-vv-scope\":\"move-to\",\"data-vv-as\":\"legal advisor\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.legalAdvisorId=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"---Please Select---\")]),_vm._l((_vm.legalAdvisors(_vm.partnerPracticeId)),function(advisor){return _c('option',{key:advisor.id,domProps:{\"value\":advisor.id}},[_vm._v(_vm._s(_vm.legalAdvisorName(advisor.id)))])})],2),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('move-to.advisor')),expression:\"errors.has('move-to.advisor')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('move-to.advisor')))])])]),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isBusy},on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isBusy},on:{\"click\":_vm.onAssignAsync}},[_vm._v(\"Assign\")])],1)],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\nimport { Forbidden } from '@/api/responses/forbidden';\nimport { TargetTrackerApi } from '@/api/target-tracker';\nimport { TargetTrackerAppointmentPayment } from '@/shared/target-tracker-appointment-payment';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst usersModule = namespace('users');\n\nconst targetTrackerApi = new TargetTrackerApi();\n\n@Component\nexport default class TargetTrackerAssignAdvisorDialog extends Vue {\n @usersModule.Getter('activeLegalAdvisors') private legalAdvisors!: (partnerPracticeId: string) => string;\n @usersModule.Getter('fullName') private legalAdvisorName!: (userId: string) => string;\n\n @Prop({ required: true }) private value!: boolean;\n @Prop({ required: true }) private payment!: TargetTrackerAppointmentPayment;\n @Prop({ required: true }) private partnerPracticeId!: string;\n\n private isVisible: boolean = this.value;\n private isBusy: boolean = false;\n private legalAdvisorId: string | null = null;\n\n @Watch('value')\n private onValueChanged(value: boolean): void {\n this.isVisible = value;\n }\n\n private async onAssignAsync(): Promise {\n try {\n this.isBusy = true;\n\n await targetTrackerApi.updateTargetTrackerPaymentOwnerAsync(this.payment.id, {\n legalAdvisorId: this.legalAdvisorId!,\n version: this.payment.version,\n });\n\n this.$emit('ok', this.legalAdvisorName(this.legalAdvisorId!));\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: `forbidden` });\n } else if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not assign legal advisor to appointment, please try again.', type: 'is-danger' });\n }\n }\n\n this.isBusy = false;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./target-tracker-assign-advisor-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./target-tracker-assign-advisor-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./target-tracker-assign-advisor-dialog.vue?vue&type=template&id=61f51bea&\"\nimport script from \"./target-tracker-assign-advisor-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./target-tracker-assign-advisor-dialog.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:\"target-tracker-detail-table\"},[_c('table',{staticClass:\"table table-hover\"},[_c('thead',[_c('tr',[_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Account Number\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Client Name\")]),(_vm.showLegalAdvisor)?_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Legal Advisor\")]):_vm._e(),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Product\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Instructed Value\")]),(_vm.showSigning)?_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Signing Date\")]):_vm._e(),(_vm.showBanked)?_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Banked Amount\")]):_vm._e(),(_vm.showBanked)?_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Banked Date\")]):_vm._e(),(_vm.showCleared)?_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Cleared Amount\")]):_vm._e(),(_vm.showCleared)?_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Cleared Date\")]):_vm._e(),_c('th',{attrs:{\"scope\":\"col\"}})])]),_c('tbody',_vm._l((_vm.items),function(item,index){return _c('tr',{key:index},[(item.rowNumber === 0)?_c('th',{attrs:{\"scope\":\"row\",\"rowspan\":item.numberOfPayments}},[_vm._v(_vm._s(_vm.accountNo(item.clients)))]):_vm._e(),(item.rowNumber === 0)?_c('th',{attrs:{\"scope\":\"row\",\"rowspan\":item.numberOfPayments}},[_vm._v(_vm._s(_vm.clientName(item.clients)))]):_vm._e(),(_vm.showLegalAdvisor)?_c('td',[_vm._v(_vm._s(_vm.legalAdvisorName(item.ownerId)))]):_vm._e(),_c('td',[_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm.appointmentProductTypeDescription(item.productTypeId)))]),(item.partPayment)?_c('b-badge',{staticClass:\"mr-1\",attrs:{\"variant\":\"success\"}},[_vm._v(\"Part Payment (\"+_vm._s(item.index + 1)+\")\")]):_vm._e()],1),(item.type === 4 && item.partPayment === true)?_c('td',[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(item.value)))]):(item.instructedValue == null)?_c('td'):_c('td',[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(item.instructedValue)))]),(_vm.showSigning)?_c('td',[_vm._v(_vm._s(_vm._f(\"date\")(item.signingDate)))]):_vm._e(),(_vm.showBanked)?_c('td',[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(item.value)))]):_vm._e(),(_vm.showBanked)?_c('td',[_vm._v(_vm._s(_vm._f(\"date\")(item.bankedDate)))]):_vm._e(),(_vm.showCleared)?_c('td',[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(item.value)))]):_vm._e(),(_vm.showCleared)?_c('td',[_vm._v(_vm._s(_vm._f(\"date\")(item.clearedDate)))]):_vm._e(),_c('td',[_vm._t(\"actions\",null,{\"item\":item})],2)])}),0)])])}\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\nimport { TargetTrackerAppointment } from '@/shared/target-tracker-appointment';\nimport { TargetTrackerAppointmentClient } from '@/shared/target-tracker-appointment-client';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\nimport { TargetTrackerDetail } from './target-tracker-detail';\n\nconst typesModule = namespace('types');\nconst usersModule = namespace('users');\n\n@Component\nexport default class TargetTrackerDetailTable extends Vue {\n @typesModule.Getter('appointmentProductTypeDescription') private appointmentProductTypeDescription!: (id: string | null) => string;\n @usersModule.Getter('fullName') private legalAdvisorName!: (userId: string) => string;\n\n @Prop({ required: true }) private appointments!: Array;\n @Prop({ required: false, default: false }) private showLegalAdvisor!: boolean;\n @Prop({ required: false, default: false }) private showSigning!: boolean;\n @Prop({ required: false, default: false }) private showBanked!: boolean;\n @Prop({ required: false, default: false }) private showCleared!: boolean;\n\n private get items(): Array {\n const items: Array = [];\n\n const sortedAppointments = [...this.appointments].sort((a, b) => {\n if (a.date > b.date) { return 1; }\n if (a.date < b.date) { return -1; }\n return 0;\n });\n\n for (const appointment of sortedAppointments) {\n const numberOfPayments = appointment.payments.length;\n let rowNumber: number = 0;\n\n const sortedPayments = appointment.payments.sort((a, b) => {\n if (numberOfPayments < 2) { return 0; }\n if (a.index! > b.index!) { return 1; }\n if (a.index! < b.index!) { return -1; }\n return 0;\n });\n\n for (const payment of sortedPayments) {\n items.push({\n ...payment,\n numberOfPayments,\n rowNumber,\n appointmentId: appointment.id,\n clients: appointment.clients,\n });\n\n rowNumber++;\n }\n }\n\n return items;\n }\n\n private accountNo(clients: Array): string {\n const sortedClients = [...clients].sort((a, b) => {\n if (a.accountNo > b.accountNo) { return 1; }\n if (a.accountNo < b.accountNo) { return -1; }\n return 0;\n });\n\n return sortedClients.map((client) => client.accountNo).join(' & ');\n }\n\n private clientName(clients: Array): string {\n const sortedClients = [...clients].sort((a, b) => {\n if (a.accountNo > b.accountNo) { return 1; }\n if (a.accountNo < b.accountNo) { return -1; }\n return 0;\n });\n\n if (!sortedClients.length) { return ''; }\n\n const clientFirstName = sortedClients[0].firstName!.trim();\n const clientLastName = sortedClients[0].lastName!.trim();\n\n if (sortedClients.length === 1) {\n return `${clientFirstName} ${clientLastName}`.trim();\n }\n\n const partnerFirstName = sortedClients[1].firstName!.trim();\n const partnerLastName = sortedClients[1].lastName!.trim();\n\n return clientLastName === partnerLastName\n ? `${clientFirstName} & ${partnerFirstName} ${clientLastName}`\n : `${clientFirstName} ${clientLastName} & ${partnerFirstName} ${partnerLastName}`;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./target-tracker-detail-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./target-tracker-detail-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./target-tracker-detail-table.vue?vue&type=template&id=72e9277f&\"\nimport script from \"./target-tracker-detail-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./target-tracker-detail-table.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('b-modal',{attrs:{\"centered\":\"\",\"size\":\"xl\",\"title\":_vm.title,\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-btn-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"form-row align-items-center\"},[_c('div',{staticClass:\"form-group col-md-3\"},[_c('label',{attrs:{\"for\":\"instructed-date\"}},[_vm._v(\"Instructed Date\")]),_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"instructed-date\"}},[_vm._v(_vm._s(_vm._f(\"date\")(_vm.instructedDate)))])]),_c('div',{staticClass:\"form-group col-md-3\"},[_c('label',{attrs:{\"for\":\"instructed-value\"}},[_vm._v(\"Instructed Value\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}])},[_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"instructed-value\"}},[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.payment.instructedValue)))])])],1)]),_c('div',{staticClass:\"form-row align-items-center\"},[(_vm.showSigningDate)?_c('div',{staticClass:\"form-group col-md-3\"},[_c('label',{attrs:{\"for\":\"singing-date\"}},[_vm._v(\"Signing Date\")]),(_vm.canEditSigningDate)?_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:(_vm.isSigningDateRequired ? (\"required|date_format:dd/MM/yyyy|after:\" + _vm.instructedDateText + \", true\") : (\"date_format:dd/MM/yyyy|after:\" + _vm.instructedDateText + \", true\")),expression:\"isSigningDateRequired ? `required|date_format:dd/MM/yyyy|after:${instructedDateText}, true` : `date_format:dd/MM/yyyy|after:${instructedDateText}, true`\"}],class:{ 'is-invalid': _vm.errors.has('signing-date') },attrs:{\"disabled-dates\":{ to: _vm.instructedDate },\"name\":\"signing-date\",\"id\":\"signing-date\",\"data-vv-as\":\"signing date\"},model:{value:(_vm.signingDate),callback:function ($$v) {_vm.signingDate=$$v},expression:\"signingDate\"}}):_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"signing-date\"}},[_vm._v(_vm._s(_vm._f(\"date\")(_vm.signingDate)))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('signing-date')),expression:\"errors.has('signing-date')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('signing-date')))])],1):_vm._e(),(_vm.showAmount)?_c('div',{staticClass:\"form-group col-md-3\"},[_c('label',{attrs:{\"for\":\"amount\"}},[_vm._v(\"Amount\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}],null,false,4272410090)},[(!_vm.payment.partPayment)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.payment.value),expression:\"payment.value\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal:2'),expression:\"'required|decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('amount') },attrs:{\"type\":\"text\",\"name\":\"amount\",\"id\":\"amount\",\"data-vv-as\":\"amount\"},domProps:{\"value\":(_vm.payment.value)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.payment, \"value\", $event.target.value)}}}):_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"amount\"}},[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.payment.value)))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('amount')),expression:\"errors.has('amount')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('amount')))])])],1):_vm._e(),(_vm.showBankedDate)?_c('div',{staticClass:\"form-group col-md-3\"},[_c('label',{attrs:{\"for\":\"banked-date\"}},[_vm._v(\"Banked Date\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:((\"required|date_format:dd/MM/yyyy|after:\" + _vm.instructedDateText + \", true\")),expression:\"`required|date_format:dd/MM/yyyy|after:${instructedDateText}, true`\"}],class:{ 'is-invalid': _vm.errors.has('banked-date') },attrs:{\"disabled-dates\":{ to: _vm.instructedDate },\"name\":\"banked-date\",\"id\":\"banked-date\",\"data-vv-as\":\"banked date\"},model:{value:(_vm.bankedDate),callback:function ($$v) {_vm.bankedDate=$$v},expression:\"bankedDate\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('banked-date')),expression:\"errors.has('banked-date')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('banked-date')))])],1):_vm._e(),(_vm.showClearedDate)?_c('div',{staticClass:\"form-group col-md-3\"},[_c('label',{attrs:{\"for\":\"cleared-date\"}},[_vm._v(\"Cleared Date\")]),(_vm.canEditClearedDate)?_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:((\"required|date_format:dd/MM/yyyy|after:\" + _vm.bankedDateText + \", true\")),expression:\"`required|date_format:dd/MM/yyyy|after:${bankedDateText}, true`\"}],class:{ 'is-invalid': _vm.errors.has('cleared-date') },attrs:{\"disabled-dates\":{ to: _vm.bankedDate },\"name\":\"cleared-date\",\"id\":\"cleared-date\",\"data-vv-as\":\"cleared date\"},model:{value:(_vm.clearedDate),callback:function ($$v) {_vm.clearedDate=$$v},expression:\"clearedDate\"}}):_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"cleared-date\"}},[_vm._v(_vm._s(_vm._f(\"date\")(_vm.clearedDate)))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('cleared-date')),expression:\"errors.has('cleared-date')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('cleared-date')))])],1):_vm._e(),(_vm.showDebtorDate)?_c('div',{staticClass:\"form-group col-md-3\"},[_c('label',{attrs:{\"for\":\"debtor-date\"}},[_vm._v(\"Debtor Date\")]),(_vm.canEditDebtorDate)?_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:((\"required|date_format:dd/MM/yyyy|after:\" + _vm.bankedOrInstructedDateText + \", true\")),expression:\"`required|date_format:dd/MM/yyyy|after:${bankedOrInstructedDateText}, true`\"}],class:{ 'is-invalid': _vm.errors.has('debtor-date') },attrs:{\"disabled-dates\":{ to: _vm.bankedOrInstructedDate },\"name\":\"debtor-date\",\"id\":\"debtor-date\",\"data-vv-as\":\"debtor date\"},model:{value:(_vm.debtorDate),callback:function ($$v) {_vm.debtorDate=$$v},expression:\"debtorDate\"}}):_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"debtor-date\"}},[_vm._v(_vm._s(_vm._f(\"date\")(_vm.debtorDate)))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('debtor-date')),expression:\"errors.has('debtor-date')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('debtor-date')))])],1):_vm._e(),(_vm.showNoLongerProceedingDate)?_c('div',{staticClass:\"form-group col-md-3\"},[_c('label',{attrs:{\"for\":\"no-longer-proceeding-date\"}},[_vm._v(\"No Longer Proceeding Date\")]),(_vm.canEditNoLongerProceedingDate)?_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:((\"required|date_format:dd/MM/yyyy|after:\" + _vm.bankedOrInstructedDateText + \", true\")),expression:\"`required|date_format:dd/MM/yyyy|after:${bankedOrInstructedDateText}, true`\"}],class:{ 'is-invalid': _vm.errors.has('no-longer-proceeding-date') },attrs:{\"disabled-dates\":{ to: _vm.bankedOrInstructedDate },\"name\":\"no-longer-proceeding-date\",\"id\":\"no-longer-proceeding-date\",\"data-vv-as\":\"no longer proceeding date\"},model:{value:(_vm.noLongerProceedingDate),callback:function ($$v) {_vm.noLongerProceedingDate=$$v},expression:\"noLongerProceedingDate\"}}):_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"no-longer-proceeding-date\"}},[_vm._v(_vm._s(_vm._f(\"date\")(_vm.noLongerProceedingDate)))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('no-longer-proceeding-date')),expression:\"errors.has('no-longer-proceeding-date')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('no-longer-proceeding-date')))])],1):_vm._e(),(_vm.showWrittenOffDate)?_c('div',{staticClass:\"form-group col-md-3\"},[_c('label',{attrs:{\"for\":\"written-off-date\"}},[_vm._v(\"Written Off Date\")]),(_vm.canEditWrittenOffDate)?_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:((\"required|date_format:dd/MM/yyyy|after:\" + _vm.bankedOrInstructedDateText + \", true\")),expression:\"`required|date_format:dd/MM/yyyy|after:${bankedOrInstructedDateText}, true`\"}],class:{ 'is-invalid': _vm.errors.has('written-off-date') },attrs:{\"disabled-dates\":{ to: _vm.bankedOrInstructedDate },\"name\":\"written-off-date\",\"id\":\"written-off-date\",\"data-vv-as\":\"written off date\"},model:{value:(_vm.writtenOffDate),callback:function ($$v) {_vm.writtenOffDate=$$v},expression:\"writtenOffDate\"}}):_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"written-off-date\"}},[_vm._v(_vm._s(_vm._f(\"date\")(_vm.writtenOffDate)))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('written-off-date')),expression:\"errors.has('written-off-date')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('written-off-date')))])],1):_vm._e()]),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isBusy},on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isBusy},on:{\"click\":_vm.onSaveAsync}},[_vm._v(\"Update\")])],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { TargetTrackerApi } from '@/api/target-tracker';\nimport { TargetTrackerAppointmentPayment } from '@/shared/target-tracker-appointment-payment';\nimport { AppointmentPaymentStatusType } from '@/shared/types/appointment-payment-status-type';\nimport { formatCurrentDate, formatDate } from '@/shared/utilities/date-utilities';\nimport { DateTime } from 'luxon';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst userModule = namespace('user');\n\nconst targetTrackerApi = new TargetTrackerApi();\n\n@Component\nexport default class TargetTrackerEditPaymentDialog extends Vue {\n @userModule.Getter('isInternalKeyStakeholder') private isInternalKeyStakeholder!: boolean;\n @userModule.Getter('isHeadOfDepartment') private isHeadOfDepartment!: boolean;\n\n @Prop({ required: true }) private value!: boolean;\n @Prop({ required: true }) private payment!: TargetTrackerAppointmentPayment;\n @Prop({ required: true }) private paymentStatusType!: AppointmentPaymentStatusType;\n\n private isVisible: boolean = this.value;\n private isBusy: boolean = false;\n\n private instructedDate: string | Date | null = formatDate(this.payment.instructedDate, true);\n private signingDate: string | Date | null = formatDate(this.payment.signingDate, true);\n private bankedDate: string | Date | null = formatDate(this.payment.bankedDate, true);\n private clearedDate: string | Date | null = formatDate(this.payment.clearedDate, true);\n private debtorDate: string | Date | null = this.payment.debtorDate == null ? formatCurrentDate() : formatDate(this.payment.debtorDate, true);\n private noLongerProceedingDate: string | Date | null = this.payment.noLongerProceedingDate == null ? formatCurrentDate() : formatDate(this.payment.noLongerProceedingDate, true);\n private writtenOffDate: string | Date | null = this.payment.writtenOffDate == null ? formatCurrentDate() : formatDate(this.payment.writtenOffDate, true);\n\n private get title(): string {\n if (this.paymentStatusType.isSigningPending) {\n return 'Update as Signing Pending';\n } else if (this.paymentStatusType.isSigningBooked) {\n return 'Update as Signing Booked';\n } else if (this.paymentStatusType.isPartPayment) {\n return 'Update as Pending';\n } else if (this.paymentStatusType.isBanked) {\n return 'Update as Banked';\n } else if (this.paymentStatusType.isCleared) {\n return 'Update as Cleared';\n } else if (this.paymentStatusType.isDebtor) {\n return 'Update as Debtor';\n } else if (this.paymentStatusType.isNoLongerProceeding) {\n return 'Update as No Longer Proceeding';\n } else if (this.paymentStatusType.isWrittenOff) {\n return 'Update as Written Off';\n } else {\n return 'Update';\n }\n }\n\n private get showSigningDate(): boolean {\n return !this.paymentStatusType.isSigningPending;\n }\n\n private get showAmount(): boolean {\n return !this.paymentStatusType.isSigningPending && !this.paymentStatusType.isSigningBooked;\n }\n\n private get showBankedDate(): boolean {\n if (this.paymentStatusType.isSigningPending || this.paymentStatusType.isSigningBooked || this.paymentStatusType.isPartPayment) { return false; }\n\n return this.paymentStatusType.isDebtor || this.paymentStatusType.isNoLongerProceeding || this.paymentStatusType.isWrittenOff ? this.payment.bankedDate != null : true;\n }\n\n private get showClearedDate(): boolean {\n return this.paymentStatusType.isCleared;\n }\n\n private get showDebtorDate(): boolean {\n return this.paymentStatusType.isDebtor;\n }\n\n private get showNoLongerProceedingDate(): boolean {\n return this.paymentStatusType.isNoLongerProceeding;\n }\n\n private get showWrittenOffDate(): boolean {\n return this.paymentStatusType.isWrittenOff;\n }\n\n private get isSigningDateRequired(): boolean {\n return this.paymentStatusType.isSigningBooked;\n }\n\n private get canEditSigningDate(): boolean {\n return !this.paymentStatusType.isPartPayment;\n }\n\n private get canEditClearedDate(): boolean {\n return this.isInternalKeyStakeholder ? true : this.isHeadOfDepartment && this.paymentStatusType.isCleared;\n }\n\n private get canEditDebtorDate(): boolean {\n return this.isInternalKeyStakeholder ? true : this.paymentStatusType.isDebtor;\n }\n\n private get canEditNoLongerProceedingDate(): boolean {\n return this.isInternalKeyStakeholder ? true : this.paymentStatusType.isNoLongerProceeding;\n }\n\n private get canEditWrittenOffDate(): boolean {\n return this.isInternalKeyStakeholder ? true : this.isHeadOfDepartment && this.paymentStatusType.isWrittenOff;\n }\n\n private get bankedOrInstructedDate(): string | Date | null {\n return this.bankedDate == null ? this.instructedDate : this.bankedDate;\n }\n\n private get instructedDateText(): string {\n const instructedDate = this.instructedDate instanceof Date ? DateTime.fromJSDate(this.instructedDate, { zone: 'UTC' }) : DateTime.fromISO(this.instructedDate!, { zone: 'UTC' });\n return instructedDate.minus({ hours: instructedDate.hour, minutes: instructedDate.minute }).toFormat('dd/MM/yyyy');\n }\n\n private get bankedDateText(): string {\n const bankedDate = this.bankedDate instanceof Date ? DateTime.fromJSDate(this.bankedDate, { zone: 'UTC' }) : DateTime.fromISO(this.bankedDate!, { zone: 'UTC' });\n return bankedDate.minus({ hours: bankedDate.hour, minutes: bankedDate.minute }).toFormat('dd/MM/yyyy');\n }\n\n private get bankedOrInstructedDateText(): string {\n const date = this.bankedOrInstructedDate instanceof Date ? DateTime.fromJSDate(this.bankedOrInstructedDate, { zone: 'UTC' }) : DateTime.fromISO(this.bankedOrInstructedDate!, { zone: 'UTC' });\n return date.minus({ hours: date.hour, minutes: date.minute }).toFormat('dd/MM/yyyy');\n }\n\n @Watch('value')\n private onValueChanged(value: boolean): void {\n this.isVisible = value;\n }\n\n private async onSaveAsync(): Promise {\n if (!await this.$validator.validateAll()) { return; }\n\n try {\n this.isBusy = true;\n\n await targetTrackerApi.updateTargetTrackerPaymentAsync(this.payment.id, {\n paymentStatusId: this.paymentStatusType.id!,\n partPayment: this.payment.partPayment!,\n index: this.payment.index!,\n value: this.paymentStatusType.isSigningPending || this.paymentStatusType.isSigningBooked ? null : this.payment.value,\n signingDate: this.paymentStatusType.isSigningPending ? null : this.signingDate,\n bankedDate: this.paymentStatusType.isSigningPending || this.paymentStatusType.isSigningBooked || this.paymentStatusType.isPartPayment ? null : this.bankedDate,\n clearedDate: this.paymentStatusType.isCleared ? this.clearedDate : null,\n debtorDate: this.paymentStatusType.isDebtor ? this.debtorDate : null,\n noLongerProceedingDate: this.paymentStatusType.isNoLongerProceeding ? this.noLongerProceedingDate : null,\n writtenOffDate: this.paymentStatusType.isWrittenOff ? this.writtenOffDate : null,\n version: this.payment.version,\n });\n\n this.$emit('ok');\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not update payment, please try again.`, type: 'is-danger' });\n }\n }\n\n this.isBusy = false;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n}\n","export enum TargetTrackerAppointmentPaymentType {\n ClearedPayment = 0,\n BankedPayment,\n SigningBooked,\n NextMonth,\n SigningPending,\n Debtor,\n NoLongerProceeding,\n ConsideringOptions,\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./target-tracker-edit-payment-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./target-tracker-edit-payment-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./target-tracker-edit-payment-dialog.vue?vue&type=template&id=49b18188&\"\nimport script from \"./target-tracker-edit-payment-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./target-tracker-edit-payment-dialog.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { AppointmentApi } from '@/api/appointments';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport editAppointmentOutcomeDialog from '@/components/appointments/edit-appointment-outcome-dialog.vue';\nimport viewAppointmentDialog from '@/components/appointments/view-appointment-dialog.vue';\nimport loading from '@/components/loading.vue';\nimport assignAdvisorDialog from '@/components/target-tracker/target-tracker-assign-advisor-dialog.vue';\nimport { TargetTrackerDetail } from '@/components/target-tracker/target-tracker-detail';\nimport targetTrackerDetailTable from '@/components/target-tracker/target-tracker-detail-table.vue';\nimport editPaymentDialog from '@/components/target-tracker/target-tracker-edit-payment-dialog.vue';\nimport { Appointment } from '@/shared/appointments/appointment';\nimport { TargetTrackerAdvisor } from '@/shared/target-tracker-advisor';\nimport { TargetTrackerAppointment } from '@/shared/target-tracker-appointment';\nimport { TargetTrackerAppointmentPayment } from '@/shared/target-tracker-appointment-payment';\nimport { TargetTrackerAppointmentPaymentType } from '@/shared/target-tracker-appointment-payment-type';\nimport { AppointmentPaymentStatusType } from '@/shared/types/appointment-payment-status-type';\nimport { User } from '@/shared/user';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst appointmentApi = new AppointmentApi();\n\nconst typesModule = namespace('types');\nconst userModule = namespace('user');\n\n@Component({\n components: {\n editAppointmentOutcomeDialog,\n viewAppointmentDialog,\n loading,\n assignAdvisorDialog,\n targetTrackerDetailTable,\n editPaymentDialog,\n },\n})\nexport default class TargetTrackerAdvisorTab extends Vue {\n @typesModule.Getter('activeAppointmentPaymentStatusTypes') private appointmentPaymentStatusTypes!: Array;\n\n @userModule.Getter('user') private currentUser!: User;\n @userModule.Getter('isInternalKeyStakeholder') private isInternalKeyStakeholder!: boolean;\n @userModule.Getter('isHeadOfDepartment') private isHeadOfDepartment!: boolean;\n\n @Prop({ required: true }) private advisor!: TargetTrackerAdvisor;\n @Prop({ required: true }) private partnerPracticeId!: string;\n\n private isLoading: boolean = false;\n\n private selectedAppointment: Appointment | null = null;\n private selectedPayment: TargetTrackerAppointmentPayment | null = null;\n private selectedPaymentStatusType: AppointmentPaymentStatusType | null = null;\n\n private showViewAppointmentDialog: boolean = false;\n private showEditAppointmentOutcomeDialog: boolean = false;\n private showAssignAdvisorDialog: boolean = false;\n private showEditPaymentDialog: boolean = false;\n\n private get predictedBanking(): number {\n const clearedAmount = this.appointments(TargetTrackerAppointmentPaymentType.ClearedPayment)\n .map((appointment) => appointment.payments.reduce((total, current) => total + current.value!, 0))\n .reduce((total, current) => total + current, 0);\n\n const bankedAmount = this.appointments(TargetTrackerAppointmentPaymentType.BankedPayment)\n .map((appointment) => appointment.payments.reduce((total, current) => total + current.value!, 0))\n .reduce((total, current) => total + current, 0);\n\n const signingBookedAmount = this.appointments(TargetTrackerAppointmentPaymentType.SigningBooked)\n .map((appointment) => appointment.payments.reduce((total, current) => total + current.instructedValue!, 0))\n .reduce((total, current) => total + current, 0);\n\n return clearedAmount + bankedAmount + signingBookedAmount;\n }\n\n private get differenceToTarget(): number | null {\n return this.advisor.targetAmount == null ? null : this.advisor.targetAmount - this.predictedBanking;\n }\n\n private canEdit(item: TargetTrackerDetail): boolean {\n return this.isInternalKeyStakeholder || this.isHeadOfDepartment ? true : this.currentUser.id! === item.ownerId;\n }\n\n private async onViewAppointmentAsync(appointmentId: string): Promise {\n try {\n this.isLoading = true;\n\n this.selectedAppointment = await appointmentApi.getAppointmentByIdAsync(appointmentId);\n\n this.showViewAppointmentDialog = true;\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not appointment. Please try again.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private async onEditAppointmentOutcomeAsync(appointmentId: string): Promise {\n try {\n this.isLoading = true;\n\n this.selectedAppointment = await appointmentApi.getAppointmentByIdAsync(appointmentId);\n\n this.showEditAppointmentOutcomeDialog = true;\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not appointment. Please try again.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private onMoveTo(item: TargetTrackerDetail): void {\n this.selectedPayment = { ...item };\n this.showAssignAdvisorDialog = true;\n }\n\n private onChangeToSigningPending(item: TargetTrackerDetail): void {\n this.selectedPayment = { ...item };\n this.selectedPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.isSigningPending)!;\n this.showEditPaymentDialog = true;\n }\n\n private onChangeToSigningBooked(item: TargetTrackerDetail): void {\n this.selectedPayment = { ...item };\n this.selectedPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.isSigningBooked)!;\n this.showEditPaymentDialog = true;\n }\n\n private onChangeToPartPayment(item: TargetTrackerDetail): void {\n this.selectedPayment = { ...item };\n this.selectedPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.isPartPayment)!;\n this.showEditPaymentDialog = true;\n }\n\n private onChangeToBanked(item: TargetTrackerDetail): void {\n this.selectedPayment = { ...item };\n this.selectedPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.isBanked)!;\n this.showEditPaymentDialog = true;\n }\n\n private onChangeToCleared(item: TargetTrackerDetail): void {\n this.selectedPayment = { ...item };\n this.selectedPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.isCleared)!;\n this.showEditPaymentDialog = true;\n }\n\n private onChangeToDebtor(item: TargetTrackerDetail): void {\n this.selectedPayment = { ...item };\n this.selectedPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.isDebtor)!;\n this.showEditPaymentDialog = true;\n }\n\n private onChangeToNoLongerProceeding(item: TargetTrackerDetail): void {\n this.selectedPayment = { ...item };\n this.selectedPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.isNoLongerProceeding)!;\n this.showEditPaymentDialog = true;\n }\n\n private onChangeToWrittenOff(item: TargetTrackerDetail): void {\n this.selectedPayment = { ...item };\n this.selectedPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.isWrittenOff)!;\n this.showEditPaymentDialog = true;\n }\n\n private onAppointmentOutcomeUpdated(): void {\n this.$snackbar.open({ message: `Appointment outcome successfully updated.`, type: 'is-success' });\n this.onCancel();\n\n this.$emit('refresh', this.advisor.id);\n }\n\n private onAdvisorAssigned(advisorName: string): void {\n this.$snackbar.open({ message: `Payment has been assigned to '${advisorName}'.`, type: 'is-success' });\n this.onCancel();\n\n this.$emit('refresh', this.advisor.id);\n }\n\n private onPaymentUpdated(): void {\n this.$snackbar.open({ message: `Payment has been successfully updated.`, type: 'is-success' });\n this.onCancel();\n\n this.$emit('refresh', this.advisor.id);\n }\n\n private onCancel(): void {\n this.showViewAppointmentDialog = false;\n this.showEditAppointmentOutcomeDialog = false;\n this.showAssignAdvisorDialog = false;\n this.showEditPaymentDialog = false;\n\n this.selectedAppointment = null;\n this.selectedPayment = null;\n this.selectedPaymentStatusType = null;\n }\n\n private appointments(type: number): Array {\n const appointments = this.advisor.appointments.filter((appointment) =>\n appointment.payments.some((payment) =>\n payment.type === type));\n\n if (appointments == null) { return []; }\n\n return appointments.map((appointment) => {\n return {\n ...appointment,\n clients: [...appointment.clients],\n payments: [...appointment.payments.filter((payment) => payment.type === type)],\n };\n });\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./target-tracker-advisor-tab.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./target-tracker-advisor-tab.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./target-tracker-advisor-tab.vue?vue&type=template&id=b931e5ee&\"\nimport script from \"./target-tracker-advisor-tab.vue?vue&type=script&lang=ts&\"\nexport * from \"./target-tracker-advisor-tab.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:\"target-tracker-filters\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"form-group col-sm-2\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"partner-practice\"}},[_vm._v(\"Assigned To:\")]),(_vm.partnerPractices.length === 1)?_c('div',{staticClass:\"form-control\",attrs:{\"id\":\"partner-practice\"}},[_vm._v(_vm._s(_vm.partnerPractices[0].name))]):_c('b-form-select',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],class:{ 'is-invalid': _vm.errors.has('partner-practice') },attrs:{\"plain\":\"\",\"options\":_vm.partnerPracticeOptions,\"name\":\"partner-practice\",\"id\":\"partner-practice\",\"data-vv-as\":\"assigned to\"},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"form-group col-sm-2\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"year\"}},[_vm._v(\"Year:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.yearFilter),expression:\"yearFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"year\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.yearFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.years),function(year,index){return _c('option',{key:index,domProps:{\"value\":year}},[_vm._v(_vm._s(year))])}),0)]),_c('div',{staticClass:\"form-group col-sm-2\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"month\"}},[_vm._v(\"Month:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.monthFilter),expression:\"monthFilter\"}],staticClass:\"form-control\",attrs:{\"id\":\"month\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.monthFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.months),function(month,index){return _c('option',{key:index,domProps:{\"value\":month.id}},[_vm._v(_vm._s(month.label))])}),0)]),_c('div',{staticClass:\"form-group col-sm-2\"},[_c('label',[_vm._v(\" \")]),_c('b-btn',{staticClass:\"form-control\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onFilterAsync}},[_vm._v(\"Filter\")])],1),_c('div',{staticClass:\"form-group col-sm-2\"},[_c('label',[_vm._v(\" \")]),_c('div',{staticClass:\"form-inline\"},[_c('a',{staticClass:\"btn btn-link form-control px-0\",on:{\"click\":_vm.onClearFilters}},[_vm._v(\"Clear Filters\")])])])])])}\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\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { DateTime } from 'luxon';\nimport { Component, Vue } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\n\n@Component\nexport default class TargetTrackerFilters extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n\n private partnerPracticeFilter: string | null = null;\n private yearFilter: number = DateTime.local().year;\n private monthFilter: number = DateTime.local().month;\n\n private get partnerPracticeOptions(): Array<{}> {\n const simpsons = this.partnerPractices\n .filter((partnerPractice) => partnerPractice.isSimpsonsSolicitors)\n .map((partnerPractice) => {\n return {\n value: partnerPractice.id!,\n text: partnerPractice.name,\n };\n })\n .sort((a, b) => {\n if (a.text! > b.text!) { return 1; }\n if (a.text! < b.text!) { return -1; }\n return 0;\n });\n\n const partners = this.partnerPractices\n .filter((partnerPractice) => !partnerPractice.isSimpsonsSolicitors)\n .map((partnerPractice) => {\n return {\n value: partnerPractice.id!,\n text: partnerPractice.name,\n };\n })\n .sort((a, b) => {\n if (a.text! > b.text!) { return 1; }\n if (a.text! < b.text!) { return -1; }\n return 0;\n });\n\n return [\n { value: null, text: '--- Please Select ---' },\n { label: 'Simpsons Solicitors', options: simpsons },\n { label: 'Partner Practices', options: partners },\n ];\n }\n\n private get years(): Array {\n const minimumYear: number = 2019;\n const maximumYear: number = DateTime.local().year + 1;\n\n const values: Array = [];\n\n for (let i = minimumYear; i <= maximumYear; i++) {\n values.push(i);\n }\n\n return values;\n }\n\n private get months(): Array<{ id: number, label: string }> {\n return [\n { id: 1, label: 'January' },\n { id: 2, label: 'February' },\n { id: 3, label: 'March' },\n { id: 4, label: 'April' },\n { id: 5, label: 'May' },\n { id: 6, label: 'June' },\n { id: 7, label: 'July' },\n { id: 8, label: 'August' },\n { id: 9, label: 'September' },\n { id: 10, label: 'October' },\n { id: 11, label: 'November' },\n { id: 12, label: 'December' },\n ];\n }\n\n private async onFilterAsync(): Promise {\n if (!await this.$validator.validateAll()) { return; }\n\n this.$emit('filter', {\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter,\n year: this.yearFilter,\n month: this.monthFilter,\n });\n }\n\n private onClearFilters(): void {\n this.partnerPracticeFilter = null;\n this.yearFilter = DateTime.local().year;\n this.monthFilter = DateTime.local().month;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./target-tracker-filters.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./target-tracker-filters.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./target-tracker-filters.vue?vue&type=template&id=5589e854&\"\nimport script from \"./target-tracker-filters.vue?vue&type=script&lang=ts&\"\nexport * from \"./target-tracker-filters.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:\"target-tracker-overview-table\"},[_c('table',{staticClass:\"table table-hover table-striped\"},[_c('thead',[_vm._m(0),_c('tr',[_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Total\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.bankingTargetTotal)))]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.predictedBankingTotal)))]),_c('th',{staticClass:\"border-right\",class:[_vm.differenceToTargetTotal > 0 ? 'bg-danger text-light' : 'bg-success text-light'],attrs:{\"scope\":\"col\"}},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.differenceToTargetTotal)))]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.clearedTotal)))]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.bankedTotal)))]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.signingBookedTotal)))]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.signingPendingTotal)))]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.nextMonthTotal)))]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.debtorTotal)))]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.noLongerProceedingTotal)))]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(_vm.consideringOptionsTotal)))])])]),_c('tbody',_vm._l((_vm.targets),function(target,index){return _c('tr',{key:index},[_c('th',{attrs:{\"scope\":\"row\"}},[_vm._v(_vm._s(_vm.legalAdvisorName(target)))]),(target.id === '00000000-0000-0000-0000-000000000000')?_c('td',[_vm._v(\"N/A\")]):_c('td',[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(target.bankingTarget)))]),(target.id === '00000000-0000-0000-0000-000000000000')?_c('td',[_vm._v(\"N/A\")]):_c('td',[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(target.predictedBanking)))]),(target.id === '00000000-0000-0000-0000-000000000000')?_c('td',{staticClass:\"border-right\"},[_vm._v(\"N/A\")]):_c('td',{staticClass:\"border-right\",class:[target.differenceToTarget > 0 ? 'bg-danger text-light' : 'bg-success text-light']},[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(target.differenceToTarget)))]),_c('td',[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(target.cleared)))]),_c('td',[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(target.banked)))]),_c('td',[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(target.signingBooked)))]),_c('td',[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(target.signingPending)))]),_c('td',[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(target.nextMonth)))]),_c('td',[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(target.debtor)))]),_c('td',[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(target.noLongerProceeding)))]),_c('td',[_vm._v(\"£\"+_vm._s(_vm._f(\"currency\")(target.consideringOptions)))])])}),0)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Legal Advisor\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Banking Target\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Predicted Banking\")]),_c('th',{staticClass:\"border-right\",attrs:{\"scope\":\"col\"}},[_vm._v(\"Difference to Target\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Cleared\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Banked\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Signing Booked\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Signing Pending\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Next Month\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Debtor\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"No Longer Proceeding\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Considering Options\")])])}]\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\nimport { TargetTrackerOverview } from '@/shared/target-tracker-overview';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class TargetTrackerOverviewTable extends Vue {\n @Prop({ required: true }) private targets!: Array;\n\n private get bankingTargetTotal(): number {\n return this.targets.filter((target) => target.bankingTarget != null)\n .reduce((total, current) => total + current.bankingTarget!, 0);\n }\n\n private get predictedBankingTotal(): number {\n return this.targets.filter((target) => target.predictedBanking != null)\n .reduce((total, current) => total + current.predictedBanking!, 0);\n }\n\n private get differenceToTargetTotal(): number {\n return this.targets.filter((target) => target.differenceToTarget != null)\n .reduce((total, current) => total + current.differenceToTarget!, 0);\n }\n\n private get clearedTotal(): number {\n return this.targets.filter((target) => target.cleared != null)\n .reduce((total, current) => total + current.cleared!, 0);\n }\n\n private get bankedTotal(): number {\n return this.targets.filter((target) => target.banked != null)\n .reduce((total, current) => total + current.banked!, 0);\n }\n\n private get signingBookedTotal(): number {\n return this.targets.filter((target) => target.signingBooked != null)\n .reduce((total, current) => total + current.signingBooked!, 0);\n }\n\n private get signingPendingTotal(): number {\n return this.targets.filter((target) => target.signingPending != null)\n .reduce((total, current) => total + current.signingPending!, 0);\n }\n\n private get nextMonthTotal(): number {\n return this.targets.filter((target) => target.nextMonth != null)\n .reduce((total, current) => total + current.nextMonth!, 0);\n }\n\n private get debtorTotal(): number {\n return this.targets.filter((target) => target.debtor != null)\n .reduce((total, current) => total + current.debtor!, 0);\n }\n\n private get noLongerProceedingTotal(): number {\n return this.targets.filter((target) => target.noLongerProceeding != null)\n .reduce((total, current) => total + current.noLongerProceeding!, 0);\n }\n\n private get consideringOptionsTotal(): number {\n return this.targets.filter((target) => target.consideringOptions != null)\n .reduce((total, current) => total + current.consideringOptions!, 0);\n }\n\n private legalAdvisorName(item: TargetTrackerOverview): string {\n const firstName = item.firstName == null ? '' : item.firstName.trim();\n const lastName = item.lastName == null ? '' : item.lastName.trim();\n\n return `${firstName} ${lastName}`.trim();\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./target-tracker-overview-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./target-tracker-overview-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./target-tracker-overview-table.vue?vue&type=template&id=c9ec6622&\"\nimport script from \"./target-tracker-overview-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./target-tracker-overview-table.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./target-tracker-overview-table.vue?vue&type=style&index=0&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 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\nimport { TargetTrackerRequest } from '@/api/requests/target-tracker/target-tracker-request';\nimport { Forbidden } from '@/api/responses/forbidden';\nimport { TargetTrackerApi } from '@/api/target-tracker';\nimport loading from '@/components/loading.vue';\nimport targetTrackerAdvisorTab from '@/components/target-tracker/target-tracker-advisor-tab.vue';\nimport targetTrackerDetailTable from '@/components/target-tracker/target-tracker-detail-table.vue';\nimport targetTrackerFilters from '@/components/target-tracker/target-tracker-filters.vue';\nimport targetTrackerOverviewTable from '@/components/target-tracker/target-tracker-overview-table.vue';\nimport { TargetTrackerAdvisor } from '@/shared/target-tracker-advisor';\nimport { TargetTrackerOverview } from '@/shared/target-tracker-overview';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\n\nconst targetTrackerApi = new TargetTrackerApi();\n\n@Component({\n components: {\n targetTrackerAdvisorTab,\n targetTrackerFilters,\n targetTrackerDetailTable,\n targetTrackerOverviewTable,\n loading,\n },\n})\nexport default class TargetTracker extends Vue {\n private isLoading: boolean = true;\n private tabIndex: number | null = 0;\n private request: TargetTrackerRequest | null = null;\n private targets: Array = new Array();\n private selectedAdvisor: TargetTrackerAdvisor | null = null;\n\n private get legalAdvisors(): Array<{ id: string, name: string }> {\n if (!this.targets.length) { return []; }\n\n return this.targets.map((target) => {\n const initial = target.firstName == null ? '' : target.firstName.trim().charAt(0);\n const lastName = target.lastName == null ? '' : target.lastName.trim();\n\n return {\n id: target.id!,\n name: target.id === '00000000-0000-0000-0000-000000000000' ? target.firstName!.trim() : `${initial}.${lastName}`,\n };\n });\n }\n\n @Watch('tabIndex')\n private async onTabIndexChanged(tabIndex: number): Promise {\n if (tabIndex === 0) {\n await this.loadTargetsAsync();\n return;\n }\n }\n\n private async onFilterAsync(request: TargetTrackerRequest): Promise {\n this.request = request;\n await this.loadTargetsAsync();\n }\n\n private async loadTargetsAsync(): Promise {\n if (this.request == null) { return; }\n\n try {\n this.isLoading = true;\n\n this.targets = await targetTrackerApi.getTargetTrackerOverviewAsync(this.request);\n this.tabIndex = 0;\n this.selectedAdvisor = null;\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not load legal advisor targets. Please try again.`, type: 'is-danger' });\n }\n }\n\n this.isLoading = false;\n }\n\n private async onUserTabClicked(legalAdvisorId: string) {\n try {\n this.selectedAdvisor = await targetTrackerApi.getTargetTrackerDetailsAsync(legalAdvisorId, this.request!);\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not load legal advisor targets. Please try again.`, type: 'is-danger' });\n }\n }\n }\n\n private async reloadUserAsync(legalAdvisorId: string): Promise {\n await this.onUserTabClicked(legalAdvisorId);\n }\n\n private async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`users/loadAllUsersAsync`),\n ]);\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./target-tracker.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./target-tracker.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./target-tracker.vue?vue&type=template&id=fc1c2172&\"\nimport script from \"./target-tracker.vue?vue&type=script&lang=ts&\"\nexport * from \"./target-tracker.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:\"tasks\"},[_vm._m(0),_c('div',{staticClass:\"row\"},[_c('loading',{attrs:{\"active\":_vm.isLoading}},[_vm._v(\"Loading tasks, please wait...\")]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-sm-2\"},[_c('partner-practice-select',{attrs:{\"partner-practices\":_vm.partnerPractices,\"all\":true},model:{value:(_vm.partnerPracticeFilter),callback:function ($$v) {_vm.partnerPracticeFilter=$$v},expression:\"partnerPracticeFilter\"}})],1),_c('div',{staticClass:\"col-sm-2\"},[_c('original-source-select',{attrs:{\"partner-practice-id\":_vm.partnerPracticeFilter},model:{value:(_vm.originalSourceFilter),callback:function ($$v) {_vm.originalSourceFilter=$$v},expression:\"originalSourceFilter\"}})],1),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"accountNumberFilter\"}},[_vm._v(\"Account Number:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accountNumberFilter),expression:\"accountNumberFilter\"},{name:\"validate\",rawName:\"v-validate\",value:('numeric'),expression:\"'numeric'\"}],staticClass:\"form-control\",class:{ 'is-invalid' : _vm.errors.has('accountNumberFilter') },attrs:{\"type\":\"text\",\"name\":\"accountNumberFilter\",\"data-vv-as\":\"account number\"},domProps:{\"value\":(_vm.accountNumberFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.loadTasksAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.accountNumberFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"clientNameFilter\"}},[_vm._v(\"Client Name:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.clientNameFilter),expression:\"clientNameFilter\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"clientNameFilter\"},domProps:{\"value\":(_vm.clientNameFilter)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.loadTasksAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.clientNameFilter=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"createdDatePeriodFilter\"}},[_vm._v(\"Created Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.createdDatePeriodFilter),expression:\"createdDatePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"createdDatePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.createdDatePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomCreatedDateFilter)?_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"createdDateFromFilter\"}},[_vm._v(\"Created Date From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid' : _vm.errors.has('createdDateFromFilter') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"wrapper-class\":'datepicker-wrapper',\"calendar-wrapper\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"createdDateFromFilter\",\"data-vv-as\":\"created date from\"},model:{value:(_vm.createdDateFromFilter),callback:function ($$v) {_vm.createdDateFromFilter=$$v},expression:\"createdDateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('createdDateFromFilter')),expression:\"errors.has('createdDateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('createdDateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomCreatedDateFilter)?_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"createdDateToFilter\"}},[_vm._v(\"Created Date To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid' : _vm.errors.has('createdDateToFilter') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"wrapper-class\":'datepicker-wrapper',\"calendar-wrapper\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"createdDateToFilter\",\"data-vv-as\":\"created date to\"},model:{value:(_vm.createdDateToFilter),callback:function ($$v) {_vm.createdDateToFilter=$$v},expression:\"createdDateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('createdDateToFilter')),expression:\"errors.has('createdDateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('createdDateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDatePeriodFilter\"}},[_vm._v(\"Appointment Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.appointmentDatePeriodFilter),expression:\"appointmentDatePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"appointmentDatePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.appointmentDatePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomAppointmentDateFilter)?_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateFromFilter\"}},[_vm._v(\"Appointment Date From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid' : _vm.errors.has('appointmentDateFromFilter') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"wrapper-class\":'datepicker-wrapper',\"calendar-wrapper\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"appointmentDateFromFilter\",\"data-vv-as\":\"appointment date from\"},model:{value:(_vm.appointmentDateFromFilter),callback:function ($$v) {_vm.appointmentDateFromFilter=$$v},expression:\"appointmentDateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateFromFilter')),expression:\"errors.has('appointmentDateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomAppointmentDateFilter)?_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"appointmentDateToFilter\"}},[_vm._v(\"Appointment Date To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid' : _vm.errors.has('appointmentDateToFilter') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"wrapper-class\":'datepicker-wrapper',\"calendar-wrapper\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"appointmentDateToFilter\",\"data-vv-as\":\"appointment date to\"},model:{value:(_vm.appointmentDateToFilter),callback:function ($$v) {_vm.appointmentDateToFilter=$$v},expression:\"appointmentDateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('appointmentDateToFilter')),expression:\"errors.has('appointmentDateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('appointmentDateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"dueDateFilter\"}},[_vm._v(\"Due Date (on or before):\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid' : _vm.errors.has('dueDateFilter') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"wrapper-class\":'datepicker-wrapper',\"calendar-wrapper\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"dueDateFilter\",\"data-vv-as\":\"due date\"},model:{value:(_vm.dueDateFilter),callback:function ($$v) {_vm.dueDateFilter=$$v},expression:\"dueDateFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('dueDateFilter')),expression:\"errors.has('dueDateFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('dueDateFilter')))])],1)]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"typeFilter\"}},[_vm._v(\"Type:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.typeFilter),expression:\"typeFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"typeFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.typeFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.taskTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2)])]),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"statusFilter\"}},[_vm._v(\"Status:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.statusFilter),expression:\"statusFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"statusFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.statusFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.taskStatuses),function(status){return _c('option',{key:status.id,domProps:{\"value\":status.id}},[_vm._v(_vm._s(status.value))])})],2)])]),_c('div',{staticClass:\"col-sm-2\"},[_c('user-select',{attrs:{\"type\":\"assigned task\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-to\":_vm.dueDateFilter,\"include-unassigned-option\":true},model:{value:(_vm.assignedUserFilter),callback:function ($$v) {_vm.assignedUserFilter=$$v},expression:\"assignedUserFilter\"}},[_vm._v(\"\\n Assigned User:\\n \")])],1),_c('div',{staticClass:\"col-sm-2\"},[_c('user-select',{attrs:{\"type\":\"completed task\",\"partner-practice-id\":_vm.partnerPracticeFilter,\"date-period\":_vm.completedDatePeriodFilter,\"date-from\":_vm.completedDateFromFilter,\"date-to\":_vm.completedDateToFilter},model:{value:(_vm.completedByFilter),callback:function ($$v) {_vm.completedByFilter=$$v},expression:\"completedByFilter\"}},[_vm._v(\"\\n Completed By:\\n \")])],1),_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"completedDatePeriodFilter\"}},[_vm._v(\"Completed Date Period:\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.completedDatePeriodFilter),expression:\"completedDatePeriodFilter\"}],staticClass:\"form-control\",attrs:{\"name\":\"completedDatePeriodFilter\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.completedDatePeriodFilter=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"All\")]),_vm._l((_vm.datePeriods),function(period){return _c('option',{key:period.id,domProps:{\"value\":period.id}},[_vm._v(_vm._s(period.value))])})],2)])]),(_vm.isCustomCompletedDateFilter)?_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"completedDateFromFilter\"}},[_vm._v(\"Completed Date From:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid' : _vm.errors.has('completedDateFromFilter') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"wrapper-class\":'datepicker-wrapper',\"calendar-wrapper\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"completedDateFromFilter\",\"data-vv-as\":\"completed date from\"},model:{value:(_vm.completedDateFromFilter),callback:function ($$v) {_vm.completedDateFromFilter=$$v},expression:\"completedDateFromFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('completedDateFromFilter')),expression:\"errors.has('completedDateFromFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('completedDateFromFilter')))])],1)]):_vm._e(),(_vm.isCustomCompletedDateFilter)?_c('div',{staticClass:\"col-sm-2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"completedDateToFilter\"}},[_vm._v(\"Completed Date To:\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|date_format:dd/MM/yyyy'),expression:\"'required|date_format:dd/MM/yyyy'\"}],class:{ 'is-invalid' : _vm.errors.has('completedDateToFilter') },attrs:{\"bootstrap-styling\":true,\"typeable\":true,\"full-month-name\":true,\"wrapper-class\":'datepicker-wrapper',\"calendar-wrapper\":'calendar-wrapper',\"placeholder\":'dd/MM/yyyy',\"use-utc\":true,\"name\":\"completedDateToFilter\",\"data-vv-as\":\"completed date to\"},model:{value:(_vm.completedDateToFilter),callback:function ($$v) {_vm.completedDateToFilter=$$v},expression:\"completedDateToFilter\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('completedDateToFilter')),expression:\"errors.has('completedDateToFilter')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('completedDateToFilter')))])],1)]):_vm._e(),_c('div',{staticClass:\"col-sm-1\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('b-btn',{staticClass:\"form-control\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.loadTasksAsync}},[_vm._v(\"Filter\")])],1)]),_c('div',{staticClass:\"col-sm-1\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\" \")]),_c('div',{staticClass:\"form-inline\"},[_c('a',{staticClass:\"btn btn-link form-control px-0\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.clearFilters}},[_vm._v(\"Clear Filters\")])])])])]),_c('tasks-table',{staticClass:\"pt-3\",attrs:{\"tasks\":_vm.tasks,\"currentPage\":_vm.currentPage,\"pageSize\":_vm.pageSize,\"total\":_vm.total},on:{\"page-changed\":_vm.onPageChanged,\"show-assign-tasks-dialog\":_vm.showAssignTasksDialog,\"unassign-tasks-confirmed\":_vm.onTasksUnassigned,\"show-complete-task-dialog\":_vm.showCompleteTaskDialog,\"show-edit-task-dialog\":_vm.showEditTaskDialog,\"show-delete-task-confirmation\":_vm.showDeleteTaskConfirmation}})],1)],1),_c('confirmation-dialog',{attrs:{\"prefix\":\"modal\",\"title\":\"Delete Task\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true,\"variant\":\"danger\",\"ok-text\":\"Delete\",\"centered\":\"\"},on:{\"ok\":_vm.onTaskDeleted,\"cancel\":_vm.onCancel},model:{value:(_vm.deleteTaskConfirmationDialogVisible),callback:function ($$v) {_vm.deleteTaskConfirmationDialogVisible=$$v},expression:\"deleteTaskConfirmationDialogVisible\"}},[_c('div',[_vm._v(\"\\n Are you sure you want to delete this task?\\n \")])]),(_vm.selectedTasks != null && _vm.selectedTasks.length > 0 && _vm.assignTasksDialogVisible)?_c('assign-task-dialog',{attrs:{\"visible\":_vm.assignTasksDialogVisible,\"tasks\":_vm.selectedTasks},on:{\"ok\":_vm.onTasksAssigned,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.selectedTask != null && _vm.completeTaskDialogVisible)?_c('complete-task-dialog',{attrs:{\"task\":_vm.selectedTask,\"visible\":_vm.completeTaskDialogVisible},on:{\"ok\":_vm.onTaskCompleted,\"cancel\":_vm.onCancel}}):_vm._e(),(_vm.selectedTask != null && _vm.editTaskDialogVisible)?_c('edit-task-dialog',{attrs:{\"task\":_vm.selectedTask,\"visible\":_vm.editTaskDialogVisible},on:{\"ok\":_vm.onTaskUpdated,\"cancel\":_vm.onCancel}}):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row pb-3 align-items-center justify-content-between\"},[_c('div',{staticClass:\"col\"},[_c('h2',[_vm._v(\"Tasks\")])])])}]\n\nexport { render, staticRenderFns }","import { Api } from '@/api/api';\nimport { TaskListRequestFilters } from '@/api/requests/tasks/task-list-request-filters';\nimport { TaskListResponse } from '@/api/responses/tasks/task-list-response';\nimport { TaskItem } from '@/shared/task-item';\nimport { TaskItemOutcome } from '../shared/task-item-outcome';\n\nexport class TaskApi extends Api {\n public async getTasksAsync(filters: TaskListRequestFilters | null = null): Promise {\n return await this.getAsync(`v1/task`, filters);\n }\n\n public async assignTaskAsync(taskId: string, userIds: Array): Promise {\n return await this.postAsync(`v1/task/${taskId}/assign`, {\n taskId,\n users: userIds,\n });\n }\n\n public async createTaskOutcomeAsync(taskId: string, taskItemOutcome: TaskItemOutcome): Promise {\n const url = this.buildUrl(`v1/task/${taskId}/outcome`);\n const location = await this.postAsync(`v1/task/${taskId}/outcome`, taskItemOutcome);\n return location.replace(`${url}/`, ``);\n }\n\n public async updateTaskOutcomeAsync(taskId: string, taskItemOutcome: TaskItemOutcome): Promise {\n const url = this.buildUrl(`v1/task/${taskId}/outcome/${taskItemOutcome.id!}`);\n const location = await this.putAsync(`v1/task/${taskId}/outcome/${taskItemOutcome.id!}`, taskItemOutcome);\n return location.replace(`${url}/`, ``);\n }\n\n public async deleteTaskAsync(task: TaskItem): Promise {\n return await this.deleteAsync(`v1/task/${task.id}`);\n }\n\n public constructor() {\n super();\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Assign Task\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"User\")]),_c('multiselect',{attrs:{\"options\":_vm.filteredUsers,\"multiple\":true,\"close-on-select\":false,\"clear-on-select\":false,\"placeholder\":\"Select users\",\"hide-selected\":true,\"custom-label\":_vm.fullName,\"track-by\":\"id\"},model:{value:(_vm.selectedUsers),callback:function ($$v) {_vm.selectedUsers=$$v},expression:\"selectedUsers\"}})],1),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onSaveAsync}},[_vm._v(\"Assign\")])],1)],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\nimport { Forbidden } from '@/api/responses/forbidden';\nimport { TaskApi } from '@/api/task';\nimport { TaskItem } from '@/shared/task-item';\nimport { User } from '@/shared/user';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst usersModule = namespace('users');\nconst taskApi = new TaskApi();\n\n@Component\nexport default class AssignTaskDialog extends Vue {\n @usersModule.Getter('activeUsers') private users!: Array;\n\n @Prop({ required: true }) private visible!: boolean;\n @Prop({ required: true }) private tasks!: Array;\n\n private isVisible: boolean = this.visible;\n private isSaving: boolean = false;\n private selectedUsers: Array = [];\n\n private get filteredUsers(): Array {\n return this.tasks.every((task) => task!.partnerPracticeId === this.tasks[0].partnerPracticeId!)\n ? this.users.filter((user) => user.partnerPracticeId == null || user.partnerPracticeId === this.tasks[0].partnerPracticeId!)\n : this.users.filter((user) => user.partnerPracticeId == null);\n }\n\n @Watch('visible')\n public visibleChanged(visible: boolean) {\n this.isVisible = visible;\n }\n\n private async onSaveAsync(): Promise {\n try {\n this.isSaving = true;\n\n for (const task of this.tasks) {\n await taskApi.assignTaskAsync(task.id!, this.selectedUsers.map((user) => user.id!));\n }\n\n this.$emit('ok', { ...this.tasks });\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: `forbidden` });\n } else if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not assign tasks, please try again.', type: 'is-danger' });\n }\n }\n\n this.isSaving = false;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n\n private fullName(user: User): string {\n return `${user.firstName!.trim()} ${user.lastName!.trim()}`.trim();\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./assign-task-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./assign-task-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./assign-task-dialog.vue?vue&type=template&id=05aac902&\"\nimport script from \"./assign-task-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./assign-task-dialog.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('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Complete Task\",\"size\":\"lg\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),(_vm.allowNotActioned)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"action\"}},[_vm._v(\"Action\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.taskItemOutcome.actioned),expression:\"taskItemOutcome.actioned\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid' : _vm.errors.has('action') },attrs:{\"name\":\"action\",\"id\":\"action\",\"data-vv-as\":\"action\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.taskItemOutcome, \"actioned\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_c('option',{domProps:{\"value\":true}},[_vm._v(\"Actioned\")]),_c('option',{domProps:{\"value\":false}},[_vm._v(\"Not Actioned\")])]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('action')),expression:\"errors.has('action')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('action')))])]):_vm._e(),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"notes\"}},[_vm._v(\"Notes\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.taskItemOutcome.notes),expression:\"taskItemOutcome.notes\"},{name:\"validate\",rawName:\"v-validate\",value:(!_vm.taskItemOutcome.actioned ? 'required' : ''),expression:\"!taskItemOutcome.actioned ? 'required' : ''\"}],staticClass:\"form-control\",class:{ 'is-invalid' : _vm.errors.has('notes') },attrs:{\"name\":\"notes\",\"id\":\"notes\",\"data-vv-as\":\"notes\"},domProps:{\"value\":(_vm.taskItemOutcome.notes)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.taskItemOutcome, \"notes\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('notes')),expression:\"errors.has('notes')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('notes')))])]),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onSave}},[_vm._v(\"Complete Task\")])],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export interface TaskItemOutcome {\n id?: string | null;\n actioned: boolean | null;\n notes: string | null;\n version?: number | null;\n createdDate?: string | Date | null;\n createdBy?: string | null;\n lastModifiedDate?: string | Date | null;\n lastModifiedBy?: string | null;\n}\n\nexport function createTaskItemOutcome(): TaskItemOutcome {\n return {\n actioned: null,\n notes: null,\n };\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { TaskApi } from '@/api/task';\nimport { TaskItem } from '@/shared/task-item';\nimport { createTaskItemOutcome, TaskItemOutcome } from '@/shared/task-item-outcome';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst userModule = namespace('user');\nconst taskApi = new TaskApi();\n\n@Component\nexport default class CompleteTaskDialog extends Vue {\n @userModule.Getter('isInternalKeyStakeholder') private isInternalKeyStakeholder!: boolean;\n @userModule.Getter('isCustomerExperienceExecutiveTeamLeader') private isCustomerExperienceExecutiveTeamLeader!: boolean;\n @userModule.Getter('isDataCreationTeamLeader') private isDataCreationTeamLeader!: boolean;\n @userModule.Getter('isHeadOfCustomerExperienceTeam') private isHeadOfCustomerExperienceTeam!: boolean;\n\n @Prop({ required: true }) private visible!: boolean;\n @Prop({ required: true }) private task!: TaskItem;\n\n private isVisible: boolean = this.visible;\n private isSaving: boolean = false;\n private taskItemOutcome: TaskItemOutcome = createTaskItemOutcome();\n\n private get allowNotActioned(): boolean {\n return this.isInternalKeyStakeholder || this.isCustomerExperienceExecutiveTeamLeader || this.isDataCreationTeamLeader || this.isHeadOfCustomerExperienceTeam;\n }\n\n @Watch('visible')\n public onVisibleChanged(visible: boolean): void {\n this.$validator.errors.clear();\n this.isVisible = visible;\n }\n\n private async onSave(): Promise {\n const isValid = await this.$validator.validateAll();\n\n if (!isValid) {\n return;\n }\n\n this.isSaving = true;\n\n try {\n await taskApi.createTaskOutcomeAsync(this.task.id!, { ...this.taskItemOutcome, actioned: this.allowNotActioned ? this.taskItemOutcome.actioned : true });\n this.$emit('ok', { ...this.taskItemOutcome });\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not complete task, please try again.', type: 'is-danger' });\n }\n }\n\n this.isSaving = false;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./complete-task-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./complete-task-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./complete-task-dialog.vue?vue&type=template&id=3b556d2e&\"\nimport script from \"./complete-task-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./complete-task-dialog.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('b-modal',{attrs:{\"centered\":\"\",\"title\":\"Edit Task\",\"size\":\"lg\",\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header-close\"},[_c('b-button-close',{on:{\"click\":_vm.onCancel}})],1),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"action\"}},[_vm._v(\"Action\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.taskItemOutcome.actioned),expression:\"taskItemOutcome.actioned\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('action') },attrs:{\"name\":\"action\",\"id\":\"action\",\"data-vv-as\":\"action\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.taskItemOutcome, \"actioned\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_c('option',{domProps:{\"value\":true}},[_vm._v(\"Actioned\")]),_c('option',{domProps:{\"value\":false}},[_vm._v(\"Not Actioned\")])]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('action')),expression:\"errors.has('action')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('action')))])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"notes\"}},[_vm._v(\"Notes\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.taskItemOutcome.notes),expression:\"taskItemOutcome.notes\"},{name:\"validate\",rawName:\"v-validate\",value:(!_vm.taskItemOutcome.actioned ? 'required' : ''),expression:\"!taskItemOutcome.actioned ? 'required' : ''\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('notes') },attrs:{\"name\":\"notes\",\"id\":\"notes\",\"data-vv-as\":\"notes\"},domProps:{\"value\":(_vm.taskItemOutcome.notes)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.taskItemOutcome, \"notes\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('notes')),expression:\"errors.has('notes')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('notes')))])]),_c('template',{slot:\"modal-footer\"},[_c('b-btn',{attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.onCancel}},[_vm._v(\"Cancel\")]),_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.onSave}},[_vm._v(\"Save\")])],1)],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\nimport { TaskApi } from '@/api/task';\nimport { TaskItem } from '@/shared/task-item';\nimport { TaskItemOutcome } from '@/shared/task-item-outcome';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\nconst taskApi = new TaskApi();\n\n@Component\nexport default class EditTaskDialog extends Vue {\n @Prop({ required: true }) private visible!: boolean;\n @Prop({ required: true }) private task!: TaskItem;\n\n private isVisible: boolean = this.visible;\n private isSaving: boolean = false;\n private originalOutcome: TaskItemOutcome = { ...this.task.outcome! };\n private taskItemOutcome: TaskItemOutcome = { ...this.originalOutcome };\n\n @Watch('visible')\n private onVisibleChanged(visible: boolean): void {\n this.taskItemOutcome = { ...this.originalOutcome };\n this.$validator.errors.clear();\n this.isVisible = visible;\n }\n\n private async onSave(): Promise {\n const isValid = await this.$validator.validateAll();\n\n if (!isValid) {\n return;\n }\n\n this.isSaving = true;\n\n try {\n await taskApi.updateTaskOutcomeAsync(this.task.id!, { ...this.taskItemOutcome });\n this.$emit('ok', { ...this.taskItemOutcome });\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not update task, please try again.', type: 'is-danger' });\n }\n }\n\n this.isSaving = false;\n }\n\n private onCancel(): void {\n this.$emit('cancel');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-task-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-task-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./edit-task-dialog.vue?vue&type=template&id=a3b2fd8e&\"\nimport script from \"./edit-task-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./edit-task-dialog.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('div',[(_vm.canAssignTasks)?_c('b-btn',{staticClass:\"mb-3\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.showAssignTasksDialog}},[_vm._v(_vm._s(_vm.assignTasksText))]):_vm._e(),(_vm.canUnassignTasks)?_c('b-btn',{staticClass:\"mb-3 ml-1\",attrs:{\"variant\":\"danger\"},on:{\"click\":_vm.showUnassignTasksConfirmation}},[_vm._v(_vm._s(_vm.unassignTasksText))]):_vm._e()],1),_c('div',[_c('table',{staticClass:\"table table-hover\"},[_c('thead',[_c('tr',[_c('th',{attrs:{\"scope\":\"col\"}},[_c('b-form-checkbox',{model:{value:(_vm.selectAll),callback:function ($$v) {_vm.selectAll=$$v},expression:\"selectAll\"}})],1),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Assigned To\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Account Number\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Client Name\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Introducer\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Created Date\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Appointment Date\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Appointment Time\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Due Date\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Type\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Status\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Assigned User(s)\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Completed By\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Completed Date\")]),_c('th',{attrs:{\"scope\":\"col\"}})])]),_c('tbody',_vm._l((_vm.options),function(task,index){return _c('tr',{key:index},[_c('td',[(task.outcome == null)?_c('b-form-checkbox',{model:{value:(task.selected),callback:function ($$v) {_vm.$set(task, \"selected\", $$v)},expression:\"task.selected\"}}):_vm._e()],1),_c('td',[_vm._v(_vm._s(_vm.partnerPracticeName(task.partnerPracticeId)))]),_c('td',[_vm._v(_vm._s(_vm.accountNumber(task)))]),_c('td',[_vm._v(_vm._s(_vm.clientName(task)))]),_c('td',[_vm._v(_vm._s(_vm.originalSourceDescription(task)))]),_c('td',[_vm._v(_vm._s(_vm._f(\"date\")(task.createdDate)))]),_c('td',[_vm._v(_vm._s(_vm._f(\"date\")(_vm.appointmentDate(task))))]),_c('td',[_vm._v(_vm._s(_vm._f(\"time\")(_vm.appointmentDate(task))))]),_c('td',[_vm._v(_vm._s(_vm._f(\"date\")(task.dueDate)))]),_c('td',[_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(_vm._s(_vm.taskTypeDescription(task)))])],1),_c('td',[(task.outcome != null)?_c('span',{staticClass:\"mr-1\"},[_c('b-badge',{attrs:{\"variant\":\"success\"}},[_vm._v(\"Completed\")])],1):_vm._e(),(task.outcome == null)?_c('span',{staticClass:\"mr-1\"},[_c('b-badge',{attrs:{\"variant\":\"warning\"}},[_vm._v(\"Pending\")])],1):_vm._e(),(_vm.taskIsOverdue(task))?_c('span',{staticClass:\"mr-1\"},[_c('b-badge',{attrs:{\"variant\":\"danger\"}},[_vm._v(\"Overdue\")])],1):_vm._e(),(task.outcome != null && task.outcome.actioned)?_c('span',{staticClass:\"mr-1\"},[_c('b-badge',{attrs:{\"variant\":\"secondary\"}},[_vm._v(\"Actioned\")])],1):_vm._e(),(task.outcome != null && !task.outcome.actioned)?_c('span',{staticClass:\"mr-1\"},[_c('b-badge',{attrs:{\"variant\":\"secondary\"}},[_vm._v(\"Not Actioned\")])],1):_vm._e()]),_c('td',[_vm._v(_vm._s(_vm.formatAssignedUsers(task)))]),_c('td',[_vm._v(_vm._s(_vm.completedByUserName(task)))]),_c('td',[_vm._v(_vm._s(_vm._f(\"date\")(task.outcome != null ? task.outcome.createdDate : null)))]),_c('td',[_c('b-dropdown',{attrs:{\"size\":\"sm\",\"text\":\"Actions\",\"right\":\"\"}},[(_vm.canViewClient(task))?_c('b-dropdown-item',{attrs:{\"to\":{ name: 'view-client', params: { id: task.client.id } },\"target\":\"_blank\"}},[_vm._v(\"View Client Account\")]):_vm._e(),(_vm.canComplete(task))?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.showCompleteTaskDialog(task)}}},[_vm._v(\"Complete Task\")]):_vm._e(),(_vm.canEdit(task))?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.showEditTaskDialog(task)}}},[_vm._v(\"Edit Outcome\")]):_vm._e(),(_vm.canDelete)?_c('b-dropdown-divider'):_vm._e(),(_vm.canDelete)?_c('b-dropdown-item',{staticClass:\"text-danger\",on:{\"click\":function($event){return _vm.showDeleteTaskConfirmation(task)}}},[_vm._v(\"Delete Task\")]):_vm._e()],1)],1)])}),0),(_vm.options.length === 0)?_c('tfoot',[_vm._m(0)]):_vm._e()]),_c('b-pagination',{attrs:{\"size\":\"md\",\"align\":\"right\",\"total-rows\":_vm.total,\"per-page\":_vm.pageSize},model:{value:(_vm.currentPageNumber),callback:function ($$v) {_vm.currentPageNumber=$$v},expression:\"currentPageNumber\"}}),_c('div',{staticClass:\"d-flex justify-content-end\"},[_vm._v(_vm._s(_vm.paginationDescription))])],1),_c('confirmation-dialog',{ref:\"modal\",attrs:{\"title\":_vm.unassignTasksText,\"no-close-on-esc\":true,\"no-close-on-backdrop\":true,\"variant\":\"danger\",\"ok-text\":\"Unassign\",\"centerered\":\"\"},on:{\"ok\":_vm.onUnassignTasksConfirmed,\"cancel\":_vm.onUnassignTasksCancelled},model:{value:(_vm.unassignTasksConfirmationDialogVisible),callback:function ($$v) {_vm.unassignTasksConfirmationDialogVisible=$$v},expression:\"unassignTasksConfirmationDialogVisible\"}},[_c('div',[_vm._v(\"\\n Are you sure you to unassign user(s) from the selected call(s)?\\n \")])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{staticClass:\"searchResult\",staticStyle:{\"text-align\":\"center\"},attrs:{\"colspan\":\"13\"}},[_vm._v(\"No tasks found.\")])])}]\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\nimport { TaskItem } from '@/shared/task-item';\nimport { TaskType } from '@/shared/task-type';\nimport { ClientOriginalSourceType } from '@/shared/types/client-original-source-type';\nimport { User } from '@/shared/user';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\nconst userModule = namespace('user');\nconst usersModule = namespace('users');\n\n@Component\nexport default class TasksTable extends Vue {\n @partnerPracticesModule.Getter('partnerPracticeName') private partnerPracticeName!: (partnerPracticeId: string | null) => string;\n\n @typesModule.Getter('activeClientOriginalSourceTypes') private clientOriginalSourceTypes!: Array;\n\n @userModule.Getter('user') private currentUser!: User;\n @userModule.Getter('isAdministrator') public isAdministrator!: boolean;\n @userModule.Getter('isInternalKeyStakeholder') public isInternalKeyStakeholder!: boolean;\n @userModule.Getter('isCustomerExperienceExecutiveTeamLeader') public isCustomerExperienceExecutiveTeamLeader!: boolean;\n @userModule.Getter('isHeadOfCustomerExperienceTeam') public isHeadOfCustomerExperienceTeam!: boolean;\n @userModule.Getter('isDataCreationTeamLeader') public isDataCreationTeamLeader!: boolean;\n @userModule.Getter('isDataCreationExecutive') public isDataCreationExecutive!: boolean;\n @userModule.Getter('isHeadOfDepartment') public isHeadOfDepartment!: boolean;\n @userModule.Getter('isLegalAssistant') public isLegalAssistant!: boolean;\n @userModule.Getter('isLegalAdvisor') public isLegalAdvisor!: boolean;\n\n @usersModule.Getter('users') private users!: Array;\n\n @Prop({ required: true }) public tasks!: Array;\n @Prop({ type: Number }) public currentPage!: number;\n @Prop({ type: Number }) public pageSize!: number;\n @Prop({ type: Number }) public total!: number;\n\n private currentPageNumber: number = this.currentPage;\n private loading: boolean = false;\n private options: Array = new Array();\n private selectedTasks: Array = new Array();\n private selectAll: boolean = false;\n private unassignTasksConfirmationDialogVisible: boolean = false;\n\n public get paginationDescription(): string {\n const start = (this.tasks.length < 1)\n ? 0\n : ((this.currentPage - 1) * this.pageSize) + 1;\n\n const end = start + this.pageSize > this.total\n ? this.total\n : start + this.pageSize - 1;\n\n return `Showing ${start.toLocaleString()} - ${end.toLocaleString()} of ${this.total.toLocaleString()}`;\n }\n\n private get canAssignTasks(): boolean {\n return this.selectedTasks.length > 0 &&\n (\n this.isCustomerExperienceExecutiveTeamLeader ||\n this.isHeadOfCustomerExperienceTeam ||\n this.isDataCreationTeamLeader ||\n this.isInternalKeyStakeholder ||\n this.isAdministrator\n );\n }\n\n private get canUnassignTasks(): boolean {\n return this.selectedTasks.length > 0 && this.selectedTasks.some((task) => task.users.length > 0) &&\n (\n this.isCustomerExperienceExecutiveTeamLeader ||\n this.isHeadOfCustomerExperienceTeam ||\n this.isDataCreationTeamLeader ||\n this.isInternalKeyStakeholder ||\n this.isAdministrator\n );\n }\n\n public get assignTasksText(): string {\n if (this.selectedTasks == null || !this.selectedTasks.length) {\n return 'Assign Task';\n }\n\n const includesAssigned = this.selectedTasks.some((task) => task.users.length > 0);\n\n if (this.selectedTasks.length === 1 && includesAssigned) {\n return 'Re-assign Task';\n } else if (this.selectedTasks.length === 1) {\n return 'Assign Task';\n } else if (this.selectedTasks.length > 1 && includesAssigned) {\n return 'Re-assign Tasks';\n }\n\n return 'Assign Tasks';\n }\n\n private get unassignTasksText(): string {\n if (this.selectedTasks == null || !this.selectedTasks.length) {\n return 'Unassign Task';\n }\n\n if (this.selectedTasks.length > 1 && this.selectedTasks.some((task) => task.users.length > 0)) {\n return 'Unassign Tasks';\n }\n\n return 'Unassign Task';\n }\n\n private get canDelete(): boolean {\n return this.isAdministrator || this.isCustomerExperienceExecutiveTeamLeader || this.isHeadOfCustomerExperienceTeam || this.isDataCreationTeamLeader;\n }\n\n @Watch('currentPageNumber')\n private currentPageNumberChanged(value: number): void {\n this.$emit('page-changed', value);\n }\n\n @Watch('selectAll')\n private onSelectAllChanged(selectAll: boolean) {\n if (selectAll) {\n this.options.filter((option) => option.outcome == null).forEach((option) => {\n option.selected = true;\n });\n } else {\n this.options.filter((option) => option.outcome == null).forEach((option) => {\n option.selected = false;\n });\n }\n }\n\n @Watch('tasks')\n private onTasksChanged(tasks: Array): void {\n this.options = new Array();\n tasks.forEach((task) => {\n this.options.push({ ...task, selected: false });\n });\n }\n\n @Watch('options', { deep: true })\n private onOptionsChanged(options: Array): void {\n this.selectedTasks = options.filter((option) => option.selected);\n }\n\n @Watch('selectedTasks')\n private onSelectedTasksChanged(selectedTasks: Array): void {\n if (!selectedTasks.length) {\n this.selectAll = false;\n }\n }\n\n private accountNumber(task: TaskItem): string {\n if (task == null || task.client == null) {\n return '';\n }\n\n return `${task.client.accountNo}`;\n }\n\n private clientName(task: TaskItem): string {\n if (task == null || task.client == null) {\n return '';\n }\n\n return `${task.client.firstName} ${task.client.lastName}`;\n }\n\n private originalSourceDescription(task: TaskItem): string {\n if (task == null || task.client == null) {\n return '';\n }\n\n const clientOriginalSourceType = this.clientOriginalSourceTypes.find((type) => type.id === task.client!.originalSourceId);\n return clientOriginalSourceType == null ? '' : clientOriginalSourceType.value;\n }\n\n private appointmentDate(task: TaskItem): string | Date | null {\n if (task == null || task.appointment == null) {\n return null;\n }\n\n return task.appointment.date;\n }\n\n private taskTypeDescription(task: TaskItem): string | null {\n switch (task.type) {\n case TaskType.RetrieveWillPacket:\n return 'Retrieve Will Packet';\n case TaskType.SendConfirmationLetter:\n return 'Send Confirmation Letter';\n default:\n return '';\n }\n }\n\n private taskIsOverdue(task: TaskItem): boolean {\n if (task == null) {\n return false;\n }\n\n return task.outcome == null && task.dueDate != null && new Date(task.dueDate.toString()) < new Date();\n }\n\n private formatAssignedUsers(task: TaskItem): string {\n const names = task.users.map((user) => `${user.firstName!.trim()} ${user.lastName!.trim()}`.trim());\n return names\n .sort((a, b) => {\n if (a > b) { return 1; }\n if (a < b) { return -1; }\n return 0;\n })\n .join(', ');\n }\n\n private completedByUserName(task: TaskItem): string {\n if (task.outcome == null || task.outcome.createdBy == null) {\n return '';\n }\n\n const user = this.users.find((u) => u.id === task.outcome!.createdBy!);\n\n return user == null ? '' : `${user.firstName == null ? '' : user.firstName} ${user.lastName == null ? '' : user.lastName}`;\n }\n\n public canViewClient(task: TaskItem): boolean {\n return task.client != null;\n }\n\n private canComplete(task: TaskItem): boolean {\n return task.outcome == null &&\n (\n this.isAdministrator ||\n this.isInternalKeyStakeholder ||\n task.users.some((user) => user.id === this.currentUser.id)\n );\n }\n\n private canEdit(task: TaskItem): boolean {\n return task.outcome != null && this.isAdministrator;\n }\n\n private async showAssignTasksDialog(): Promise {\n this.$emit('show-assign-tasks-dialog', [...this.selectedTasks]);\n }\n\n private showUnassignTasksConfirmation(): void {\n this.unassignTasksConfirmationDialogVisible = true;\n }\n\n private onUnassignTasksConfirmed(): void {\n this.$emit('unassign-tasks-confirmed', [...this.selectedTasks]);\n this.unassignTasksConfirmationDialogVisible = false;\n }\n\n private onUnassignTasksCancelled(): void {\n this.unassignTasksConfirmationDialogVisible = false;\n }\n\n private showCompleteTaskDialog(task: TaskItem): void {\n this.$emit('show-complete-task-dialog', { ...task });\n }\n\n private showEditTaskDialog(task: TaskItem): void {\n this.$emit('show-edit-task-dialog', { ...task });\n }\n\n private showDeleteTaskConfirmation(task: TaskItem): void {\n this.$emit('show-delete-task-confirmation', { ...task });\n }\n}\n\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tasks-table.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tasks-table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./tasks-table.vue?vue&type=template&id=96453844&\"\nimport script from \"./tasks-table.vue?vue&type=script&lang=ts&\"\nexport * from \"./tasks-table.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Forbidden } from '@/api/responses/forbidden';\nimport { TaskApi } from '@/api/task';\nimport loading from '@/components/loading.vue';\nimport assignTaskDialog from '@/components/tasks/task-list/assign-task-dialog.vue';\nimport completeTaskDialog from '@/components/tasks/task-list/complete-task-dialog.vue';\nimport editTaskDialog from '@/components/tasks/task-list/edit-task-dialog.vue';\nimport tasksTable from '@/components/tasks/task-list/tasks-table.vue';\nimport layout from '@/layouts/app.vue';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { TaskItem } from '@/shared/task-item';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\n\nconst taskApi = new TaskApi();\n\n@Component({\n components: {\n layout,\n tasksTable,\n assignTaskDialog,\n completeTaskDialog,\n editTaskDialog,\n loading,\n },\n})\nexport default class Tasks extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n\n private isLoading: boolean = true;\n private currentPage: number = 1;\n private pageSize: number = 20;\n private total: number = 0;\n private tasks: Array = new Array();\n private partnerPracticeFilter: string | null = null;\n private originalSourceFilter: string | null = null;\n private accountNumberFilter: number | null = null;\n private clientNameFilter: string | null = null;\n private createdDatePeriodFilter: number | null = null;\n private createdDateFromFilter: string | Date | null = null;\n private createdDateToFilter: string | Date | null = null;\n private appointmentDatePeriodFilter: number | null = null;\n private appointmentDateFromFilter: string | Date | null = null;\n private appointmentDateToFilter: string | Date | null = null;\n private dueDateFilter: string | Date | null = new Date();\n private typeFilter: number | null = null;\n private statusFilter: number | null = 0;\n private assignedUserFilter: string | null = null;\n private completedByFilter: string | null = null;\n private completedDatePeriodFilter: number | null = null;\n private completedDateFromFilter: string | Date | null = null;\n private completedDateToFilter: string | Date | null = null;\n private completeTaskDialogVisible: boolean = false;\n private editTaskDialogVisible: boolean = false;\n private deleteTaskConfirmationDialogVisible: boolean = false;\n private assignTasksDialogVisible: boolean = false;\n private selectedTask: TaskItem | null = null;\n private selectedTasks: Array = new Array();\n\n private datePeriods = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Current Day' },\n { id: 1, value: 'Current Week' },\n { id: 2, value: 'Previous Week' },\n { id: 3, value: 'Current Month' },\n { id: 4, value: 'Previous Month' },\n { id: 5, value: 'Current Quarter' },\n { id: 6, value: 'Previous Quarter' },\n { id: 7, value: 'Current Year' },\n { id: 8, value: 'Previous Year' },\n { id: 9, value: 'Custom Dates' },\n ]);\n\n private taskTypes = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Retrieve Will Packet' },\n { id: 1, value: 'Send Confirmation Letter' },\n ]);\n\n private taskStatuses = new Array<{ id: number, value: string }>(...[\n { id: 0, value: 'Pending' },\n { id: 1, value: 'Completed' },\n { id: 2, value: 'Overdue' },\n { id: 3, value: 'Actioned' },\n { id: 4, value: 'Not Actioned' },\n ]);\n\n private get isCustomCreatedDateFilter(): boolean {\n return this.createdDatePeriodFilter === 9;\n }\n\n private get isCustomAppointmentDateFilter(): boolean {\n return this.appointmentDatePeriodFilter === 9;\n }\n\n private get isCustomCompletedDateFilter(): boolean {\n return this.completedDatePeriodFilter === 9;\n }\n\n @Watch('completedDatePeriodFilter')\n private async onCompletedDatePeriodFilterChanged(): Promise {\n this.completedDateFromFilter = null;\n this.completedDateToFilter = null;\n }\n\n private async loadTasksAsync(): Promise {\n if (!(await this.$validator.validateAll())) { return; }\n\n this.isLoading = true;\n await this.fetchAllTasksAsync();\n this.isLoading = false;\n }\n\n private async fetchAllTasksAsync(): Promise {\n try {\n const result = await taskApi.getTasksAsync({\n pageNumber: this.currentPage,\n pageSize: this.pageSize,\n type: this.typeFilter,\n accountNumber: this.accountNumberFilter,\n clientName: this.clientNameFilter,\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeFilter,\n originalSourceId: this.originalSourceFilter,\n createdDatePeriod: this.createdDatePeriodFilter,\n createdDateFrom: this.createdDateFromFilter,\n createdDateTo: this.createdDateToFilter,\n appointmentDatePeriod: this.appointmentDatePeriodFilter,\n appointmentDateFrom: this.appointmentDateFromFilter,\n appointmentDateTo: this.appointmentDateToFilter,\n dueDate: this.dueDateFilter,\n status: this.statusFilter,\n assignedTo: this.assignedUserFilter,\n completedById: this.completedByFilter,\n completedDatePeriod: this.completedDatePeriodFilter,\n completedDateFrom: this.completedDateFromFilter,\n completedDateTo: this.completedDateToFilter,\n });\n\n this.tasks = result.tasks;\n this.total = result.total;\n } catch (e) {\n if (e instanceof Forbidden) {\n this.$router.push({ name: 'forbidden' });\n } else if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: 'Could not load tasks.', type: 'is-danger' });\n }\n }\n }\n\n private clearFilters(): void {\n this.partnerPracticeFilter = null;\n this.originalSourceFilter = null;\n this.accountNumberFilter = null;\n this.clientNameFilter = null;\n this.createdDatePeriodFilter = null;\n this.createdDateFromFilter = null;\n this.createdDateToFilter = null;\n this.appointmentDatePeriodFilter = null;\n this.appointmentDateFromFilter = null;\n this.appointmentDateToFilter = null;\n this.dueDateFilter = new Date();\n this.typeFilter = null;\n this.statusFilter = 0;\n this.assignedUserFilter = null;\n this.completedByFilter = null;\n this.completedDatePeriodFilter = null;\n this.completedDateFromFilter = null;\n this.completedDateToFilter = null;\n\n this.$validator.reset();\n }\n\n private async onPageChanged(value: number): Promise {\n this.currentPage = value;\n\n this.isLoading = true;\n await this.fetchAllTasksAsync();\n this.isLoading = false;\n }\n\n private showAssignTasksDialog(tasks: Array): void {\n this.selectedTasks = tasks;\n this.assignTasksDialogVisible = true;\n }\n\n private showCompleteTaskDialog(task: TaskItem): void {\n this.selectedTask = task;\n this.completeTaskDialogVisible = true;\n }\n\n private showEditTaskDialog(task: TaskItem): void {\n this.selectedTask = task;\n this.editTaskDialogVisible = true;\n }\n\n private showDeleteTaskConfirmation(task: TaskItem): void {\n this.selectedTask = task;\n this.deleteTaskConfirmationDialogVisible = true;\n }\n\n private async onTaskCompleted(): Promise {\n this.$snackbar.open({ message: `Task successfully completed`, type: 'is-success' });\n this.onCancel();\n\n this.isLoading = true;\n await this.loadTasksAsync();\n this.isLoading = false;\n }\n\n private async onTaskUpdated(): Promise {\n this.$snackbar.open({ message: `Task successfully updated`, type: 'is-success' });\n this.onCancel();\n\n this.isLoading = true;\n await this.loadTasksAsync();\n this.isLoading = false;\n }\n\n private async onTaskDeleted(): Promise {\n try {\n await taskApi.deleteTaskAsync(this.selectedTask!);\n } catch (e) {\n this.$snackbar.open({ message: `Could not delete task, please try again.`, type: 'is-danger' });\n }\n\n this.onCancel();\n\n this.isLoading = true;\n await this.loadTasksAsync();\n this.isLoading = false;\n }\n\n private async onTasksAssigned(): Promise {\n this.$snackbar.open({ message: `Task(s) successfully assigned`, type: 'is-success' });\n this.onCancel();\n\n this.isLoading = true;\n await this.loadTasksAsync();\n this.isLoading = false;\n }\n\n private async onTasksUnassigned(tasks: Array): Promise {\n try {\n const unassign = tasks.filter((task) => task.users.length > 0);\n const promises = unassign.map((task) => taskApi.assignTaskAsync(task.id!, []));\n await Promise.all(promises);\n\n this.$snackbar.open({ message: `Task(s) successfully unassigned.`, type: 'is-success' });\n } catch (e) {\n this.$snackbar.open({ message: `Could not unassign task(s), please try again.`, type: 'is-danger' });\n }\n\n this.onCancel();\n\n this.isLoading = true;\n await this.fetchAllTasksAsync();\n this.isLoading = false;\n }\n\n private onCancel(): void {\n this.selectedTask = null;\n this.completeTaskDialogVisible = false;\n this.editTaskDialogVisible = false;\n this.assignTasksDialogVisible = false;\n this.deleteTaskConfirmationDialogVisible = false;\n }\n\n public async mounted(): Promise {\n this.isLoading = true;\n\n await Promise.all([\n this.$store.dispatch(`partnerPractices/loadPartnerPracticesAsync`),\n this.$store.dispatch(`types/loadTypesAsync`),\n this.$store.dispatch(`types/loadPartnerPracticeTypesAsync`),\n this.$store.dispatch(`users/loadAllUsersAsync`),\n ]);\n\n if (this.partnerPractices.length === 1) {\n await this.fetchAllTasksAsync();\n }\n\n this.isLoading = false;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tasks.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tasks.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./tasks.vue?vue&type=template&id=31de30d2&\"\nimport script from \"./tasks.vue?vue&type=script&lang=ts&\"\nexport * from \"./tasks.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('layout',[_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport layout from '@/layouts/app.vue';\n\n@Component({\n components: {\n layout,\n },\n})\nexport default class Appointments extends Vue { }\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointments.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointments.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./appointments.vue?vue&type=template&id=c9eb5b10&\"\nimport script from \"./appointments.vue?vue&type=script&lang=ts&\"\nexport * from \"./appointments.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('layout',[_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport layout from '@/layouts/app.vue';\n\n@Component({\n components: {\n layout,\n },\n})\nexport default class CallManagement extends Vue {}\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./call-management.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./call-management.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./call-management.vue?vue&type=template&id=6db463e9&\"\nimport script from \"./call-management.vue?vue&type=script&lang=ts&\"\nexport * from \"./call-management.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('layout',[_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport layout from '@/layouts/app.vue';\n\n@Component({\n components: {\n layout,\n },\n})\nexport default class Calls extends Vue {}\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./calls.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./calls.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./calls.vue?vue&type=template&id=3121e4f2&\"\nimport script from \"./calls.vue?vue&type=script&lang=ts&\"\nexport * from \"./calls.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('layout',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col pb-4\",staticStyle:{\"position\":\"initial\"}},[_c('router-view')],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\nimport layout from '@/layouts/app.vue';\nimport { Component, Vue } from 'vue-property-decorator';\n\n@Component({\n components: {\n layout,\n },\n})\nexport default class Clients extends Vue { }\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./clients.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./clients.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./clients.vue?vue&type=template&id=2482b108&\"\nimport script from \"./clients.vue?vue&type=script&lang=ts&\"\nexport * from \"./clients.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('layout',[_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport layout from '@/layouts/app.vue';\nimport { Component, Vue } from 'vue-property-decorator';\n\n@Component({\n components: {\n layout,\n },\n})\nexport default class Data extends Vue { }\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./data.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./data.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./data.vue?vue&type=template&id=5326300e&\"\nimport script from \"./data.vue?vue&type=script&lang=ts&\"\nexport * from \"./data.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('layout',[_c('div',{staticClass:\"forbidden d-flex align-items-center justify-content-center mt-5\"},[_c('div',{staticClass:\"col-1 text-center\"},[_c('p',[_c('svg',{staticClass:\"feather feather-alert-triangle\",staticStyle:{\"width\":\"70px\",\"height\":\"70px\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"70\",\"height\":\"70\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('path',{attrs:{\"d\":\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"9\",\"x2\":\"12\",\"y2\":\"13\"}}),_c('line',{attrs:{\"x1\":\"12\",\"y1\":\"17\",\"x2\":\"12\",\"y2\":\"17\"}})]),_c('br'),_c('small',[_vm._v(\"Status Code: 403\")])])]),_c('div',{staticClass:\"col-4\"},[_c('h3',[_vm._v(\"Access denied\")]),_c('p',[_vm._v(\"You do not have permission to access the requested feature.\")]),_c('p',[_c('router-link',{staticClass:\"btn btn-primary\",attrs:{\"to\":{ name: 'home' }}},[_vm._v(\"Back to dashboard\")])],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('navbar'),_c('div',{staticClass:\"container-fluid\"},[_c('div',{staticClass:\"row\"},[_c('sidebar'),_c('main',{staticClass:\"col-md-9 ml-sm-auto col-lg-10 pt-3 px-4\",attrs:{\"role\":\"main\"}},[_vm._t(\"default\")],2)],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport navbar from '@/components/navigation-bar.vue';\nimport sidebar from '@/components/navigation-sidebar.vue';\n\n@Component({\n components: {\n navbar,\n sidebar,\n },\n})\nexport default class BasicLayout extends Vue {}\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./basic.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./basic.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./basic.vue?vue&type=template&id=11d3d6a9&\"\nimport script from \"./basic.vue?vue&type=script&lang=ts&\"\nexport * from \"./basic.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\nimport { Component, Vue } from 'vue-property-decorator';\nimport layout from '@/layouts/basic.vue';\n\n@Component({\n components: {\n layout,\n },\n})\nexport default class NotFound extends Vue {\n}\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./forbidden.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./forbidden.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./forbidden.vue?vue&type=template&id=5826e602&\"\nimport script from \"./forbidden.vue?vue&type=script&lang=ts&\"\nexport * from \"./forbidden.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('layout',[_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport layout from '@/layouts/app.vue';\n\n@Component({\n components: {\n layout,\n },\n})\nexport default class Home extends Vue {}\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./home.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./home.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./home.vue?vue&type=template&id=7cc832d6&\"\nimport script from \"./home.vue?vue&type=script&lang=ts&\"\nexport * from \"./home.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('layout',[_c('div',{staticClass:\"not-found d-flex align-items-center justify-content-center mt-5\"},[_c('div',{staticClass:\"col-1 text-center\"},[_c('p',[_c('svg',{staticClass:\"feather feather-search\",staticStyle:{\"width\":\"70px\",\"height\":\"70px\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"70\",\"height\":\"70\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('circle',{attrs:{\"cx\":\"11\",\"cy\":\"11\",\"r\":\"8\"}}),_c('line',{attrs:{\"x1\":\"21\",\"y1\":\"21\",\"x2\":\"16.65\",\"y2\":\"16.65\"}})]),_c('br'),_c('small',[_vm._v(\"Status Code: 404\")])])]),_c('div',{staticClass:\"col-4\"},[_c('h3',[_vm._v(\"Not found\")]),_c('p',[_vm._v(\"We couldn't find the page you're looking for.\")]),_c('p',[_c('router-link',{staticClass:\"btn btn-primary\",attrs:{\"to\":{ name: 'home' }}},[_vm._v(\"Back to dashboard\")])],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\nimport { Component, Vue } from 'vue-property-decorator';\nimport layout from '@/layouts/basic.vue';\n\n@Component({\n components: {\n layout,\n },\n})\nexport default class NotFound extends Vue {\n}\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./not-found.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./not-found.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./not-found.vue?vue&type=template&id=96775018&\"\nimport script from \"./not-found.vue?vue&type=script&lang=ts&\"\nexport * from \"./not-found.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('layout',[_c('my-profile')],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.user != null)?_c('div',{staticClass:\"user-profile\"},[_c('div',{staticClass:\"row mt-5\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row align-items-center\"},[_vm._m(0),_c('div',{staticClass:\"col\"},[_c('div',[_c('blockquote',[_c('h4',[_vm._v(_vm._s(_vm.fullName))]),(_vm.user != null)?_c('p',[_c('cite',{attrs:{\"title\":\"Source Title\"}},[_vm._v(_vm._s(_vm.user.email))])]):_vm._e(),_c('p',_vm._l((_vm.user.roles),function(role){return _c('b-badge',{key:role.name,attrs:{\"variant\":\"primary\"}},[_vm._v(_vm._s(_vm._f(\"capitalizeFirst\")(role.name)))])}),1)])])])])])])]):_vm._e()}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-lg-2\"},[_c('div',{staticClass:\"text-center\"},[_c('img',{staticClass:\"avatar rounded-circle\",attrs:{\"src\":\"http://ssl.gstatic.com/accounts/ui/avatar_1x.png\",\"alt\":\"avatar\"}})])])}]\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\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\nimport layout from '@/layouts/app.vue';\nimport loading from '@/components/loading.vue';\nimport { User } from '@/shared/user';\n\nconst userStore = namespace('user');\n\n@Component({\n components: {\n layout,\n loading,\n },\n})\nexport default class UserProfileComponent extends Vue {\n public isLoading: boolean = false;\n\n @userStore.Getter\n public user!: User | null;\n\n public get fullName(): string {\n if (this.user == null) {\n return '';\n }\n\n let name = '';\n\n if (this.user.firstName != null && this.user.firstName.length > 0) {\n name += this.user.firstName.trim();\n name += ' ';\n }\n\n if (this.user.lastName != null && this.user.lastName.length > 0) {\n name += this.user.lastName.trim();\n }\n\n return name.trim();\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./profile.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./profile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./profile.vue?vue&type=template&id=d3348426&\"\nimport script from \"./profile.vue?vue&type=script&lang=ts&\"\nexport * from \"./profile.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\nimport { Component, Vue } from 'vue-property-decorator';\nimport layout from '@/layouts/app.vue';\nimport myProfile from '@/components/user/profile.vue';\n\n@Component({\n components: {\n layout,\n myProfile,\n },\n})\nexport default class Profile extends Vue {}\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./profile.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./profile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./profile.vue?vue&type=template&id=a851d720&\"\nimport script from \"./profile.vue?vue&type=script&lang=ts&\"\nexport * from \"./profile.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('layout',[_c('div',{staticClass:\"settings\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto bg-light\"},[_c('div',{staticClass:\"nav flex-column nav-pills\",attrs:{\"role\":\"tablist\"}},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"active-class\":\"active\",\"to\":{ name: 'system-settings' }}},[_vm._v(\"System Settings\")]),_c('router-link',{staticClass:\"nav-link\",attrs:{\"active-class\":\"active\",\"to\":{ name: 'types' }}},[_vm._v(\"Types\")]),_c('router-link',{staticClass:\"nav-link\",attrs:{\"active-class\":\"active\",\"to\":{ name: 'users' }}},[_vm._v(\"Users\")]),_c('router-link',{staticClass:\"nav-link\",attrs:{\"active-class\":\"active\",\"to\":{ name: 'partner-practices' }}},[_vm._v(\"Partner Practices\")])],1)]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"tab-content\"},[_c('router-view')],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\nimport layout from '@/layouts/app.vue';\nimport { Component, Vue } from 'vue-property-decorator';\n\n@Component({\n components: {\n layout,\n },\n})\nexport default class Settings extends Vue { }\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./settings.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./settings.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./settings.vue?vue&type=template&id=529c09b1&\"\nimport script from \"./settings.vue?vue&type=script&lang=ts&\"\nexport * from \"./settings.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('layout',[_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport layout from '@/layouts/app.vue';\nimport { Component, Vue } from 'vue-property-decorator';\n\n@Component({\n components: {\n layout,\n },\n})\nexport default class TargetTracker extends Vue { }\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./target-tracker.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./target-tracker.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./target-tracker.vue?vue&type=template&id=c66c6d62&\"\nimport script from \"./target-tracker.vue?vue&type=script&lang=ts&\"\nexport * from \"./target-tracker.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('layout',[_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport layout from '@/layouts/app.vue';\n\n@Component({\n components: {\n layout,\n },\n})\nexport default class Tasks extends Vue {}\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tasks.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tasks.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./tasks.vue?vue&type=template&id=bd077638&\"\nimport script from \"./tasks.vue?vue&type=script&lang=ts&\"\nexport * from \"./tasks.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 AdminExport from '@/components/admin/export/admin-export.vue';\nimport AppointmentDetails from '@/components/appointments/appointments.vue';\nimport ManageCallList from '@/components/call-management/manage-call-list.vue';\nimport CallList from '@/components/calls/call-list.vue';\nimport ListClients from '@/components/client/list-clients/list-clients.vue';\nimport ViewClient from '@/components/client/view-client/view-client.vue';\nimport ManageDuplicateClients from '@/components/data-management/duplicate-clients/manage-duplicate-clients.vue';\nimport DataImport from '@/components/data/data-import/data-imports.vue';\nimport ExceptionReports from '@/components/exception-reports/exception-reports.vue';\nimport Dashboard from '@/components/home/dashboard.vue';\nimport PartnerPractices from '@/components/settings/partner-practices/partner-practices.vue';\nimport SystemSettings from '@/components/settings/system-settings/system-settings.vue';\nimport Types from '@/components/settings/types/types.vue';\nimport Users from '@/components/settings/users/users.vue';\nimport TargetTrackerDetails from '@/components/target-tracker/target-tracker.vue';\nimport TaskDetails from '@/components/tasks/task-list/tasks.vue';\nimport Appointments from '@/views/appointments.vue';\nimport CallManagement from '@/views/call-management.vue';\nimport Calls from '@/views/calls.vue';\nimport Clients from '@/views/clients.vue';\nimport Data from '@/views/data.vue';\nimport Forbidden from '@/views/forbidden.vue';\nimport Home from '@/views/home.vue';\nimport NotFound from '@/views/not-found.vue';\nimport Profile from '@/views/profile.vue';\nimport Settings from '@/views/settings.vue';\nimport TargetTracker from '@/views/target-tracker.vue';\nimport Tasks from '@/views/tasks.vue';\nimport { RouteConfig } from 'vue-router';\n\nconst dashboard: RouteConfig = {\n path: '',\n name: 'dashboard',\n component: Dashboard,\n meta: {\n title: 'Dashboard',\n requiresAuthentication: true,\n ignoreBreadcrumb: true,\n },\n};\n\nconst home: RouteConfig = {\n path: '/',\n name: 'home',\n component: Home,\n meta: {\n title: 'Home',\n requiresAuthentication: true,\n },\n redirect: { name: 'dashboard' },\n children: [\n dashboard,\n ],\n};\n\nconst notFound: RouteConfig = {\n path: '*',\n name: 'not-found',\n meta: {\n title: 'Not Found',\n requiresAuthentication: false,\n },\n component: NotFound,\n};\n\nconst forbidden: RouteConfig = {\n path: '/forbidden',\n name: 'forbidden',\n meta: {\n title: 'Forbidden',\n requiresAuthentication: false,\n },\n component: Forbidden,\n};\n\nconst dataImport: RouteConfig = {\n path: 'import',\n name: 'data-import',\n component: DataImport,\n meta: {\n title: 'Data Import',\n requiresAuthentication: true,\n requiresAnyRole: [\n 'System',\n 'Administrator',\n 'Internal Key Stakeholder',\n ],\n },\n};\n\nconst adminExport: RouteConfig = {\n path: 'export',\n name: 'admin-export',\n component: AdminExport,\n meta: {\n title: 'Data Exports',\n requiresAuthentication: true,\n requiresAnyRole: [\n 'System',\n 'Administrator',\n 'Internal Key Stakeholder',\n 'Head of Customer Experience Team',\n 'Customer experience executive team leader',\n 'Data creation team leader',\n ],\n },\n};\n\nconst exceptionReports: RouteConfig = {\n path: 'exception-reports',\n name: 'exception-reports',\n component: ExceptionReports,\n meta: {\n title: 'Exception Reports',\n requiresAuthentication: true,\n requiresAnyRole: [\n 'System',\n 'Administrator',\n 'Internal Key Stakeholder',\n 'PP Key Stakeholder',\n 'Data creation team leader',\n 'Customer experience executive team leader',\n 'Head of Customer Experience Team',\n ],\n },\n};\n\nconst manageDuplicateClients: RouteConfig = {\n path: 'manage-duplicate-clients',\n name: 'manage-duplicate-clients',\n component: ManageDuplicateClients,\n meta: {\n title: 'Manage Duplicate Clients',\n requiresAuthentication: true,\n requiresAnyRole: [\n 'System',\n 'Administrator',\n 'Internal Key Stakeholder',\n 'Manage duplicates',\n ],\n },\n};\n\nconst data: RouteConfig = {\n path: '/data',\n name: 'data',\n component: Data,\n meta: {\n title: 'Data',\n requiresAuthentication: true,\n requiresAnyRole: [\n 'System',\n 'Administrator',\n 'Internal Key Stakeholder',\n 'PP Key Stakeholder',\n 'Head of Customer Experience Team',\n 'Customer experience executive team leader',\n 'Data creation team leader',\n 'Manage duplicates',\n ],\n },\n redirect: { name: 'data-import' },\n children: [\n dataImport,\n adminExport,\n exceptionReports,\n manageDuplicateClients,\n ],\n};\n\nconst systemSettings: RouteConfig = {\n path: 'system-settings',\n name: 'system-settings',\n component: SystemSettings,\n meta: {\n title: 'System Settings',\n requiresAuthentication: true,\n requiresAnyRole: [\n 'System',\n 'Administrator',\n 'Internal Key Stakeholder',\n ],\n },\n};\n\nconst types: RouteConfig = {\n path: 'types',\n name: 'types',\n component: Types,\n meta: {\n title: 'Types',\n requiresAuthentication: true,\n requiresAnyRole: [\n 'System',\n 'Administrator',\n 'Internal Key Stakeholder',\n ],\n },\n};\n\nconst users: RouteConfig = {\n path: 'users',\n name: 'users',\n component: Users,\n meta: {\n title: 'Users',\n requiresAuthentication: true,\n requiresAnyRole: [\n 'System',\n 'Administrator',\n 'Internal Key Stakeholder',\n ],\n },\n};\n\nconst partnerPractices: RouteConfig = {\n path: 'partner-practices',\n name: 'partner-practices',\n component: PartnerPractices,\n meta: {\n title: 'Partner Practices',\n requiresAuthentication: true,\n requiresAnyRole: [\n 'System',\n 'Administrator',\n 'Internal Key Stakeholder',\n ],\n },\n};\n\nconst settings: RouteConfig = {\n path: '/settings',\n name: 'settings',\n component: Settings,\n meta: {\n title: 'Settings',\n requiresAuthentication: true,\n requiresAnyRole: [\n 'System',\n 'Administrator',\n 'Internal Key Stakeholder',\n ],\n },\n redirect: { name: 'system-settings' },\n children: [\n systemSettings,\n types,\n users,\n partnerPractices,\n ],\n};\n\nconst viewClient: RouteConfig = {\n path: `:id([0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12})`,\n name: 'view-client',\n component: ViewClient,\n meta: {\n title: '',\n requiresAuthentication: true,\n },\n // NOTE(Dan): Removing this prevents the breadcrumb being reactive when changing between 2 clients (where the component remains the same).\n // Who knows why, but the combination of this, `loadClientAsync` in the `ViewClient` component and the `Breadcrumb` component\n // seem to be working as required with this combination. ¯\\_(ツ)_/¯\n beforeEnter: (to, from, next) => {\n to.meta.breadcrumbTitle = `${to.params.id}`;\n next();\n },\n};\n\nconst listClients: RouteConfig = {\n path: '',\n name: 'list-clients',\n component: ListClients,\n meta: {\n title: 'Clients',\n requiresAuthentication: true,\n ignoreBreadcrumb: true,\n },\n};\n\nconst clients: RouteConfig = {\n path: '/clients',\n name: 'clients',\n component: Clients,\n meta: {\n title: 'Clients',\n requiresAuthentication: true,\n },\n redirect: { name: 'list-clients' },\n children: [\n listClients,\n viewClient,\n ],\n};\n\nconst appointmentDetails: RouteConfig = {\n path: '',\n name: 'appointment-details',\n component: AppointmentDetails,\n meta: {\n title: 'Appointments',\n requiresAuthentication: true,\n ignoreBreadcrumb: true,\n },\n};\n\nconst appointments: RouteConfig = {\n path: '/appointments',\n name: 'appointments',\n component: Appointments,\n meta: {\n title: 'Appointments',\n requiresAuthentication: true,\n },\n redirect: { name: 'appointment-details' },\n children: [\n appointmentDetails,\n ],\n};\n\nconst targetTrackerDetails: RouteConfig = {\n path: '',\n name: 'target-tracker-details',\n component: TargetTrackerDetails,\n meta: {\n title: 'Legal Advisor Target Tracker',\n requiresAuthentication: true,\n ignoreBreadcrumb: true,\n },\n};\n\nconst targetTracker: RouteConfig = {\n path: '/target-tracker',\n name: 'target-tracker',\n component: TargetTracker,\n meta: {\n title: 'Target Tracker',\n requiresAuthentication: true,\n },\n redirect: { name: 'target-tracker-details' },\n children: [\n targetTrackerDetails,\n ],\n};\n\nconst taskDetails: RouteConfig = {\n path: '',\n name: 'task-details',\n component: TaskDetails,\n meta: {\n title: 'Tasks',\n requiresAuthentication: true,\n ignoreBreadcrumb: true,\n requiresAnyRole: [\n 'System',\n 'Administrator',\n 'Internal Key Stakeholder',\n 'Customer experience executive',\n 'Customer experience executive team leader',\n 'Head of Customer Experience Team',\n 'Data creation executive',\n 'Data creation team leader',\n 'Probate legal advisor',\n ],\n },\n};\n\nconst tasks: RouteConfig = {\n path: '/tasks',\n name: 'tasks',\n component: Tasks,\n meta: {\n title: 'Tasks',\n requiresAuthentication: true,\n requiresAnyRole: [\n 'System',\n 'Administrator',\n 'Internal Key Stakeholder',\n 'Customer experience executive',\n 'Customer experience executive team leader',\n 'Head of Customer Experience Team',\n 'Data creation executive',\n 'Data creation team leader',\n 'Probate legal advisor',\n ],\n },\n redirect: { name: 'task-details' },\n children: [\n taskDetails,\n ],\n};\n\nconst callList: RouteConfig = {\n path: '',\n name: 'call-list',\n component: CallList,\n meta: {\n title: 'Calls',\n requiresAuthentication: true,\n ignoreBreadcrumb: true,\n requiresAnyRole: [\n 'System',\n 'Administrator',\n 'Internal Key Stakeholder',\n 'Customer experience executive team leader',\n 'Customer experience executive',\n 'Head of Customer Experience Team',\n ],\n },\n};\n\nconst calls: RouteConfig = {\n path: '/calls',\n name: 'calls',\n component: Calls,\n meta: {\n title: 'Calls',\n requiresAuthentication: true,\n requiresAnyRole: [\n 'System',\n 'Administrator',\n 'Internal Key Stakeholder',\n 'Customer experience executive team leader',\n 'Customer experience executive',\n 'Head of Customer Experience Team',\n ],\n\n },\n redirect: { name: 'call-list' },\n children: [\n callList,\n ],\n};\n\nconst manageCallList: RouteConfig = {\n path: '',\n name: 'manage-call-list',\n component: ManageCallList,\n meta: {\n title: 'Call Management',\n requiresAuthentication: true,\n ignoreBreadcrumb: true,\n requiresAnyRole: [\n 'System',\n 'Administrator',\n 'Internal Key Stakeholder',\n 'Customer experience executive team leader',\n 'Head of Customer Experience Team',\n ],\n },\n};\n\nconst callManagement: RouteConfig = {\n path: '/call-management',\n name: 'call-management',\n component: CallManagement,\n meta: {\n title: 'Call Management',\n requiresAuthentication: true,\n requiresAnyRole: [\n 'System',\n 'Administrator',\n 'Internal Key Stakeholder',\n 'Customer experience executive team leader',\n 'Head of Customer Experience Team',\n ],\n },\n redirect: { name: 'manage-call-list' },\n children: [\n manageCallList,\n ],\n};\n\nconst profile: RouteConfig = {\n path: '/my-profile',\n name: 'my-profile',\n component: Profile,\n meta: {\n title: 'My Profile',\n requiresAuthentication: true,\n },\n};\n\nconst routes: Array = [\n home,\n clients,\n appointments,\n targetTracker,\n tasks,\n calls,\n callManagement,\n data,\n settings,\n profile,\n notFound,\n forbidden,\n];\n\nexport default routes;\n","import routes from '@/routes';\nimport UserManager from '@/services/user-manager/user-manager';\nimport store from '@/store';\nimport Vue from 'vue';\nimport Router, { Route } from 'vue-router';\n\nVue.use(Router);\n\nconst router = new Router({\n mode: 'history',\n base: process.env.BASE_URL,\n routes: [...routes],\n});\n\nrouter.afterEach((to, from) => {\n document.title = `${to.meta.title} - Right Legal Group`;\n});\nrouter.beforeEach(async (to, from, next) => {\n await UserManager.clearStaleState();\n const user = await UserManager.getUser();\n\n const isLoggedIn = user != null;\n\n if ((!isLoggedIn || user!.expired) && to.meta.requiresAuthentication) {\n await UserManager.signinRedirect();\n return;\n }\n\n if (to.meta.requiresAuthentication || (to.meta.requiresAnyRole != null && to.meta.requiresAnyRole.length > 0)) {\n const routeCheck: (route: Route) => boolean = store.getters['user/hasPermissionForRoute'];\n\n if (!routeCheck(to)) {\n next({ name: 'forbidden' });\n return;\n }\n }\n next();\n});\n\nexport default router;\n","import router from '@/router';\nimport { CallCreated } from '@/shared/events/call-created';\nimport { User } from '@/shared/user';\nimport store from '@/store';\n\nasync function handleCallCreated(data: CallCreated): Promise {\n const currentUser: User | null = store.getters['user/user'];\n\n if (currentUser == null || router.currentRoute.name !== 'call-list') {\n return;\n }\n\n await store.dispatch('calls/loadMyCallsAsync');\n}\n\nexport default handleCallCreated;\n","import router from '@/router';\nimport { CallEnded } from '@/shared/events/call-ended';\nimport { User } from '@/shared/user';\nimport store from '@/store';\n\nasync function handleCallEnded(data: CallEnded): Promise {\n const currentUser: User | null = store.getters['user/user'];\n\n if (currentUser == null || router.currentRoute.name !== 'call-list') {\n return;\n }\n\n await store.dispatch('calls/loadMyCallsAsync');\n}\n\nexport default handleCallEnded;\n","import router from '@/router';\nimport { CallRemoved } from '@/shared/events/call-removed';\nimport { User } from '@/shared/user';\nimport store from '@/store';\n\nasync function handleCallRemoved(data: CallRemoved): Promise {\n const currentUser: User | null = store.getters['user/user'];\n\n if (currentUser == null || router.currentRoute.name !== 'call-list') {\n return;\n }\n\n await store.dispatch('calls/loadMyCallsAsync');\n}\n\nexport default handleCallRemoved;\n","import router from '@/router';\nimport { CallStarted } from '@/shared/events/call-started';\nimport { User } from '@/shared/user';\nimport store from '@/store';\n\nasync function handleCallStarted(data: CallStarted): Promise {\n const currentUser: User | null = store.getters['user/user'];\n\n if (currentUser == null || router.currentRoute.name !== 'call-list') {\n return;\n }\n\n await store.dispatch('calls/loadMyCallsAsync');\n}\n\nexport default handleCallStarted;\n","import router from '@/router';\nimport { CallbackCreated } from '@/shared/events/callback-created';\nimport { User } from '@/shared/user';\nimport store from '@/store';\n\nasync function handleCallbackCreated(data: CallbackCreated): Promise {\n const currentUser: User | null = store.getters['user/user'];\n\n if (currentUser == null || router.currentRoute.name !== 'call-list') {\n return;\n }\n\n await store.dispatch('calls/loadMyCallsAsync');\n}\n\nexport default handleCallbackCreated;\n","import { snackbarProgrammatic } from '@/components/snackbar';\nimport { ClientDuplicatesUpdated } from '@/shared/events/client-duplicates-updated';\nimport { User } from '@/shared/user';\nimport store from '@/store';\n\nasync function handleClientDuplicatesUpdated(data: ClientDuplicatesUpdated): Promise {\n const currentUser: User | null = store.getters['user/user'];\n\n if (currentUser == null || currentUser.id! !== data.userId) {\n return;\n }\n\n snackbarProgrammatic.open({ message: `Client duplicates updated.`, type: 'is-success' });\n}\n\nexport default handleClientDuplicatesUpdated;\n","import { snackbarProgrammatic } from '@/components/snackbar/index';\nimport router from '@/router';\nimport { DataImportFileStatusUpdated } from '@/shared/events/data-import-file-status-updated';\nimport { User } from '@/shared/user';\nimport store from '@/store';\n\nasync function handleDataImportFileStatusUpdated(data: DataImportFileStatusUpdated): Promise {\n const currentUser: User | null = store.getters['user/user'];\n\n if (currentUser == null) {\n return;\n }\n\n if (currentUser.id === data.userId) {\n if (data.status === 'InProgress') {\n snackbarProgrammatic.open({ message: `Data import file '${data.filename}' in progress.`, type: 'is-warning' });\n } else if (data.status === 'Failed') {\n snackbarProgrammatic.open({ message: `Data import file '${data.filename}' failed.`, type: 'is-danger' });\n } else if (data.status === 'Succeeded') {\n snackbarProgrammatic.open({ message: `Data import file '${data.filename}' succeeded.`, type: 'is-success' });\n }\n }\n\n if (router.currentRoute.name !== 'data-import') {\n return;\n }\n\n await store.dispatch(`import/loadDataImportFilesAsync`);\n}\n\nexport default handleDataImportFileStatusUpdated;\n","import { SystemSettingValueChanged } from '@/shared/events/system-setting-value-changed';\nimport store from '@/store';\n\nasync function handleSystemSettingValueChanged(data: SystemSettingValueChanged): Promise {\n await store.dispatch(`settings/loadSystemSettingsAsync`);\n}\n\nexport default handleSystemSettingValueChanged;\n","import { UserArchived } from '@/shared/events/user-archived';\nimport { User } from '@/shared/user';\nimport store from '@/store';\n\nasync function handleUserArchived(data: UserArchived): Promise {\n const currentUser: User | null = store.getters['user/user'];\n\n if (currentUser == null || data.aggregateId !== currentUser.id) {\n return;\n }\n\n await store.dispatch('user/logoutAsync', data);\n}\n\nexport default handleUserArchived;\n","import router from '@/router';\nimport { UserAssignedToCall } from '@/shared/events/user-assigned-to-call';\nimport { User } from '@/shared/user';\nimport store from '@/store';\n\nasync function handleUserAssignedToCall(data: UserAssignedToCall): Promise {\n const currentUser: User | null = store.getters['user/user'];\n\n if (currentUser == null || router.currentRoute.name !== 'call-list') {\n return;\n }\n\n await store.dispatch('calls/loadMyCallsAsync');\n}\n\nexport default handleUserAssignedToCall;\n","import { User } from '@/shared/user';\nimport store from '@/store';\nimport router from '@/router';\nimport { UserAssignedToPartnerPractice } from '@/shared/events/user-assigned-to-partner-practice';\n\nasync function handleUserAssignedToPartnerPractice(data: UserAssignedToPartnerPractice): Promise {\n const currentUser: User | null = store.getters['user/user'];\n\n // If the notification is not for the current user or was changed by the current user for themselves,\n // don't need to show.\n if (currentUser == null || data.aggregateId !== currentUser.id || data.userId === currentUser.id) {\n return;\n }\n\n const isAdmin: boolean = store.getters['user/isAdministrator'];\n const isInternalKeyStakeholder: boolean = store.getters['user/isInternalKeyStakeholder'];\n\n if (!(isAdmin || isInternalKeyStakeholder) && currentUser.partnerPracticeId !== data.partnerPracticeId) {\n router.push({ name: 'home' });\n }\n}\n\nexport default handleUserAssignedToPartnerPractice;\n","import { User } from '@/shared/user';\nimport store from '@/store';\nimport { UserEmailChanged } from '@/shared/events/user-email-changed';\n\nasync function handleUserEmailChanged(data: UserEmailChanged): Promise {\n const currentUser: User | null = store.getters['user/user'];\n\n if (currentUser == null || data.aggregateId !== currentUser.id) {\n return;\n }\n\n await store.dispatch('user/loadMeAsync', data);\n}\n\nexport default handleUserEmailChanged;\n","import { User } from '@/shared/user';\nimport store from '@/store';\nimport { UserFirstNameChanged } from '@/shared/events/user-first-name-changed';\n\nasync function handleUserFirstNameChanged(data: UserFirstNameChanged): Promise {\n const currentUser: User | null = store.getters['user/user'];\n\n if (currentUser == null || data.aggregateId !== currentUser.id) {\n return;\n }\n\n await store.dispatch('user/loadMeAsync', data);\n}\n\nexport default handleUserFirstNameChanged;\n","import { User } from '@/shared/user';\nimport store from '@/store';\nimport { UserLastNameChanged } from '@/shared/events/user-last-name-changed';\n\nasync function handleUserLastNameChanged(data: UserLastNameChanged): Promise {\n const currentUser: User | null = store.getters['user/user'];\n\n if (currentUser == null || data.aggregateId !== currentUser.id) {\n return;\n }\n\n await store.dispatch('user/loadMeAsync', data);\n}\n\nexport default handleUserLastNameChanged;\n","import { User } from '@/shared/user';\nimport store from '@/store';\nimport router from '@/router';\nimport { UserRemovedFromPartnerPractice } from '@/shared/events/user-removed-from-partner-practice';\n\nasync function handleUserRemovedFromPartnerPractice(data: UserRemovedFromPartnerPractice): Promise {\n const currentUser: User | null = store.getters['user/user'];\n\n // If the notification is not for the current user or was changed by the current user for themselves,\n // don't need to show.\n if (currentUser == null || data.aggregateId !== currentUser.id || data.userId === currentUser.id) {\n return;\n }\n\n const isAdmin: boolean = store.getters['user/isAdministrator'];\n const isInternalKeyStakeholder: boolean = store.getters['user/isInternalKeyStakeholder'];\n\n if (!(isAdmin || isInternalKeyStakeholder) && currentUser.partnerPracticeId !== data.partnerPracticeId) {\n router.push({ name: 'home' });\n }\n}\n\nexport default handleUserRemovedFromPartnerPractice;\n","import { User } from '@/shared/user';\nimport store from '@/store';\nimport { UserRoleAssigned } from '@/shared/events/user-role-assigned';\nimport router from '@/router';\nimport userManager from '@/services/user-manager/user-manager';\nimport { Route } from 'vue-router';\nimport { snackbarProgrammatic } from '@/components/snackbar';\n\nasync function handleUserRoleAssigned(data: UserRoleAssigned): Promise {\n const currentUser: User | null = store.getters['user/user'];\n\n // If the notification is not for the current user or was changed by the current user for themselves,\n // don't need to show.\n if (currentUser == null || data.aggregateId !== currentUser.id || data.userId === currentUser.id) {\n return;\n }\n\n await store.dispatch('user/loadMeAsync', data);\n\n // NOTE(Dan): Check if the user can still access the current route, if not send to their dashboard.\n const currentRoute = router.currentRoute;\n const routeCheck: (route: Route) => boolean = store.getters['user/hasPermissionForRoute'];\n\n snackbarProgrammatic.open({ message: `You have been assigned the '${data.role}' role.`, type: 'is-info' });\n\n await userManager.signinSilent();\n\n if (!routeCheck(currentRoute)) {\n router.push({ name: 'home' });\n }\n}\n\nexport default handleUserRoleAssigned;\n","import { User } from '@/shared/user';\nimport store from '@/store';\nimport { UserRoleRemoved } from '@/shared/events/user-role-removed';\nimport router from '@/router';\nimport userManager from '@/services/user-manager/user-manager';\nimport { Route } from 'vue-router';\nimport { snackbarProgrammatic } from '@/components/snackbar';\n\nasync function handleUserRoleRemoved(data: UserRoleRemoved): Promise {\n const currentUser: User | null = store.getters['user/user'];\n\n // If the notification is not for the current user or was changed by the current user for themselves,\n // don't need to show.\n if (currentUser == null || data.aggregateId !== currentUser.id || data.userId === currentUser.id) {\n return;\n }\n\n await store.dispatch('user/loadMeAsync', data);\n\n // NOTE(Dan): Check if the user can still access the current route, if not send to their dashboard.\n const currentRoute = router.currentRoute;\n const routeCheck: (route: Route) => boolean = store.getters['user/hasPermissionForRoute'];\n\n snackbarProgrammatic.open({ message: `You have been assigned the '${data.role}' role.`, type: 'is-info' });\n\n await userManager.signinSilent();\n\n if (!routeCheck(currentRoute)) {\n router.push({ name: 'home' });\n }\n}\n\nexport default handleUserRoleRemoved;\n","import router from '@/router';\nimport { UserUnassignedFromCall } from '@/shared/events/user-unassigned-from-call';\nimport { User } from '@/shared/user';\nimport store from '@/store';\n\nasync function handleUserUnassignedFromCall(data: UserUnassignedFromCall): Promise {\n const currentUser: User | null = store.getters['user/user'];\n\n if (currentUser == null || router.currentRoute.name !== 'call-list') {\n return;\n }\n\n await store.dispatch('calls/loadMyCallsAsync');\n}\n\nexport default handleUserUnassignedFromCall;\n","import handleCallCreated from '@/services/notifications/event-handlers/call-created';\nimport handleCallEnded from '@/services/notifications/event-handlers/call-ended';\nimport handleCallRemoved from '@/services/notifications/event-handlers/call-removed';\nimport handleCallStarted from '@/services/notifications/event-handlers/call-started';\nimport handleCallbackCreated from '@/services/notifications/event-handlers/callback-created';\nimport handleClientDuplicatesUpdated from '@/services/notifications/event-handlers/client-duplicates-updated';\nimport handleDataImportFileStatusUpdated from '@/services/notifications/event-handlers/data-import-file-status-updated';\nimport handleSystemSettingValueChanged from '@/services/notifications/event-handlers/system-setting-value-changed';\nimport handleUserArchived from '@/services/notifications/event-handlers/user-archived';\nimport handleUserAssignedToCall from '@/services/notifications/event-handlers/user-assigned-to-call';\nimport handleUserAssignedToPartnerPractice from '@/services/notifications/event-handlers/user-assigned-to-partner-practice';\nimport handleUserEmailChanged from '@/services/notifications/event-handlers/user-email-changed';\nimport handleUserFirstNameChanged from '@/services/notifications/event-handlers/user-first-name-changed';\nimport handleUserLastNameChanged from '@/services/notifications/event-handlers/user-last-name-changed';\nimport handleUserRemovedFromPartnerPractice from '@/services/notifications/event-handlers/user-removed-from-partner-practice';\nimport handleUserRoleAssigned from '@/services/notifications/event-handlers/user-role-assigned';\nimport handleUserRoleRemoved from '@/services/notifications/event-handlers/user-role-removed';\nimport handleUserUnassignedFromCall from '@/services/notifications/event-handlers/user-unassigned-from-call';\nimport userManager from '@/services/user-manager/user-manager';\nimport { HubConnection, HubConnectionBuilder, JsonHubProtocol } from '@aspnet/signalr';\n\nclass WebsocketManager {\n private socket: HubConnection | null = null;\n\n public async startAsync(): Promise {\n const baseUrl = process.env.NODE_ENV !== 'production'\n ? `${process.env.VUE_APP_API_URL}`\n : `https://api.${window.location.host}`;\n\n this.socket = new HubConnectionBuilder()\n .withUrl(`${baseUrl}/v1/notification`,\n {\n accessTokenFactory: async (): Promise => {\n const user = await userManager.getUser();\n\n if (user == null) {\n return '';\n }\n\n return user.access_token;\n },\n })\n .withHubProtocol(new JsonHubProtocol())\n .build();\n\n await this.setupSocketEvents(this.socket);\n\n this.socket.onclose(this.handleSocketCloseOrError.bind(this));\n await this.startSocketWithRetryAsync();\n }\n\n private async startSocketWithRetryAsync(): Promise {\n try {\n const user = await userManager.getUser();\n if (user == null) {\n await new Promise((resolve) => setTimeout(() => {\n resolve();\n },\n 10000));\n await this.startSocketWithRetryAsync();\n } else {\n await this.socket!.start();\n }\n } catch (e) {\n await this.handleSocketCloseOrError(e);\n }\n }\n\n private async handleSocketCloseOrError(error: Error | undefined): Promise {\n await new Promise((resolve) => setTimeout(() => {\n resolve();\n },\n 10000));\n await this.startAsync();\n }\n\n private async setupSocketEvents(hub: HubConnection): Promise {\n hub.on('UserAccountArchived', handleUserArchived);\n hub.on('UserAccountEmailChanged', handleUserEmailChanged);\n hub.on('UserAccountFirstNameChanged', handleUserFirstNameChanged);\n hub.on('UserAccountLastNameChanged', handleUserLastNameChanged);\n hub.on('UserAccountRoleAssigned', handleUserRoleAssigned);\n hub.on('UserAccountRoleRemoved', handleUserRoleRemoved);\n hub.on('UserAssignedToPartnerPractice', handleUserAssignedToPartnerPractice);\n hub.on('UserRemovedFromPartnerPractice', handleUserRemovedFromPartnerPractice);\n hub.on('SystemSettingValueChanged', handleSystemSettingValueChanged);\n hub.on('CallStarted', handleCallStarted);\n hub.on('ClientDuplicatesUpdated', handleClientDuplicatesUpdated);\n hub.on('CallEnded', handleCallEnded);\n hub.on('CallbackCreated', handleCallbackCreated);\n hub.on('CallCreated', handleCallCreated);\n hub.on('CallRemoved', handleCallRemoved);\n hub.on('UserAssignedToCall', handleUserAssignedToCall);\n hub.on('UserUnassignedFromCall', handleUserUnassignedFromCall);\n hub.on('DataImportFileStatusUpdated', handleDataImportFileStatusUpdated);\n }\n}\n\nexport default new WebsocketManager();\n","\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { Getter, namespace } from 'vuex-class';\nimport UserManager from '@/services/user-manager/user-manager';\nimport WebSocketManager from '@/services/notifications/websocket-manager';\nimport loading from '@/components/loading.vue';\n\n@Component({\n components: {\n loading,\n },\n})\nexport default class App extends Vue {\n @Getter public isLoading!: boolean;\n\n public async mounted(): Promise {\n\n // await UserManager.clearStaleState();\n\n // const user = await UserManager.getUser();\n // const isLoggedIn = user != null;\n\n // if ((!isLoggedIn || user.expired)) {\n // await UserManager.signinRedirect();\n // return;\n // }\n\n await WebSocketManager.startAsync();\n\n this.$store.commit('isLoading', false);\n }\n}\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/ts-loader/index.js??ref--13-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./app.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./app.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./app.vue?vue&type=template&id=0094c413&\"\nimport script from \"./app.vue?vue&type=script&lang=ts&\"\nexport * from \"./app.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:\"appointment-product-details\"},[(_vm.product.instructionType === 3)?_c('div',[_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":(\"instructed-date-\" + (_vm.product.productTypeId))}},[_vm._v(\"Instructed Date\")]),(_vm.canEditInstructedDate)?_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:((\"required|date_format:dd/MM/yyyy|after:\" + _vm.appointmentDateText + \",true\")),expression:\"`required|date_format:dd/MM/yyyy|after:${appointmentDateText},true`\"}],class:{ 'is-invalid': _vm.errors.has('product-details.instructed-date') },attrs:{\"disabled-dates\":{ to: _vm.appointmentDate },\"name\":\"instructed-date\",\"id\":(\"instructed-date-\" + (_vm.product.productTypeId)),\"data-vv-scope\":\"product-details\",\"data-vv-as\":\"instructed date\"},model:{value:(_vm.product.instructedDate),callback:function ($$v) {_vm.$set(_vm.product, \"instructedDate\", $$v)},expression:\"product.instructedDate\"}}):_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"instructed-date\"}},[_vm._v(_vm._s(_vm._f(\"date\")(_vm.product.instructedDate)))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('product-details.instructed-date')),expression:\"errors.has('product-details.instructed-date')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('product-details.instructed-date')))])],1),_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":(\"instructed-value-\" + (_vm.product.productTypeId))}},[_vm._v(\"Instructed Value\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}],null,false,4272410090)},[(_vm.canEditInstructedValue)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.product.instructedValue),expression:\"product.instructedValue\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal:2'),expression:\"'required|decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('product-details.instructed-value') },attrs:{\"type\":\"text\",\"name\":\"instructed-value\",\"id\":(\"instructed-value-\" + (_vm.product.productTypeId)),\"data-vv-scope\":\"product-details\",\"data-vv-as\":\"instructed value\"},domProps:{\"value\":(_vm.product.instructedValue)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.product, \"instructedValue\", $event.target.value)}}}):_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"instructed-value\"}},[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.product.instructedValue)))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('product-details.instructed-value')),expression:\"errors.has('product-details.instructed-value')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('product-details.instructed-value')))])])],1),(_vm.showAlbReference)?_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":(\"alb-reference-\" + (_vm.product.productTypeId))}},[_vm._v(\"ALB Reference\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.product.albReference),expression:\"product.albReference\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":(\"alb-reference=\" + (_vm.product.productTypeId))},domProps:{\"value\":(_vm.product.albReference)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.product, \"albReference\", $event.target.value)}}})]):_vm._e(),_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":(\"product-payment-status-\" + (_vm.product.productTypeId))}},[_vm._v(\"Payment Status\")]),(_vm.canEditProductPaymentStatus)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.product.paymentStatusId),expression:\"product.paymentStatusId\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('product-details.product-payment-status') },attrs:{\"name\":\"product-payment-status\",\"id\":(\"product-payment-status-\" + (_vm.product.productTypeId)),\"data-vv-scope\":\"product-details\",\"data-vv-as\":\"payment status\"},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.product, \"paymentStatusId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},_vm.onProductPaymentStatusChanged]}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"--- Please Select ---\")]),_vm._l((_vm.productPaymentStatusTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])})],2):_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"product-payment-status\"}},[_vm._v(_vm._s(_vm.productPaymentStatusTypeDescription))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('product-details.product-payment-status')),expression:\"errors.has('product-details.product-payment-status')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('product-details.product-payment-status')))])]),(_vm.showSigningDate)?_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":(\"signing-date-\" + (_vm.product.productTypeId))}},[_vm._v(\"Signing Date\")]),_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:(_vm.isSigningDateRequired ? (\"required|date_format:dd/MM/yyyy|after:\" + _vm.instructedDateText + \",true\") : (\"date_format:dd/MM/yyyy|after:\" + _vm.instructedDateText + \",true\")),expression:\"isSigningDateRequired ? `required|date_format:dd/MM/yyyy|after:${instructedDateText},true` : `date_format:dd/MM/yyyy|after:${instructedDateText},true`\"}],class:{ 'is-invalid': _vm.errors.has('product-details.signing-date') },attrs:{\"disabled-dates\":{ to: _vm.instructedDate },\"name\":\"signing-date\",\"id\":(\"signing-date-\" + (_vm.product.productTypeId)),\"data-vv-scope\":\"product-details\",\"data-vv-as\":\"signing date\"},model:{value:(_vm.signingDate),callback:function ($$v) {_vm.signingDate=$$v},expression:\"signingDate\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('product-details.signing-date')),expression:\"errors.has('product-details.signing-date')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('product-details.signing-date')))])],1):_vm._e()]),(_vm.showPartPayment)?_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":(\"number-of-payments-\" + (_vm.product.productTypeId))}},[_vm._v(\"Number of Payments\")]),(_vm.canEditNumberOfPayments)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.numberOfPayments),expression:\"numberOfPayments\"}],staticClass:\"form-control\",attrs:{\"id\":(\"number-of-payments-\" + (_vm.product.productTypeId))},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.numberOfPayments=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.onNumberOfPaymentsChanged]}},_vm._l((11),function(index){return _c('option',{key:index,domProps:{\"value\":index + 1}},[_vm._v(_vm._s(index + 1))])}),0):_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":\"number-of-payments\"}},[_vm._v(_vm._s(_vm.numberOfPayments))])])]):_vm._e(),_vm._l((_vm.paymentDetails),function(payment){return _c('div',{key:_vm.product.index,staticClass:\"form-row\"},[(_vm.showPaymentAmount(payment))?_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":(\"payment-amount-\" + (_vm.product.productTypeId) + \"-\" + (payment.index))}},[_vm._v(\"Amount\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}],null,true)},[(_vm.canEditPaymentDetails(payment))?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(payment.value),expression:\"payment.value\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal'),expression:\"'required|decimal'\"}],key:(\"payment-amount-\" + (_vm.product.productTypeId) + \"-\" + (payment.index)),staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has((\"product-details.payment-amount-\" + (payment.index))) },attrs:{\"type\":\"text\",\"name\":(\"payment-amount-\" + (payment.index)),\"id\":(\"payment-amount-\" + (_vm.product.productTypeId) + \"-\" + (payment.index)),\"data-vv-scope\":\"product-details\",\"data-vv-as\":\"amount\"},domProps:{\"value\":(payment.value)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(payment, \"value\", $event.target.value)}}}):_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":(\"payment-amount-\" + (payment.index))}},[_vm._v(_vm._s(_vm._f(\"currency\")(payment.amount)))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has((\"product-details.payment-amount-\" + (payment.index)))),expression:\"errors.has(`product-details.payment-amount-${payment.index}`)\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first((\"product-details.payment-amount-\" + (payment.index)))))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.errors.has((\"product-details.payment-amount-\" + (payment.index))) && _vm.paymentTotalValidation != null && payment.index === (_vm.paymentDetails.length - 1)),expression:\"!errors.has(`product-details.payment-amount-${payment.index}`) && paymentTotalValidation != null && payment.index === (paymentDetails.length - 1)\"}],staticClass:\"invalid-amount\"},[_vm._v(_vm._s(_vm.paymentTotalValidation))])])],1):_vm._e(),(_vm.showPartPayment)?_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":(\"part-payment-status-\" + (_vm.product.productTypeId) + \"-\" + (payment.index))}},[_vm._v(\"Payment Status\")]),(_vm.canEditPaymentDetails(payment))?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(payment.paymentStatusId),expression:\"payment.paymentStatusId\"}],key:(\"part-payment-status-\" + (_vm.product.productTypeId) + \"-\" + (payment.index)),staticClass:\"form-control\",attrs:{\"id\":(\"part-payment-status-\" + (_vm.product.productTypeId) + \"-\" + (payment.index))},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(payment, \"paymentStatusId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.onPartPaymentStatusChanged(payment)}]}},_vm._l((_vm.partPaymentStatusTypes),function(type){return _c('option',{key:type.id,domProps:{\"value\":type.id}},[_vm._v(_vm._s(type.value))])}),0):_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":(\"part-payment-status-\" + (payment.index))}},[_vm._v(_vm._s(_vm.partPaymentStatusTypeDescription(payment)))])]):_vm._e(),(_vm.showPaymentBankedDate(payment))?_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":(\"payment-banked-date-\" + (_vm.product.productTypeId) + \"-\" + (payment.index))}},[_vm._v(\"Banked Date\")]),(_vm.canEditPaymentDetails(payment))?_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:((\"required|date_format:dd/MM/yyyy|after:\" + _vm.instructedDateText + \",true\")),expression:\"`required|date_format:dd/MM/yyyy|after:${instructedDateText},true`\"}],key:(\"payment-banked-date-\" + (_vm.product.productTypeId) + \"-\" + (payment.index)),class:{ 'is-invalid': _vm.errors.has((\"product-details.payment-banked-date-\" + (payment.index))) },attrs:{\"disabled-dates\":{ to: _vm.instructedDate },\"name\":(\"payment-banked-date-\" + (payment.index)),\"id\":(\"payment-banked-date-\" + (_vm.product.productTypeId) + \"-\" + (payment.index)),\"data-vv-scope\":\"product-details\",\"data-vv-as\":\"banked date\"},model:{value:(payment.bankedDate),callback:function ($$v) {_vm.$set(payment, \"bankedDate\", $$v)},expression:\"payment.bankedDate\"}}):_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":(\"payment-banked-date-\" + (payment.index))}},[_vm._v(_vm._s(_vm._f(\"date\")(payment.bankedDate)))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has((\"product-details.payment-banked-date-\" + (payment.index)))),expression:\"errors.has(`product-details.payment-banked-date-${payment.index}`)\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first((\"product-details.payment-banked-date-\" + (payment.index)))))])],1):_vm._e(),(_vm.showPaymentClearedDate(payment))?_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":(\"payment-cleared-date-\" + (_vm.product.productTypeId) + \"-\" + (payment.index))}},[_vm._v(\"Cleared Date\")]),(_vm.canEditCompletedDate(payment))?_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:((\"required|date_format:dd/MM/yyyy|after:\" + (_vm.bankedDateText(payment)) + \",true\")),expression:\"`required|date_format:dd/MM/yyyy|after:${bankedDateText(payment)},true`\"}],key:(\"payment-cleared-date-\" + (_vm.product.productTypeId) + \"-\" + (payment.index)),class:{ 'is-invalid': _vm.errors.has((\"product-details.payment-cleared-date-\" + (payment.index))) },attrs:{\"disabled-dates\":{ to: _vm.bankedDate(payment) },\"name\":(\"payment-cleared-date-\" + (payment.index)),\"id\":(\"payment-cleared-date-\" + (_vm.product.productTypeId) + \"-\" + (payment.index)),\"data-vv-scope\":\"product-details\",\"data-vv-as\":\"cleared date\"},model:{value:(payment.clearedDate),callback:function ($$v) {_vm.$set(payment, \"clearedDate\", $$v)},expression:\"payment.clearedDate\"}}):_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":(\"payment-cleared-date-\" + (payment.index))}},[_vm._v(_vm._s(_vm._f(\"date\")(payment.clearedDate)))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has((\"product-details.payment-cleared-date-\" + (payment.index)))),expression:\"errors.has(`product-details.payment-cleared-date-${payment.index}`)\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first((\"product-details.payment-cleared-date-\" + (payment.index)))))])],1):_vm._e(),(_vm.showPaymentDebtorDate(payment))?_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":(\"payment-debtor-date-\" + (_vm.product.productTypeId) + \"-\" + (payment.index))}},[_vm._v(\"Debtor Date\")]),(_vm.canEditPaymentDetails(payment))?_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:((\"required|date_format:dd/MM/yyyy|after:\" + (_vm.bankedDateText(payment)) + \",true\")),expression:\"`required|date_format:dd/MM/yyyy|after:${bankedDateText(payment)},true`\"}],key:(\"payment-debtor-date-\" + (_vm.product.productTypeId) + \"-\" + (payment.index)),class:{ 'is-invalid': _vm.errors.has((\"product-details.payment-debtor-date-\" + (payment.index))) },attrs:{\"disabled-dates\":{ to: _vm.bankedDate(payment) },\"name\":(\"payment-debtor-date-\" + (payment.index)),\"id\":(\"payment-debtor-date-\" + (_vm.product.productTypeId) + \"-\" + (payment.index)),\"data-vv-scope\":\"product-details\",\"data-vv-as\":\"debtor date\"},model:{value:(payment.debtorDate),callback:function ($$v) {_vm.$set(payment, \"debtorDate\", $$v)},expression:\"payment.debtorDate\"}}):_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":(\"payment-debtor-date-\" + (payment.index))}},[_vm._v(_vm._s(_vm._f(\"date\")(payment.debtorDate)))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has((\"product-details.payment-debtor-date-\" + (payment.index)))),expression:\"errors.has(`product-details.payment-debtor-date-${payment.index}`)\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first((\"product-details.payment-debtor-date-\" + (payment.index)))))])],1):_vm._e(),(_vm.showPaymentNoLongerProceedingDate(payment))?_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":(\"payment-no-longer-proceeding-date-\" + (_vm.product.productTypeId) + \"-\" + (payment.index))}},[_vm._v(\"No Longer Proceeding Date\")]),(_vm.canEditPaymentDetails(payment))?_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:((\"required|date_format:dd/MM/yyyy|after:\" + (_vm.bankedDateText(payment)) + \",true\")),expression:\"`required|date_format:dd/MM/yyyy|after:${bankedDateText(payment)},true`\"}],key:(\"payment-no-longer-proceeding-date-\" + (_vm.product.productTypeId) + \"-\" + (payment.index)),class:{ 'is-invalid': _vm.errors.has((\"product-details.payment-no-longer-proceeding-date-\" + (payment.index))) },attrs:{\"disabled-dates\":{ to: _vm.bankedDate(payment) },\"name\":(\"payment-no-longer-proceeding-date-\" + (payment.index)),\"id\":(\"payment-no-longer-proceeding-date-\" + (_vm.product.productTypeId) + \"-\" + (payment.index)),\"data-vv-scope\":\"product-details\",\"data-vv-as\":\"no longer proceeding date\"},model:{value:(payment.noLongerProceedingDate),callback:function ($$v) {_vm.$set(payment, \"noLongerProceedingDate\", $$v)},expression:\"payment.noLongerProceedingDate\"}}):_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":(\"payment-no-longer-proceeding-date-\" + (payment.index))}},[_vm._v(_vm._s(_vm._f(\"date\")(payment.noLongerProceedingDate)))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has((\"product-details.payment-no-longer-proceeding-date-\" + (payment.index)))),expression:\"errors.has(`product-details.payment-no-longer-proceeding-date-${payment.index}`)\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first((\"product-details.payment-no-longer-proceeding-date-\" + (payment.index)))))])],1):_vm._e(),(_vm.showPaymentWrittenOffDate(payment))?_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":(\"payment-written-off-date-\" + (_vm.product.productTypeId) + \"-\" + (payment.index))}},[_vm._v(\"Written Off Date\")]),(_vm.canEditCompletedDate(payment))?_c('datepicker',{directives:[{name:\"validate\",rawName:\"v-validate\",value:((\"required|date_format:dd/MM/yyyy|after:\" + (_vm.bankedDateText(payment)) + \",true\")),expression:\"`required|date_format:dd/MM/yyyy|after:${bankedDateText(payment)},true`\"}],key:(\"payment-written-off-date-\" + (_vm.product.productTypeId) + \"-\" + (payment.index)),class:{ 'is-invalid': _vm.errors.has((\"product-details.payment-written-off-date-\" + (payment.index))) },attrs:{\"disabled-dates\":{ to: _vm.bankedDate(payment) },\"name\":(\"payment-written-off-date-\" + (payment.index)),\"id\":(\"payment-written-off-date-\" + (_vm.product.productTypeId) + \"-\" + (payment.index)),\"data-vv-scope\":\"product-details\",\"data-vv-as\":\"written off date\"},model:{value:(payment.writtenOffDate),callback:function ($$v) {_vm.$set(payment, \"writtenOffDate\", $$v)},expression:\"payment.writtenOffDate\"}}):_c('div',{staticClass:\"form-control\",attrs:{\"readonly\":\"\",\"id\":(\"payment-written-off-date-\" + (payment.index))}},[_vm._v(_vm._s(_vm._f(\"date\")(payment.writtenOffDate)))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has((\"product-details.payment-written-off-date-\" + (payment.index)))),expression:\"errors.has(`product-details.payment-written-off-date-${payment.index}`)\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first((\"product-details.payment-written-off-date-\" + (payment.index)))))])],1):_vm._e()])})],2):_c('div',[_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col-3\"},[_c('label',{attrs:{\"for\":(\"instructed-value-\" + (_vm.product.productTypeId))}},[_vm._v(\"Instructed Value\")]),_c('b-input-group',{scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('b-input-group-text',[_vm._v(\"£\")])]},proxy:true}])},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.product.instructedValue),expression:\"product.instructedValue\"},{name:\"validate\",rawName:\"v-validate\",value:('decimal:2'),expression:\"'decimal:2'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('product-details.instructed-value') },attrs:{\"type\":\"text\",\"name\":\"instructed-value\",\"id\":(\"instructed-value-\" + (_vm.product.productTypeId)),\"data-vv-scope\":\"product-details\",\"data-vv-as\":\"instructed value\"},domProps:{\"value\":(_vm.product.instructedValue)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.product, \"instructedValue\", $event.target.value)}}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('product-details.instructed-value')),expression:\"errors.has('product-details.instructed-value')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('product-details.instructed-value')))])])],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AppointmentPaymentStatusType } from '@/shared/types/appointment-payment-status-type';\n\nexport interface AppointmentProductPaymentDetails {\n paymentStatusId: string | null;\n partPayment: boolean;\n index: number;\n value: number | null;\n signingDate: string | Date | null;\n bankedDate: string | Date | null;\n clearedDate: string | Date | null;\n debtorDate: string | Date | null;\n noLongerProceedingDate: string | Date | null;\n writtenOffDate: string | Date | null;\n version?: number;\n}\n\nexport function createAppointmentProductPaymentDetails(paymentStatus: AppointmentPaymentStatusType, index: number): AppointmentProductPaymentDetails {\n return {\n index,\n paymentStatusId: paymentStatus.id!,\n partPayment: paymentStatus.isPartPayment,\n signingDate: null,\n value: null,\n bankedDate: null,\n clearedDate: null,\n debtorDate: null,\n noLongerProceedingDate: null,\n writtenOffDate: null,\n };\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Appointment } from '@/shared/appointments/appointment';\nimport { AppointmentOutcome } from '@/shared/appointments/appointment-outcome';\nimport { AppointmentOutcomeProduct } from '@/shared/appointments/appointment-outcome-product';\nimport { AppointmentProductPaymentDetails, createAppointmentProductPaymentDetails } from '@/shared/appointments/appointment-product-payment-details';\nimport { AppointmentPaymentStatusType } from '@/shared/types/appointment-payment-status-type';\nimport { formatCurrentDate, formatDate } from '@/shared/utilities/date-utilities';\nimport debounce from 'lodash.debounce';\nimport { DateTime } from 'luxon';\nimport { Validator } from 'vee-validate';\nimport { Component, Inject, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst typesModule = namespace('types');\nconst userModule = namespace('user');\n\n@Component\nexport default class AppointmentProductDetails extends Vue {\n @typesModule.Getter('appointmentPaymentStatusTypes') private appointmentPaymentStatusTypes!: Array;\n @userModule.Getter('isInternalKeyStakeholder') private isInternalKeyStakeholder!: boolean;\n @userModule.Getter('isHeadOfDepartment') private isHeadOfDepartment!: boolean;\n\n @Inject('$validator') public $validator!: Validator;\n @Prop({ required: true }) private product!: AppointmentOutcomeProduct;\n @Prop({ required: true }) private appointment!: Appointment;\n @Prop({ required: false, default: false }) private isEdit!: boolean;\n\n private numberOfPayments: number | null = this.product.paymentDetails.length ? this.product.paymentDetails.length : null;\n private paymentTotalValidation: string | null = null;\n\n private originalAppointmentOutcome: AppointmentOutcome | null = this.appointment.outcome == null ? null : { ...this.appointment.outcome, products: [...this.appointment.outcome.products] };\n\n private get signingDate(): string | Date | null {\n return this.product.paymentDetails.length ? this.product.paymentDetails[0].signingDate : null;\n }\n\n private set signingDate(value: string | Date | null) {\n for (const payment of this.product.paymentDetails) {\n payment.signingDate = value;\n }\n }\n\n private get paymentDetails(): Array {\n if (!this.product.paymentDetails.length) {\n return [];\n }\n\n const paymentDetails = this.product.paymentDetails.sort((p1, p2) => {\n if (p1.index > p2.index) { return 1; }\n if (p1.index < p2.index) { return -1; }\n return 0;\n });\n\n return paymentDetails;\n }\n\n private get productPaymentStatusTypes(): Array {\n const paymentStatuses = this.isEdit\n ? this.appointmentPaymentStatusTypes.filter((type) => !type.isArchived)\n : this.appointmentPaymentStatusTypes.filter((type) => !type.isArchived && !type.isDebtor && !type.isNoLongerProceeding && !type.isComplete);\n\n return this.isInternalKeyStakeholder || this.isHeadOfDepartment ? paymentStatuses : paymentStatuses.filter((type) => !type.isAdminOnly);\n }\n\n private get partPaymentStatusTypes(): Array {\n const paymentStatuses = this.isEdit\n ? this.appointmentPaymentStatusTypes.filter((type) => !type.isArchived && !type.isSigningPending && !type.isSigningBooked)\n : this.appointmentPaymentStatusTypes.filter((type) => !type.isArchived && !type.isSigningPending && !type.isSigningBooked && !type.isDebtor && !type.isNoLongerProceeding && !type.isComplete);\n\n return (this.isInternalKeyStakeholder || this.isHeadOfDepartment ? paymentStatuses : paymentStatuses.filter((type) => !type.isAdminOnly))\n .map((type) => {\n return { ...type, value: type.isPartPayment ? 'Pending' : type.value };\n });\n }\n\n private get showAlbReference(): boolean {\n return this.appointment.isSimpsonsSolicitors != null ? this.appointment.isSimpsonsSolicitors : false;\n }\n\n private get showSigningDate(): boolean {\n if (this.product.paymentStatusId == null) {\n return false;\n }\n\n const appointmentPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.id === this.product.paymentStatusId);\n return appointmentPaymentStatusType != null && !appointmentPaymentStatusType.isSigningPending;\n }\n\n private get showPartPayment(): boolean {\n if (this.product.paymentStatusId == null) {\n return false;\n }\n\n const appointmentPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.id === this.product.paymentStatusId);\n return appointmentPaymentStatusType != null && appointmentPaymentStatusType.isPartPayment;\n }\n\n private get canEditInstructedDate(): boolean {\n if (this.isInternalKeyStakeholder || !this.isEdit || this.originalAppointmentOutcome == null) {\n return true;\n }\n\n const originalProduct = this.originalAppointmentOutcome.products.find((product) => product.productTypeId === this.product.productTypeId);\n return originalProduct == null ? false : originalProduct.instructedDate == null;\n }\n\n private get canEditInstructedValue(): boolean {\n if (this.isInternalKeyStakeholder || !this.isEdit || this.originalAppointmentOutcome == null) {\n return true;\n }\n\n const originalProduct = this.originalAppointmentOutcome.products.find((product) => product.productTypeId === this.product.productTypeId);\n return originalProduct == null ? false : originalProduct.instructedValue == null;\n }\n\n private get canEditProductPaymentStatus(): boolean {\n if (this.isInternalKeyStakeholder || !this.isEdit || this.originalAppointmentOutcome == null) {\n return true;\n }\n\n const originalProduct = this.originalAppointmentOutcome.products.find((product) => product.productTypeId === this.product.productTypeId);\n\n if (originalProduct == null) {\n return false;\n }\n\n if (originalProduct.paymentDetails == null || !originalProduct.paymentDetails.length) {\n return true;\n }\n\n if (originalProduct.paymentDetails.length > 1) {\n return false;\n }\n\n const originalPayment = originalProduct.paymentDetails[0];\n const originalPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.id === originalPayment.paymentStatusId);\n return originalPaymentStatusType == null ? false : !originalPaymentStatusType.isAdminOnly;\n }\n\n private get canEditNumberOfPayments(): boolean {\n if (this.isInternalKeyStakeholder || !this.isEdit || this.originalAppointmentOutcome == null) {\n return true;\n }\n\n const originalProduct = this.originalAppointmentOutcome.products.find((product) => product.productTypeId === this.product.productTypeId);\n\n if (originalProduct == null) {\n return false;\n }\n\n return originalProduct.paymentDetails == null || !originalProduct.paymentDetails.length ? true : originalProduct.paymentDetails.every((product) => product.value == null);\n }\n\n private get isSigningDateRequired(): boolean {\n if (this.product.paymentStatusId == null) {\n return false;\n }\n\n const appointmentPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.id === this.product.paymentStatusId);\n return appointmentPaymentStatusType != null && appointmentPaymentStatusType.isSigningBooked;\n }\n\n private get productPaymentStatusTypeDescription(): string {\n if (this.product.paymentStatusId == null) {\n return '';\n }\n\n const appointmentPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.id === this.product.paymentStatusId);\n return appointmentPaymentStatusType == null ? '' : appointmentPaymentStatusType.value;\n }\n\n private get appointmentDate(): string | Date | null {\n return formatDate(this.appointment.date, true);\n }\n\n private get appointmentDateText(): string {\n const appointmentDateTime = this.appointment.date! instanceof Date\n ? DateTime.fromJSDate(this.appointment.date!, { zone: 'UTC' })\n : DateTime.fromISO(this.appointment.date!, { zone: 'UTC' });\n\n return appointmentDateTime.minus({ hours: appointmentDateTime.hour, minutes: appointmentDateTime.minute }).toFormat('dd/MM/yyyy');\n }\n\n private get instructedDate(): string | Date | null {\n return formatDate(this.product.instructedDate != null ? this.product.instructedDate : this.appointment.date, true);\n }\n\n private get instructedDateText(): string {\n const baseDate = this.product.instructedDate != null ? this.product.instructedDate : this.appointment.date;\n const instructedDateTime = baseDate instanceof Date\n ? DateTime.fromJSDate(baseDate, { zone: 'UTC' })\n : DateTime.fromISO(baseDate!, { zone: 'UTC' });\n\n return instructedDateTime.minus({ hours: instructedDateTime.hour, minutes: instructedDateTime.minute }).toFormat('dd/MM/yyyy');\n }\n\n @Watch('product', { deep: true })\n private onProductChanged = debounce(async () => {\n await this.validateProduct();\n }, 100);\n\n private showPaymentAmount(payment: AppointmentProductPaymentDetails): boolean {\n if (this.product.paymentStatusId == null) {\n return false;\n }\n\n const appointmentPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.id === this.product.paymentStatusId);\n return appointmentPaymentStatusType != null && !appointmentPaymentStatusType.isSigningPending && !appointmentPaymentStatusType.isSigningBooked;\n }\n\n private showPaymentBankedDate(payment: AppointmentProductPaymentDetails): boolean {\n if (payment.paymentStatusId == null) {\n return false;\n }\n\n const appointmentPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.id === payment.paymentStatusId);\n\n if (appointmentPaymentStatusType == null || appointmentPaymentStatusType.isSigningPending || appointmentPaymentStatusType.isSigningBooked || appointmentPaymentStatusType.isPartPayment) {\n return false;\n }\n\n return appointmentPaymentStatusType.isDebtor || appointmentPaymentStatusType.isNoLongerProceeding || appointmentPaymentStatusType.isWrittenOff ? payment.bankedDate != null : true;\n }\n\n private showPaymentClearedDate(payment: AppointmentProductPaymentDetails): boolean {\n if (payment.paymentStatusId == null) {\n return false;\n }\n\n const appointmentPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.id === payment.paymentStatusId);\n return appointmentPaymentStatusType != null && appointmentPaymentStatusType.isCleared;\n }\n\n private showPaymentDebtorDate(payment: AppointmentProductPaymentDetails): boolean {\n if (payment.paymentStatusId == null) {\n return false;\n }\n\n const appointmentPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.id === payment.paymentStatusId);\n return appointmentPaymentStatusType != null && appointmentPaymentStatusType.isDebtor;\n }\n\n private showPaymentNoLongerProceedingDate(payment: AppointmentProductPaymentDetails): boolean {\n if (payment.paymentStatusId == null) {\n return false;\n }\n\n const appointmentPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.id === payment.paymentStatusId);\n return appointmentPaymentStatusType != null && appointmentPaymentStatusType.isNoLongerProceeding;\n }\n\n private showPaymentWrittenOffDate(payment: AppointmentProductPaymentDetails): boolean {\n if (payment.paymentStatusId == null) {\n return false;\n }\n\n const appointmentPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.id === payment.paymentStatusId);\n return appointmentPaymentStatusType != null && appointmentPaymentStatusType.isWrittenOff;\n }\n\n private canEditPaymentDetails(payment: AppointmentProductPaymentDetails): boolean {\n if (this.isInternalKeyStakeholder || !this.isEdit || this.originalAppointmentOutcome == null) {\n return true;\n }\n\n const originalProduct = this.originalAppointmentOutcome.products.find((product) => product.productTypeId === this.product.productTypeId);\n\n if (originalProduct == null) {\n return false;\n }\n\n if (originalProduct.paymentDetails == null || !originalProduct.paymentDetails.length) {\n return true;\n }\n\n const originalPayment = originalProduct.paymentDetails.find((p) => p.index === payment.index);\n\n if (originalPayment == null) {\n return true;\n }\n\n const originalPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.id === originalPayment.paymentStatusId);\n\n return originalPaymentStatusType != null && !originalPaymentStatusType.isAdminOnly;\n }\n\n private canEditCompletedDate(payment: AppointmentProductPaymentDetails): boolean {\n if (this.isInternalKeyStakeholder || !this.isEdit || this.originalAppointmentOutcome == null) {\n return true;\n }\n\n if (!this.isHeadOfDepartment) {\n return false;\n }\n\n const originalProduct = this.originalAppointmentOutcome.products.find((product) => product.productTypeId === this.product.productTypeId);\n\n if (originalProduct == null) {\n return false;\n }\n\n if (originalProduct.paymentDetails == null || !originalProduct.paymentDetails.length) {\n return true;\n }\n\n const originalPayment = originalProduct.paymentDetails.find((p) => p.index === payment.index);\n\n if (originalPayment == null) {\n return true;\n }\n\n const originalPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.id === originalPayment.paymentStatusId);\n\n return originalPaymentStatusType != null && !originalPaymentStatusType.isComplete;\n }\n\n private partPaymentStatusTypeDescription(payment: AppointmentProductPaymentDetails): string {\n if (payment.paymentStatusId == null) {\n return '';\n }\n\n const appointmentPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.id === payment.paymentStatusId);\n return appointmentPaymentStatusType == null ? '' : (appointmentPaymentStatusType.isPartPayment ? 'Pending' : appointmentPaymentStatusType.value);\n }\n\n private bankedDate(payment: AppointmentProductPaymentDetails): string | Date | null {\n if (payment.bankedDate == null) {\n return this.instructedDate;\n }\n\n return formatDate(payment.bankedDate, true);\n }\n\n private bankedDateText(payment: AppointmentProductPaymentDetails): string {\n if (payment.bankedDate == null) {\n return this.instructedDateText;\n }\n\n const bankedDateTime = payment.bankedDate instanceof Date\n ? DateTime.fromJSDate(payment.bankedDate, { zone: 'UTC' })\n : DateTime.fromISO(payment.bankedDate!, { zone: 'UTC' });\n\n return bankedDateTime.minus({ hours: bankedDateTime.hour, minutes: bankedDateTime.minute }).toFormat('dd/MM/yyyy');\n }\n\n private onProductPaymentStatusChanged(): void {\n const existingSigningDate = this.product.paymentDetails.length ? this.product.paymentDetails[0].signingDate : null;\n const existingValue = this.product.paymentDetails.length ? this.product.paymentDetails[0].value : null;\n const existingBankedDate = this.product.paymentDetails.length ? this.product.paymentDetails[0].bankedDate : null;\n\n this.product.paymentDetails = [];\n\n if (this.product.paymentStatusId == null) {\n return;\n }\n\n const appointmentPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.id === this.product.paymentStatusId);\n\n if (appointmentPaymentStatusType == null) {\n return;\n }\n\n this.numberOfPayments = appointmentPaymentStatusType.isPartPayment ? 2 : 1;\n\n for (let index = 0; index < this.numberOfPayments; index++) {\n const payment = createAppointmentProductPaymentDetails(appointmentPaymentStatusType, index);\n payment.signingDate = appointmentPaymentStatusType.isSigningPending ? null : existingSigningDate;\n this.product.paymentDetails.push(payment);\n }\n\n if (appointmentPaymentStatusType.isSigningPending || appointmentPaymentStatusType.isSigningBooked || appointmentPaymentStatusType.isPartPayment) {\n return;\n }\n\n this.product.paymentDetails[0].value = existingValue;\n this.product.paymentDetails[0].bankedDate = existingBankedDate;\n this.product.paymentDetails[0].debtorDate = appointmentPaymentStatusType.isDebtor ? formatCurrentDate() : null;\n this.product.paymentDetails[0].noLongerProceedingDate = appointmentPaymentStatusType.isNoLongerProceeding ? formatCurrentDate() : null;\n this.product.paymentDetails[0].writtenOffDate = appointmentPaymentStatusType.isWrittenOff ? formatCurrentDate() : null;\n }\n\n private onNumberOfPaymentsChanged(): void {\n const existingSigningDate = this.product.paymentDetails.length ? this.product.paymentDetails[0].signingDate : null;\n\n this.product.paymentDetails = [];\n\n const appointmentPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.id === this.product.paymentStatusId);\n\n if (appointmentPaymentStatusType == null) {\n return;\n }\n\n for (let index = 0; index < this.numberOfPayments!; index++) {\n const payment = createAppointmentProductPaymentDetails(appointmentPaymentStatusType, index);\n payment.signingDate = existingSigningDate;\n this.product.paymentDetails.push(payment);\n }\n }\n\n private onPartPaymentStatusChanged(payment: AppointmentProductPaymentDetails): void {\n if (payment.paymentStatusId == null) {\n return;\n }\n\n const appointmentPaymentStatusType = this.appointmentPaymentStatusTypes.find((type) => type.id === payment.paymentStatusId);\n\n if (appointmentPaymentStatusType == null) {\n return;\n }\n\n if (appointmentPaymentStatusType.isPartPayment) {\n payment.bankedDate = null;\n }\n\n payment.debtorDate = appointmentPaymentStatusType.isDebtor ? formatCurrentDate() : null;\n payment.noLongerProceedingDate = appointmentPaymentStatusType.isNoLongerProceeding ? formatCurrentDate() : null;\n payment.writtenOffDate = appointmentPaymentStatusType.isWrittenOff ? formatCurrentDate() : null;\n }\n\n private async validateProduct(): Promise {\n await this.$validator.validateAll('product-details');\n\n this.paymentTotalValidation = null;\n\n if (Math.abs(this.product.instructedValue!) > 0 && this.product.paymentDetails.length > 1 && this.product.paymentDetails.every((payment) => Math.abs(payment.value!) > 0)) {\n const paymentTotal = this.product.paymentDetails.reduce((sum, payment) => sum + (Math.abs(payment.value!) * 100), 0) / 100;\n\n if (Math.abs(this.product.instructedValue!) < Math.abs(paymentTotal)) {\n this.paymentTotalValidation = 'The total payment amount cannot exceed the instructed value.';\n } else if (Math.abs(this.product.instructedValue!) > Math.abs(paymentTotal)) {\n this.paymentTotalValidation = 'The total payment amount cannot be less than the instructed value.';\n }\n }\n\n this.$emit('product-changed', { productTypeId: this.product.productTypeId, errors: this.$validator.errors.any('product-details') || this.paymentTotalValidation != null });\n return !this.$validator.errors.any('product-details') && this.paymentTotalValidation == null;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointment-product-details.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appointment-product-details.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./appointment-product-details.vue?vue&type=template&id=0b5318a8&\"\nimport script from \"./appointment-product-details.vue?vue&type=script&lang=ts&\"\nexport * from \"./appointment-product-details.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./appointment-product-details.vue?vue&type=style&index=0&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 null,\n null\n \n)\n\nexport default component.exports","import AppointmentProductDetails from '@/components/appointment-product-details/appointment-product-details.vue';\nimport Vue, { PluginObject, VueConstructor } from 'vue';\n\nconst plugin: PluginObject = {\n install: (vue: VueConstructor, options?: any): void => {\n Vue.component('AppointmentProductDetails', AppointmentProductDetails);\n },\n};\n\nVue.use(plugin);\n\nexport default plugin;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"centered\":\"\",\"title\":_vm.title,\"no-close-on-esc\":true,\"no-close-on-backdrop\":true,\"ok-title\":_vm.okText,\"ok-variant\":_vm.variant,\"cancel-title\":_vm.cancelText,\"cancel-variant\":_vm.cancelVariant},on:{\"ok\":_vm.handleOk,\"cancel\":_vm.handleCancel},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header\"},[_c('h5',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.title))]),_c('b-button-close',{on:{\"click\":function($event){return _vm.$emit('cancel')}}})],1),_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\n\n\n\n\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class ConfirmationDialog extends Vue {\n @Prop({ type: Boolean, default: false }) public noCloseOnEsc!: boolean;\n @Prop({ type: Boolean, default: false }) public noCloseOnbackdrop!: boolean;\n @Prop({ type: String, default: 'Are you sure?' }) public title!: string;\n @Prop({ type: String, default: 'primary' }) public variant!: string;\n @Prop({ type: String, default: 'secondary' }) public cancelVariant!: string;\n @Prop({ type: String, default: 'OK' }) public okText!: string;\n @Prop({ type: String, default: 'Cancel' }) public cancelText!: string;\n @Prop({ type: Boolean, default: false, required: true }) public value!: boolean;\n\n private isVisible: boolean = this.value;\n\n @Watch('value') private handleValueChanged(show: boolean): void {\n this.isVisible = show;\n }\n\n public show(): void {\n this.isVisible = true;\n }\n public hide(): void {\n this.isVisible = false;\n }\n\n public handleOk(e: any): void {\n this.$emit('ok', e);\n }\n public handleCancel(e: any): void {\n this.$emit('cancel', e);\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirmation-dialog.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirmation-dialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./confirmation-dialog.vue?vue&type=template&id=68cfedc9&\"\nimport script from \"./confirmation-dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./confirmation-dialog.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 Vue, { PluginObject, VueConstructor } from 'vue';\nimport ConfirmationDialog from './confirmation-dialog.vue';\n\nconst plugin: PluginObject = {\n install: (vue: VueConstructor, options?: any): void => {\n Vue.component('ConfirmationDialog', ConfirmationDialog);\n },\n};\n\nVue.use(plugin);\n\nexport default plugin;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"centered\":\"\",\"title\":_vm.title,\"no-close-on-esc\":true,\"no-close-on-backdrop\":true},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('template',{slot:\"modal-header\"},[_c('h5',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.title))]),_c('b-button-close',{on:{\"click\":_vm.handleCancel}})],1),_c('div',[_vm._v(\"\\n \"+_vm._s(_vm.message)+\"\\n \")]),_c('template',{slot:\"modal-footer\"},[(_vm.showCancel)?_c('b-btn',{attrs:{\"variant\":\"secondary\"},on:{\"click\":_vm.handleCancel}},[_vm._v(_vm._s(_vm.cancelText))]):_vm._e(),(_vm.showContinue)?_c('b-btn',{attrs:{\"variant\":\"danger\"},on:{\"click\":_vm.handleContinue}},[_vm._v(_vm._s(_vm.continueText))]):_vm._e(),_c('b-btn',{attrs:{\"variant\":_vm.variant},on:{\"click\":_vm.handleOk}},[_vm._v(_vm._s(_vm.okText))])],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class ConfirmationDialogProgrammatic extends Vue {\n @Prop({ type: String, default: 'Are You Sure?' }) public title!: string;\n @Prop({ type: String, default: 'primary' }) public variant!: string;\n @Prop({ type: Boolean, default: false }) public showCancel!: boolean;\n @Prop({ type: Boolean, default: false }) public showContinue!: boolean;\n @Prop({ type: String, default: 'OK' }) public okText!: string;\n @Prop({ type: String, default: 'Cotinue' }) public continueText!: string;\n @Prop({ type: String, default: 'Cancel' }) public cancelText!: string;\n @Prop({ type: String, default: 'Are you sure?' }) public message!: string;\n @Prop({ type: Function, default: () => { } }) public onOk!: () => {};\n @Prop({ type: Function, default: () => { } }) public onContinue!: () => {};\n @Prop({ type: Function, default: () => { } }) public onCancel!: () => {};\n\n private isVisible: boolean = true;\n\n private handleOk(): void {\n this.onOk();\n this.close();\n }\n\n private handleContinue(): void {\n this.onContinue();\n this.close();\n }\n\n private handleCancel(e: any): void {\n this.onCancel();\n this.close();\n }\n\n private close(): void {\n this.isVisible = false;\n setTimeout(() => {\n this.$destroy();\n this.removeElement(this.$el);\n }, 150);\n }\n\n private removeElement(el: Element) {\n if (el.remove !== undefined) {\n el.remove();\n } else if (el.parentNode !== undefined && el.parentNode !== null) {\n el.parentNode.removeChild(el);\n }\n }\n\n public beforeMount(): void {\n this.$nextTick(() => {\n document.body.appendChild(this.$el);\n });\n }\n\n public mounted(): void {\n this.isVisible = true;\n }\n}\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirmation-dialog-programmatic.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirmation-dialog-programmatic.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./confirmation-dialog-programmatic.vue?vue&type=template&id=ea77cd06&\"\nimport script from \"./confirmation-dialog-programmatic.vue?vue&type=script&lang=ts&\"\nexport * from \"./confirmation-dialog-programmatic.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 Vue from 'vue';\nimport ConfirmationDialogProgrammatic from '@/components/confirmation-dialog-programmatic/confirmation-dialog-programmatic.vue';\n\nexport let confirmationDialogProgrammatic = {\n open(params: ConfirmationDialogConfig): Promise {\n let message = '';\n\n if (typeof params === 'string') {\n message = params;\n }\n\n const defaultParam = {\n title: 'Are You Sure?',\n variant: 'primary',\n showCancel: false,\n showContinue: false,\n okText: 'OK',\n continueText: 'Continue',\n cancelText: 'Cancel',\n message: 'You have unsaved changes, if you continue those changes will be lost.',\n };\n\n const propsData = Object.assign(defaultParam, params);\n\n const vm = typeof window !== 'undefined' && (window as any).Vue ? (window as any).Vue : Vue;\n\n const confirmationDialogComponent = vm.extend(ConfirmationDialogProgrammatic);\n\n return new Promise(() => {\n const dialog = new confirmationDialogComponent({\n el: document.createElement('div'),\n propsData: { ...propsData },\n });\n });\n },\n};\n\nconst plugin = {\n install(vue: any) {\n Vue.prototype.$confirm = confirmationDialogProgrammatic;\n },\n};\n\ntype ColorModifiers = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'light' | 'dark' | string;\n\nexport interface ConfirmationDialogConfig {\n title?: string;\n variant?: ColorModifiers;\n showCancel?: boolean;\n showContinue?: boolean;\n okText?: string;\n continueText?: string;\n cancelText?: string;\n message?: string;\n onOk?: () => void;\n onContinue?: () => void;\n onCancel?: () => void;\n}\n\ndeclare module 'vue/types/vue' {\n interface Vue {\n $confirm: typeof confirmationDialogProgrammatic;\n }\n}\n\nexport default plugin;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"datepicker\",class:[_vm.wrapperClass, _vm.isRtl ? 'rtl' : '']},[_c('date-input',{attrs:{\"selectedDate\":_vm.selectedDate,\"resetTypedDate\":_vm.resetTypedDate,\"format\":_vm.format || _vm.defaultFormat,\"translation\":_vm.translation,\"inline\":_vm.inline,\"id\":_vm.id,\"name\":_vm.name,\"refName\":_vm.refName,\"openDate\":_vm.openDate,\"placeholder\":_vm.placeholder,\"inputClass\":_vm.inputClass,\"typeable\":_vm.typeable,\"parse\":_vm.parse || _vm.defaultParse,\"clearButton\":_vm.clearButton,\"clearButtonIcon\":_vm.clearButtonIcon,\"calendarButton\":_vm.calendarButton,\"calendarButtonIcon\":_vm.calendarButtonIcon,\"calendarButtonIconContent\":_vm.calendarButtonIconContent,\"disabled\":_vm.disabled,\"required\":_vm.required,\"bootstrapStyling\":_vm.bootstrapStyling,\"use-utc\":_vm.useUtc},on:{\"showCalendar\":_vm.showCalendar,\"closeCalendar\":_vm.close,\"typedDate\":_vm.setTypedDate,\"clearDate\":_vm.clearDate}},[_vm._t(\"afterDateInput\",null,{\"slot\":\"afterDateInput\"})],2),(_vm.allowedToShowView('day'))?_c('picker-day',{attrs:{\"pageDate\":_vm.pageDate,\"selectedDate\":_vm.selectedDate,\"showDayView\":_vm.showDayView,\"fullMonthName\":_vm.fullMonthName,\"allowedToShowView\":_vm.allowedToShowView,\"disabledDates\":_vm.disabledDates,\"highlighted\":_vm.highlighted,\"calendarClass\":_vm.calendarClass,\"calendarStyle\":_vm.calendarStyle,\"translation\":_vm.translation,\"pageTimestamp\":_vm.pageTimestamp,\"isRtl\":_vm.isRtl,\"mondayFirst\":_vm.mondayFirst,\"dayCellContent\":_vm.dayCellContent,\"use-utc\":_vm.useUtc},on:{\"changedMonth\":_vm.handleChangedMonthFromDayPicker,\"selectDate\":_vm.selectDate,\"showMonthCalendar\":_vm.showMonthCalendar,\"selectedDisabled\":_vm.selectDisabledDate}},[_vm._t(\"beforeCalendarHeader\",null,{\"slot\":\"beforeCalendarHeader\"})],2):_vm._e(),(_vm.allowedToShowView('month'))?_c('picker-month',{attrs:{\"pageDate\":_vm.pageDate,\"selectedDate\":_vm.selectedDate,\"showMonthView\":_vm.showMonthView,\"allowedToShowView\":_vm.allowedToShowView,\"disabledDates\":_vm.disabledDates,\"calendarClass\":_vm.calendarClass,\"calendarStyle\":_vm.calendarStyle,\"translation\":_vm.translation,\"isRtl\":_vm.isRtl,\"use-utc\":_vm.useUtc},on:{\"selectMonth\":_vm.selectMonth,\"showYearCalendar\":_vm.showYearCalendar,\"changedYear\":_vm.setPageDate}},[_vm._t(\"beforeCalendarHeader\",null,{\"slot\":\"beforeCalendarHeader\"})],2):_vm._e(),(_vm.allowedToShowView('year'))?_c('picker-year',{attrs:{\"pageDate\":_vm.pageDate,\"selectedDate\":_vm.selectedDate,\"showYearView\":_vm.showYearView,\"allowedToShowView\":_vm.allowedToShowView,\"disabledDates\":_vm.disabledDates,\"calendarClass\":_vm.calendarClass,\"calendarStyle\":_vm.calendarStyle,\"translation\":_vm.translation,\"isRtl\":_vm.isRtl,\"use-utc\":_vm.useUtc},on:{\"selectYear\":_vm.selectYear,\"changedDecade\":_vm.setPageDate}},[_vm._t(\"beforeCalendarHeader\",null,{\"slot\":\"beforeCalendarHeader\"})],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default class Language {\n constructor (language, months, monthsAbbr, days) {\n this.language = language\n this.months = months\n this.monthsAbbr = monthsAbbr\n this.days = days\n this.rtl = false\n this.ymd = false\n this.yearSuffix = ''\n }\n\n get language () {\n return this._language\n }\n\n set language (language) {\n if (typeof language !== 'string') {\n throw new TypeError('Language must be a string')\n }\n this._language = language\n }\n\n get months () {\n return this._months\n }\n\n set months (months) {\n if (months.length !== 12) {\n throw new RangeError(`There must be 12 months for ${this.language} language`)\n }\n this._months = months\n }\n\n get monthsAbbr () {\n return this._monthsAbbr\n }\n\n set monthsAbbr (monthsAbbr) {\n if (monthsAbbr.length !== 12) {\n throw new RangeError(`There must be 12 abbreviated months for ${this.language} language`)\n }\n this._monthsAbbr = monthsAbbr\n }\n\n get days () {\n return this._days\n }\n\n set days (days) {\n if (days.length !== 7) {\n throw new RangeError(`There must be 7 days for ${this.language} language`)\n }\n this._days = days\n }\n}\n// eslint-disable-next-line\n;\n","import Language from '../Language'\n\nexport default new Language(\n 'English',\n ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']\n)\n// eslint-disable-next-line\n;\n","import en from '../locale/translations/en'\n\nconst utils = {\n /**\n * @type {Boolean}\n */\n useUtc: false,\n /**\n * Returns the full year, using UTC or not\n * @param {Date} date\n */\n getFullYear (date) {\n return this.useUtc ? date.getUTCFullYear() : date.getFullYear()\n },\n\n /**\n * Returns the month, using UTC or not\n * @param {Date} date\n */\n getMonth (date) {\n return this.useUtc ? date.getUTCMonth() : date.getMonth()\n },\n\n /**\n * Returns the date, using UTC or not\n * @param {Date} date\n */\n getDate (date) {\n return this.useUtc ? date.getUTCDate() : date.getDate()\n },\n\n /**\n * Returns the day, using UTC or not\n * @param {Date} date\n */\n getDay (date) {\n return this.useUtc ? date.getUTCDay() : date.getDay()\n },\n\n /**\n * Returns the hours, using UTC or not\n * @param {Date} date\n */\n getHours (date) {\n return this.useUtc ? date.getUTCHours() : date.getHours()\n },\n\n /**\n * Returns the minutes, using UTC or not\n * @param {Date} date\n */\n getMinutes (date) {\n return this.useUtc ? date.getUTCMinutes() : date.getMinutes()\n },\n\n /**\n * Sets the full year, using UTC or not\n * @param {Date} date\n */\n setFullYear (date, value, useUtc) {\n return this.useUtc ? date.setUTCFullYear(value) : date.setFullYear(value)\n },\n\n /**\n * Sets the month, using UTC or not\n * @param {Date} date\n */\n setMonth (date, value, useUtc) {\n return this.useUtc ? date.setUTCMonth(value) : date.setMonth(value)\n },\n\n /**\n * Sets the date, using UTC or not\n * @param {Date} date\n * @param {Number} value\n */\n setDate (date, value, useUtc) {\n return this.useUtc ? date.setUTCDate(value) : date.setDate(value)\n },\n\n /**\n * Check if date1 is equivalent to date2, without comparing the time\n * @see https://stackoverflow.com/a/6202196/4455925\n * @param {Date} date1\n * @param {Date} date2\n */\n compareDates (date1, date2) {\n const d1 = new Date(date1.getTime())\n const d2 = new Date(date2.getTime())\n\n if (this.useUtc) {\n d1.setUTCHours(0, 0, 0, 0)\n d2.setUTCHours(0, 0, 0, 0)\n } else {\n d1.setHours(0, 0, 0, 0)\n d2.setHours(0, 0, 0, 0)\n }\n return d1.getTime() === d2.getTime()\n },\n\n /**\n * Validates a date object\n * @param {Date} date - an object instantiated with the new Date constructor\n * @return {Boolean}\n */\n isValidDate (date) {\n if (Object.prototype.toString.call(date) !== '[object Date]') {\n return false\n }\n return !isNaN(date.getTime())\n },\n\n /**\n * Return abbreviated week day name\n * @param {Date}\n * @param {Array}\n * @return {String}\n */\n getDayNameAbbr (date, days) {\n if (typeof date !== 'object') {\n throw TypeError('Invalid Type')\n }\n return days[this.getDay(date)]\n },\n\n /**\n * Return name of the month\n * @param {Number|Date}\n * @param {Array}\n * @return {String}\n */\n getMonthName (month, months) {\n if (!months) {\n throw Error('missing 2nd parameter Months array')\n }\n if (typeof month === 'object') {\n return months[this.getMonth(month)]\n }\n if (typeof month === 'number') {\n return months[month]\n }\n throw TypeError('Invalid type')\n },\n\n /**\n * Return an abbreviated version of the month\n * @param {Number|Date}\n * @return {String}\n */\n getMonthNameAbbr (month, monthsAbbr) {\n if (!monthsAbbr) {\n throw Error('missing 2nd paramter Months array')\n }\n if (typeof month === 'object') {\n return monthsAbbr[this.getMonth(month)]\n }\n if (typeof month === 'number') {\n return monthsAbbr[month]\n }\n throw TypeError('Invalid type')\n },\n\n /**\n * Alternative get total number of days in month\n * @param {Number} year\n * @param {Number} m\n * @return {Number}\n */\n daysInMonth (year, month) {\n return /8|3|5|10/.test(month) ? 30 : month === 1 ? (!(year % 4) && year % 100) || !(year % 400) ? 29 : 28 : 31\n },\n\n /**\n * Get nth suffix for date\n * @param {Number} day\n * @return {String}\n */\n getNthSuffix (day) {\n switch (day) {\n case 1:\n case 21:\n case 31:\n return 'st'\n case 2:\n case 22:\n return 'nd'\n case 3:\n case 23:\n return 'rd'\n default:\n return 'th'\n }\n },\n\n /**\n * Formats date object\n * @param {Date}\n * @param {String}\n * @param {Object}\n * @return {String}\n */\n formatDate (date, format, translation) {\n translation = (!translation) ? en : translation\n let year = this.getFullYear(date)\n let month = this.getMonth(date) + 1\n let day = this.getDate(date)\n let str = format\n .replace(/dd/, ('0' + day).slice(-2))\n .replace(/d/, day)\n .replace(/yyyy/, year)\n .replace(/yy/, String(year).slice(2))\n .replace(/MMMM/, this.getMonthName(this.getMonth(date), translation.months))\n .replace(/MMM/, this.getMonthNameAbbr(this.getMonth(date), translation.monthsAbbr))\n .replace(/MM/, ('0' + month).slice(-2))\n .replace(/M(?!a|ä|e)/, month)\n .replace(/su/, this.getNthSuffix(this.getDate(date)))\n .replace(/D(?!e|é|i)/, this.getDayNameAbbr(date, translation.days))\n return str\n },\n\n /**\n * Creates an array of dates for each day in between two dates.\n * @param {Date} start\n * @param {Date} end\n * @return {Array}\n */\n createDateArray (start, end) {\n let dates = []\n while (start <= end) {\n dates.push(new Date(start))\n start = this.setDate(new Date(start), this.getDate(new Date(start)) + 1)\n }\n return dates\n },\n\n /**\n * method used as a prop validator for input values\n * @param {*} val\n * @return {Boolean}\n */\n validateDateInput (val) {\n return val === null || val instanceof Date || typeof val === 'string' || typeof val === 'number'\n }\n}\n\nexport const makeDateUtils = useUtc => ({...utils, useUtc})\n\nexport default {\n ...utils\n}\n// eslint-disable-next-line\n;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{'input-group' : _vm.bootstrapStyling}},[(_vm.calendarButton)?_c('span',{staticClass:\"vdp-datepicker__calendar-button\",class:{'input-group-prepend' : _vm.bootstrapStyling},style:({'cursor:not-allowed;' : _vm.disabled}),on:{\"click\":_vm.showCalendar}},[_c('span',{class:{'input-group-text' : _vm.bootstrapStyling}},[_c('i',{class:_vm.calendarButtonIcon},[_vm._v(\"\\n \"+_vm._s(_vm.calendarButtonIconContent)+\"\\n \"),(!_vm.calendarButtonIcon)?_c('span',[_vm._v(\"…\")]):_vm._e()])])]):_vm._e(),_c('input',{ref:_vm.refName,class:_vm.computedInputClass,attrs:{\"type\":_vm.inline ? 'hidden' : 'text',\"name\":_vm.name,\"id\":_vm.id,\"open-date\":_vm.openDate,\"placeholder\":_vm.placeholder,\"clear-button\":_vm.clearButton,\"disabled\":_vm.disabled,\"required\":_vm.required,\"readonly\":!_vm.typeable,\"autocomplete\":\"off\"},domProps:{\"value\":_vm.formattedValue},on:{\"click\":_vm.showCalendar,\"keyup\":_vm.parseTypedDate,\"blur\":_vm.inputBlurred}}),(_vm.clearButton && _vm.selectedDate)?_c('span',{staticClass:\"vdp-datepicker__clear-button\",class:{'input-group-append' : _vm.bootstrapStyling},on:{\"click\":function($event){return _vm.clearDate()}}},[_c('span',{class:{'input-group-text' : _vm.bootstrapStyling}},[_c('i',{class:_vm.clearButtonIcon},[(!_vm.clearButtonIcon)?_c('span',[_vm._v(\"×\")]):_vm._e()])])]):_vm._e(),_vm._t(\"afterDateInput\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateInput.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DateInput.vue?vue&type=template&id=81f16ea6&\"\nimport script from \"./DateInput.vue?vue&type=script&lang=js&\"\nexport * from \"./DateInput.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showDayView),expression:\"showDayView\"}],class:[_vm.calendarClass, 'vdp-datepicker__calendar'],style:(_vm.calendarStyle),on:{\"mousedown\":function($event){$event.preventDefault();}}},[_vm._t(\"beforeCalendarHeader\"),_c('header',[_c('span',{staticClass:\"prev\",class:{'disabled': _vm.isLeftNavDisabled},on:{\"click\":function($event){_vm.isRtl ? _vm.nextMonth() : _vm.previousMonth()}}},[_vm._v(\"<\")]),_c('span',{staticClass:\"day__month_btn\",class:_vm.allowedToShowView('month') ? 'up' : '',on:{\"click\":_vm.showMonthCalendar}},[_vm._v(_vm._s(_vm.isYmd ? _vm.currYearName : _vm.currMonthName)+\" \"+_vm._s(_vm.isYmd ? _vm.currMonthName : _vm.currYearName))]),_c('span',{staticClass:\"next\",class:{'disabled': _vm.isRightNavDisabled},on:{\"click\":function($event){_vm.isRtl ? _vm.previousMonth() : _vm.nextMonth()}}},[_vm._v(\">\")])]),_c('div',{class:_vm.isRtl ? 'flex-rtl' : ''},[_vm._l((_vm.daysOfWeek),function(d){return _c('span',{key:d.timestamp,staticClass:\"cell day-header\"},[_vm._v(_vm._s(d))])}),(_vm.blankDays > 0)?_vm._l((_vm.blankDays),function(d){return _c('span',{key:d.timestamp,staticClass:\"cell day blank\"})}):_vm._e(),_vm._l((_vm.days),function(day){return _c('span',{key:day.timestamp,staticClass:\"cell day\",class:_vm.dayClasses(day),domProps:{\"innerHTML\":_vm._s(_vm.dayCellContent(day))},on:{\"click\":function($event){return _vm.selectDate(day)}}})})],2)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PickerDay.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PickerDay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PickerDay.vue?vue&type=template&id=d35e3708&\"\nimport script from \"./PickerDay.vue?vue&type=script&lang=js&\"\nexport * from \"./PickerDay.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showMonthView),expression:\"showMonthView\"}],class:[_vm.calendarClass, 'vdp-datepicker__calendar'],style:(_vm.calendarStyle),on:{\"mousedown\":function($event){$event.preventDefault();}}},[_vm._t(\"beforeCalendarHeader\"),_c('header',[_c('span',{staticClass:\"prev\",class:{'disabled': _vm.isLeftNavDisabled},on:{\"click\":function($event){_vm.isRtl ? _vm.nextYear() : _vm.previousYear()}}},[_vm._v(\"<\")]),_c('span',{staticClass:\"month__year_btn\",class:_vm.allowedToShowView('year') ? 'up' : '',on:{\"click\":_vm.showYearCalendar}},[_vm._v(_vm._s(_vm.pageYearName))]),_c('span',{staticClass:\"next\",class:{'disabled': _vm.isRightNavDisabled},on:{\"click\":function($event){_vm.isRtl ? _vm.previousYear() : _vm.nextYear()}}},[_vm._v(\">\")])]),_vm._l((_vm.months),function(month){return _c('span',{key:month.timestamp,staticClass:\"cell month\",class:{'selected': month.isSelected, 'disabled': month.isDisabled},on:{\"click\":function($event){$event.stopPropagation();return _vm.selectMonth(month)}}},[_vm._v(_vm._s(month.month))])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PickerMonth.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PickerMonth.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PickerMonth.vue?vue&type=template&id=07d8a7f3&\"\nimport script from \"./PickerMonth.vue?vue&type=script&lang=js&\"\nexport * from \"./PickerMonth.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showYearView),expression:\"showYearView\"}],class:[_vm.calendarClass, 'vdp-datepicker__calendar'],style:(_vm.calendarStyle),on:{\"mousedown\":function($event){$event.preventDefault();}}},[_vm._t(\"beforeCalendarHeader\"),_c('header',[_c('span',{staticClass:\"prev\",class:{'disabled': _vm.isLeftNavDisabled},on:{\"click\":function($event){_vm.isRtl ? _vm.nextDecade() : _vm.previousDecade()}}},[_vm._v(\"<\")]),_c('span',[_vm._v(_vm._s(_vm.getPageDecade))]),_c('span',{staticClass:\"next\",class:{'disabled': _vm.isRightNavDisabled},on:{\"click\":function($event){_vm.isRtl ? _vm.previousDecade() : _vm.nextDecade()}}},[_vm._v(\">\")])]),_vm._l((_vm.years),function(year){return _c('span',{key:year.timestamp,staticClass:\"cell year\",class:{ 'selected': year.isSelected, 'disabled': year.isDisabled },on:{\"click\":function($event){$event.stopPropagation();return _vm.selectYear(year)}}},[_vm._v(_vm._s(year.year))])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PickerYear.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PickerYear.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PickerYear.vue?vue&type=template&id=44ba9c27&\"\nimport script from \"./PickerYear.vue?vue&type=script&lang=js&\"\nexport * from \"./PickerYear.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","\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Datepicker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Datepicker.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Datepicker.vue?vue&type=template&id=13260744&\"\nimport script from \"./Datepicker.vue?vue&type=script&lang=js&\"\nexport * from \"./Datepicker.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","import Vue, { PluginObject, VueConstructor } from 'vue';\nimport Datepicker from './components/Datepicker.vue';\n\nconst plugin: PluginObject = {\n install: (vue: VueConstructor, options?: any): void => {\n Vue.component('datepicker', Datepicker);\n },\n};\n\nVue.use(plugin);\n\nexport default plugin;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col\"},[_c('h5',[_vm._v(_vm._s(_vm.headerText))])])]),_c('div',{staticClass:\"form-row\",style:({ 'min-height': _vm.isSearchRunning ? '7em' : '' })},[_c('loading',{attrs:{\"active\":_vm.isSearchRunning}},[_vm._v(\"Finding client details, please wait...\")]),_c('div',{staticClass:\"form-group col-lg-6\"},[_c('label',{attrs:{\"for\":(\"account-no-\" + _vm.pluginId)}},[_vm._v(\"Account No\")]),(_vm.selectedClient == null)?_c('div',{staticClass:\"input-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accountNo),expression:\"accountNo\"},{name:\"validate\",rawName:\"v-validate\",value:('required|numeric'),expression:\"'required|numeric'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('client-details.account-no') },attrs:{\"type\":\"text\",\"name\":\"account-no\",\"id\":(\"account-no-\" + _vm.pluginId),\"data-vv-scope\":\"client-details\",\"data-vv-as\":\"account no\"},domProps:{\"value\":(_vm.accountNo)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onSearchAsync($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.accountNo=$event.target.value}}}),_c('div',{staticClass:\"input-group-append\"},[_c('b-btn',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.accountNo == null || _vm.accountNo.trim() === '' || _vm.errors.has('client-details.account-no')},on:{\"click\":_vm.onSearchAsync}},[_vm._v(\"Find\")])],1),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('client-details.account-no')),expression:\"errors.has('client-details.account-no')\"}],staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('client-details.account-no')))])]):_c('div',[_c('div',{staticClass:\"form-control\",attrs:{\"id\":(\"account-no-\" + _vm.pluginId)}},[_vm._v(_vm._s(_vm.selectedClient.accountNo))]),_c('small',{staticClass:\"form-text text-muted\"},[_c('a',{staticClass:\"btn-link\",on:{\"click\":_vm.onClear}},[_vm._v(\"Click here\")]),_vm._v(\" to search for another client account.\")])])]),(_vm.selectedClient != null)?_c('div',{staticClass:\"form-group col-lg-6\"},[_c('label',{attrs:{\"for\":(\"client-name-\" + _vm.pluginId)}},[_vm._v(\"Name\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":(\"client-name-\" + _vm.pluginId)}},[_vm._v(_vm._s(_vm.clientName))])]):_vm._e()],1),(_vm.selectedClient != null)?_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group col-lg-6\"},[_c('label',{attrs:{\"for\":(\"address-line-one-\" + _vm.pluginId)}},[_vm._v(\"Address Line 1\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":(\"address-line-one-\" + _vm.pluginId)}},[_vm._v(_vm._s(_vm.selectedClient.addressLine1))])]),_c('div',{staticClass:\"form-group col-lg-6\"},[_c('label',{attrs:{\"for\":(\"address-postcode-\" + _vm.pluginId)}},[_vm._v(\"Postcode\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":(\"address-postcode-\" + _vm.pluginId)}},[_vm._v(_vm._s(_vm.selectedClient.postcode))])]),_c('div',{staticClass:\"form-group col-lg-6\"},[_c('label',{attrs:{\"for\":(\"partner-pratice-\" + _vm.pluginId)}},[_vm._v(\"Assigned To\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":(\"partner-practice-\" + _vm.pluginId)}},[_vm._v(_vm._s(_vm.partnerPracticeName(_vm.selectedClient.partnerPracticeId)))])]),_c('div',{staticClass:\"form-group col-lg-6\"},[_c('label',{attrs:{\"for\":(\"original-source-\" + _vm.pluginId)}},[_vm._v(\"Introducer\")]),_c('div',{staticClass:\"form-control\",attrs:{\"id\":(\"original-source-\" + _vm.pluginId)}},[_vm._v(_vm._s(_vm.clientOriginalSourceTypeDescription))])]),(_vm.showDocuments)?_c('div',{staticClass:\"form-group col-lg-6\"},[_c('label',[_vm._v(\"Documents\")]),_c('div',[(_vm.selectedClient.will != null)?_c('div',[_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\"Will - \"+_vm._s(_vm.willTypeDescription)+\" - \"+_vm._s(_vm._f(\"date\")(_vm.selectedClient.will.date)))])],1):_vm._e(),_vm._l((_vm.selectedClient.powerOfAttorneys),function(powerOfAttorney){return _c('div',{key:powerOfAttorney.id},[_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\"Power of Attorney - \"+_vm._s(_vm.powerOfAttorneyTypeDescription(powerOfAttorney))),(powerOfAttorney.signatureDate != null)?_c('span',[_vm._v(\" - \"+_vm._s(_vm._f(\"date\")(powerOfAttorney.signatureDate)))]):_vm._e()])],1)}),(_vm.selectedClient.factFind != null)?_c('div',[_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(\"Fact Find\")])],1):_vm._e(),_vm._l((_vm.selectedClient.deeds),function(deed){return _c('div',{key:deed.id},[_c('b-badge',{attrs:{\"variant\":\"primary\"}},[_vm._v(_vm._s(_vm.deedDescription(deed)))])],1)})],2)]):_vm._e()]):_vm._e(),(_vm.selectedClient != null)?_c('div',{staticClass:\"form-row justify-content-end\"},[_c('div',{staticClass:\"col text-right\"},[_c('b-btn',{attrs:{\"size\":\"sm\",\"variant\":\"light\",\"target\":\"_blank\",\"to\":{ name: 'view-client', params: { id: _vm.selectedClient.id } }}},[_c('svg',{staticClass:\"feather feather-external-link\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('path',{attrs:{\"d\":\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"}}),_c('polyline',{attrs:{\"points\":\"15 3 21 3 21 9\"}}),_c('line',{attrs:{\"x1\":\"10\",\"y1\":\"14\",\"x2\":\"21\",\"y2\":\"3\"}})]),_vm._v(\"\\n View\\n \")])],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\nimport { ClientAccountsApi } from '@/api/client-accounts';\nimport loading from '@/components/loading.vue';\nimport { ClientAccount } from '@/shared/clients/client-account';\nimport { ClientAccountDeed } from '@/shared/clients/client-account-deed';\nimport { ClientPowerOfAttorney } from '@/shared/clients/client-power-of-attorney';\nimport { ClientOriginalSourceType } from '@/shared/types/client-original-source-type';\nimport { PowerOfAttorneyType } from '@/shared/types/power-of-attorney-type';\nimport { WillType } from '@/shared/types/will-type';\nimport uniqueId from 'lodash.uniqueid';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst typesModule = namespace('types');\nconst clientApi = new ClientAccountsApi();\n\n@Component({\n components: {\n loading,\n },\n})\nexport default class ClientMergeDetailWithLookup extends Vue {\n @partnerPracticesModule.Getter('partnerPracticeName') private partnerPracticeName!: (partnerPracticeId: string | null) => string;\n\n @typesModule.Getter('clientOriginalSourceTypes') private clientOriginalSourceTypes!: Array;\n @typesModule.Getter('powerOfAttorneyTypes') private powerOfAttorneyTypes!: Array;\n @typesModule.Getter('willTypes') private willTypes!: Array;\n\n @Prop({ required: true }) private client!: ClientAccount | null;\n @Prop({ required: true }) private headerText!: string;\n\n private pluginId: string = uniqueId();\n private isSearchRunning: boolean = false;\n private accountNo: number | null = null;\n private selectedClient: ClientAccount | null = this.client;\n\n private get showDocuments(): boolean {\n return this.selectedClient == null\n ? false\n : this.selectedClient.will != null || this.selectedClient.powerOfAttorneys.length > 0 || this.selectedClient.factFind != null || this.selectedClient.deeds.length > 0;\n }\n\n private get clientName(): string {\n return this.selectedClient == null\n ? ''\n : `${this.selectedClient.firstName == null ? '' : this.selectedClient.firstName.trim()} ${this.selectedClient.lastName == null ? '' : this.selectedClient.lastName.trim()}`;\n }\n\n private get clientOriginalSourceTypeDescription(): string {\n if (this.selectedClient == null || this.selectedClient.originalSourceId == null) {\n return '';\n }\n\n const clientOriginalSourceType = this.clientOriginalSourceTypes.find((type) => type.id === this.selectedClient!.originalSourceId);\n return clientOriginalSourceType == null ? '' : clientOriginalSourceType.value;\n }\n\n private get willTypeDescription(): string {\n if (this.selectedClient == null || this.selectedClient.will == null) {\n return '';\n }\n\n const willType = this.willTypes.find((type) => type.id === this.selectedClient!.will!.willTypeId);\n return willType == null ? '' : willType.value;\n }\n\n @Watch('client')\n private onClientChanged(client: ClientAccount | null): void {\n this.selectedClient = client;\n }\n\n private powerOfAttorneyTypeDescription(powerOfAttorney: ClientPowerOfAttorney): string {\n const powerOfAttorneyType = this.powerOfAttorneyTypes.find((type) => type.id === powerOfAttorney.powerOfAttorneyTypeId);\n return powerOfAttorneyType == null ? '' : powerOfAttorneyType.value;\n }\n\n private deedDescription(deed: ClientAccountDeed): string {\n return `Deed - ${deed.addressLine1}, ${deed.postcode}`;\n }\n\n private async onSearchAsync(): Promise {\n if (!(await this.$validator.validateAll('client-details'))) {\n return;\n }\n\n this.isSearchRunning = true;\n\n try {\n this.selectedClient = await clientApi.getClientAccountByAccountNumberAsync(this.accountNo!);\n this.$emit('client-changed', { ...this.selectedClient });\n } catch (e) {\n if (e instanceof Error) {\n this.$snackbar.open({ message: e.message, type: 'is-danger' });\n } else {\n this.$snackbar.open({ message: `Could not find details for account '${this.accountNo!}', please try again.`, type: 'is-danger' });\n }\n }\n\n this.isSearchRunning = false;\n }\n\n private onClear(): void {\n this.accountNo = null;\n this.selectedClient = null;\n this.$emit('client-changed', null);\n this.$validator.errors.clear('client-details');\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./client-merge-detail-with-lookup.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./client-merge-detail-with-lookup.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./client-merge-detail-with-lookup.vue?vue&type=template&id=1cb08ed4&\"\nimport script from \"./client-merge-detail-with-lookup.vue?vue&type=script&lang=ts&\"\nexport * from \"./client-merge-detail-with-lookup.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 ClientMergeDetailWithLookup from '@/components/plugins/client-merge-detail-with-lookup/client-merge-detail-with-lookup.vue';\nimport Vue, { PluginObject, VueConstructor } from 'vue';\n\nconst plugin: PluginObject = {\n install: (vue: VueConstructor, options?: any): void => {\n Vue.component('ClientMergeDetailWithLookup', ClientMergeDetailWithLookup);\n },\n};\n\nVue.use(plugin);\n\nexport default plugin;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"national-insurance-number-input\"},[_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col-md-6 col-lg\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.nationalInsuranceNumberOne),expression:\"nationalInsuranceNumberOne\"},{name:\"validate\",rawName:\"v-validate\",value:(_vm.isRequired?'required|alpha|length:2':''),expression:\"isRequired?'required|alpha|length:2':''\"}],staticClass:\"form-control text-center\",class:{ 'is-invalid': _vm.errors.has('national-insurance-number.part-one') },attrs:{\"type\":\"text\",\"maxlength\":\"2\",\"name\":\"part-one\",\"id\":\"part-one\",\"data-vv-scope\":\"national-insurance-number\"},domProps:{\"value\":(_vm.nationalInsuranceNumberOne)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.nationalInsuranceNumberOne=$event.target.value}}})]),_c('div',{staticClass:\"col-md-6 col-lg\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.nationalInsuranceNumberTwo),expression:\"nationalInsuranceNumberTwo\"},{name:\"validate\",rawName:\"v-validate\",value:(_vm.isRequired?'required|numeric|length:2':''),expression:\"isRequired?'required|numeric|length:2':''\"}],staticClass:\"form-control text-center\",class:{ 'is-invalid': _vm.errors.has('national-insurance-number.part-two') },attrs:{\"type\":\"text\",\"maxlength\":\"2\",\"name\":\"part-two\",\"id\":\"part-two\",\"data-vv-scope\":\"national-insurance-number\"},domProps:{\"value\":(_vm.nationalInsuranceNumberTwo)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.nationalInsuranceNumberTwo=$event.target.value}}})]),_c('div',{staticClass:\"col-md-6 col-lg\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.nationalInsuranceNumberThree),expression:\"nationalInsuranceNumberThree\"},{name:\"validate\",rawName:\"v-validate\",value:(_vm.isRequired?'required|numeric|length:2':''),expression:\"isRequired?'required|numeric|length:2':''\"}],staticClass:\"form-control text-center\",class:{ 'is-invalid': _vm.errors.has('national-insurance-number.part-three') },attrs:{\"type\":\"text\",\"maxlength\":\"2\",\"name\":\"part-three\",\"id\":\"part-three\",\"data-vv-scope\":\"national-insurance-number\"},domProps:{\"value\":(_vm.nationalInsuranceNumberThree)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.nationalInsuranceNumberThree=$event.target.value}}})]),_c('div',{staticClass:\"col-md-6 col-lg\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.nationalInsuranceNumberFour),expression:\"nationalInsuranceNumberFour\"},{name:\"validate\",rawName:\"v-validate\",value:(_vm.isRequired?'required|numeric|length:2':''),expression:\"isRequired?'required|numeric|length:2':''\"}],staticClass:\"form-control text-center\",class:{ 'is-invalid': _vm.errors.has('national-insurance-number.part-four') },attrs:{\"type\":\"text\",\"maxlength\":\"2\",\"name\":\"part-four\",\"id\":\"part-four\",\"data-vv-scope\":\"national-insurance-number\"},domProps:{\"value\":(_vm.nationalInsuranceNumberFour)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.nationalInsuranceNumberFour=$event.target.value}}})]),_c('div',{staticClass:\"col-md-6 col-lg\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.nationalInsuranceNumberFive),expression:\"nationalInsuranceNumberFive\"},{name:\"validate\",rawName:\"v-validate\",value:(_vm.isRequired?'required|alpha|length:1':''),expression:\"isRequired?'required|alpha|length:1':''\"}],staticClass:\"form-control text-center\",class:{ 'is-invalid': _vm.errors.has('national-insurance-number.part-five') },attrs:{\"type\":\"text\",\"maxlength\":\"1\",\"name\":\"part-five\",\"id\":\"part-five\",\"data-vv-scope\":\"national-insurance-number\"},domProps:{\"value\":(_vm.nationalInsuranceNumberFive)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.nationalInsuranceNumberFive=$event.target.value}}})])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('national-insurance-number.part-one')),expression:\"errors.has('national-insurance-number.part-one')\"}],staticClass:\"invalid-input\"},[_vm._v(\"Prefix must be 2 alphabetic characters\")]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('national-insurance-number.part-two')),expression:\"errors.has('national-insurance-number.part-two')\"}],staticClass:\"invalid-input\"},[_vm._v(\"Characters 3-4 must be numeric\")]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('national-insurance-number.part-three')),expression:\"errors.has('national-insurance-number.part-three')\"}],staticClass:\"invalid-input\"},[_vm._v(\"Characters 5-6 must be numeric\")]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('national-insurance-number.part-four')),expression:\"errors.has('national-insurance-number.part-four')\"}],staticClass:\"invalid-input\"},[_vm._v(\"Characters 7-8 must be numeric\")]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('national-insurance-number.part-five')),expression:\"errors.has('national-insurance-number.part-five')\"}],staticClass:\"invalid-input\"},[_vm._v(\"Suffix must be 1 alphabetic character\")])])}\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\nimport { Validator } from 'vee-validate';\nimport { Component, Inject, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class NationalInsuranceNumberInput extends Vue {\n @Inject('$validator') public $validator!: Validator;\n @Prop({ required: true }) private nationalInsuranceNumber!: string | null;\n\n private partOne: string | null = this.nationalInsuranceNumber != null ? this.nationalInsuranceNumber.substr(0, 2) : null;\n private partTwo: string | null = this.nationalInsuranceNumber != null ? this.nationalInsuranceNumber.substr(3, 2) : null;\n private partThree: string | null = this.nationalInsuranceNumber != null ? this.nationalInsuranceNumber.substr(6, 2) : null;\n private partFour: string | null = this.nationalInsuranceNumber != null ? this.nationalInsuranceNumber.substr(9, 2) : null;\n private partFive: string | null = this.nationalInsuranceNumber != null ? this.nationalInsuranceNumber.substr(12, 1) : null;\n private isRequired: boolean = this.nationalInsuranceNumber != null && this.nationalInsuranceNumber.length > 0;\n\n private get nationalInsuranceNumberOne(): string | null {\n return this.partOne;\n }\n\n private set nationalInsuranceNumberOne(value: string | null) {\n this.partOne = value != null ? value.toUpperCase() : null;\n }\n\n private get nationalInsuranceNumberTwo(): string | null {\n return this.partTwo;\n }\n\n private set nationalInsuranceNumberTwo(value: string | null) {\n this.partTwo = value != null ? value.toUpperCase() : null;\n }\n\n private get nationalInsuranceNumberThree(): string | null {\n return this.partThree;\n }\n\n private set nationalInsuranceNumberThree(value: string | null) {\n this.partThree = value != null ? value.toUpperCase() : null;\n }\n\n private get nationalInsuranceNumberFour(): string | null {\n return this.partFour;\n }\n\n private set nationalInsuranceNumberFour(value: string | null) {\n this.partFour = value != null ? value.toUpperCase() : null;\n }\n\n private get nationalInsuranceNumberFive(): string | null {\n return this.partFive;\n }\n\n private set nationalInsuranceNumberFive(value: string | null) {\n this.partFive = value != null ? value.toUpperCase() : null;\n }\n\n @Watch('partOne')\n private async onPartOneChangedAsync(): Promise {\n this.validateNationalInsuranceNumber();\n }\n\n @Watch('partTwo')\n private async onPartTwoChangedAsync(): Promise {\n this.validateNationalInsuranceNumber();\n }\n\n @Watch('partThree')\n private async onPartThreeChangedAsync(): Promise {\n this.validateNationalInsuranceNumber();\n }\n\n @Watch('partFour')\n private async onPartFourChangedAsync(): Promise {\n this.validateNationalInsuranceNumber();\n }\n\n @Watch('partFive')\n private async onPartFiveChangedAsync(): Promise {\n this.validateNationalInsuranceNumber();\n }\n\n private async validateNationalInsuranceNumber(): Promise {\n await this.$validator.validateAll('national-insurance-number');\n\n this.isRequired =\n (this.partOne != null && this.partOne.length > 0) ||\n (this.partTwo != null && this.partTwo.length > 0) ||\n (this.partThree != null && this.partThree.length > 0) ||\n (this.partFour != null && this.partFour.length > 0) ||\n (this.partFive != null && this.partFive.length > 0);\n\n\n if (this.partOne == null || !this.partOne.match('[A-Z]{2}')) {\n this.$emit('change', null);\n return;\n }\n\n if (this.partTwo == null || !this.partTwo.match('[0-9]{2}')) {\n this.$emit('change', null);\n return;\n }\n\n if (this.partThree == null || !this.partThree.match('[0-9]{2}')) {\n this.$emit('change', null);\n return;\n }\n\n if (this.partFour == null || !this.partFour.match('[0-9]{2}')) {\n this.$emit('change', null);\n return;\n }\n\n if (this.partFive == null || !this.partFive.match('[A-Z]{1}')) {\n this.$emit('change', null);\n return;\n }\n\n this.$emit('change', `${this.partOne}-${this.partTwo}-${this.partThree}-${this.partFour}-${this.partFive}`);\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./national-insurance-number-input.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./national-insurance-number-input.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./national-insurance-number-input.vue?vue&type=template&id=412b415e&\"\nimport script from \"./national-insurance-number-input.vue?vue&type=script&lang=ts&\"\nexport * from \"./national-insurance-number-input.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./national-insurance-number-input.vue?vue&type=style&index=0&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 null,\n null\n \n)\n\nexport default component.exports","import NationalInsuranceNumberInput from '@/components/plugins/national-insurance-number-input/national-insurance-number-input.vue';\nimport Vue, { PluginObject, VueConstructor } from 'vue';\n\nconst plugin: PluginObject = {\n install: (vue: VueConstructor, options?: any): void => {\n Vue.component('NationalInsuranceNumberInput', NationalInsuranceNumberInput);\n },\n};\n\nVue.use(plugin);\n\nexport default plugin;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"original-source-type\"}},[_vm._v(\"Introducer:\")]),_c('b-form-select',{attrs:{\"plain\":\"\",\"options\":_vm.options,\"id\":\"original-source-type\"},model:{value:(_vm.input),callback:function ($$v) {_vm.input=$$v},expression:\"input\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { ClientOriginalSourceType } from '@/shared/types/client-original-source-type';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\n\n@Component\nexport default class OriginalSourceSelect extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n @partnerPracticesModule.Getter('partnerPracticeOriginalSourceTypes') private originalSourceTypes!: (partnerPracticeId: string | null) => Array;\n @Prop({ required: true }) private value!: string | null;\n @Prop({ required: true }) private partnerPracticeId!: string | null;\n\n private input: string | null = this.value;\n\n private get options(): Array<{}> {\n const options = this.originalSourceTypes(this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeId)\n .map((type) => {\n return {\n value: type.id!,\n text: type.value,\n };\n });\n\n return [\n { value: null, text: 'All' },\n ...options,\n ];\n }\n\n @Watch('value')\n private onValueChanged(value: string | null): void {\n this.input = value;\n }\n\n @Watch('partnerPracticeId')\n private onPartnerPracticeIdChanged(): void {\n this.input = null;\n }\n\n @Watch('input')\n private onInputChanged(): void {\n this.$emit('input', this.input);\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./original-source-select.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./original-source-select.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./original-source-select.vue?vue&type=template&id=5f7bf644&\"\nimport script from \"./original-source-select.vue?vue&type=script&lang=ts&\"\nexport * from \"./original-source-select.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 OriginalSourceSelect from '@/components/plugins/original-source-select/original-source-select.vue';\nimport Vue, { PluginObject, VueConstructor } from 'vue';\n\nconst plugin: PluginObject = {\n install: (vue: VueConstructor, options?: any): void => {\n Vue.component('OriginalSourceSelect', OriginalSourceSelect);\n },\n};\n\nVue.use(plugin);\n\nexport default plugin;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"partner-practice\"}},[_vm._v(\"Assigned To:\")]),(_vm.partnerPractices.length === 1)?_c('div',{staticClass:\"form-control\"},[_vm._v(_vm._s(_vm.partnerPractices[0].name))]):_c('b-form-select',{directives:[{name:\"validate\",rawName:\"v-validate\",value:(_vm.all?'':'required'),expression:\"all?'':'required'\"}],class:{ 'is-invalid': _vm.errors.has('partner-practice-select.partner-practice') },attrs:{\"plain\":\"\",\"options\":_vm.options,\"name\":\"partner-practice\",\"id\":\"partner-practice\",\"data-vv-scope\":\"partner-practice-select\",\"data-vv-as\":\"assigned to\"},model:{value:(_vm.input),callback:function ($$v) {_vm.input=$$v},expression:\"input\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { Validator } from 'vee-validate';\nimport { Component, Inject, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class PartnerPracticeSelect extends Vue {\n @Inject('$validator') public $validator!: Validator;\n\n @Prop({ required: true }) private value!: string | null;\n @Prop({ required: true }) private partnerPractices!: Array;\n @Prop({ required: false, default: false }) private all!: boolean;\n @Prop({ required: false, default: false }) private rlgData!: boolean;\n\n private input: string | null = this.value;\n\n private get options(): Array<{}> {\n const simpsons = this.partnerPractices\n .filter((partnerPractice) => partnerPractice.isSimpsonsSolicitors)\n .map((partnerPractice) => {\n return {\n value: partnerPractice.id!,\n text: partnerPractice.name,\n };\n })\n .sort((a, b) => {\n if (a.text! > b.text!) { return 1; }\n if (a.text! < b.text!) { return -1; }\n return 0;\n });\n\n simpsons.unshift({ value: '-simpsons-', text: 'All (Simpsons Solicitors)' });\n\n const partners = this.partnerPractices\n .filter((partnerPractice) => !partnerPractice.isSimpsonsSolicitors)\n .map((partnerPractice) => {\n return {\n value: partnerPractice.id!,\n text: partnerPractice.name,\n };\n })\n .sort((a, b) => {\n if (a.text! > b.text!) { return 1; }\n if (a.text! < b.text!) { return -1; }\n return 0;\n });\n\n partners.unshift({ value: '-partners-', text: 'All (Partner Practices)' });\n\n const options = [\n { value: null, text: this.all ? 'All' : '--- Please Select ---' },\n { value: '00000000-0000-0000-0000-000000000000', text: 'RLG Data' },\n {\n label: 'Simpsons Solicitors',\n options: simpsons,\n },\n {\n label: 'Partner Practices',\n options: partners,\n },\n ];\n\n if (!this.rlgData) {\n options.splice(1, 1);\n }\n\n return options;\n }\n\n @Watch('value')\n private onValueChanged(value: string | null): void {\n this.input = value;\n }\n\n @Watch('input')\n private onInputChanged(): void {\n this.$emit('input', this.input);\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./partner-practice-select.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./partner-practice-select.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./partner-practice-select.vue?vue&type=template&id=1ca6b2f8&\"\nimport script from \"./partner-practice-select.vue?vue&type=script&lang=ts&\"\nexport * from \"./partner-practice-select.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 PartnerPracticeSelect from '@/components/plugins/partner-practice-select/partner-practice-select.vue';\nimport Vue, { PluginObject, VueConstructor } from 'vue';\n\nconst plugin: PluginObject = {\n install: (vue: VueConstructor, options?: any): void => {\n Vue.component('PartnerPracticeSelect', PartnerPracticeSelect);\n },\n};\n\nVue.use(plugin);\n\nexport default plugin;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col-4\"},[_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.input),expression:\"input\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"id\":(_vm.pluginId + \"-yes\")},domProps:{\"value\":true,\"checked\":_vm._q(_vm.input,true)},on:{\"change\":function($event){_vm.input=true}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":(_vm.pluginId + \"-yes\")}},[_vm._v(\"Yes\")])]),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.input),expression:\"input\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"id\":(_vm.pluginId + \"-no\")},domProps:{\"value\":false,\"checked\":_vm._q(_vm.input,false)},on:{\"change\":function($event){_vm.input=false}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":(_vm.pluginId + \"-no\")}},[_vm._v(\"No\")])]),_c('div',{staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.input),expression:\"input\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"id\":(_vm.pluginId + \"-unknown\")},domProps:{\"value\":null,\"checked\":_vm._q(_vm.input,null)},on:{\"change\":function($event){_vm.input=null}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":(_vm.pluginId + \"-unknown\")}},[_vm._v(\"Unknown\")])])]),_c('div',{staticClass:\"col-5\"},[_c('label',{staticClass:\"form-check-label\"},[_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\n\n\n\n\n\n\n\n\n\nimport uniqueId from 'lodash.uniqueid';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class TriStateInput extends Vue {\n @Prop({ required: true }) private value!: boolean | null;\n\n private input: boolean | null = this.value;\n private pluginId: string = uniqueId();\n\n @Watch('value')\n private onValueChanged(value: boolean | null): void {\n this.input = value;\n }\n\n @Watch('input')\n private onInputChanged(): void {\n this.$emit('input', this.input);\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tri-state-input.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tri-state-input.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./tri-state-input.vue?vue&type=template&id=58028497&\"\nimport script from \"./tri-state-input.vue?vue&type=script&lang=ts&\"\nexport * from \"./tri-state-input.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 TriStateInput from '@/components/plugins/tri-state-input/tri-state-input.vue';\nimport Vue, { PluginObject, VueConstructor } from 'vue';\n\nconst plugin: PluginObject = {\n install: (vue: VueConstructor, options?: any): void => {\n Vue.component('TriStateInput', TriStateInput);\n },\n};\n\nVue.use(plugin);\n\nexport default plugin;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"font-weight-bold\",attrs:{\"for\":\"user\"}},[_vm._t(\"default\")],2),_c('b-form-select',{attrs:{\"plain\":\"\",\"options\":_vm.options,\"id\":\"user\"},model:{value:(_vm.input),callback:function ($$v) {_vm.input=$$v},expression:\"input\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\nimport { UserRequestFilters } from '@/api/requests/users/user-request-filters';\nimport { PartnerPractice } from '@/shared/partner-practice';\nimport { User } from '@/shared/user';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { namespace } from 'vuex-class';\n\nconst partnerPracticesModule = namespace('partnerPractices');\nconst userModule = namespace('user');\nconst usersModule = namespace('users');\n\n@Component\nexport default class UserSelect extends Vue {\n @partnerPracticesModule.Getter('partnerPracticesForCurrentUser') private partnerPractices!: Array;\n @partnerPracticesModule.Getter('partnerPracticeName') private partnerPracticeName!: (partnerPracticeId: string | null) => string;\n\n @userModule.Getter('user') private currentUser!: User;\n\n @usersModule.Getter('legalAdvisors') private legalAdvisors!: Array;\n @usersModule.Getter('appointmentBookers') private appointmentBookers!: Array;\n @usersModule.Getter('interactionAuthors') private interacionAuthors!: Array;\n @usersModule.Getter('taskUsers') private taskUsers!: Array;\n @usersModule.Getter('assignedTaskUsers') private assignedTaskUsers!: Array;\n @usersModule.Getter('completedTaskUsers') private completedTaskUsers!: Array;\n @usersModule.Getter('accountAuthors') private accountAuthors!: Array;\n @usersModule.Getter('assignedCallUsers') private assignedCallUsers!: Array;\n @usersModule.Getter('accountAccessUsers') private accountAccessUsers!: Array;\n @usersModule.Getter('targetUsers') private targetUsers!: Array;\n\n @Prop({ required: true }) private value!: string | null;\n @Prop({ required: true }) private type!: string;\n @Prop({ required: false, default: null }) private partnerPracticeId!: string | null;\n @Prop({ required: false, default: null }) private datePeriod!: number | null;\n @Prop({ required: false, default: null }) private dateFrom!: string | Date | null;\n @Prop({ required: false, default: null }) private dateTo!: string | Date | null;\n @Prop({ required: false, default: null }) private roleId!: string | null;\n @Prop({ required: false, default: false }) private includeUnassignedOption!: boolean;\n\n private input: string | null = this.value;\n\n private get users(): Array {\n switch (this.type) {\n case 'legal advisor':\n return this.legalAdvisors;\n case 'appointment booker':\n return this.appointmentBookers;\n case 'interaction author':\n return this.interacionAuthors;\n case 'task':\n return this.taskUsers;\n case 'assigned task':\n return this.assignedTaskUsers;\n case 'completed task':\n return this.completedTaskUsers;\n case 'account author':\n return this.accountAuthors;\n case 'assigned call':\n return this.assignedCallUsers;\n case 'account access':\n return this.accountAccessUsers;\n case 'target':\n return this.targetUsers;\n default:\n return [];\n }\n }\n\n private get options(): Array<{}> {\n const options: Array<{ value: string, text: string }> = this.users.map((user) => {\n return {\n value: user.id!,\n text: `${user.firstName.trim()} ${user.lastName.trim()}`.trim(),\n };\n });\n\n if (this.type === 'assigned task') {\n const assignedTaskOptions = [\n { value: null, text: 'All' },\n { value: this.currentUser.id!, text: 'My Tasks' },\n ...options,\n ];\n\n if (this.includeUnassignedOption) {\n assignedTaskOptions.splice(1, 0, { value: 'unassigned', text: 'Unassigned' });\n }\n\n return assignedTaskOptions;\n }\n\n return [\n { value: null, text: 'All' },\n ...options,\n ];\n }\n\n @Watch('value')\n private onValueChanged(value: string | null): void {\n this.input = value;\n }\n\n @Watch('input')\n private onInputChanged(): void {\n this.$emit('input', this.input);\n }\n\n @Watch('partnerPractices.length')\n private async onPartnerPracticesLengthChangedAsync(): Promise {\n await this.resetOptionsAsync();\n }\n\n @Watch('partnerPracticeId')\n private async onPartnerPracticeIdChangedAsync(): Promise {\n await this.resetOptionsAsync();\n }\n\n @Watch('datePeriod')\n private async onDatePeriodChangedAsync(): Promise {\n await this.resetOptionsAsync();\n }\n\n @Watch('dateFrom')\n private async onDateFromChangedAsync(): Promise {\n await this.resetOptionsAsync();\n }\n\n @Watch('dateTo')\n private async onDateToChangedAsync(): Promise {\n await this.resetOptionsAsync();\n }\n\n @Watch('roleId')\n private async onRoleIdChangedAsync(): Promise {\n await this.resetOptionsAsync();\n }\n\n private async loadUsersAsync(): Promise {\n if (this.partnerPractices.length === 0) { return; }\n\n if (this.type === 'task') {\n const filters: UserRequestFilters = {\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeId,\n datePeriod: this.datePeriod,\n dateFrom: this.dateFrom,\n dateTo: this.dateTo,\n roleId: this.roleId,\n };\n\n await this.$store.dispatch(`users/loadUsersAsync`, { filters, type: `assigned task` });\n await this.$store.dispatch(`users/loadUsersAsync`, { filters, type: `completed task` });\n\n return;\n }\n\n await this.$store.dispatch(`users/loadUsersAsync`, {\n type: this.type,\n filters: {\n partnerPracticeId: this.partnerPractices.length === 1 ? this.partnerPractices[0].id! : this.partnerPracticeId,\n datePeriod: this.datePeriod,\n dateFrom: this.dateFrom,\n dateTo: this.dateTo,\n roleId: this.roleId,\n },\n });\n }\n\n private async resetOptionsAsync(): Promise {\n await this.loadUsersAsync();\n this.input = null;\n }\n\n private async mounted(): Promise {\n await this.loadUsersAsync();\n }\n}\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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user-select.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user-select.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./user-select.vue?vue&type=template&id=c4376454&\"\nimport script from \"./user-select.vue?vue&type=script&lang=ts&\"\nexport * from \"./user-select.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 UserSelect from '@/components/plugins/user-select/user-select.vue';\nimport Vue, { PluginObject, VueConstructor } from 'vue';\n\nconst plugin: PluginObject = {\n install: (vue: VueConstructor, options?: any): void => {\n Vue.component('UserSelect', UserSelect);\n },\n};\n\nVue.use(plugin);\n\nexport default plugin;\n","import Vue from 'vue';\n\nexport function observeDom(el: Element | Vue | null, callback: () => void, options: { subtree: boolean }) {\n const mutationObserver = MutationObserver;\n const eventListenerSupported = window.addEventListener != null;\n\n el = el ? ((el as Vue).$el || el) : null;\n\n if (!el || el.nodeType !== Node.ELEMENT_NODE) {\n return null;\n }\n\n let observer = null;\n\n if (mutationObserver) {\n observer = new mutationObserver((mutations: Array) => {\n let changed: boolean = false;\n\n for (const mutation of mutations) {\n const type = mutation.type;\n const target = mutation.target;\n\n if (type === 'characterData' && target.nodeType === Node.TEXT_NODE) {\n changed = true;\n } else if (type === 'attributes') {\n changed = true;\n } else if (type === 'childList' && (mutation.addedNodes.length > 0 || mutation.removedNodes.length > 0)) {\n changed = true;\n }\n }\n\n if (changed) {\n callback();\n }\n });\n\n observer.observe(el, Object.assign({ childList: true, subtree: true}, options));\n } else if (eventListenerSupported) {\n // @ts-ignore\n el.addEventListener('DOMNodeInserted', callback, false);\n // @ts-ignore\n el.addEventListener('DOMNodeRemoved', callback, false);\n }\n\n return observer;\n}\n","\nimport { Component, Vue, Prop, Watch, Inject } from 'vue-property-decorator';\nimport { CreateElement, VNode } from 'vue';\nimport { observeDom } from './../utils/dom-observer';\nimport { Validator } from 'vee-validate';\nimport Step from './step.vue';\n\nconst stepButtonHelper = {\n name: 'stepButtonHelper',\n props: {\n content: { type: [String, Array], default: '' },\n active: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n completed: { type: Boolean, default: false },\n setSize: { type: Number, default: null },\n position: { type: Number, default: null },\n linkClass: { default: null },\n itemClass: { default: null },\n },\n methods: {\n handleClick(event: Event): void {\n function stop(): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (event.type !== 'click') {\n stop();\n return;\n }\n\n // @ts-ignore\n if (this.disabled) {\n stop();\n return;\n }\n\n stop();\n // @ts-ignore\n this.$emit('click', event);\n },\n },\n render(h: CreateElement): VNode {\n const circle = h('span', {\n class: ['stepper-circle'],\n },\n // @ts-ignore\n this.position);\n\n const label = h('span', {\n class: ['stepper-label'],\n },\n // @ts-ignore\n this.content);\n\n const link = h('a', {\n // on: {\n // // @ts-ignore\n // click: this.handleClick,\n // },\n }, [circle, label] );\n\n // @ts-ignore\n return h('div', { class: ['step' , { active: this.active, completed: this.completed, disabled: this.disabled}]}, [link]);\n },\n};\n\n@Component\nexport default class Stepper extends Vue {\n @Inject('$validator') public $validator!: Validator;\n @Prop({ type: Number, required: true}) public value!: number;\n\n private currentStep: number = this.value;\n private steps: Array = new Array();\n\n @Watch('value')\n private valueChanged(newValue: number, oldValue: number): void {\n if (newValue === oldValue) {\n return;\n }\n\n if (typeof oldValue !== 'number') {\n oldValue = 0;\n }\n\n const direction = newValue < oldValue ? -1 : 1;\n\n this.setStep(newValue, false, direction);\n }\n private nextStep(): void {\n this.setStep(this.currentStep + 1, false, 1);\n }\n private previousStep(): void {\n this.setStep(this.currentStep - 1, false, -1);\n }\n private updateSteps(): void {\n this.steps = this.$slots!.default!.filter((node: VNode) => node && node.componentInstance && (node.componentInstance as Step).isStep)\n .map((node: VNode) => node.componentInstance as Step);\n\n let stepIndex: number | null = null;\n\n this.steps.forEach((step, index) => {\n if (step.localActive && !step.disabled) {\n stepIndex = index;\n }\n });\n\n if (stepIndex === null) {\n if (this.currentStep >= this.steps.length) {\n this.setStep(this.steps.length - 1, true, -1);\n return;\n } else if (this.steps[this.currentStep] && !this.steps[this.currentStep].disabled) {\n stepIndex = this.currentStep;\n }\n }\n\n if (stepIndex === null) {\n this.steps.forEach((step, index) => {\n if (!step.disabled && stepIndex === null) {\n stepIndex = index;\n }\n });\n }\n\n this.setStep(stepIndex || 0, true, 0);\n }\n private setStep(index: number, force: boolean, direction: number = 0): void {\n direction = direction === 0 ? 0 : direction > 0 ? 1 : -1;\n\n if (!force && index === this.currentStep) {\n return;\n }\n\n const step = this.steps[index];\n\n if (!step) {\n // NOTE: This resets the v-model current step.\n this.$emit('input', this.currentStep);\n return;\n }\n\n if (step.disabled) {\n if (direction) {\n this.setStep(index + direction, force, direction);\n }\n\n return;\n }\n\n // Activate requested current step, and deactivte any old steps\n this.steps.forEach((s) => {\n if (step === s) {\n this.$set(s, 'localActive', true);\n } else {\n this.$set(s, 'localActive', false);\n }\n });\n\n this.currentStep = index;\n }\n public render(h: CreateElement): VNode | null {\n const steps = this.steps;\n\n // Navigation \"buttons\"\n const buttons = steps.map((step, index) => {\n return h(stepButtonHelper, {\n key: index,\n props: {\n content: step.$slots.title || step.title,\n active: step.localActive,\n disabled: step.disabled,\n completed: step.completed,\n setSize: steps.length,\n position: index + 1,\n linkClass: step.titleLinkClass,\n itemClass: step.titleItemClass,\n },\n on: {\n click: (event: Event) => {\n this.setStep(index, false);\n },\n },\n });\n });\n\n const buttonsWithLines = buttons.map((button, index) => {\n if (buttons.length - 1 === index) {\n return [button];\n }\n\n return [button, h('div', { class: ['line']})];\n });\n\n // Navigation \"button\" wrapper\n const navs = h('div', {\n class: ['stepper-header'],\n }, [...buttonsWithLines, this.$slots.steps]);\n\n // \"Empty\" slot\n let empty: VNode;\n if (steps && steps.length) {\n // @ts-ignore\n empty = h(false);\n } else {\n empty = h('div', {}, this.$slots.empty);\n }\n\n // \"Content\"\n const content = h('div', {\n ref: 'stepsContainer',\n class: ['stepper-content'],\n }, [this.$slots.default, empty]);\n\n\n return h('div', {\n class: ['stepper'],\n }, [[navs], content]);\n }\n public mounted(): void {\n this.updateSteps();\n\n // @ts-ignore\n observeDom(this.$refs.stepsContainer, this.updateSteps.bind(this), { subtree: false });\n }\n}\n","var render, staticRenderFns\nimport script from \"./stepper.vue?vue&type=script&lang=ts&\"\nexport * from \"./stepper.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 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./stepper.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./stepper.vue?vue&type=script&lang=ts&\"","\n\nimport { Component, Vue, Prop, Watch, Inject } from 'vue-property-decorator';\nimport { CreateElement, VNode, VNodeDirective } from 'vue';\nimport { Validator } from 'vee-validate';\nimport Stepper from './stepper.vue';\n\n@Component\nexport default class Step extends Vue {\n @Inject('$validator') public $validator!: Validator;\n @Prop({ type: Boolean, default: false }) public active!: boolean;\n @Prop({ type: String, default: 'div' }) public tag!: string;\n @Prop({ type: String, default: '' }) public title!: string;\n @Prop({ type: [String, Array, Object], default: null }) public titleItemClass!: string;\n @Prop({ type: [String, Array, Object], default: null }) public titleLinkClass!: string;\n @Prop({ type: Boolean, default: false }) public disabled!: boolean;\n @Prop({ type: Boolean, default: false }) public completed!: boolean;\n\n public localActive: boolean = this.active && !this.disabled;\n private show: boolean = this.localActive;\n\n public get isStep(): boolean {\n return true;\n }\n public get shouldFade(): boolean {\n return true;\n }\n\n public beforeEnter() {\n window.requestAnimationFrame(() => { this.show = true; });\n }\n public beforeLeave() {\n this.show = false;\n }\n public render(h: CreateElement): VNode {\n\n let content: VNode | null = null;\n\n if (this.localActive) {\n const directives = [{ name: 'show', value: this.localActive }];\n\n content = h(this.tag,\n // @ts-ignore\n {\n directives,\n ref: 'step',\n class: ['stepper-content', { active: this.localActive, fade: this.shouldFade, show: this.show }],\n attrs: {\n 'role': 'tabpanel',\n 'id': '',\n 'aria-hidden': this.localActive ? 'false' : 'true',\n 'aria-expanded': this.localActive ? 'true' : 'false',\n 'aria-labelledby': null,\n },\n },\n [this.$slots.default]);\n }\n\n return h('transition',\n {\n props: { mode: 'out-in' },\n on: {\n beforeEnter: this.beforeEnter,\n beforeLeave: this.beforeLeave,\n },\n },\n // @ts-ignore\n [content],\n );\n }\n}\n","var render, staticRenderFns\nimport script from \"./step.vue?vue&type=script&lang=ts&\"\nexport * from \"./step.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 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./step.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./step.vue?vue&type=script&lang=ts&\"","import Vue, { PluginObject, VueConstructor } from 'vue';\nimport Stepper from './stepper.vue';\nimport Step from './step.vue';\n\nconst plugin: PluginObject = {\n install: (vue: VueConstructor, options?: any): void => {\n Vue.component('Stepper', Stepper);\n Vue.component('Step', Step);\n },\n};\n\nVue.use(plugin);\n\nexport default plugin;\n","\nimport { Component, Vue, Prop, Watch, Inject } from 'vue-property-decorator';\nimport { CreateElement, VNode } from 'vue';\n\n@Component\nexport default class TabButtonhelper extends Vue {\n @Prop({ type: [String, Array], default: '' }) public content!: string | Array;\n @Prop({ type: String, default: '#' }) public href!: string;\n @Prop({ type: Number, default: null }) public posInSet!: number | null;\n @Prop({ type: Number, default: null }) public setSize!: number | null;\n @Prop({ type: String, default: null }) public controls!: string | null;\n @Prop({ type: String, default: null }) public id!: string | null;\n @Prop({ type: Boolean, default: false }) public active!: boolean;\n @Prop({ type: Boolean, default: false }) public disabled!: boolean;\n @Prop({ type: [String, Array], default: null }) public linkClass!: string | Array | null;\n @Prop({ type: [String, Array], default: null }) public itemClass!: string | Array | null;\n @Prop({ type: Boolean, default: false }) public noKeyNav!: string | Array;\n\n private handleClick(event: Event | KeyboardEvent): void {\n function stop() {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (event.type !== 'click' && this.noKeyNav) {\n return;\n }\n\n if (this.disabled) {\n stop();\n return;\n }\n\n if (event.type !== 'click' && (event as KeyboardEvent).keyCode !== 13 && (event as KeyboardEvent).keyCode !== 32) {\n return;\n }\n\n stop();\n this.$emit('click', event);\n }\n public render(h: CreateElement): VNode {\n const link = h('a', {\n class: ['nav-link', { active: this.active, disabled: this.disabled }, this.linkClass],\n attrs: {\n 'role': 'tab',\n 'tabindex': this.noKeyNav ? null : '-1',\n 'href': this.href,\n 'id': this.id,\n 'disabled': this.disabled,\n 'aria-selected': this.active ? 'true' : 'false',\n 'aria-setsize': this.setSize,\n 'aria-posinset': this.posInSet,\n 'aria-controls': this.controls,\n },\n on: {\n click: this.handleClick,\n keydown: this.handleClick,\n },\n },\n this.content);\n\n return h('li', { class: [ 'nav-item', this.itemClass], attrs: { role: 'presentation' }}, [link]);\n }\n}\n","var render, staticRenderFns\nimport script from \"./tab-button-helper.vue?vue&type=script&lang=ts&\"\nexport * from \"./tab-button-helper.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 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tab-button-helper.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tab-button-helper.vue?vue&type=script&lang=ts&\"","\nimport { Component, Vue, Prop, Watch, Inject } from 'vue-property-decorator';\nimport { CreateElement, VNode } from 'vue';\nimport { Validator } from 'vee-validate';\nimport { observeDom } from './../utils/dom-observer';\nimport TabButtonHelper from './tab-button-helper.vue';\nimport Tab from './tab.vue';\n\n@Component\nexport default class Tabs extends Vue {\n @Inject('$validator') public $validator!: Validator;\n @Prop({ type: String, default: 'div' }) public tag!: string;\n @Prop({ type: Boolean, default: false }) public card!: boolean;\n @Prop({ type: Boolean, default: false }) public small!: boolean;\n @Prop({ type: Number, required: true}) public value!: number;\n @Prop({ type: Boolean, default: false }) public pills!: boolean;\n @Prop({ type: Boolean, default: false }) public vertical!: boolean;\n @Prop({ type: Boolean, default: false }) public bottom!: boolean;\n @Prop({ type: Boolean, default: false }) public end!: boolean;\n @Prop({ type: Boolean, default: false }) public noFade!: boolean;\n @Prop({ type: Boolean, default: false }) public noNavStyle!: boolean;\n @Prop({ type: Boolean, default: false }) public noKeyNav!: boolean;\n @Prop({ type: Boolean, default: false }) public lazy!: boolean;\n @Prop({ type: [String, Array, Object], default: null }) public contentClass!: string | Array | object;\n @Prop({ type: [String, Array, Object], default: null }) public navClass!: string | Array | object;\n @Prop({ type: [String, Array, Object], default: null }) public navWrapperClass!: string | Array | object;\n\n private get fade(): boolean {\n return !this.noFade;\n }\n private get navStyle(): string {\n return this.pills ? 'pills' : 'tabs';\n }\n\n private currentTab: number = this.value;\n private tabs: Array = new Array();\n\n @Watch('currentTab')\n private onTabChanged(newValue: number, oldValue: number): void {\n if (newValue === oldValue) {\n return;\n }\n\n this.$root.$emit('changed::tab', this, newValue, this.tabs[newValue]);\n this.$emit('input', newValue);\n this.tabs[newValue].$emit('click');\n }\n @Watch('value')\n private onValueChanged(newValue: number, oldValue: number): void {\n if (newValue === oldValue) {\n return;\n }\n\n if (typeof oldValue !== 'number') {\n oldValue = 0;\n }\n\n const direction = newValue < oldValue ? -1 : 1;\n this.setTab(newValue, false, direction);\n }\n private onKeyNavigation(event: KeyboardEvent): void {\n if (this.noKeyNav) {\n return;\n }\n\n const key = event.keyCode;\n const shift = event.shiftKey;\n\n function stop() {\n event.preventDefault();\n event.stopPropagation();\n }\n\n // Up or Left\n if (key === 38 || key === 38) {\n stop();\n\n if (shift) {\n this.setTab(0, false, 1);\n } else {\n this.previousTab();\n }\n // Down or Right\n } else if (key === 40 || key === 39) {\n stop();\n\n if (shift) {\n this.setTab(this.tabs.length - 1, false, -1);\n } else {\n this.nextTab();\n }\n }\n }\n private nextTab(): void {\n this.setTab(this.currentTab + 1, false, 1);\n }\n private previousTab(): void {\n this.setTab(this.currentTab - 1, false, -1);\n }\n private setTab(index: number, force: boolean, direction: number = 0): void {\n direction = direction === 0 ? 0 : direction > 0 ? 1 : -1;\n\n if (!force && index === this.currentTab) {\n return;\n }\n\n const step = this.tabs[index];\n\n if (!step) {\n // NOTE: This resets the v-model current step.\n this.$emit('input', this.currentTab);\n return;\n }\n\n if (step.disabled) {\n if (direction) {\n this.setTab(index + direction, force, direction);\n }\n\n return;\n }\n\n // Activate requested current step, and deactivte any old steps\n this.tabs.forEach((s) => {\n if (step === s) {\n this.$set(s, 'localActive', true);\n } else {\n this.$set(s, 'localActive', false);\n }\n });\n\n this.currentTab = index;\n }\n private updateTabs(): void {\n this.tabs = this.$slots!.default!.filter((node: VNode) => node && node.componentInstance && (node.componentInstance as Tab).isTab)\n .map((node: VNode) => node.componentInstance as Tab);\n\n let tabIndex: number | null = null;\n\n this.tabs.forEach((tab, index) => {\n if (tab.localActive && !tab.disabled) {\n tabIndex = index;\n }\n });\n\n if (tabIndex === null) {\n if (this.currentTab >= this.tabs.length) {\n this.setTab(this.tabs.length - 1, true, -1);\n return;\n } else if (this.tabs[this.currentTab] && !this.tabs[this.currentTab].disabled) {\n tabIndex = this.currentTab;\n }\n }\n\n if (tabIndex === null) {\n this.tabs.forEach((tab, index) => {\n if (!tab.disabled && tabIndex === null) {\n tabIndex = index;\n }\n });\n }\n\n this.setTab(tabIndex || 0, true, 0);\n }\n\n public render(h: CreateElement): VNode {\n const tabs = this.tabs;\n\n // Navigation 'buttons'\n const buttons = tabs.map((tab, index) => {\n return h(TabButtonHelper, {\n key: index,\n props: {\n content: tab.$slots.title || tab.title,\n href: tab.href,\n id: tab.controlledBy || '',\n active: tab.localActive,\n disabled: tab.disabled,\n setSize: tabs.length,\n posInSet: index + 1,\n controls: '',\n linkClass: tab.titleLinkClass,\n itemClass: tab.titleItemClass,\n noKeyNav: this.noKeyNav,\n },\n on: {\n click: (event: Event) => {\n this.setTab(index, false);\n },\n },\n });\n });\n\n // Navigation 'button' wrapper\n let navs = h('ul',\n {\n class: [\n 'nav', {\n [`nav-${this.navStyle}`]: !this.noNavStyle,\n [`card-header-${this.navStyle}`]: this.card && !this.vertical,\n 'card-header': this.card && this.vertical,\n 'h-100': this.card && this.vertical,\n 'flex-column': this.vertical,\n 'border-bottom-0': this.vertical,\n 'rounded-0': this.vertical,\n 'small': this.small,\n },\n this.navClass,\n ],\n attrs: {\n role: 'tablist',\n tabindex: this.noKeyNav ? null : '0',\n id: '',\n },\n on: { keydown: this.onKeyNavigation },\n },\n [buttons, this.$slots.tabs]);\n\n navs = h('div', {\n class: [{\n 'card-header': this.card && !this.vertical && !(this.end || this.bottom),\n 'card-footer': this.card && !this.vertical && (this.end || this.bottom),\n 'col-auto': this.vertical,\n }, this.navWrapperClass],\n },\n [navs]);\n\n let empty: VNode | null = null;\n\n if (tabs && tabs.length) {\n // @ts-ignore\n empty = h(false);\n } else {\n empty = h('div', { class: [ 'tab-pane', 'active', { 'card-body': this.card }]}, this.$slots.empty);\n }\n\n // Main content\n const content = h('div', {\n ref: 'tabsContainer',\n class: ['tab-content', { col: this.vertical }, this.contentClass],\n attrs: { id: '' },\n }, [this.$slots.default, empty!]);\n\n return h(this.tag, {\n class: [ 'tabs', { 'row': this.vertical, 'no-gutters': this.vertical && this.card }],\n attrs: { id: '' },\n },\n // @ts-ignore\n [this.end || this.bottom ? content : h(false), [navs], this.end || this.bottom ? h(false) : content]);\n }\n public mounted(): void {\n this.updateTabs();\n\n observeDom(this.$refs.tabsContainer as Element | Vue | null, this.updateTabs.bind(this), { subtree: false });\n }\n}\n","var render, staticRenderFns\nimport script from \"./tabs.vue?vue&type=script&lang=ts&\"\nexport * from \"./tabs.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 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tabs.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tabs.vue?vue&type=script&lang=ts&\"","\n\nimport { Component, Vue, Prop, Watch, Inject } from 'vue-property-decorator';\nimport { CreateElement, VNode, VNodeDirective } from 'vue';\nimport { Validator } from 'vee-validate';\nimport Tabs from './tabs.vue';\n\n@Component\nexport default class Tab extends Vue {\n @Inject('$validator') public $validator!: Validator;\n @Prop({ type: Boolean, default: false }) public active!: boolean;\n @Prop({ type: String, default: 'div' }) public tag!: string;\n @Prop({ type: String, default: '' }) public buttonId!: string;\n @Prop({ type: String, default: '' }) public title!: string;\n @Prop({ type: [String, Array, Object], default: null }) public titleItemClass!: string;\n @Prop({ type: [String, Array, Object], default: null }) public titleLinkClass!: string;\n @Prop({ type: String, default: '' }) public headHtml!: string;\n @Prop({ type: Boolean, default: false }) public disabled!: boolean;\n @Prop({ type: Boolean, default: false }) public noBody!: boolean;\n @Prop({ type: String, default: '#' }) public href!: string;\n\n public localActive: boolean = this.active && !this.disabled;\n private show: boolean = false;\n\n public get isTab(): boolean {\n return true;\n }\n public get fade(): boolean {\n return (this.$parent as Tabs).noFade;\n }\n public get lazy(): boolean {\n return (this.$parent as Tabs).lazy;\n }\n public get controlledBy(): string {\n return this.buttonId;\n }\n public get tabClasses(): Array {\n return [\n 'tab-pane',\n this.$parent && (this.$parent as Tabs).card && !this.noBody ? 'card-body' : '',\n this.show ? 'show' : '',\n this.fade ? 'fade' : '',\n this.disabled ? 'disabled' : '',\n this.localActive ? 'active' : '',\n ];\n }\n\n public beforeEnter() {\n window.requestAnimationFrame(() => { this.show = true; });\n }\n public beforeLeave() {\n this.show = false;\n }\n public render(h: CreateElement): VNode {\n\n // @ts-ignore\n let content: VNode = h(false);\n const directives = [{ name: 'show', value: this.localActive }];\n if (this.localActive || !this.lazy) {\n content = h(this.tag,\n // @ts-ignore\n {\n directives,\n ref: 'panel',\n class: this.tabClasses,\n attrs: {\n 'role': 'tabpanel',\n 'id': '',\n 'aria-hidden': this.localActive ? 'false' : 'true',\n 'aria-expanded': this.localActive ? 'true' : 'false',\n 'aria-labelledby': null,\n },\n },\n [this.$slots.default]);\n }\n\n return h('transition',\n {\n props: { mode: 'out-in' },\n on: {\n beforeEnter: this.beforeEnter,\n beforeLeave: this.beforeLeave,\n },\n },\n // @ts-ignore\n [content],\n );\n }\n}\n","var render, staticRenderFns\nimport script from \"./tab.vue?vue&type=script&lang=ts&\"\nexport * from \"./tab.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 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tab.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tab.vue?vue&type=script&lang=ts&\"","import Vue, { PluginObject, VueConstructor } from 'vue';\nimport Tabs from './tabs.vue';\nimport Tab from './tab.vue';\n\nconst plugin: PluginObject = {\n install: (vue: VueConstructor, options?: any): void => {\n Vue.component('tabs', Tabs);\n Vue.component('tab', Tab);\n },\n};\n\nVue.use(plugin);\n\nexport default plugin;\n","import AppointmentProductDetails from '@/components/appointment-product-details';\nimport ConfirmationDialog from '@/components/confirmation-dialog';\nimport ConfirmationDialogProgrammatic from '@/components/confirmation-dialog-programmatic';\nimport Datepicker from '@/components/date-picker';\nimport ClientMergeDetailWithLookup from '@/components/plugins/client-merge-detail-with-lookup';\nimport NationalInsuranceNumberInput from '@/components/plugins/national-insurance-number-input';\nimport OriginalSourceSelect from '@/components/plugins/original-source-select';\nimport PartnerPracticeSelect from '@/components/plugins/partner-practice-select';\nimport TriStateInput from '@/components/plugins/tri-state-input';\nimport UserSelect from '@/components/plugins/user-select';\nimport Snackbar from '@/components/snackbar';\nimport Stepper from '@/components/stepper';\nimport Tabs from '@/components/tabs';\nimport Vue, { PluginObject, VueConstructor } from 'vue';\n\nconst plugin: PluginObject = {\n install: (vue: VueConstructor, options?: any): void => {\n Vue.use(AppointmentProductDetails);\n Vue.use(ConfirmationDialog);\n Vue.use(ConfirmationDialogProgrammatic);\n Vue.use(Datepicker);\n Vue.use(ClientMergeDetailWithLookup);\n Vue.use(NationalInsuranceNumberInput);\n Vue.use(OriginalSourceSelect);\n Vue.use(PartnerPracticeSelect);\n Vue.use(TriStateInput);\n Vue.use(UserSelect);\n Vue.use(Snackbar);\n Vue.use(Stepper);\n Vue.use(Tabs);\n },\n};\n\nVue.use(plugin);\n\nexport default plugin;\n","import { DateTime } from 'luxon';\n\nexport function dateFilter(value: string | Date): string | null {\n if (value == null) {\n return null;\n }\n\n if (value instanceof Date) {\n return DateTime.fromJSDate(value).toLocal().setLocale('en-gb').toLocaleString();\n }\n\n return DateTime.fromISO(value, { zone: 'UTC' }).toLocal().setLocale('en-gb').toLocaleString();\n}\nexport function dateTimeFilter(value: string | Date): string | null {\n if (value == null) {\n return null;\n }\n\n if (value instanceof Date) {\n return DateTime.fromJSDate(value).toLocal().setLocale('en-gb').toLocaleString(DateTime.DATETIME_SHORT);\n }\n\n return DateTime.fromISO(value, { zone: 'UTC' }).toLocal().setLocale('en-gb').toLocaleString(DateTime.DATETIME_SHORT);\n}\nexport function timeFilter(value: string | Date): string | null {\n if (value == null) {\n return null;\n }\n\n if (value instanceof Date) {\n return DateTime.fromJSDate(value).toLocal().setLocale('en-gb').toLocaleString(DateTime.TIME_24_SIMPLE);\n }\n\n return DateTime.fromISO(value, { zone: 'UTC' }).toLocal().setLocale('en-gb').toLocaleString(DateTime.TIME_24_SIMPLE);\n}\nexport function singleLineAddress(value: null | { addressLine1: string | null, addressLine2: string | null, addressLine3: string | null, town: string | null, county: string | null, postcode: string | null }): string {\n if (value == null) {\n return '';\n }\n\n const parts = new Array();\n\n if (value.addressLine1 != null && value.addressLine1.trim() !== '') {\n parts.push(value.addressLine1);\n }\n\n if (value.addressLine2 != null && value.addressLine2.trim() !== '') {\n parts.push(value.addressLine2);\n }\n\n if (value.addressLine3 != null && value.addressLine3.trim() !== '') {\n parts.push(value.addressLine3);\n }\n\n if (value.town != null && value.town.trim() !== '') {\n parts.push(value.town);\n }\n\n if (value.county != null && value.county.trim() !== '') {\n parts.push(value.county);\n }\n\n if (value.postcode != null && value.postcode.trim() !== '') {\n parts.push(value.postcode);\n }\n\n return parts.join(', ');\n}\nexport function padLeft(value: string | number | null, size: number, character: string): string {\n if (value == null) {\n return '';\n }\n\n value = value.toString();\n\n return value.padStart(size, character);\n}\nexport function byteToKb(value: number): string {\n const kb = value / 1024;\n\n return kb.toFixed(2) + 'Kb';\n}\n\nexport function percentageFilter(value: number): string {\n return `${value.toFixed(1)}%`;\n}\n\nexport function decimalFilter(value: number, fractionDigits: number): string {\n return value.toFixed(fractionDigits);\n}\n\nexport function currencyFilter(value: number | null): string {\n if (value == null) {\n return '';\n }\n\n return `${Math.abs(value).toFixed(2)}`.replace(/(\\d)(?=(\\d\\d\\d)+(?!\\d))/g, '$1,');\n}\n\nexport function capitalizeFilter(value: string): string {\n return value.replace(/\\w{3,}/g, (match) =>\n match.replace(/\\w/, (m) => m.toUpperCase()));\n}\n","import App from '@/app.vue';\nimport Components from '@/components';\nimport { byteToKb, capitalizeFilter, currencyFilter, dateFilter, dateTimeFilter, decimalFilter, padLeft, percentageFilter, singleLineAddress, timeFilter } from '@/filters';\nimport router from '@/router';\nimport '@/scss/app.scss';\nimport store from '@/store';\nimport { BootstrapVue, BootstrapVueIcons } from 'bootstrap-vue';\n// @ts-ignore\nimport Autocomplete from 'v-autocomplete';\nimport 'v-autocomplete/dist/v-autocomplete.css';\nimport VeeValidate from 'vee-validate';\nimport Vue from 'vue';\nimport VueMoment from 'vue-moment';\n// @ts-ignore\nimport Multiselect from 'vue-multiselect';\nimport 'vue-multiselect/dist/vue-multiselect.min.css';\n\nVue.config.productionTip = false;\nVue.use(BootstrapVue);\nVue.use(BootstrapVueIcons);\nVue.use(VeeValidate, { fieldsBagName: 'validationFields' });\nVue.use(Autocomplete);\nVue.use(VueMoment);\nVue.component('multiselect', Multiselect);\nVue.use(Components);\nVue.filter('date', dateFilter);\nVue.filter('datetime', dateTimeFilter);\nVue.filter('time', timeFilter);\nVue.filter('singlelineaddress', singleLineAddress);\nVue.filter('padLeft', padLeft);\nVue.filter('byteToKb', byteToKb);\nVue.filter('percentage', percentageFilter);\nVue.filter('decimal', decimalFilter);\nVue.filter('currency', currencyFilter);\nVue.filter('capitalizeFirst', capitalizeFilter);\n\nasync function start(): Promise {\n await store.dispatch('user/loadMeAsync');\n await store.dispatch('environment/loadAsync');\n\n const root = new Vue({\n router,\n store,\n render: (h) => h(App),\n }).$mount('#app');\n}\n\nstart();\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./task-dashboard.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./task-dashboard.vue?vue&type=style&index=0&lang=css&\"","module.exports = __webpack_public_path__ + \"img/concerto-logo.92337960.png\";","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./log-interaction-dialog.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./log-interaction-dialog.vue?vue&type=style&index=0&lang=css&\""],"sourceRoot":""}