{"version":3,"file":"js/app.6308da87.js","mappings":"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EAAG,CACDpG,GAASw0B,WACTx0B,GAASy0B,gBACTz0B,GAAS20B,mBACT30B,GAAS00B,eAGbU,wCAAyC,CACvC3vB,EAAG,+CACH7B,EAAG,iDACHwC,EAAG,CACDpG,GAASw0B,WACTx0B,GAASy0B,gBACTz0B,GAAS20B,mBACT30B,GAAS00B,eAGbW,sBAAuB,CACrB5vB,EAAG,0BACH7B,EAAG,4BACHwC,EAAG,CACDpG,GAASw0B,WACTx0B,GAASy0B,gBACTz0B,GAAS20B,mBACT30B,GAAS00B,eAGb9uB,UAAW,CAAEH,EAAG,QAAS7B,EAAG,eAC5BiC,WAAY,CAAEJ,EAAG,SAAU7B,EAAG,YAC9BkC,KAAM,CACJL,EAAG,UACH7B,EAAG,IACHwC,EAAG,CACDpG,GAASw0B,WACTx0B,GAASy0B,gBACTz0B,GAAS00B,aACT10B,GAAS20B,qBAGbW,eAAgB,CACd7vB,EAAG,sBACH7B,EAAG,kBACHwC,EAAG,CACDpG,GAASw0B,WACTx0B,GAASy0B,gBACTz0B,GAAS00B,aACT10B,GAAS20B,qBAGbY,SAAU,CACR9vB,EAAG,WACH7B,EAAG,YACHwC,EAAG,CACDpG,GAASw0B,WACTx0B,GAASy0B,gBACTz0B,GAAS00B,aACT10B,GAAS20B,qBAGba,SAAU,CACR/vB,EAAG,YACH7B,EAAG,aACHwC,EAAG,CACDpG,GAASw0B,WACTx0B,GAASy0B,gBACTz0B,GAAS00B,aACT10B,GAAS20B,qBAGbc,kBAAmB,CACjBhwB,EAAG,qBACH7B,EAAG,sBACHwC,EAAG,CACDpG,GAASw0B,WACTx0B,GAASy0B,gBACTz0B,GAAS00B,aACT10B,GAAS20B,qBAGbe,aAAc,CACZjwB,EAAG,oBACH7B,EAAG,gBACHwC,EAAG,CACDpG,GAASw0B,WACTx0B,GAASy0B,gBACTz0B,GAAS00B,aACT10B,GAAS20B,qBAGbgB,sBAAuB,CACrBlwB,EAAG,yBACH7B,EAAG,0BACHwC,EAAG,CACDpG,GAASw0B,WACTx0B,GAASy0B,gBACTz0B,GAAS00B,aACT10B,GAAS20B,qBAGbiB,qBAAsB,CACpBnwB,EAAG,wBACH7B,EAAG,yBACHwC,EAAG,CACDpG,GAASw0B,WACTx0B,GAASy0B,gBACTz0B,GAAS00B,aACT10B,GAAS20B,qBAGbkB,2BAA4B,CAC1BpwB,EAAG,6BACH7B,EAAG,+BACHwC,EAAG,CACDpG,GAASw0B,WACTx0B,GAASy0B,gBACTz0B,GAAS00B,aACT10B,GAAS20B,qBAGbmB,uBAAwB,CACtBrwB,EAAG,0BACH7B,EAAG,2BACHwC,EAAG,CACDpG,GAASw0B,WACTx0B,GAASy0B,gBACTz0B,GAAS00B,aACT10B,GAAS20B,qBAGboB,SAAU,CACRtwB,EAAG,gBACH7B,EAAG,YACHwC,EAAG,CACDpG,GAASw0B,WACTx0B,GAASy0B,gBACTz0B,GAAS00B,aACT10B,GAAS20B,qBAGbqB,kBAAmB,CACjBvwB,EAAG,qBACH7B,EAAG,sBACHwC,EAAG,CACDpG,GAASw0B,WACTx0B,GAASy0B,gBACTz0B,GAAS00B,aACT10B,GAAS20B,qBAGbsB,6BAA8B,CAC5BxwB,EAAG,iCACH7B,EAAG,kCACHwC,EAAG,CACDpG,GAASw0B,WACTx0B,GAASy0B,gBACTz0B,GAAS00B,aACT10B,GAAS20B,qBAGbuB,aAAc,CACZzwB,EAAG,gBACH7B,EAAG,iBACHwC,EAAG,CACDpG,GAASw0B,WACTx0B,GAASy0B,gBACTz0B,GAAS00B,aACT10B,GAAS20B,qBAGbwB,0BAA2B,CACzB1wB,EAAG,8BACH7B,EAAG,+BACHwC,EAAG,CACDpG,GAASw0B,WACTx0B,GAASy0B,gBACTz0B,GAAS00B,aACT10B,GAAS20B,qBAGbyB,cAAe,CACb3wB,EAAG,iBACH7B,EAAG,kBACHwC,EAAG,CACDpG,GAASw0B,WACTx0B,GAASy0B,gBACTz0B,GAAS00B,aACT10B,GAAS20B,qBAGb0B,eAAgB,CACd5wB,EAAG,kBACH7B,EAAG,mBACHwC,EAAG,CACDpG,GAASw0B,WACTx0B,GAASy0B,gBACTz0B,GAAS00B,aACT10B,GAAS20B,qBAGb2B,uBAAwB,CACtB7wB,EAAG,0BACH7B,E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","sources":["webpack://TrustApp/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://TrustApp/./src/trust-atcs-app/app.html","webpack://TrustApp/./src/trust-atcs-app/config/config.ts","webpack://TrustApp/./src/trust-atcs-app/models/user.ts","webpack://TrustApp/./src/trust-atcs-app/modules/authentication/authentication-status.ts","webpack://TrustApp/./src/trust-atcs-app/models/token.ts","webpack://TrustApp/./src/trust-atcs-app/models/session.ts","webpack://TrustApp/./src/trust-atcs-app/models/authorized-user.ts","webpack://TrustApp/./src/trust-atcs-app/config/url.ts","webpack://TrustApp/./src/trust-atcs-app/modules/authentication/authentication.service.ts","webpack://TrustApp/./src/shared/components/snackbar/snack-bar-store-module.ts","webpack://TrustApp/./src/shared/components/popover/popover-store-module.ts","webpack://TrustApp/./src/trust-atcs-app/store/compliance-form-store-module.ts","webpack://TrustApp/./src/trust-atcs-app/store/index.ts","webpack://TrustApp/./src/trust-atcs-app/constants/router-name.ts","webpack://TrustApp/./src/shared/components/snackbar/snackbar.html","webpack://TrustApp/./src/shared/components/snackbar/snackbar.ts","webpack://TrustApp/./src/shared/components/snackbar/index.vue","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/base.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/account-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/accounting-app-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/calendar-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/code-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/compliance-form-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/config-trust-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/correspondence-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/date-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/ee-report-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/external-examiner-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/file-atcs-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/follow-up-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/investigation-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/investigator-working-paper-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/law-id-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/notes-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/page-atcs-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/part-aform-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/part-bform-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/people-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/people-atcs-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/practice-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/practice-atcs-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/routine-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/time-entry-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trustapi-client/apis/trust-team-member-api.ts","webpack://TrustApp/./src/shared/modules/trust-api/index.ts","webpack://TrustApp/./src/shared/components/confirm-dialogue/confirm-dialogue.html","webpack://TrustApp/./src/shared/components/confirm-dialogue/confirm-dialogue.ts","webpack://TrustApp/./src/shared/components/confirm-dialogue/index.vue","webpack://TrustApp/./src/trust-atcs-app/app.ts","webpack://TrustApp/./src/trust-atcs-app/app.vue","webpack://TrustApp/./src/trust-atcs-app/components/auto-login/auto-login.html","webpack://TrustApp/./src/trust-atcs-app/modules/authentication/authentication.ts","webpack://TrustApp/./src/shared/components/loading-spinner/loading-spinner.html","webpack://TrustApp/./src/shared/components/loading-spinner/loading-spinner.ts","webpack://TrustApp/./src/shared/components/loading-spinner/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/std-page-layout/std-page-layout.html","webpack://TrustApp/./src/trust-atcs-app/components/page-header/page-header/page-header.html","webpack://TrustApp/./src/shared/components/alert-box/alert-box.html","webpack://TrustApp/./src/shared/components/alert-box/alert-box.ts","webpack://TrustApp/./src/shared/components/alert-box/index.vue","webpack://TrustApp/./src/trust-atcs-app/appInsights.ts","webpack://TrustApp/./src/trust-atcs-app/components/page-header/account-info-panel/account-info-panel.html","webpack://TrustApp/./src/trust-atcs-app/components/page-header/application-menu/application-menu.html","webpack://TrustApp/./src/trust-atcs-app/components/page-header/application-menu/application-menu.ts","webpack://TrustApp/./src/trust-atcs-app/components/page-header/application-menu/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/page-header/account-info-panel/account-info-panel.ts","webpack://TrustApp/./src/trust-atcs-app/components/page-header/account-info-panel/index.vue","webpack://TrustApp/./src/shared/mixins/format-datetime.ts","webpack://TrustApp/./src/trust-atcs-app/components/page-header/page-header/page-header.ts","webpack://TrustApp/./src/trust-atcs-app/components/page-header/page-header/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/page-footer/page-footer.html","webpack://TrustApp/./src/trust-atcs-app/components/page-footer/page-footer.ts","webpack://TrustApp/./src/trust-atcs-app/components/page-footer/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/std-page-layout/std-page-layout.ts","webpack://TrustApp/./src/trust-atcs-app/components/std-page-layout/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/auto-login/auto-login.ts","webpack://TrustApp/./src/trust-atcs-app/components/auto-login/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/logout/logout.html","webpack://TrustApp/./src/trust-atcs-app/components/logout/logout.ts","webpack://TrustApp/./src/trust-atcs-app/components/logout/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/no-access/no-access.html","webpack://TrustApp/./src/trust-atcs-app/components/no-access/no-access.ts","webpack://TrustApp/./src/trust-atcs-app/components/no-access/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/atcs-main/atcs-main.html","webpack://TrustApp/./src/trust-admin-app/components/trust-admin-rhs-header/account-info-panel/account-info-panel.html","webpack://TrustApp/./src/trust-admin-app/models/user.ts","webpack://TrustApp/./src/trust-admin-app/constants/router-name.ts","webpack://TrustApp/./src/trust-admin-app/models/token.ts","webpack://TrustApp/./src/trust-admin-app/modules/authentication/authentication-status.ts","webpack://TrustApp/./src/trust-admin-app/models/session.ts","webpack://TrustApp/./src/trust-admin-app/models/authorized-user.ts","webpack://TrustApp/./src/trust-admin-app/store/trust-member-store.module.ts","webpack://TrustApp/./src/trust-admin-app/store/practice-store-module.ts","webpack://TrustApp/./src/trust-admin-app/store/external-examiner-store-module.ts","webpack://TrustApp/./src/trust-admin-app/store/index.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-admin-rhs-header/application-menu/application-menu.html","webpack://TrustApp/./src/trust-admin-app/components/dashboard/dashboard.html","webpack://TrustApp/./src/trust-admin-app/config/config.ts","webpack://TrustApp/./src/trust-admin-app/appInsights.ts","webpack://TrustApp/./src/trust-admin-app/components/dashboard/dashboard.ts","webpack://TrustApp/./src/trust-admin-app/components/dashboard/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-admin-main/trust-admin-main.html","webpack://TrustApp/./src/shared/components/helpers/index.ts","webpack://TrustApp/./src/shared/mixins/access-validation.ts","webpack://TrustApp/./src/shared/components/navigation-bar/navigation-bar.html","webpack://TrustApp/./src/shared/components/navigation-bar/navigation-item.ts","webpack://TrustApp/./src/shared/components/navigation-bar/navigation-bar.ts","webpack://TrustApp/./src/shared/components/navigation-bar/index.vue","webpack://TrustApp/./src/shared/components/page-header/page-header.html","webpack://TrustApp/./src/shared/components/page-header/page-header.ts","webpack://TrustApp/./src/shared/components/page-header/index.vue","webpack://TrustApp/./src/trust-admin-app/modules/session/session.ts","webpack://TrustApp/./src/trust-admin-app/modules/session/idle-session-manager.ts","webpack://TrustApp/./src/trust-admin-app/components/investigations-main/add-edit-investigation-modal/add-edit-investigation-modal.html","webpack://TrustApp/./src/shared/components/modal-box/modal-box.component.html","webpack://TrustApp/./src/shared/components/modal-box/modal-box.component.ts","webpack://TrustApp/./src/shared/components/modal-box/index.vue","webpack://TrustApp/./src/shared/components/loading-indicator/loading-indicator.html","webpack://TrustApp/./src/shared/components/loading-indicator/loading-indicator.ts","webpack://TrustApp/./src/shared/components/loading-indicator/index.vue","webpack://TrustApp/./src/shared/components/error-indicator/error-indicator.html","webpack://TrustApp/./src/shared/components/error-indicator/error-indicator.ts?8416","webpack://TrustApp/./src/shared/components/error-indicator/index.vue","webpack://TrustApp/./src/shared/components/calendar-view/calendar-view.html","webpack://TrustApp/./src/shared/components/calendar-view/calendar-view.ts","webpack://TrustApp/./src/shared/components/calendar-view/index.vue","webpack://TrustApp/./src/trust-admin-app/components/investigations-main/add-edit-investigation-modal/add-edit-investigation-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/investigations-main/add-edit-investigation-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/add-event-modal/add-event-modal.html","webpack://TrustApp/./src/trust-admin-app/components/add-event-modal/add-event-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/add-event-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-data-trust-team/add-edit-member-modal/add-edit-member-modal.html","webpack://TrustApp/./src/shared/mixins/number-formatting.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-data-trust-team/add-edit-member-modal/add-edit-member-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-data-trust-team/add-edit-member-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/config/url.ts","webpack://TrustApp/./src/trust-admin-app/components/investigation-details-modal/investigation-details-modal.html","webpack://TrustApp/./src/trust-admin-app/components/add-edit-iwp-modal/add-edit-iwp-modal.html","webpack://TrustApp/./src/shared/components/file-drag-and-drop/file-drag-and-drop.html","webpack://TrustApp/./src/shared/components/file-drag-and-drop/file-drag-and-drop.ts","webpack://TrustApp/./src/shared/components/file-drag-and-drop/index.vue","webpack://TrustApp/./src/shared/components/file-preview/file-preview.html","webpack://TrustApp/./src/shared/components/file-preview/file-preview-data.ts","webpack://TrustApp/./src/shared/components/file-preview/file-preview.ts","webpack://TrustApp/./src/shared/components/file-preview/index.vue","webpack://TrustApp/./src/trust-admin-app/components/add-edit-iwp-modal/add-edit-iwp-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/add-edit-iwp-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/investigation-details-modal/investigation-details-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/investigation-details-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-admin-main/trust-admin-main.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-admin-main/index.vue","webpack://TrustApp/./src/shared/components/kitchensink/kitchensink.html","webpack://TrustApp/./src/shared/components/side-menu/side-menu.html","webpack://TrustApp/./src/shared/components/side-menu/side-menu.ts","webpack://TrustApp/./src/shared/components/side-menu/index.vue","webpack://TrustApp/./src/shared/components/kitchensink-modal/kitchensink-modal.html","webpack://TrustApp/./src/shared/components/kitchensink-modal/kitchensink-modal.ts","webpack://TrustApp/./src/shared/components/kitchensink-modal/index.vue","webpack://TrustApp/./src/shared/components/kitchensink/kitchensink.ts","webpack://TrustApp/./src/shared/components/kitchensink/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-data-main/trust-data-main.html","webpack://TrustApp/./src/trust-admin-app/components/trust-data-main/trust-data-main.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-data-main/index.vue","webpack://TrustApp/./src/trust-admin-app/components/auto-login/auto-login.html","webpack://TrustApp/./src/trust-admin-app/modules/authentication/authentication.service.ts","webpack://TrustApp/./src/trust-admin-app/modules/authentication/authentication.ts","webpack://TrustApp/./src/trust-admin-app/components/auto-login/auto-login.ts","webpack://TrustApp/./src/trust-admin-app/components/auto-login/index.vue","webpack://TrustApp/./src/trust-admin-app/components/logout/logout.html","webpack://TrustApp/./src/trust-admin-app/components/logout/logout.ts","webpack://TrustApp/./src/trust-admin-app/components/logout/index.vue","webpack://TrustApp/./src/trust-admin-app/components/no-access/no-access.html","webpack://TrustApp/./src/trust-admin-app/components/no-access/no-access.ts","webpack://TrustApp/./src/trust-admin-app/components/no-access/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-data-banks/trust-data-banks.html","webpack://TrustApp/./src/trust-admin-app/components/trust-data-banks/bank-audit-trail-modal/bank-audit-trail-modal.html","webpack://TrustApp/./src/trust-admin-app/components/audit-trail-modal/audit-trail-modal.html","webpack://TrustApp/./src/trust-admin-app/components/audit-trail-modal/audit-trail-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/audit-trail-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-data-banks/bank-audit-trail-modal/bank-audit-trail-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-data-banks/bank-audit-trail-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-data-banks/add-edit-modal/add-edit-modal.html","webpack://TrustApp/./src/trust-admin-app/components/trust-data-banks/add-edit-modal/add-edit-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-data-banks/add-edit-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-data-banks/trust-data-banks.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-data-banks/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-data-practices/trust-data-practices.html","webpack://TrustApp/./src/trust-admin-app/components/trust-data-practices/trust-data-practices.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-data-practices/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-data-investigation-types/trust-data-investigation-types.html","webpack://TrustApp/./src/trust-admin-app/components/trust-data-investigation-types/add-edit-modal/add-edit-modal.html","webpack://TrustApp/./src/shared/components/error-indicator/error-indicator.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-data-investigation-types/add-edit-modal/add-edit-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-data-investigation-types/add-edit-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-data-investigation-types/audit-trail/audit-trail.html","webpack://TrustApp/./src/trust-admin-app/components/trust-data-investigation-types/audit-trail/audit-trail.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-data-investigation-types/audit-trail/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-data-investigation-types/trust-data-investigation-types.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-data-investigation-types/index.vue","webpack://TrustApp/./src/trust-admin-app/components/timesheet-approval/timesheet-approval.html","webpack://TrustApp/./src/shared/mixins/timesheet-calculations.ts","webpack://TrustApp/./src/shared/components/timesheet-header/timesheet-header.html","webpack://TrustApp/./src/shared/components/timesheet-header/timesheet-header.ts","webpack://TrustApp/./src/shared/components/timesheet-header/index.vue","webpack://TrustApp/./src/shared/components/date-controller/date-controller.html","webpack://TrustApp/./src/shared/components/date-controller/date-controller.ts","webpack://TrustApp/./src/shared/components/date-controller/index.vue","webpack://TrustApp/./src/trust-admin-app/components/timesheet-approval/timesheet-approval.ts","webpack://TrustApp/./src/trust-admin-app/components/timesheet-approval/index.vue","webpack://TrustApp/./src/trust-admin-app/components/investigations-main/investigations-main.html","webpack://TrustApp/./src/shared/components/tag/tag.html","webpack://TrustApp/./src/shared/components/tag/tag.ts","webpack://TrustApp/./src/shared/components/tag/index.vue","webpack://TrustApp/./src/trust-admin-app/components/investigations-main/investigations-main.ts","webpack://TrustApp/./src/trust-admin-app/components/investigations-main/index.vue","webpack://TrustApp/./src/trust-admin-app/components/calendar-main/calendar-main.html","webpack://TrustApp/./src/trust-admin-app/components/calendar-main/calendar-main.ts","webpack://TrustApp/./src/trust-admin-app/components/calendar-main/index.vue","webpack://TrustApp/./src/trust-admin-app/components/investigator-dashboard/investigator-dashboard.html","webpack://TrustApp/./src/shared/components/dashboard-stats/dashboard-stats.html","webpack://TrustApp/./src/shared/components/dashboard-stats/dashboard-stats.ts","webpack://TrustApp/./src/shared/components/dashboard-stats/index.vue","webpack://TrustApp/./src/trust-admin-app/components/investigator-dashboard/investigator-dashboard.ts","webpack://TrustApp/./src/trust-admin-app/components/investigator-dashboard/index.vue","webpack://TrustApp/./src/trust-admin-app/components/investigator-main/investigator-main.html","webpack://TrustApp/./src/trust-admin-app/components/investigator-main/investigator-main.ts","webpack://TrustApp/./src/trust-admin-app/components/investigator-main/index.vue","webpack://TrustApp/./src/trust-admin-app/components/investigator-investigations/investigator-investigations.html","webpack://TrustApp/./src/trust-admin-app/components/investigator-investigations/investigator-investigations.ts","webpack://TrustApp/./src/trust-admin-app/components/investigator-investigations/index.vue","webpack://TrustApp/./src/trust-admin-app/components/investigator-timesheets/investigator-timesheets.html","webpack://TrustApp/./src/trust-admin-app/components/investigator-timesheets/investigator-timesheets.ts","webpack://TrustApp/./src/trust-admin-app/components/investigator-timesheets/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-main/practice-main.html","webpack://TrustApp/./src/trust-admin-app/components/practice-main/appoint-ee-modal/appoint-ee-modal.html","webpack://TrustApp/./src/trust-admin-app/components/practice-main/appoint-ee-modal/appoint-ee-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-main/appoint-ee-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-main/practice-main.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-main/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-dashboard/practice-dashboard.html","webpack://TrustApp/./src/trust-admin-app/components/practice-dashboard/practice-dashboard.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-dashboard/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-investigation-details/practice-investigation-details.html","webpack://TrustApp/./src/trust-admin-app/components/practice-investigation-details/practice-investigation-details.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-investigation-details/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-bank/practice-bank.html","webpack://TrustApp/./src/trust-admin-app/components/practice-bank/add-edit-modal/add-edit-modal.html","webpack://TrustApp/./src/trust-admin-app/components/practice-bank/add-edit-modal/add-edit-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-bank/add-edit-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-bank/practice-bank.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-bank/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-data-trust-team/trust-data-trust-team.html","webpack://TrustApp/./src/trust-admin-app/components/trust-data-trust-team/trust-data-trust-team.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-data-trust-team/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-accounting-details/practice-accounting-details.html","webpack://TrustApp/./src/trust-admin-app/components/practice-accounting-details/practice-accounting-details.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-accounting-details/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-notes/practice-notes.html","webpack://TrustApp/./src/trust-admin-app/components/practice-notes/add-edit-modal/add-edit-modal.html","webpack://TrustApp/./src/trust-admin-app/components/practice-notes/add-edit-modal/add-edit-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-notes/add-edit-modal/index.vue","webpack://TrustApp/./src/trust-investigator-app/config/config.ts","webpack://TrustApp/./src/trust-investigator-app/appInsights.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-notes/practice-notes.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-notes/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-correspondence/practice-correspondence.html","webpack://TrustApp/./src/trust-admin-app/components/practice-correspondence/add-edit-correspondence-modal/add-edit-correspondence-modal.html","webpack://TrustApp/./src/trust-admin-app/components/practice-correspondence/add-edit-correspondence-modal/add-edit-correspondence-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-correspondence/add-edit-correspondence-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-correspondence/practice-correspondence.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-correspondence/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-people/practice-people.html","webpack://TrustApp/./src/trust-admin-app/components/practice-people-solicitors/practice-people-solicitors.html","webpack://TrustApp/./src/trust-admin-app/components/practice-people-solicitors/practice-people-solicitors.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-people-solicitors/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-people-signatories/practice-people-signatories.html","webpack://TrustApp/./src/trust-admin-app/components/practice-people-signatories/add-edit-signatory-modal/add-edit-signatory-modal.html","webpack://TrustApp/./src/trust-admin-app/components/practice-people-signatories/add-edit-signatory-modal/add-edit-signatory-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-people-signatories/add-edit-signatory-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-people-signatories/practice-people-signatories.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-people-signatories/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-people-directors/practice-people-directors.html","webpack://TrustApp/./src/trust-admin-app/components/practice-people-directors/add-edit-director-modal/add-edit-director-modal.html","webpack://TrustApp/./src/trust-admin-app/components/practice-people-directors/add-edit-director-modal/add-edit-director-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-people-directors/add-edit-director-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-people-directors/practice-people-directors.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-people-directors/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-people-trust-coordinator/practice-people-trust-coordinator.html","webpack://TrustApp/./src/trust-admin-app/components/practice-people-trust-coordinator/appoint-trust-coordinator-modal/appoint-trust-coordinator-modal.html","webpack://TrustApp/./src/shared/components/postcodeSearch/postcodeSearch.html","webpack://TrustApp/./src/shared/components/postcodeSearch/postcodeSearch.ts","webpack://TrustApp/./src/shared/components/postcodeSearch/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-people-trust-coordinator/appoint-trust-coordinator-modal/appoint-trust-coordinator-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-people-trust-coordinator/appoint-trust-coordinator-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-people-trust-coordinator/practice-people-trust-coordinator.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-people-trust-coordinator/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-people-authorised-trust-contact/practice-people-authorised-trust-contact.html","webpack://TrustApp/./src/trust-admin-app/components/practice-people-authorised-trust-contact/practice-people-authorised-trust-contact.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-people-authorised-trust-contact/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-people/practice-people.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-people/index.vue","webpack://TrustApp/./src/trust-admin-app/components/routines/routines.html","webpack://TrustApp/./src/trust-admin-app/components/routines/routines.ts","webpack://TrustApp/./src/trust-admin-app/components/routines/index.vue","webpack://TrustApp/./src/trust-admin-app/components/follow-up/follow-up.html","webpack://TrustApp/./src/trust-admin-app/components/follow-up/follow-up.ts","webpack://TrustApp/./src/trust-admin-app/components/follow-up/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-linked-practices/practice-linked-practices.html","webpack://TrustApp/./src/trust-admin-app/components/practice-linked-practices/add-edit-linked-practice-modal/add-edit-linked-practice-modal.html","webpack://TrustApp/./src/trust-admin-app/components/practice-linked-practices/add-edit-linked-practice-modal/add-edit-linked-practice-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-linked-practices/add-edit-linked-practice-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-linked-practices/practice-linked-practices.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-linked-practices/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-data-accounting-software/trust-data-accounting-software.html","webpack://TrustApp/./src/trust-admin-app/components/trust-data-accounting-software/add-edit-modal/add-edit-modal.html","webpack://TrustApp/./src/trust-admin-app/components/trust-data-accounting-software/add-edit-modal/add-edit-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-data-accounting-software/add-edit-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-data-accounting-software/accounting-software-audit-trail-modal/accounting-software-audit-trail-modal.html","webpack://TrustApp/./src/trust-admin-app/components/trust-data-accounting-software/accounting-software-audit-trail-modal/accounting-software-audit-trail-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-data-accounting-software/accounting-software-audit-trail-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-data-accounting-software/trust-data-accounting-software.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-data-accounting-software/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-data-external-examiner/trust-data-external-examiner.html","webpack://TrustApp/./src/trust-admin-app/components/trust-data-external-examiner/add-ee-modal/add-ee-modal.html","webpack://TrustApp/./src/trust-admin-app/components/trust-data-external-examiner/add-ee-modal/add-ee-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-data-external-examiner/add-ee-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-data-external-examiner/trust-data-external-examiner.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-data-external-examiner/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-data-external-examiner-approval/trust-data-external-examiner-approval.html","webpack://TrustApp/./src/trust-admin-app/components/trust-data-external-examiner-modal/trust-data-external-examiner-modal.html","webpack://TrustApp/./src/trust-admin-app/components/trust-data-external-examiner-modal/trust-data-external-examiner-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-data-external-examiner-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-data-external-examiner-approval/trust-data-external-examiner-approval.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-data-external-examiner-approval/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-data-external-examiner-sign-up-approval/trust-data-external-examiner-sign-up-approval.html","webpack://TrustApp/./src/trust-admin-app/components/trust-data-external-examiner-sign-up-approval/approve-reject-signup-modal/approve-reject-signup-modal.html","webpack://TrustApp/./src/trust-admin-app/components/trust-data-external-examiner-sign-up-approval/approve-reject-signup-modal/approve-reject-signup-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-data-external-examiner-sign-up-approval/approve-reject-signup-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-data-external-examiner-sign-up-approval/trust-data-external-examiner-sign-up-approval.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-data-external-examiner-sign-up-approval/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-data-pagesettings/trust-data-pagesettings.html","webpack://TrustApp/./src/trust-admin-app/components/help-edit-modal/help-edit-modal.html","webpack://TrustApp/./src/shared/components/toggle-switch/toggle-switch.html","webpack://TrustApp/./src/shared/components/toggle-switch/toggle-switch.ts","webpack://TrustApp/./src/shared/components/toggle-switch/index.vue","webpack://TrustApp/./src/shared/components/popover/popover.html","webpack://TrustApp/./src/shared/components/popover/popover.ts","webpack://TrustApp/./src/shared/components/popover/index.vue","webpack://TrustApp/./src/trust-admin-app/components/help-edit-modal/help-edit-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/help-edit-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-data-pagesettings/trust-data-pagesettings.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-data-pagesettings/index.vue","webpack://TrustApp/./src/trust-admin-app/components/external-examiner-main/external-examiner-main.html","webpack://TrustApp/./src/trust-admin-app/components/external-examiner-main/external-examiner-main.ts","webpack://TrustApp/./src/trust-admin-app/components/external-examiner-main/index.vue","webpack://TrustApp/./src/trust-admin-app/components/external-examiner-dashboard/external-examiner-dashboard.html","webpack://TrustApp/./src/trust-admin-app/components/external-examiner-dashboard/view-terminate-practice-modal/view-terminate-practice-modal.html","webpack://TrustApp/./src/trust-admin-app/components/external-examiner-dashboard/view-terminate-practice-modal/view-terminate-practice-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/external-examiner-dashboard/view-terminate-practice-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/external-examiner-dashboard/add-appointed-practice-modal/add-appointed-practice-modal.html","webpack://TrustApp/./src/trust-admin-app/components/external-examiner-dashboard/add-appointed-practice-modal/add-appointed-practice-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/external-examiner-dashboard/add-appointed-practice-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/external-examiner-dashboard/external-examiner-dashboard.ts","webpack://TrustApp/./src/trust-admin-app/components/external-examiner-dashboard/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-trust-compliance/practice-trust-compliance.html","webpack://TrustApp/./src/trust-admin-app/components/dropdown-actions/dropdown-actions.html","webpack://TrustApp/./src/trust-admin-app/components/dropdown-actions/action-modal/action-modal.html","webpack://TrustApp/./src/trust-admin-app/components/dropdown-actions/action-modal/action-modal.ts","webpack://TrustApp/./src/trust-admin-app/components/dropdown-actions/action-modal/index.vue","webpack://TrustApp/./src/shared/components/additional-documents-modal/additional-documents-modal.html","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client/base.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client/apis/account-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client/apis/account-app-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client/apis/breach-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client/apis/calendar-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client/apis/code-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client/apis/compliance-form-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client/apis/config-trust-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client/apis/correspondence-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client/apis/investigation-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client/apis/notes-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client/apis/people-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client/apis/practice-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client/apis/report-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client/apis/statutory-deposit-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client/apis/sync-history-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client/apis/system-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client/apis/time-entry-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client/apis/trust-team-member-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client-v2/base.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client-v2/apis/account-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client-v2/apis/accounting-app-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client-v2/apis/calendar-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client-v2/apis/code-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client-v2/apis/compliance-form-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client-v2/apis/correspondence-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client-v2/apis/investigation-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client-v2/apis/notes-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client-v2/apis/people-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client-v2/apis/practice-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client-v2/apis/sync-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client-v2/apis/system-api.ts","webpack://TrustApp/./src/shared/modules/typescript-trust-ti-api-client-v2/apis/time-entry-api.ts","webpack://TrustApp/./src/shared/modules/trust-ti-api/index.ts","webpack://TrustApp/./src/trust-investigator-app/models/user.ts","webpack://TrustApp/./src/trust-investigator-app/modules/authentication/authentication-status.ts","webpack://TrustApp/./src/trust-investigator-app/models/token.ts","webpack://TrustApp/./src/trust-investigator-app/models/session.ts","webpack://TrustApp/./src/trust-investigator-app/models/authorized-user.ts","webpack://TrustApp/./src/trust-investigator-app/store/trust-member-store.module.ts","webpack://TrustApp/./src/trust-investigator-app/store/investigation-store-module.ts","webpack://TrustApp/./src/trust-investigator-app/store/account-app-store-module.ts","webpack://TrustApp/./src/trust-investigator-app/store/index.ts","webpack://TrustApp/./src/shared/components/additional-documents-modal/additional-documents-modal.ts","webpack://TrustApp/./src/shared/components/additional-documents-modal/index.vue","webpack://TrustApp/./src/trust-admin-app/components/dropdown-actions/dropdown-actions.ts","webpack://TrustApp/./src/trust-admin-app/components/dropdown-actions/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-trust-compliance/generate-nextyear-compliance-model/generate-nextyear-compliance-model.html","webpack://TrustApp/./src/trust-admin-app/components/practice-trust-compliance/generate-nextyear-compliance-model/generate-nextyear-compliance-model.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-trust-compliance/generate-nextyear-compliance-model/index.vue","webpack://TrustApp/./src/trust-admin-app/components/practice-trust-compliance/practice-trust-compliance.ts","webpack://TrustApp/./src/trust-admin-app/components/practice-trust-compliance/index.vue","webpack://TrustApp/./src/trust-admin-app/router/index.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-admin-rhs-header/application-menu/application-menu.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-admin-rhs-header/application-menu/index.vue","webpack://TrustApp/./src/trust-admin-app/components/trust-admin-rhs-header/account-info-panel/account-info-panel.ts","webpack://TrustApp/./src/trust-admin-app/components/trust-admin-rhs-header/account-info-panel/index.vue","webpack://TrustApp/./src/trust-atcs-app/modules/session/session.ts","webpack://TrustApp/./src/trust-atcs-app/modules/session/idle-session-manager.ts","webpack://TrustApp/./src/trust-atcs-app/components/atcs-main/atcs-main.ts","webpack://TrustApp/./src/trust-atcs-app/components/atcs-main/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/atcs-impersonate/atcs-impersonate.html","webpack://TrustApp/./src/trust-atcs-app/components/atcs-impersonate/atcs-impersonate.ts","webpack://TrustApp/./src/trust-atcs-app/components/atcs-impersonate/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/app-dashboard/app-dashboard.html","webpack://TrustApp/./src/trust-atcs-app/components/app-dashboard/app-dashboard.ts","webpack://TrustApp/./src/trust-atcs-app/components/app-dashboard/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-part-a/form-part-a.html","webpack://TrustApp/./src/trust-atcs-app/components/swipe-stepper/swipe-stepper.html","webpack://TrustApp/./src/trust-atcs-app/components/swipe-stepper/nav-step.ts","webpack://TrustApp/./src/trust-atcs-app/components/help-screen/help-screen.html","webpack://TrustApp/./src/trust-atcs-app/components/help-screen/help-screen.ts","webpack://TrustApp/./src/trust-atcs-app/components/help-screen/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/swipe-stepper/swipe-stepper.ts","webpack://TrustApp/./src/trust-atcs-app/components/swipe-stepper/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-part-a-confirmation/form-part-a-confirmation.html","webpack://TrustApp/./src/trust-atcs-app/components/form-part-a-confirmation/form-part-a-confirmation.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-part-a-confirmation/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-part-a-declaration/form-part-a-declaration.html","webpack://TrustApp/./src/trust-atcs-app/components/form-part-a-declaration/form-part-a-declaration.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-part-a-declaration/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-part-a-overview/form-part-a-overview.html","webpack://TrustApp/./src/trust-atcs-app/components/form-part-a-overview/form-part-a-overview.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-part-a-overview/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-part-a-practice-areas/form-part-a-practice-areas.html","webpack://TrustApp/./src/trust-atcs-app/components/questions/allocation-percentile/allocation-percentile.html","webpack://TrustApp/./src/trust-atcs-app/components/questions/percentile/percentile.html","webpack://TrustApp/./src/trust-atcs-app/components/questions/percentile/percentile.ts","webpack://TrustApp/./src/trust-atcs-app/components/questions/percentile/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/questions/allocation-percentile/allocation-percentile.ts","webpack://TrustApp/./src/trust-atcs-app/components/questions/allocation-percentile/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/questions/allocation-percentile-v2/allocation-percentile-v2.html","webpack://TrustApp/./src/trust-atcs-app/components/questions/text-and-percentile/text-and-percentile.html","webpack://TrustApp/./src/trust-atcs-app/components/questions/text-and-percentile/text-and-percentile.ts","webpack://TrustApp/./src/trust-atcs-app/components/questions/text-and-percentile/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/questions/question-type.ts","webpack://TrustApp/./src/trust-atcs-app/components/questions/allocation-percentile-v2/allocation-percentile-v2.ts","webpack://TrustApp/./src/trust-atcs-app/components/questions/allocation-percentile-v2/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-part-a-practice-areas/form-part-a-practice-areas.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-part-a-practice-areas/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-part-a-trust-account-details/form-part-a-trust-account-details.html","webpack://TrustApp/./src/trust-atcs-app/components/questions/radiobutton-horizontal/radiobutton-horizontal.html","webpack://TrustApp/./src/trust-atcs-app/components/questions/radiobutton-horizontal/radiobutton-horizontal.ts","webpack://TrustApp/./src/trust-atcs-app/components/questions/radiobutton-horizontal/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/questions/radiobutton-vertical/radiobutton-vertical.html","webpack://TrustApp/./src/trust-atcs-app/components/questions/radiobutton-vertical/radiobutton-vertical.ts","webpack://TrustApp/./src/trust-atcs-app/components/questions/radiobutton-vertical/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/questions/radiobutton-branchlist/radiobutton-branchlist.html","webpack://TrustApp/./src/trust-atcs-app/components/questions/radiobutton-branchlist/radiobutton-branchlist.ts","webpack://TrustApp/./src/trust-atcs-app/components/questions/radiobutton-branchlist/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/questions/multi-radioboxes/multi-radioboxes.html","webpack://TrustApp/./src/trust-atcs-app/components/questions/multi-radioboxes/multi-radioboxes.ts","webpack://TrustApp/./src/trust-atcs-app/components/questions/multi-radioboxes/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-part-a-trust-account-details/form-part-a-trust-account-details.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-part-a-trust-account-details/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-header/form-header.html","webpack://TrustApp/./src/trust-atcs-app/components/form-header/form-header.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-header/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-header-tc-note/form-header-tc-note.html","webpack://TrustApp/./src/trust-atcs-app/components/form-header-tc-note/form-header-tc-note.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-header-tc-note/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/session-expired-modal/session-expired-modal.html","webpack://TrustApp/./src/trust-atcs-app/components/session-expired-modal/session-expired-modal.ts","webpack://TrustApp/./src/trust-atcs-app/components/session-expired-modal/index.vue","webpack://TrustApp/./src/trust-atcs-app/store/useFormPartADataStore.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-part-a/form-part-a.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-part-a/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b/form-part-b.html","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-overview/form-part-b-overview.html","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-overview/form-part-b-overview.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-overview/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-trust-accounting-records/form-part-b-trust-accounting-records.html","webpack://TrustApp/./src/trust-atcs-app/components/questions/radiobutton-subquestions/radiobutton-subquestions.html","webpack://TrustApp/./src/trust-atcs-app/components/questions/radiobutton-subquestions/radiobutton-subquestions.ts","webpack://TrustApp/./src/trust-atcs-app/components/questions/radiobutton-subquestions/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/questions/dropdown-with-text/dropdown-with-text.html","webpack://TrustApp/./src/trust-atcs-app/components/questions/dropdown-with-text/dropdown-with-text.ts","webpack://TrustApp/./src/trust-atcs-app/components/questions/dropdown-with-text/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-trust-accounting-records/form-part-b-trust-accounting-records.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-trust-accounting-records/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-general-trust-money/form-part-b-general-trust-money.html","webpack://TrustApp/./src/trust-atcs-app/components/questions/bank-account/bank-account.html","webpack://TrustApp/./src/trust-atcs-app/components/questions/bank-account/bank-card/bank-card.html","webpack://TrustApp/./src/trust-atcs-app/components/questions/input-text-number-currency/input-text-number-currency.html","webpack://TrustApp/./src/shared/components/currency-input/index.vue","webpack://TrustApp/./src/shared/components/currency-input/index.vue?2e2b","webpack://TrustApp/./src/trust-atcs-app/components/questions/input-text-number-currency/input-text-number-currency.ts","webpack://TrustApp/./src/trust-atcs-app/components/questions/input-text-number-currency/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/questions/bank-account/add-bank-modal/add-bank-modal.html","webpack://TrustApp/./src/trust-atcs-app/components/questions/bank-account/add-bank-modal/add-bank-modal.ts","webpack://TrustApp/./src/trust-atcs-app/components/questions/bank-account/add-bank-modal/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/questions/bank-account/bank-card/bank-card.ts","webpack://TrustApp/./src/trust-atcs-app/components/questions/bank-account/bank-card/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/questions/bank-account/bank-card-v2/bank-card-v2.html","webpack://TrustApp/./src/trust-atcs-app/components/questions/bank-account/bank-card-v2/bank-card-v2.ts","webpack://TrustApp/./src/trust-atcs-app/components/questions/bank-account/bank-card-v2/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/questions/bank-account/bank-account.ts","webpack://TrustApp/./src/trust-atcs-app/components/questions/bank-account/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/questions/file-uploader/file-uploader.html","webpack://TrustApp/./src/trust-atcs-app/components/questions/file-uploader/file-uploader.ts","webpack://TrustApp/./src/trust-atcs-app/components/questions/file-uploader/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/questions/signatories/signatories.html","webpack://TrustApp/./src/trust-atcs-app/components/questions/signatories/signatory-card/signatory-card.html","webpack://TrustApp/./src/trust-atcs-app/components/questions/signatories/signatory-card/signatory-card.ts","webpack://TrustApp/./src/trust-atcs-app/components/questions/signatories/signatory-card/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/questions/signatories/signatories.ts","webpack://TrustApp/./src/trust-atcs-app/components/questions/signatories/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/questions/radiobutton-with-files/radiobutton-with-files.html","webpack://TrustApp/./src/trust-atcs-app/components/questions/radiobutton-with-files/radiobutton-with-files.ts","webpack://TrustApp/./src/trust-atcs-app/components/questions/radiobutton-with-files/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-general-trust-money/form-part-b-general-trust-money.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-general-trust-money/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-controlled-money/form-part-b-controlled-money.html","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-controlled-money/form-part-b-controlled-money.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-controlled-money/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-specific-power-money/form-part-b-specific-power-money.html","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-specific-power-money/form-part-b-specific-power-money.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-specific-power-money/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-investment-money/form-part-b-investment-money.html","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-investment-money/form-part-b-investment-money.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-investment-money/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-other-information/form-part-b-other-information.html","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-other-information/form-part-b-other-information.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-other-information/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-declaration/form-part-b-declaration.html","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-declaration/form-part-b-declaration.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-declaration/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-confirmation/form-part-b-confirmation.html","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-confirmation/form-part-b-confirmation.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b-confirmation/index.vue","webpack://TrustApp/./src/trust-atcs-app/store/useFormPartBDataStore.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b/form-part-b.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-part-b/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-eer/form-eer.html","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-overview/form-eer-overview.html","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-overview/form-eer-overview.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-overview/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-general-trust-money/form-eer-general-trust-money.html","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-general-trust-money/form-eer-general-trust-money.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-general-trust-money/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-controlled-money/form-eer-controlled-money.html","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-controlled-money/form-eer-controlled-money.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-controlled-money/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-specific-power-money/form-eer-specific-power-money.html","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-specific-power-money/form-eer-specific-power-money.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-specific-power-money/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-investment-money/form-eer-investment-money.html","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-investment-money/form-eer-investment-money.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-investment-money/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-other-information/form-eer-other-information.html","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-other-information/form-eer-other-information.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-other-information/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-declaration/form-eer-declaration.html","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-declaration/form-eer-declaration.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-declaration/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-confirmation/form-eer-confirmation.html","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-confirmation/form-eer-confirmation.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-confirmation/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-breaches/form-eer-breaches.html","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-breaches/add-breaches-modal/add-breaches-modal.html","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-breaches/add-breaches-modal/add-breaches-modal.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-breaches/add-breaches-modal/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-breaches/form-eer-breaches.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-eer-breaches/index.vue","webpack://TrustApp/./src/trust-atcs-app/store/useFormEerDataStore.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-eer/form-eer.ts","webpack://TrustApp/./src/trust-atcs-app/components/form-eer/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/ee-signup/ee-signup.html","webpack://TrustApp/./src/trust-atcs-app/components/ee-dashboard/ee-dashboard.html","webpack://TrustApp/./src/trust-atcs-app/components/practice-card/practice-card.html","webpack://TrustApp/./src/trust-atcs-app/components/appoint-coordinator/appoint-coordinator.html","webpack://TrustApp/./src/trust-atcs-app/components/appoint-coordinator/appoint-coordinator.ts","webpack://TrustApp/./src/trust-atcs-app/components/appoint-coordinator/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/assign-trustcontact/assign-trustcontact.html","webpack://TrustApp/./src/trust-atcs-app/components/assign-trustcontact/assign-trustcontact.ts","webpack://TrustApp/./src/trust-atcs-app/components/assign-trustcontact/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/appoint-terminate-ee-request/appoint-terminate-ee-request.html","webpack://TrustApp/./src/trust-atcs-app/components/appoint-terminate-ee-request/appoint-terminate-ee-request.ts","webpack://TrustApp/./src/trust-atcs-app/components/appoint-terminate-ee-request/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/access-denied-modal/access-denied-modal.html","webpack://TrustApp/./src/trust-atcs-app/components/access-denied-modal/access-denied-modal.ts","webpack://TrustApp/./src/trust-atcs-app/components/access-denied-modal/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/action-modal/action-modal.html","webpack://TrustApp/./src/trust-atcs-app/components/action-modal/action-modal.ts","webpack://TrustApp/./src/trust-atcs-app/components/action-modal/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/loggedin-elsewhere-modal/loggedin-elsewhere-modal.html","webpack://TrustApp/./src/trust-atcs-app/components/loggedin-elsewhere-modal/loggedin-elsewhere-modal.ts","webpack://TrustApp/./src/trust-atcs-app/components/loggedin-elsewhere-modal/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/practice-card/practice-card.ts","webpack://TrustApp/./src/trust-atcs-app/components/practice-card/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/multi-select-filter-status/multi-select-filter-status.html","webpack://TrustApp/./src/trust-atcs-app/components/multi-select-filter-status/multi-select-filter-status.ts","webpack://TrustApp/./src/trust-atcs-app/components/multi-select-filter-status/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/multi-select-filter-years/multi-select-filter-years.html","webpack://TrustApp/./src/trust-atcs-app/components/multi-select-filter-years/multi-select-filter-years.ts","webpack://TrustApp/./src/trust-atcs-app/components/multi-select-filter-years/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/ee-dashboard/update-ee-modal/update-ee-modal.html","webpack://TrustApp/./src/trust-atcs-app/components/ee-dashboard/update-ee-modal/update-ee-modal.ts","webpack://TrustApp/./src/trust-atcs-app/components/ee-dashboard/update-ee-modal/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/ee-dashboard/ee-dashboard.ts","webpack://TrustApp/./src/trust-atcs-app/components/ee-dashboard/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/ee-signup/ee-signup.ts","webpack://TrustApp/./src/trust-atcs-app/components/ee-signup/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/atcs-dashboard/atcs-dashboard.html","webpack://TrustApp/./src/trust-atcs-app/components/atcs-dashboard/atcs-dashboard.ts","webpack://TrustApp/./src/trust-atcs-app/components/atcs-dashboard/index.vue","webpack://TrustApp/./src/trust-atcs-app/components/ee-inactive/ee-inactive.html","webpack://TrustApp/./src/trust-atcs-app/components/ee-inactive/ee-inactive.ts","webpack://TrustApp/./src/trust-atcs-app/components/ee-inactive/index.vue","webpack://TrustApp/./src/trust-atcs-app/router/index.ts","webpack://TrustApp/./src/trust-atcs-app/main.ts","webpack://TrustApp/webpack/bootstrap","webpack://TrustApp/webpack/runtime/chunk loaded","webpack://TrustApp/webpack/runtime/compat get default export","webpack://TrustApp/webpack/runtime/define property getters","webpack://TrustApp/webpack/runtime/global","webpack://TrustApp/webpack/runtime/hasOwnProperty shorthand","webpack://TrustApp/webpack/runtime/node module decorator","webpack://TrustApp/webpack/runtime/publicPath","webpack://TrustApp/webpack/runtime/jsonp chunk loading","webpack://TrustApp/webpack/startup"],"sourcesContent":["var map = {\n\t\"./af\": 5177,\n\t\"./af.js\": 5177,\n\t\"./ar\": 1509,\n\t\"./ar-dz\": 1488,\n\t\"./ar-dz.js\": 1488,\n\t\"./ar-kw\": 8676,\n\t\"./ar-kw.js\": 8676,\n\t\"./ar-ly\": 2353,\n\t\"./ar-ly.js\": 2353,\n\t\"./ar-ma\": 4496,\n\t\"./ar-ma.js\": 4496,\n\t\"./ar-sa\": 2682,\n\t\"./ar-sa.js\": 2682,\n\t\"./ar-tn\": 9756,\n\t\"./ar-tn.js\": 9756,\n\t\"./ar.js\": 1509,\n\t\"./az\": 5533,\n\t\"./az.js\": 5533,\n\t\"./be\": 8959,\n\t\"./be.js\": 8959,\n\t\"./bg\": 7777,\n\t\"./bg.js\": 7777,\n\t\"./bm\": 4903,\n\t\"./bm.js\": 4903,\n\t\"./bn\": 1290,\n\t\"./bn-bd\": 7357,\n\t\"./bn-bd.js\": 7357,\n\t\"./bn.js\": 1290,\n\t\"./bo\": 1545,\n\t\"./bo.js\": 1545,\n\t\"./br\": 1470,\n\t\"./br.js\": 1470,\n\t\"./bs\": 4429,\n\t\"./bs.js\": 4429,\n\t\"./ca\": 7306,\n\t\"./ca.js\": 7306,\n\t\"./cs\": 6464,\n\t\"./cs.js\": 6464,\n\t\"./cv\": 3635,\n\t\"./cv.js\": 3635,\n\t\"./cy\": 4226,\n\t\"./cy.js\": 4226,\n\t\"./da\": 3601,\n\t\"./da.js\": 3601,\n\t\"./de\": 7853,\n\t\"./de-at\": 6111,\n\t\"./de-at.js\": 6111,\n\t\"./de-ch\": 4697,\n\t\"./de-ch.js\": 4697,\n\t\"./de.js\": 7853,\n\t\"./dv\": 708,\n\t\"./dv.js\": 708,\n\t\"./el\": 4691,\n\t\"./el.js\": 4691,\n\t\"./en-au\": 3872,\n\t\"./en-au.js\": 3872,\n\t\"./en-ca\": 8298,\n\t\"./en-ca.js\": 8298,\n\t\"./en-gb\": 6195,\n\t\"./en-gb.js\": 6195,\n\t\"./en-ie\": 6584,\n\t\"./en-ie.js\": 6584,\n\t\"./en-il\": 5543,\n\t\"./en-il.js\": 5543,\n\t\"./en-in\": 9033,\n\t\"./en-in.js\": 9033,\n\t\"./en-nz\": 9402,\n\t\"./en-nz.js\": 9402,\n\t\"./en-sg\": 3004,\n\t\"./en-sg.js\": 3004,\n\t\"./eo\": 2934,\n\t\"./eo.js\": 2934,\n\t\"./es\": 7650,\n\t\"./es-do\": 838,\n\t\"./es-do.js\": 838,\n\t\"./es-mx\": 7730,\n\t\"./es-mx.js\": 7730,\n\t\"./es-us\": 6575,\n\t\"./es-us.js\": 6575,\n\t\"./es.js\": 7650,\n\t\"./et\": 3035,\n\t\"./et.js\": 3035,\n\t\"./eu\": 3508,\n\t\"./eu.js\": 3508,\n\t\"./fa\": 119,\n\t\"./fa.js\": 119,\n\t\"./fi\": 527,\n\t\"./fi.js\": 527,\n\t\"./fil\": 5995,\n\t\"./fil.js\": 5995,\n\t\"./fo\": 2477,\n\t\"./fo.js\": 2477,\n\t\"./fr\": 5498,\n\t\"./fr-ca\": 6435,\n\t\"./fr-ca.js\": 6435,\n\t\"./fr-ch\": 7892,\n\t\"./fr-ch.js\": 7892,\n\t\"./fr.js\": 5498,\n\t\"./fy\": 7071,\n\t\"./fy.js\": 7071,\n\t\"./ga\": 1734,\n\t\"./ga.js\": 1734,\n\t\"./gd\": 217,\n\t\"./gd.js\": 217,\n\t\"./gl\": 7329,\n\t\"./gl.js\": 7329,\n\t\"./gom-deva\": 2124,\n\t\"./gom-deva.js\": 2124,\n\t\"./gom-latn\": 3383,\n\t\"./gom-latn.js\": 3383,\n\t\"./gu\": 5050,\n\t\"./gu.js\": 5050,\n\t\"./he\": 1713,\n\t\"./he.js\": 1713,\n\t\"./hi\": 3861,\n\t\"./hi.js\": 3861,\n\t\"./hr\": 6308,\n\t\"./hr.js\": 6308,\n\t\"./hu\": 609,\n\t\"./hu.js\": 609,\n\t\"./hy-am\": 7160,\n\t\"./hy-am.js\": 7160,\n\t\"./id\": 4063,\n\t\"./id.js\": 4063,\n\t\"./is\": 9374,\n\t\"./is.js\": 9374,\n\t\"./it\": 8383,\n\t\"./it-ch\": 1827,\n\t\"./it-ch.js\": 1827,\n\t\"./it.js\": 8383,\n\t\"./ja\": 3827,\n\t\"./ja.js\": 3827,\n\t\"./jv\": 9722,\n\t\"./jv.js\": 9722,\n\t\"./ka\": 1794,\n\t\"./ka.js\": 1794,\n\t\"./kk\": 7088,\n\t\"./kk.js\": 7088,\n\t\"./km\": 6870,\n\t\"./km.js\": 6870,\n\t\"./kn\": 4451,\n\t\"./kn.js\": 4451,\n\t\"./ko\": 3164,\n\t\"./ko.js\": 3164,\n\t\"./ku\": 8174,\n\t\"./ku.js\": 8174,\n\t\"./ky\": 8474,\n\t\"./ky.js\": 8474,\n\t\"./lb\": 9680,\n\t\"./lb.js\": 9680,\n\t\"./lo\": 5867,\n\t\"./lo.js\": 5867,\n\t\"./lt\": 5766,\n\t\"./lt.js\": 5766,\n\t\"./lv\": 9532,\n\t\"./lv.js\": 9532,\n\t\"./me\": 8076,\n\t\"./me.js\": 8076,\n\t\"./mi\": 1848,\n\t\"./mi.js\": 1848,\n\t\"./mk\": 306,\n\t\"./mk.js\": 306,\n\t\"./ml\": 3739,\n\t\"./ml.js\": 3739,\n\t\"./mn\": 9053,\n\t\"./mn.js\": 9053,\n\t\"./mr\": 6169,\n\t\"./mr.js\": 6169,\n\t\"./ms\": 3386,\n\t\"./ms-my\": 2297,\n\t\"./ms-my.js\": 2297,\n\t\"./ms.js\": 3386,\n\t\"./mt\": 7075,\n\t\"./mt.js\": 7075,\n\t\"./my\": 2264,\n\t\"./my.js\": 2264,\n\t\"./nb\": 2274,\n\t\"./nb.js\": 2274,\n\t\"./ne\": 8235,\n\t\"./ne.js\": 8235,\n\t\"./nl\": 2572,\n\t\"./nl-be\": 3784,\n\t\"./nl-be.js\": 3784,\n\t\"./nl.js\": 2572,\n\t\"./nn\": 4566,\n\t\"./nn.js\": 4566,\n\t\"./oc-lnc\": 9330,\n\t\"./oc-lnc.js\": 9330,\n\t\"./pa-in\": 9849,\n\t\"./pa-in.js\": 9849,\n\t\"./pl\": 4418,\n\t\"./pl.js\": 4418,\n\t\"./pt\": 9834,\n\t\"./pt-br\": 8303,\n\t\"./pt-br.js\": 8303,\n\t\"./pt.js\": 9834,\n\t\"./ro\": 4457,\n\t\"./ro.js\": 4457,\n\t\"./ru\": 2271,\n\t\"./ru.js\": 2271,\n\t\"./sd\": 1221,\n\t\"./sd.js\": 1221,\n\t\"./se\": 3478,\n\t\"./se.js\": 3478,\n\t\"./si\": 7538,\n\t\"./si.js\": 7538,\n\t\"./sk\": 5784,\n\t\"./sk.js\": 5784,\n\t\"./sl\": 6637,\n\t\"./sl.js\": 6637,\n\t\"./sq\": 6794,\n\t\"./sq.js\": 6794,\n\t\"./sr\": 5719,\n\t\"./sr-cyrl\": 3322,\n\t\"./sr-cyrl.js\": 3322,\n\t\"./sr.js\": 5719,\n\t\"./ss\": 6000,\n\t\"./ss.js\": 6000,\n\t\"./sv\": 1011,\n\t\"./sv.js\": 1011,\n\t\"./sw\": 748,\n\t\"./sw.js\": 748,\n\t\"./ta\": 1025,\n\t\"./ta.js\": 1025,\n\t\"./te\": 1885,\n\t\"./te.js\": 1885,\n\t\"./tet\": 8861,\n\t\"./tet.js\": 8861,\n\t\"./tg\": 6571,\n\t\"./tg.js\": 6571,\n\t\"./th\": 5802,\n\t\"./th.js\": 5802,\n\t\"./tk\": 9527,\n\t\"./tk.js\": 9527,\n\t\"./tl-ph\": 9231,\n\t\"./tl-ph.js\": 9231,\n\t\"./tlh\": 1052,\n\t\"./tlh.js\": 1052,\n\t\"./tr\": 5096,\n\t\"./tr.js\": 5096,\n\t\"./tzl\": 9846,\n\t\"./tzl.js\": 9846,\n\t\"./tzm\": 1765,\n\t\"./tzm-latn\": 7711,\n\t\"./tzm-latn.js\": 7711,\n\t\"./tzm.js\": 1765,\n\t\"./ug-cn\": 8414,\n\t\"./ug-cn.js\": 8414,\n\t\"./uk\": 6618,\n\t\"./uk.js\": 6618,\n\t\"./ur\": 158,\n\t\"./ur.js\": 158,\n\t\"./uz\": 7609,\n\t\"./uz-latn\": 2475,\n\t\"./uz-latn.js\": 2475,\n\t\"./uz.js\": 7609,\n\t\"./vi\": 1135,\n\t\"./vi.js\": 1135,\n\t\"./x-pseudo\": 4051,\n\t\"./x-pseudo.js\": 4051,\n\t\"./yo\": 2218,\n\t\"./yo.js\": 2218,\n\t\"./zh-cn\": 2648,\n\t\"./zh-cn.js\": 2648,\n\t\"./zh-hk\": 1632,\n\t\"./zh-hk.js\": 1632,\n\t\"./zh-mo\": 1541,\n\t\"./zh-mo.js\": 1541,\n\t\"./zh-tw\": 304,\n\t\"./zh-tw.js\": 304\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 5358;","import { resolveComponent as _resolveComponent, createVNode as _createVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport function render(_ctx, _cache) {\n const _component_SnackBar = _resolveComponent(\"SnackBar\")\n const _component_ConfirmDialogue = _resolveComponent(\"ConfirmDialogue\")\n const _component_router_view = _resolveComponent(\"router-view\")\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_SnackBar, { store: _ctx.store }, null, 8, [\"store\"]),\n _createVNode(_component_ConfirmDialogue, {\n ref: \"confirmResubmitRequest\",\n modalOpened: true\n }, null, 512),\n _createVNode(_component_router_view)\n ], 64))\n}","export function localUrl(): string {\n const result = window.location.href.split('/');\n return result[0] + '//' + result[2] + '/';\n}\n\nexport const APP_INSIGHT_CS: string = process.env.VUE_APP_INSIGHT_CS as string;\nexport const TOKEN_URL: string = process.env.VUE_APP_TOKEN_URL as string;\nexport const API_URL: string = process.env.VUE_APP_API_URL as string;\nexport const IDLE_TIMEOUT: number = parseInt(process.env.VUE_APP_IDLE_TIMEOUT, 10);\nexport const TOKEN_REFRESH_TIME: number = parseInt(process.env.VUE_APP_TOKEN_REFRESH_TIME, 10);\nexport const SELF_URL: string = localUrl();\n\nexport const SOURCE_BRANCH: string = process.env.VUE_APP_SOURCE_BRANCH as string;\n","\nexport class User {\n constructor(\n public adminCommitteeIds: number[] = [],\n public externalId: string = '',\n public email: string = '',\n public firstName: string = '',\n public lastName: string = '',\n public title: string = '',\n public userName: string = '',\n public lawId: string = '',\n public isMember: boolean = false,\n public isPcHolder: boolean = false,\n public isPrincipal: boolean = false,\n public isTester: boolean = false,\n public isExternalExaminer: boolean = false,\n public isTrustContact: boolean = false,\n public isTrustCoordinator: boolean = false,\n public securityGroups: string = '',\n public roles: Role[] = [],\n public impersonatedLawId: string = '',\n public originalDisplayName: string = '',\n public originalFirstName: string = '',\n public originalLastName: string = '',\n public originalLawId: string = '',\n public lawIdUserTypeId: number = 0,\n public isInactiveExternalExaminer: boolean = false,\n ) { }\n}\n\nexport type Role = RoleType.Tester | RoleType.Principal | RoleType.TrustContact |\n RoleType.TrustCoordinators | RoleType.KeyContact | RoleType.ExternalExaminer | RoleType.ToBeExternalExaminer;\n\nexport enum RoleType {\n\n // Impersonate\n Tester = 'Tester',\n\n // Dashboard\n Principal = 'Principal',\n TrustCoordinators = 'TrustCoordinators',\n KeyContact = 'KeyContact',\n\n // EE Dashboard\n ExternalExaminer = 'ExternalExaminer',\n ToBeExternalExaminer = 'ToBeExternalExaminer',\n TrustContact = 'TrustContact',\n\n}\n\nexport type LawIDUser = LawIDUserType.PrincipalTrustCoordinatorTrustContact | LawIDUserType.ExternalExaminer | LawIDUserType.ToBeExternalExaminer;\n\nexport enum LawIDUserType {\n PrincipalTrustCoordinatorTrustContact = 1,\n ExternalExaminer = 2,\n ToBeExternalExaminer = 3,\n}\n","export type AuthenticationStatus = AuthenticationStatusType.Unknown | AuthenticationStatusType.NotLogin |\n AuthenticationStatusType.LoggedIn | AuthenticationStatusType.AppAccessPermitted |\n AuthenticationStatusType.AppAccessDenied;\n\nexport enum AuthenticationStatusType {\n Unknown,\n NotLogin,\n LoggedIn,\n AppAccessDenied,\n AppAccessPermitted,\n}\n","export class Token {\n constructor(\n public clientId: number | null = null,\n public tokenStr: string | null = null,\n public userId: number | null = null\n ) {\n }\n}\n","export class Session {\n\n constructor(\n public issued: number = 0,\n public expires: number = 0,\n ) {}\n\n public hasExpired(): boolean {\n return Math.round(new Date().getTime() / 1000) >= this.expires;\n }\n}\n","import { User } from './user'\nimport { Token } from './token'\nimport { AuthenticationStatus, AuthenticationStatusType } from '../modules/authentication/authentication-status'\nimport { Session } from './session'\n\nexport class AuthorizedUser {\n constructor(\n public user: User = new User(),\n public token: Token = new Token(),\n public session: Session = new Session(),\n public authenticationStatus: AuthenticationStatus = AuthenticationStatusType.Unknown\n ) { }\n}","export interface Url {\n Token: string;\n Login: string;\n Logout: string;\n PowerBIComplaints: string;\n PowerBIInhabitRedflag: string;\n PowerBIHestoricalInvestigation: string;\n}\n\nexport const Url: Url = {\n Token: 'token',\n Login: 'login',\n Logout: 'logout',\n PowerBIComplaints: 'https://app.powerbi.com/groups/me/apps/b8c80efa-f778-43ac-8962-12c49b4ac7fd/instances/5233054',\n PowerBIInhabitRedflag: 'https://app.powerbi.com/groups/me/apps/b8c80efa-f778-43ac-8962-12c49b4ac7fd/instances/5233054',\n PowerBIHestoricalInvestigation: 'https://app.powerbi.com/groups/me/apps/b8c80efa-f778-43ac-8962-12c49b4ac7fd/instances/5233054'\n};\n","import { AuthorizedUser } from '../../models/authorized-user';\nimport globalAxios, { AxiosInstance, AxiosResponse } from 'axios';\nimport * as HttpStatus from 'http-status-codes';\nimport { AuthenticationStatus, AuthenticationStatusType } from './authentication-status';\nimport { SELF_URL } from '../../config/config';\nimport { Url } from '../../config/url'\nimport { RoleType } from '@/trust-atcs-app/models/user';\n\nexport default class AuthenticationService {\n\n private options = {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n };\n\n constructor(\n public authedUser: AuthorizedUser = new AuthorizedUser(),\n public axios: AxiosInstance = globalAxios\n ) { }\n\n // public async impersonatePractitioner(lawId: string): Promise {\n // console.log('impersonating user .................')\n // let tokenResp: AxiosResponse;\n\n // try {\n // tokenResp = await this.axios.get(SELF_URL + Url.Token + '/' + lawId);\n\n // try {\n // this.authedUser.token.tokenStr = tokenResp.data.token;\n // this.authedUser.token.clientId = tokenResp.data.clientId;\n // this.authedUser.token.userId = tokenResp.data.userId;\n // this.authedUser.user.email = tokenResp.data.user.email;\n // this.authedUser.user.externalId = tokenResp.data.user.externalId;\n // this.authedUser.user.firstName = tokenResp.data.user.firstName;\n // this.authedUser.user.lastName = tokenResp.data.user.lastName;\n // this.authedUser.user.lawId = tokenResp.data.user.lawId;\n // this.authedUser.user.userName = tokenResp.data.user.lawId;\n // this.authedUser.user.title = tokenResp.data.user.title;\n // this.authedUser.user.isMember = tokenResp.data.user.isMember;\n // this.authedUser.user.isPcHolder = tokenResp.data.user.isPcHolder;\n // this.authedUser.user.roles = tokenResp.data.user.roles;\n // this.authedUser.user.impersonatedLawId = tokenResp.data.user.impersonatedLawId;\n // this.authedUser.session.issued = Math.round(new Date(tokenResp.data['issued']).getTime() / 1000);\n // this.authedUser.session.expires = Math.round(new Date(tokenResp.data['expires']).getTime() / 1000);\n\n // return Promise.resolve(true);\n // } catch (err) {\n // return Promise.reject(false);\n // }\n\n // } catch (err: any) {\n // return Promise.reject(false);\n // }\n // }\n\n public async checkAuthentication(impersonatedLawId: string = null as any): Promise {\n console.log('checking authentication .................')\n let tokenResp: AxiosResponse;\n\n try {\n if (impersonatedLawId != null) {\n tokenResp = await this.axios.get(SELF_URL + Url.Token + '/' + impersonatedLawId);\n } else {\n tokenResp = await this.axios.get(SELF_URL + Url.Token);\n }\n\n\n \n\n\n try {\n this.authedUser.token.tokenStr = tokenResp.data.token;\n this.authedUser.token.clientId = tokenResp.data.clientId;\n this.authedUser.token.userId = tokenResp.data.userId;\n this.authedUser.user.email = tokenResp.data.user.email;\n this.authedUser.user.externalId = tokenResp.data.user.externalId;\n this.authedUser.user.firstName = tokenResp.data.user.firstName;\n this.authedUser.user.lastName = tokenResp.data.user.lastName;\n this.authedUser.user.lawId = tokenResp.data.user.lawId;\n this.authedUser.user.userName = tokenResp.data.user.lawId;\n this.authedUser.user.title = tokenResp.data.user.title;\n // this.authedUser.user.isMember = tokenResp.data.user.isMember;\n // this.authedUser.user.isPcHolder = tokenResp.data.user.isPcHolder;\n\n // const testerRoleOnly = tokenResp.data.user.roles.filter((role: RoleType) => role == RoleType.Tester);\n // const noneTesterRole = tokenResp.data.user.roles.filter((role: RoleType) => role != RoleType.Tester);\n\n // if (tokenResp.data.user.impersonatedLawId) {\n // this.authedUser.user.roles = noneTesterRole;\n // } else if (tokenResp.data.user.roles.includes(RoleType.Tester)) {\n // this.authedUser.user.roles = testerRoleOnly;\n // } else {\n // this.authedUser.user.roles = tokenResp.data.user.roles;\n // }\n\n this.authedUser.user.roles = tokenResp.data.user.roles;\n this.authedUser.session.issued = Math.round(new Date(tokenResp.data['issued']).getTime() / 1000);\n this.authedUser.session.expires = Math.round(new Date(tokenResp.data['expires']).getTime() / 1000);\n\n this.authedUser.user.impersonatedLawId = tokenResp.data.user.impersonatedLawId;\n this.authedUser.user.originalDisplayName = tokenResp.data.user.originalDisplayName;\n this.authedUser.user.originalFirstName = tokenResp.data.user.originalFirstName;\n this.authedUser.user.originalLastName = tokenResp.data.user.originalLastName;\n this.authedUser.user.originalLawId = tokenResp.data.user.originalLawId;\n this.authedUser.user.isTester = tokenResp.data.isTester;\n this.authedUser.user.isPrincipal = tokenResp.data.isPrincipal;\n this.authedUser.user.isMember = tokenResp.data.isMember;\n this.authedUser.user.isPcHolder = tokenResp.data.isPcHolder;\n this.authedUser.user.isExternalExaminer = tokenResp.data.isExternalExaminer;\n this.authedUser.user.isTrustContact = tokenResp.data.isTrustContact;\n this.authedUser.user.isTrustCoordinator = tokenResp.data.isTrustCoordinator;\n this.authedUser.user.lawIdUserTypeId = tokenResp.data.user.lawIdUserTypeId;\n this.authedUser.user.isInactiveExternalExaminer = tokenResp.data.user.isInactiveExternalExaminer;\n\n if (tokenResp.data.token) {\n this.authedUser.authenticationStatus = AuthenticationStatusType.LoggedIn;\n return Promise.resolve(AuthenticationStatusType.LoggedIn);\n } else {\n this.authedUser.authenticationStatus = AuthenticationStatusType.Unknown;\n return Promise.reject(AuthenticationStatusType.Unknown);\n }\n } catch (err) {\n this.authedUser.authenticationStatus = AuthenticationStatusType.Unknown;\n return Promise.reject(AuthenticationStatusType.Unknown);\n }\n\n } catch (err: any) {\n if (err.response.status === HttpStatus.UNAUTHORIZED ||\n err.response.status === HttpStatus.FORBIDDEN) {\n this.authedUser.authenticationStatus = AuthenticationStatusType.NotLogin;\n return Promise.reject(AuthenticationStatusType.NotLogin);\n } else {\n this.authedUser.authenticationStatus = AuthenticationStatusType.Unknown;\n return Promise.reject(AuthenticationStatusType.Unknown);\n }\n }\n }\n}\n","import { Module } from \"vuex\";\n\nconst snackBarStoreModule: Module = {\n state: {\n snackbar: []\n },\n mutations: {\n setSnackbar(state, sb) {\n state.snackbar = sb;\n }\n },\n actions: {\n setSnackbar({ commit }, sb) {\n commit('setSnackbar', sb);\n }\n },\n getters: {\n getSnackbar: (state) => state.snackbar\n }\n}\nexport default snackBarStoreModule;","import { Module } from \"vuex\";\n\nconst popOverStoreModule: Module = {\n state: {\n popovers: []\n },\n mutations: {\n setPopovers(state, p) {\n state.popovers = p;\n // window.sessionStorage.setItem('popovers', JSON.stringify(p));\n }\n },\n actions: {\n setPopovers({ commit }, p) {\n commit('setPopovers', p);\n }\n },\n getters: {\n getPopovers: (state) => state.popovers\n }\n}\nexport default popOverStoreModule;","import { ComplianceForm } from '@/shared/modules/typescript-trustapi-client/models';\nimport { Module } from \"vuex\";\n\nconst complianceFormStoreModule: Module = {\n state: {\n selectedComplianceFormA: null,\n selectedComplianceFormB: null,\n selectedComplianceFormEER: null,\n formUpdatingkey: sessionStorage.getItem('formUpdatingkey') || null,\n },\n mutations: {\n setSelectedComplianceFormA(state, i: ComplianceForm) {\n state.selectedComplianceFormA = i;\n },\n setSelectedComplianceFormB(state, i: ComplianceForm) {\n state.selectedComplianceFormB = i;\n },\n setSelectedComplianceFormEER(state, i: ComplianceForm) {\n state.selectedComplianceFormEER = i;\n },\n setFormUpdatingkey(state, i: string) {\n sessionStorage.setItem('formUpdatingkey', i);\n state.formUpdatingkey = i;\n }\n },\n actions: {\n setSelectedComplianceFormA({ commit }, i: ComplianceForm) {\n commit('setSelectedComplianceFormA', i);\n },\n setSelectedComplianceFormB({ commit }, i: ComplianceForm) {\n commit('setSelectedComplianceFormB', i);\n },\n setSelectedComplianceFormEER({ commit }, i: ComplianceForm) {\n commit('setSelectedComplianceFormEER', i);\n },\n setFormUpdatingkey({ commit }, i: string) {\n commit('setFormUpdatingkey', i);\n }\n },\n getters: {\n getSelectedComplianceFormA: (state) => state.selectedComplianceFormA,\n getSelectedComplianceFormB: (state) => state.selectedComplianceFormB,\n getSelectedComplianceFormEER: (state) => state.selectedComplianceFormEER,\n getFormUpdatingKey: (state) => state.formUpdatingkey,\n }\n}\nexport default complianceFormStoreModule;\n","import { createStore } from 'vuex';\nimport { EventEmitter } from 'events';\nimport { AuthorizedUser } from '../models/authorized-user';\nimport snackBarStoreModule from '@/shared/components/snackbar/snack-bar-store-module';\nimport popOverStoreModule from '@/shared/components/popover/popover-store-module';\nimport complianceFormStoreModule from './compliance-form-store-module';\n\nexport default createStore({\n modules: {\n popOverStoreModule,\n snackBarStoreModule,\n complianceFormStoreModule,\n },\n state: {\n authorizedUser: new AuthorizedUser(),\n eventController: new EventEmitter(),\n },\n mutations: {\n setUserAccount(state, authorizedUser: AuthorizedUser) {\n state.authorizedUser = authorizedUser;\n },\n },\n actions: { // store.dispatch\n setUserAccount({ commit }, authorizedUser: AuthorizedUser) {\n commit('setAuthorizedUser', authorizedUser);\n }\n },\n getters: {\n getUserAccount: (state) => state.authorizedUser,\n getEventController: (state) => state.eventController,\n }\n})\n","import { LawIDUserType, Role, RoleType } from \"../models/user\";\nexport interface RouteData {\n n: string;\n p: string;\n r?: RoleType[];\n lt?: LawIDUserType[];\n}\nexport interface RouteName {\n NoAccess: RouteData;\n ATCS: ATCSRouteName;\n}\n\nexport interface ATCSRouteName {\n Home: RouteData;\n LoginPage: RouteData;\n LogoutPage: RouteData;\n Main: RouteData;\n ImpersonateUser: RouteData;\n DashboardMain: RouteData;\n DashboardHome: RouteData;\n FormPartA: RouteData;\n FormPartB: RouteData;\n FormEer: RouteData;\n EEHome: RouteData;\n EESignUp: RouteData;\n EEInactive: RouteData;\n}\n\nexport const RouteN: RouteName = {\n NoAccess: { n: 'no-access', p: '/no-access' },\n ATCS: {\n Home: { n: 'Home', p: '/home' },\n LoginPage: { n: 'login', p: '/check-auth' },\n LogoutPage: { n: 'logout', p: '/signout' },\n Main: {\n n: 'atcs-home',\n p: '/',\n lt: [\n LawIDUserType.PrincipalTrustCoordinatorTrustContact,\n LawIDUserType.ExternalExaminer,\n LawIDUserType.ToBeExternalExaminer,\n ]\n },\n ImpersonateUser: {\n n: 'atcs-impersondate-user',\n p: '/impersondate-user',\n r: []\n },\n DashboardMain: {\n n: 'atcs-dashboard-main',\n p: '/dashboard',\n lt: [\n LawIDUserType.PrincipalTrustCoordinatorTrustContact,\n LawIDUserType.ExternalExaminer,\n LawIDUserType.ToBeExternalExaminer,\n ]\n },\n DashboardHome: {\n n: 'atcs-dashboard',\n p: '/dashboard/home',\n },\n FormPartA: {\n n: 'atcs-form-part-a',\n p: '/form-part-a'\n },\n FormPartB: {\n n: 'atcs-form-part-b',\n p: '/form-part-b'\n },\n FormEer: {\n n: 'atcs-form-eer',\n p: '/form-eer'\n },\n EEHome: {\n n: 'atcs-ee-home',\n p: '/dashboard/ee-home',\n lt: [\n LawIDUserType.ExternalExaminer,\n LawIDUserType.ToBeExternalExaminer,\n ]\n },\n EESignUp: {\n n: 'atcs-ee-signup',\n p: '/dashboard/ee-signup',\n lt: [\n LawIDUserType.ToBeExternalExaminer,\n ]\n },\n EEInactive: {\n n: 'atcs-ee-inactive',\n p: '/dashboard/ee-inactive',\n }\n \n }\n};\n","import { createElementVNode as _createElementVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6821cd87\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"innerHTML\"]\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-times\" }, null, -1))\nconst _hoisted_3 = [\n _hoisted_2\n]\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", null, [\n (_ctx.showSnackbar)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n ref: \"snackbar\",\n class: _normalizeClass([\"snackbar\", [_ctx.statusType, _ctx.showSnackbar ? 'show' : '']])\n }, [\n _createElementVNode(\"p\", { innerHTML: _ctx.message }, null, 8, _hoisted_1),\n _createElementVNode(\"span\", {\n class: \"close\",\n onClick: _cache[0] || (_cache[0] = _withModifiers($event => (_ctx.close()), [\"prevent\",\"stop\"])),\n title: \"Dismiss\"\n }, _hoisted_3)\n ], 2))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { Vue } from 'vue-class-component';\nimport { EventEmitter } from 'events';\nimport { Prop } from 'vue-property-decorator';\n/**\n * Snackbar\n * \n * @export\n * @class Snackbar\n * @extends {Vue}\n * \n // snackbar usage: \n // import { Options, Vue } from \"vue-class-component\";\n // import { Component } from \"vue-property-decorator\";\n // import SnackBar from \"../shared/components/snackbar/index.vue\";\n // import { EventEmitter } from 'events';\n // import store from '@/store';\n\n\n // @Options({\n // components: {\n // SnackBar\n // }\n // })\n\n\n // get eventCtrl(): EventEmitter {\n // return store.getters.getEventController;\n // }\n\n // someFunction() {\n // this.eventCtrl.emit('show-snackbar', 'error', 'File upload failed');\n // }\n\n // error\n // background-color #f44336\n // warning\n // background-color #ff9800\n // info\n // background-color #2196f3\n // success\n // background-color #4caf50\n */\nexport default class Snackbar extends Vue {\n showSnackbar = false;\n message = '';\n statusType = '';\n timeoutID = 0;\n snackbar: any;\n\n @Prop({ default: {} })\n private store!: any;\n\n get eventCtrl(): EventEmitter {\n return this.store.getters.getEventController;\n }\n\n show(statusT: string, message: string): void {\n this.statusType = statusT;\n this.message = message || '';\n if (typeof this.message === 'string') {\n this.message = this.message.replace('AxiosError:', '');\n this.showSnackbar = true;\n setTimeout(() => { this.snackbar = this.$refs.snackbar; }, 0);\n this.timeoutID = setTimeout(() => { this.showSnackbar = false; }, 10000);\n }\n }\n\n close(): void {\n this.showSnackbar = false;\n }\n\n mounted(): void {\n this.eventCtrl.on('show-snackbar', this.show);\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('show-snackbar', this.show);\n }\n\n\n\n}\n\n","import { render } from \"./snackbar.html?vue&type=template&id=6821cd87&scoped=true&ts=true&external\"\nimport script from \"./snackbar.ts?vue&type=script&lang=ts&external\"\nexport * from \"./snackbar.ts?vue&type=script&lang=ts&external\"\n\nimport \"./snackbar.scss?vue&type=style&index=0&id=6821cd87&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6821cd87\"]])\n\nexport default __exports__","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { Configuration } from \"./configuration\";\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\n\nexport const BASE_PATH = \"/\".replace(/\\/+$/, \"\");\n\n/**\n *\n * @export\n */\nexport const COLLECTION_FORMATS = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\\t\",\n pipes: \"|\",\n};\n\n/**\n *\n * @export\n * @interface RequestArgs\n */\nexport interface RequestArgs {\n url: string;\n options: any;\n}\n\n/**\n *\n * @export\n * @class BaseAPI\n */\nexport class BaseAPI {\n protected configuration: Configuration | undefined;\n\n constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) {\n if (configuration) {\n this.configuration = configuration;\n this.basePath = configuration.basePath || this.basePath;\n }\n }\n};\n\n/**\n *\n * @export\n * @class RequiredError\n * @extends {Error}\n */\nexport class RequiredError extends Error {\n name: \"RequiredError\" = \"RequiredError\";\n constructor(public field: string, msg?: string) {\n super(msg);\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { AccountRequest } from '../models';\nimport { AccountViewIEnumerableResponse } from '../models';\nimport { BankBranchRequest } from '../models';\nimport { BankBranchViewIEnumerableResponse } from '../models';\n/**\n * AccountApi - axios parameter creator\n * @export\n */\nexport const AccountApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA All | Delete Account\n * @param {number} accountId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AccountDeleteAccountAccountIdDelete: async (accountId: number, options: any = {}): Promise => {\n // verify required parameter 'accountId' is not null or undefined\n if (accountId === null || accountId === undefined) {\n throw new RequiredError('accountId','Required parameter accountId was null or undefined when calling apiV2AccountDeleteAccountAccountIdDelete.');\n }\n const localVarPath = `/api/v2/Account/DeleteAccount/{accountId}`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Accounts by PractiecId\n * @param {number} practiceId \n * @param {number} [accountTypeId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AccountGetAccountsByPracticeIdPracticeIdGet: async (practiceId: number, accountTypeId?: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2AccountGetAccountsByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v2/Account/GetAccountsByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n if (accountTypeId !== undefined) {\n localVarQueryParameter['accountTypeId'] = accountTypeId;\n }\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary All | Returns Bank Branches\n * @param {BankBranchRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AccountGetBankBranchByKeywordSearchPost: async (body?: BankBranchRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Account/GetBankBranchByKeywordSearch`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Save Account\n * @param {AccountRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AccountSaveAccountPost: async (body?: AccountRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Account/SaveAccount`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * AccountApi - functional programming interface\n * @export\n */\nexport const AccountApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA All | Delete Account\n * @param {number} accountId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AccountDeleteAccountAccountIdDelete(accountId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await AccountApiAxiosParamCreator(configuration).apiV2AccountDeleteAccountAccountIdDelete(accountId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Accounts by PractiecId\n * @param {number} practiceId \n * @param {number} [accountTypeId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AccountGetAccountsByPracticeIdPracticeIdGet(practiceId: number, accountTypeId?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await AccountApiAxiosParamCreator(configuration).apiV2AccountGetAccountsByPracticeIdPracticeIdGet(practiceId, accountTypeId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary All | Returns Bank Branches\n * @param {BankBranchRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AccountGetBankBranchByKeywordSearchPost(body?: BankBranchRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await AccountApiAxiosParamCreator(configuration).apiV2AccountGetBankBranchByKeywordSearchPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Save Account\n * @param {AccountRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AccountSaveAccountPost(body?: AccountRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await AccountApiAxiosParamCreator(configuration).apiV2AccountSaveAccountPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * AccountApi - factory interface\n * @export\n */\nexport const AccountApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary TA All | Delete Account\n * @param {number} accountId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AccountDeleteAccountAccountIdDelete(accountId: number, options?: any): AxiosPromise {\n return AccountApiFp(configuration).apiV2AccountDeleteAccountAccountIdDelete(accountId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Accounts by PractiecId\n * @param {number} practiceId \n * @param {number} [accountTypeId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AccountGetAccountsByPracticeIdPracticeIdGet(practiceId: number, accountTypeId?: number, options?: any): AxiosPromise {\n return AccountApiFp(configuration).apiV2AccountGetAccountsByPracticeIdPracticeIdGet(practiceId, accountTypeId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary All | Returns Bank Branches\n * @param {BankBranchRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AccountGetBankBranchByKeywordSearchPost(body?: BankBranchRequest, options?: any): AxiosPromise {\n return AccountApiFp(configuration).apiV2AccountGetBankBranchByKeywordSearchPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Save Account\n * @param {AccountRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AccountSaveAccountPost(body?: AccountRequest, options?: any): AxiosPromise {\n return AccountApiFp(configuration).apiV2AccountSaveAccountPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * AccountApi - object-oriented interface\n * @export\n * @class AccountApi\n * @extends {BaseAPI}\n */\nexport class AccountApi extends BaseAPI {\n /**\n * \n * @summary TA All | Delete Account\n * @param {number} accountId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountApi\n */\n public apiV2AccountDeleteAccountAccountIdDelete(accountId: number, options?: any) {\n return AccountApiFp(this.configuration).apiV2AccountDeleteAccountAccountIdDelete(accountId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Accounts by PractiecId\n * @param {number} practiceId \n * @param {number} [accountTypeId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountApi\n */\n public apiV2AccountGetAccountsByPracticeIdPracticeIdGet(practiceId: number, accountTypeId?: number, options?: any) {\n return AccountApiFp(this.configuration).apiV2AccountGetAccountsByPracticeIdPracticeIdGet(practiceId, accountTypeId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary All | Returns Bank Branches\n * @param {BankBranchRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountApi\n */\n public apiV2AccountGetBankBranchByKeywordSearchPost(body?: BankBranchRequest, options?: any) {\n return AccountApiFp(this.configuration).apiV2AccountGetBankBranchByKeywordSearchPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Save Account\n * @param {AccountRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountApi\n */\n public apiV2AccountSaveAccountPost(body?: AccountRequest, options?: any) {\n return AccountApiFp(this.configuration).apiV2AccountSaveAccountPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { AccountingAppRequest } from '../models';\nimport { AccountingAppViewIEnumerableResponse } from '../models';\nimport { AccountingAppViewResponse } from '../models';\nimport { AuditTrailViewIEnumerableResponse } from '../models';\nimport { BooleanResponse } from '../models';\nimport { Request } from '../models';\n/**\n * AccountingAppApi - axios parameter creator\n * @export\n */\nexport const AccountingAppApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA All | Returns Accounting App Audit Trails\n * @param {number} accountingAppId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AccountingAppGetAccountingAppAuditTrailsAccountingAppIdGet: async (accountingAppId: number, options: any = {}): Promise => {\n // verify required parameter 'accountingAppId' is not null or undefined\n if (accountingAppId === null || accountingAppId === undefined) {\n throw new RequiredError('accountingAppId','Required parameter accountingAppId was null or undefined when calling apiV2AccountingAppGetAccountingAppAuditTrailsAccountingAppIdGet.');\n }\n const localVarPath = `/api/v2/AccountingApp/GetAccountingAppAuditTrails/{accountingAppId}`\n .replace(`{${\"accountingAppId\"}}`, encodeURIComponent(String(accountingAppId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Accounting Apps\n * @param {number} accountingAppId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AccountingAppGetAccountingAppByIdAccountingAppIdGet: async (accountingAppId: number, options: any = {}): Promise => {\n // verify required parameter 'accountingAppId' is not null or undefined\n if (accountingAppId === null || accountingAppId === undefined) {\n throw new RequiredError('accountingAppId','Required parameter accountingAppId was null or undefined when calling apiV2AccountingAppGetAccountingAppByIdAccountingAppIdGet.');\n }\n const localVarPath = `/api/v2/AccountingApp/GetAccountingAppById/{accountingAppId}`\n .replace(`{${\"accountingAppId\"}}`, encodeURIComponent(String(accountingAppId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Accounting Apps\n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AccountingAppGetAccountingAppsPost: async (body?: Request, showActiveOnly?: boolean, options: any = {}): Promise => {\n const localVarPath = `/api/v2/AccountingApp/GetAccountingApps`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n if (showActiveOnly !== undefined) {\n localVarQueryParameter['showActiveOnly'] = showActiveOnly;\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Save Accounting App\n * @param {AccountingAppRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AccountingAppSaveAccountingAppPost: async (body?: AccountingAppRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/AccountingApp/SaveAccountingApp`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * AccountingAppApi - functional programming interface\n * @export\n */\nexport const AccountingAppApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA All | Returns Accounting App Audit Trails\n * @param {number} accountingAppId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AccountingAppGetAccountingAppAuditTrailsAccountingAppIdGet(accountingAppId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await AccountingAppApiAxiosParamCreator(configuration).apiV2AccountingAppGetAccountingAppAuditTrailsAccountingAppIdGet(accountingAppId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Accounting Apps\n * @param {number} accountingAppId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AccountingAppGetAccountingAppByIdAccountingAppIdGet(accountingAppId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await AccountingAppApiAxiosParamCreator(configuration).apiV2AccountingAppGetAccountingAppByIdAccountingAppIdGet(accountingAppId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Accounting Apps\n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AccountingAppGetAccountingAppsPost(body?: Request, showActiveOnly?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await AccountingAppApiAxiosParamCreator(configuration).apiV2AccountingAppGetAccountingAppsPost(body, showActiveOnly, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Save Accounting App\n * @param {AccountingAppRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AccountingAppSaveAccountingAppPost(body?: AccountingAppRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await AccountingAppApiAxiosParamCreator(configuration).apiV2AccountingAppSaveAccountingAppPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * AccountingAppApi - factory interface\n * @export\n */\nexport const AccountingAppApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary TA All | Returns Accounting App Audit Trails\n * @param {number} accountingAppId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AccountingAppGetAccountingAppAuditTrailsAccountingAppIdGet(accountingAppId: number, options?: any): AxiosPromise {\n return AccountingAppApiFp(configuration).apiV2AccountingAppGetAccountingAppAuditTrailsAccountingAppIdGet(accountingAppId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Accounting Apps\n * @param {number} accountingAppId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AccountingAppGetAccountingAppByIdAccountingAppIdGet(accountingAppId: number, options?: any): AxiosPromise {\n return AccountingAppApiFp(configuration).apiV2AccountingAppGetAccountingAppByIdAccountingAppIdGet(accountingAppId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Accounting Apps\n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AccountingAppGetAccountingAppsPost(body?: Request, showActiveOnly?: boolean, options?: any): AxiosPromise {\n return AccountingAppApiFp(configuration).apiV2AccountingAppGetAccountingAppsPost(body, showActiveOnly, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Save Accounting App\n * @param {AccountingAppRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AccountingAppSaveAccountingAppPost(body?: AccountingAppRequest, options?: any): AxiosPromise {\n return AccountingAppApiFp(configuration).apiV2AccountingAppSaveAccountingAppPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * AccountingAppApi - object-oriented interface\n * @export\n * @class AccountingAppApi\n * @extends {BaseAPI}\n */\nexport class AccountingAppApi extends BaseAPI {\n /**\n * \n * @summary TA All | Returns Accounting App Audit Trails\n * @param {number} accountingAppId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountingAppApi\n */\n public apiV2AccountingAppGetAccountingAppAuditTrailsAccountingAppIdGet(accountingAppId: number, options?: any) {\n return AccountingAppApiFp(this.configuration).apiV2AccountingAppGetAccountingAppAuditTrailsAccountingAppIdGet(accountingAppId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Accounting Apps\n * @param {number} accountingAppId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountingAppApi\n */\n public apiV2AccountingAppGetAccountingAppByIdAccountingAppIdGet(accountingAppId: number, options?: any) {\n return AccountingAppApiFp(this.configuration).apiV2AccountingAppGetAccountingAppByIdAccountingAppIdGet(accountingAppId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Accounting Apps\n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountingAppApi\n */\n public apiV2AccountingAppGetAccountingAppsPost(body?: Request, showActiveOnly?: boolean, options?: any) {\n return AccountingAppApiFp(this.configuration).apiV2AccountingAppGetAccountingAppsPost(body, showActiveOnly, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Save Accounting App\n * @param {AccountingAppRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountingAppApi\n */\n public apiV2AccountingAppSaveAccountingAppPost(body?: AccountingAppRequest, options?: any) {\n return AccountingAppApiFp(this.configuration).apiV2AccountingAppSaveAccountingAppPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\nimport { EventRequest } from '../models';\nimport { EventRequest2 } from '../models';\nimport { EventViewIEnumerableResponse } from '../models';\nimport { PublicHolidayRequest } from '../models';\nimport { PublicHolidayViewIEnumerableResponse } from '../models';\nimport { PublicHolidayViewResponse } from '../models';\nimport { Request } from '../models';\n/**\n * CalendarApi - axios parameter creator\n * @export\n */\nexport const CalendarApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA Admin | Returns Delete Public Holiday\n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CalendarDeletePublicHolidayIdDelete: async (id: number, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling apiV2CalendarDeletePublicHolidayIdDelete.');\n }\n const localVarPath = `/api/v2/Calendar/DeletePublicHoliday/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA ALL | Returns Events By TrustTeamMemberId\n * @param {EventRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CalendarGetEventsByTrustTeamMemberIdPost: async (body?: EventRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Calendar/GetEventsByTrustTeamMemberId`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Public Holiday by Id\n * @param {number} [id] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CalendarGetPublicHolidayByIdGet: async (id?: number, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Calendar/GetPublicHolidayById`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n if (id !== undefined) {\n localVarQueryParameter['id'] = id;\n }\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA ALL | Returns Public Holidays\n * @param {Request} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CalendarGetPublicHolidaysPost: async (body?: Request, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Calendar/GetPublicHolidays`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA Admin | Save Public Holiday\n * @param {PublicHolidayRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CalendarSavePublicHolidayPost: async (body?: PublicHolidayRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Calendar/SavePublicHoliday`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns Events By ExternalId\n * @param {EventRequest2} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CalendarTrustInvestigatorGetEventsByExternalIdPost: async (body?: EventRequest2, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Calendar/TrustInvestigator/GetEventsByExternalId`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA Admin | Update Nager Public Holidays | https://date.nager.at/Country\n * @param {string} [code] \n * @param {number} [year] \n * @param {Date} [start] \n * @param {Date} [end] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CalendarUpdatePublicHolidaysPut: async (code?: string, year?: number, start?: Date, end?: Date, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Calendar/UpdatePublicHolidays`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n if (code !== undefined) {\n localVarQueryParameter['code'] = code;\n }\n\n if (year !== undefined) {\n localVarQueryParameter['year'] = year;\n }\n\n if (start !== undefined) {\n localVarQueryParameter['start'] = (start as any instanceof Date) ?\n (start as any).toISOString() :\n start;\n }\n\n if (end !== undefined) {\n localVarQueryParameter['end'] = (end as any instanceof Date) ?\n (end as any).toISOString() :\n end;\n }\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * CalendarApi - functional programming interface\n * @export\n */\nexport const CalendarApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA Admin | Returns Delete Public Holiday\n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CalendarDeletePublicHolidayIdDelete(id: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CalendarApiAxiosParamCreator(configuration).apiV2CalendarDeletePublicHolidayIdDelete(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA ALL | Returns Events By TrustTeamMemberId\n * @param {EventRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CalendarGetEventsByTrustTeamMemberIdPost(body?: EventRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CalendarApiAxiosParamCreator(configuration).apiV2CalendarGetEventsByTrustTeamMemberIdPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Public Holiday by Id\n * @param {number} [id] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CalendarGetPublicHolidayByIdGet(id?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CalendarApiAxiosParamCreator(configuration).apiV2CalendarGetPublicHolidayByIdGet(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA ALL | Returns Public Holidays\n * @param {Request} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CalendarGetPublicHolidaysPost(body?: Request, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CalendarApiAxiosParamCreator(configuration).apiV2CalendarGetPublicHolidaysPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA Admin | Save Public Holiday\n * @param {PublicHolidayRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CalendarSavePublicHolidayPost(body?: PublicHolidayRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CalendarApiAxiosParamCreator(configuration).apiV2CalendarSavePublicHolidayPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns Events By ExternalId\n * @param {EventRequest2} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CalendarTrustInvestigatorGetEventsByExternalIdPost(body?: EventRequest2, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CalendarApiAxiosParamCreator(configuration).apiV2CalendarTrustInvestigatorGetEventsByExternalIdPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA Admin | Update Nager Public Holidays | https://date.nager.at/Country\n * @param {string} [code] \n * @param {number} [year] \n * @param {Date} [start] \n * @param {Date} [end] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CalendarUpdatePublicHolidaysPut(code?: string, year?: number, start?: Date, end?: Date, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CalendarApiAxiosParamCreator(configuration).apiV2CalendarUpdatePublicHolidaysPut(code, year, start, end, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * CalendarApi - factory interface\n * @export\n */\nexport const CalendarApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary TA Admin | Returns Delete Public Holiday\n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CalendarDeletePublicHolidayIdDelete(id: number, options?: any): AxiosPromise {\n return CalendarApiFp(configuration).apiV2CalendarDeletePublicHolidayIdDelete(id, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA ALL | Returns Events By TrustTeamMemberId\n * @param {EventRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CalendarGetEventsByTrustTeamMemberIdPost(body?: EventRequest, options?: any): AxiosPromise {\n return CalendarApiFp(configuration).apiV2CalendarGetEventsByTrustTeamMemberIdPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Public Holiday by Id\n * @param {number} [id] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CalendarGetPublicHolidayByIdGet(id?: number, options?: any): AxiosPromise {\n return CalendarApiFp(configuration).apiV2CalendarGetPublicHolidayByIdGet(id, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA ALL | Returns Public Holidays\n * @param {Request} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CalendarGetPublicHolidaysPost(body?: Request, options?: any): AxiosPromise {\n return CalendarApiFp(configuration).apiV2CalendarGetPublicHolidaysPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA Admin | Save Public Holiday\n * @param {PublicHolidayRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CalendarSavePublicHolidayPost(body?: PublicHolidayRequest, options?: any): AxiosPromise {\n return CalendarApiFp(configuration).apiV2CalendarSavePublicHolidayPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TrustInvestigator | Returns Events By ExternalId\n * @param {EventRequest2} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CalendarTrustInvestigatorGetEventsByExternalIdPost(body?: EventRequest2, options?: any): AxiosPromise {\n return CalendarApiFp(configuration).apiV2CalendarTrustInvestigatorGetEventsByExternalIdPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA Admin | Update Nager Public Holidays | https://date.nager.at/Country\n * @param {string} [code] \n * @param {number} [year] \n * @param {Date} [start] \n * @param {Date} [end] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CalendarUpdatePublicHolidaysPut(code?: string, year?: number, start?: Date, end?: Date, options?: any): AxiosPromise {\n return CalendarApiFp(configuration).apiV2CalendarUpdatePublicHolidaysPut(code, year, start, end, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * CalendarApi - object-oriented interface\n * @export\n * @class CalendarApi\n * @extends {BaseAPI}\n */\nexport class CalendarApi extends BaseAPI {\n /**\n * \n * @summary TA Admin | Returns Delete Public Holiday\n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CalendarApi\n */\n public apiV2CalendarDeletePublicHolidayIdDelete(id: number, options?: any) {\n return CalendarApiFp(this.configuration).apiV2CalendarDeletePublicHolidayIdDelete(id, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA ALL | Returns Events By TrustTeamMemberId\n * @param {EventRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CalendarApi\n */\n public apiV2CalendarGetEventsByTrustTeamMemberIdPost(body?: EventRequest, options?: any) {\n return CalendarApiFp(this.configuration).apiV2CalendarGetEventsByTrustTeamMemberIdPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Public Holiday by Id\n * @param {number} [id] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CalendarApi\n */\n public apiV2CalendarGetPublicHolidayByIdGet(id?: number, options?: any) {\n return CalendarApiFp(this.configuration).apiV2CalendarGetPublicHolidayByIdGet(id, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA ALL | Returns Public Holidays\n * @param {Request} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CalendarApi\n */\n public apiV2CalendarGetPublicHolidaysPost(body?: Request, options?: any) {\n return CalendarApiFp(this.configuration).apiV2CalendarGetPublicHolidaysPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA Admin | Save Public Holiday\n * @param {PublicHolidayRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CalendarApi\n */\n public apiV2CalendarSavePublicHolidayPost(body?: PublicHolidayRequest, options?: any) {\n return CalendarApiFp(this.configuration).apiV2CalendarSavePublicHolidayPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TrustInvestigator | Returns Events By ExternalId\n * @param {EventRequest2} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CalendarApi\n */\n public apiV2CalendarTrustInvestigatorGetEventsByExternalIdPost(body?: EventRequest2, options?: any) {\n return CalendarApiFp(this.configuration).apiV2CalendarTrustInvestigatorGetEventsByExternalIdPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA Admin | Update Nager Public Holidays | https://date.nager.at/Country\n * @param {string} [code] \n * @param {number} [year] \n * @param {Date} [start] \n * @param {Date} [end] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CalendarApi\n */\n public apiV2CalendarUpdatePublicHolidaysPut(code?: string, year?: number, start?: Date, end?: Date, options?: any) {\n return CalendarApiFp(this.configuration).apiV2CalendarUpdatePublicHolidaysPut(code, year, start, end, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { AccountTypeIEnumerableResponse } from '../models';\nimport { AppointmentStatusIEnumerableResponse } from '../models';\nimport { AtcsQuestionTypeIEnumerableResponse } from '../models';\nimport { BreachIEnumerableResponse } from '../models';\nimport { BreachTypeIEnumerableResponse } from '../models';\nimport { CategoryIEnumerableResponse } from '../models';\nimport { CertifiedTypeIEnumerableResponse } from '../models';\nimport { ClassificationTypeIEnumerableResponse } from '../models';\nimport { ContentTypeIEnumerableResponse } from '../models';\nimport { CorrespondenceDescriptionIEnumerableResponse } from '../models';\nimport { CorrespondenceTypeIEnumerableResponse } from '../models';\nimport { EeMembershipTypeIEnumerableResponse } from '../models';\nimport { EeRequestFormStatusIEnumerableResponse } from '../models';\nimport { EeRequestFormTypeIEnumerableResponse } from '../models';\nimport { EeSignUpFormStatusIEnumerableResponse } from '../models';\nimport { EventTypeIEnumerableResponse } from '../models';\nimport { FileTypeIEnumerableResponse } from '../models';\nimport { FollowUpStatusIEnumerableResponse } from '../models';\nimport { FollowUpTypeIEnumerableResponse } from '../models';\nimport { InvestigationCategoryIEnumerableResponse } from '../models';\nimport { InvestigationStatusIEnumerableResponse } from '../models';\nimport { LeaveTypeIEnumerableResponse } from '../models';\nimport { NotesTypeIEnumerableResponse } from '../models';\nimport { PracticeRiskIEnumerableResponse } from '../models';\nimport { PracticeRiskIndicatorIEnumerableResponse } from '../models';\nimport { PriorityIEnumerableResponse } from '../models';\nimport { ReportResultIEnumerableResponse } from '../models';\nimport { Request } from '../models';\nimport { SignatoryTypeIEnumerableResponse } from '../models';\nimport { SolelyJointlyIEnumerableResponse } from '../models';\nimport { StatusIEnumerableResponse } from '../models';\nimport { SuburbStatePostcodeIEnumerableResponse } from '../models';\nimport { TimeEntryActivityIEnumerableResponse } from '../models';\nimport { TimeEntryStatusIEnumerableResponse } from '../models';\nimport { TimeEntryTypeIEnumerableResponse } from '../models';\nimport { TimesheetStatusIEnumerableResponse } from '../models';\nimport { TrustAccountStatusIEnumerableResponse } from '../models';\nimport { UserGroupIEnumerableResponse } from '../models';\n/**\n * CodeApi - axios parameter creator\n * @export\n */\nexport const CodeApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA All | Returns Account Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetAccountTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetAccountTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Appointment Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetAppointmentStatusesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetAppointmentStatuses`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Atcs_All | Returns Atcs Question Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetAtcsQuestionTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetAtcsQuestionTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Atcs_All | Returns Breach Types - ATCS only\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetBreachTypesPost: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetBreachTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Atcs_All | Returns Breaches - ATCS only\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetBreachesPost: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetBreaches`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary All | Returns Categories\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetCategoriesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetCategories`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All| Returns Certified Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetCertifiedTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetCertifiedTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary READER | Returns Classification Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetClassificationTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetClassificationTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary READER | Returns Content Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetContentTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetContentTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All| Returns Correspondence Descriptions\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetCorrespondenceDescriptionsGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetCorrespondenceDescriptions`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary All | Returns Correspondence Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetCorrespondenceTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetCorrespondenceTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary READER | Returns External Examiner Membership Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetEeMembershipTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetEeMembershipTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary READER | Returns External Examiner Request Form Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetEeRequestFormStatusesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetEeRequestFormStatuses`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary READER | Returns External Examiner Request Form Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetEeRequestFormTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetEeRequestFormTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary READER | Returns External Examiner SignUp Form Statuses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetEeSignUpFormStatusesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetEeSignUpFormStatuses`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Event Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetEventTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetEventTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Reader | Returns File Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetFileTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetFileTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Follow Up Statuses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetFollowUpStatusesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetFollowUpStatuses`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Follow Up Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetFollowUpTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetFollowUpTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Invetigation Categories\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetInvestigationCategoryGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetInvestigationCategory`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Investigation Statuses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetInvestigationStatusesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetInvestigationStatuses`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TIP All | Returns Leave Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetLeaveTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetLeaveTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Note Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetNoteTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetNoteTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Practice Risk Indicators\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetPracticeRiskIndicatorsGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetPracticeRiskIndicators`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Practice Risks\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetPracticeRisksGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetPracticeRisks`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Priorities\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetPrioritiesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetPriorities`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All| Returns Report Results\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetReportResultsGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetReportResults`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Routine Statuses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetRoutineStatusesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetRoutineStatuses`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Signatory Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetSignatoryTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetSignatoryTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary All | Returns Solely/Jointly\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetSolelyJointliesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetSolelyJointlies`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetStatusGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetStatus`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary READER | Returns Suburbs, States, and Postcode\n * @param {Request} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetSuburbStatePostcodePost: async (body?: Request, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetSuburbStatePostcode`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TIP All | Returns Time Entry Activities\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetTimeEntryActivitiesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetTimeEntryActivities`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Time Entry Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetTimeEntryStatusesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetTimeEntryStatuses`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TIP All | Returns Time Entry Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetTimeEntryTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetTimeEntryTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary All | Returns Timesheet Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetTimesheetStatusesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetTimesheetStatuses`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Trust Practice Statuses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetTrustAccountStatusesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetTrustAccountStatuses`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns User Groups\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetUserGroupsGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetUserGroups`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * CodeApi - functional programming interface\n * @export\n */\nexport const CodeApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA All | Returns Account Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetAccountTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetAccountTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Appointment Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetAppointmentStatusesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetAppointmentStatusesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Atcs_All | Returns Atcs Question Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetAtcsQuestionTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetAtcsQuestionTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Atcs_All | Returns Breach Types - ATCS only\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetBreachTypesPost(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetBreachTypesPost(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Atcs_All | Returns Breaches - ATCS only\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetBreachesPost(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetBreachesPost(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary All | Returns Categories\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetCategoriesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetCategoriesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All| Returns Certified Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetCertifiedTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetCertifiedTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary READER | Returns Classification Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetClassificationTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetClassificationTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary READER | Returns Content Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetContentTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetContentTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All| Returns Correspondence Descriptions\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetCorrespondenceDescriptionsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetCorrespondenceDescriptionsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary All | Returns Correspondence Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetCorrespondenceTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetCorrespondenceTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary READER | Returns External Examiner Membership Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetEeMembershipTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetEeMembershipTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary READER | Returns External Examiner Request Form Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetEeRequestFormStatusesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetEeRequestFormStatusesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary READER | Returns External Examiner Request Form Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetEeRequestFormTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetEeRequestFormTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary READER | Returns External Examiner SignUp Form Statuses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetEeSignUpFormStatusesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetEeSignUpFormStatusesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Event Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetEventTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetEventTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Reader | Returns File Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetFileTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetFileTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Follow Up Statuses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetFollowUpStatusesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetFollowUpStatusesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Follow Up Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetFollowUpTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetFollowUpTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Invetigation Categories\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetInvestigationCategoryGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetInvestigationCategoryGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Investigation Statuses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetInvestigationStatusesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetInvestigationStatusesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TIP All | Returns Leave Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetLeaveTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetLeaveTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Note Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetNoteTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetNoteTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Practice Risk Indicators\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetPracticeRiskIndicatorsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetPracticeRiskIndicatorsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Practice Risks\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetPracticeRisksGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetPracticeRisksGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Priorities\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetPrioritiesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetPrioritiesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All| Returns Report Results\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetReportResultsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetReportResultsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Routine Statuses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetRoutineStatusesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetRoutineStatusesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Signatory Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetSignatoryTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetSignatoryTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary All | Returns Solely/Jointly\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetSolelyJointliesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetSolelyJointliesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetStatusGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetStatusGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary READER | Returns Suburbs, States, and Postcode\n * @param {Request} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetSuburbStatePostcodePost(body?: Request, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetSuburbStatePostcodePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TIP All | Returns Time Entry Activities\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetTimeEntryActivitiesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetTimeEntryActivitiesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Time Entry Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetTimeEntryStatusesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetTimeEntryStatusesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TIP All | Returns Time Entry Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetTimeEntryTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetTimeEntryTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary All | Returns Timesheet Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetTimesheetStatusesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetTimesheetStatusesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Trust Practice Statuses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetTrustAccountStatusesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetTrustAccountStatusesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns User Groups\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetUserGroupsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetUserGroupsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * CodeApi - factory interface\n * @export\n */\nexport const CodeApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary TA All | Returns Account Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetAccountTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetAccountTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Appointment Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetAppointmentStatusesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetAppointmentStatusesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Atcs_All | Returns Atcs Question Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetAtcsQuestionTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetAtcsQuestionTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Atcs_All | Returns Breach Types - ATCS only\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetBreachTypesPost(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetBreachTypesPost(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Atcs_All | Returns Breaches - ATCS only\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetBreachesPost(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetBreachesPost(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary All | Returns Categories\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetCategoriesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetCategoriesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All| Returns Certified Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetCertifiedTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetCertifiedTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary READER | Returns Classification Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetClassificationTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetClassificationTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary READER | Returns Content Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetContentTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetContentTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All| Returns Correspondence Descriptions\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetCorrespondenceDescriptionsGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetCorrespondenceDescriptionsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary All | Returns Correspondence Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetCorrespondenceTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetCorrespondenceTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary READER | Returns External Examiner Membership Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetEeMembershipTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetEeMembershipTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary READER | Returns External Examiner Request Form Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetEeRequestFormStatusesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetEeRequestFormStatusesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary READER | Returns External Examiner Request Form Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetEeRequestFormTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetEeRequestFormTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary READER | Returns External Examiner SignUp Form Statuses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetEeSignUpFormStatusesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetEeSignUpFormStatusesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Event Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetEventTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetEventTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Reader | Returns File Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetFileTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetFileTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Follow Up Statuses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetFollowUpStatusesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetFollowUpStatusesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Follow Up Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetFollowUpTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetFollowUpTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Invetigation Categories\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetInvestigationCategoryGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetInvestigationCategoryGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Investigation Statuses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetInvestigationStatusesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetInvestigationStatusesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TIP All | Returns Leave Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetLeaveTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetLeaveTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Note Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetNoteTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetNoteTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Practice Risk Indicators\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetPracticeRiskIndicatorsGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetPracticeRiskIndicatorsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Practice Risks\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetPracticeRisksGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetPracticeRisksGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Priorities\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetPrioritiesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetPrioritiesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All| Returns Report Results\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetReportResultsGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetReportResultsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Routine Statuses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetRoutineStatusesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetRoutineStatusesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Signatory Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetSignatoryTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetSignatoryTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary All | Returns Solely/Jointly\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetSolelyJointliesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetSolelyJointliesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetStatusGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetStatusGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary READER | Returns Suburbs, States, and Postcode\n * @param {Request} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetSuburbStatePostcodePost(body?: Request, options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetSuburbStatePostcodePost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TIP All | Returns Time Entry Activities\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetTimeEntryActivitiesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetTimeEntryActivitiesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Time Entry Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetTimeEntryStatusesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetTimeEntryStatusesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TIP All | Returns Time Entry Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetTimeEntryTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetTimeEntryTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary All | Returns Timesheet Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetTimesheetStatusesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetTimesheetStatusesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Trust Practice Statuses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetTrustAccountStatusesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetTrustAccountStatusesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns User Groups\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetUserGroupsGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetUserGroupsGet(options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * CodeApi - object-oriented interface\n * @export\n * @class CodeApi\n * @extends {BaseAPI}\n */\nexport class CodeApi extends BaseAPI {\n /**\n * \n * @summary TA All | Returns Account Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetAccountTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetAccountTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Appointment Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetAppointmentStatusesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetAppointmentStatusesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Atcs_All | Returns Atcs Question Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetAtcsQuestionTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetAtcsQuestionTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Atcs_All | Returns Breach Types - ATCS only\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetBreachTypesPost(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetBreachTypesPost(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Atcs_All | Returns Breaches - ATCS only\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetBreachesPost(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetBreachesPost(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary All | Returns Categories\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetCategoriesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetCategoriesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All| Returns Certified Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetCertifiedTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetCertifiedTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary READER | Returns Classification Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetClassificationTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetClassificationTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary READER | Returns Content Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetContentTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetContentTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All| Returns Correspondence Descriptions\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetCorrespondenceDescriptionsGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetCorrespondenceDescriptionsGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary All | Returns Correspondence Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetCorrespondenceTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetCorrespondenceTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary READER | Returns External Examiner Membership Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetEeMembershipTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetEeMembershipTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary READER | Returns External Examiner Request Form Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetEeRequestFormStatusesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetEeRequestFormStatusesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary READER | Returns External Examiner Request Form Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetEeRequestFormTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetEeRequestFormTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary READER | Returns External Examiner SignUp Form Statuses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetEeSignUpFormStatusesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetEeSignUpFormStatusesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Event Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetEventTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetEventTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Reader | Returns File Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetFileTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetFileTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Follow Up Statuses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetFollowUpStatusesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetFollowUpStatusesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Follow Up Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetFollowUpTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetFollowUpTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Invetigation Categories\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetInvestigationCategoryGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetInvestigationCategoryGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Investigation Statuses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetInvestigationStatusesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetInvestigationStatusesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TIP All | Returns Leave Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetLeaveTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetLeaveTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Note Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetNoteTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetNoteTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Practice Risk Indicators\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetPracticeRiskIndicatorsGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetPracticeRiskIndicatorsGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Practice Risks\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetPracticeRisksGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetPracticeRisksGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Priorities\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetPrioritiesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetPrioritiesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All| Returns Report Results\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetReportResultsGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetReportResultsGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Routine Statuses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetRoutineStatusesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetRoutineStatusesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Signatory Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetSignatoryTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetSignatoryTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary All | Returns Solely/Jointly\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetSolelyJointliesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetSolelyJointliesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetStatusGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetStatusGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary READER | Returns Suburbs, States, and Postcode\n * @param {Request} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetSuburbStatePostcodePost(body?: Request, options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetSuburbStatePostcodePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TIP All | Returns Time Entry Activities\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetTimeEntryActivitiesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetTimeEntryActivitiesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Time Entry Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetTimeEntryStatusesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetTimeEntryStatusesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TIP All | Returns Time Entry Types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetTimeEntryTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetTimeEntryTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary All | Returns Timesheet Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetTimesheetStatusesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetTimesheetStatusesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Trust Practice Statuses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetTrustAccountStatusesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetTrustAccountStatusesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns User Groups\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetUserGroupsGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetUserGroupsGet(options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { AdditionalFile } from '../models';\nimport { AdditionalFileIEnumerableResponse } from '../models';\nimport { AdminComplianceFormRequest } from '../models';\nimport { BooleanResponse } from '../models';\nimport { ComplianceFormAbsolutionRequest } from '../models';\nimport { ComplianceFormAbsolutionResponse } from '../models';\nimport { ComplianceFormFileResponse } from '../models';\nimport { ComplianceFormIEnumerableResponse } from '../models';\nimport { ComplianceFormTip } from '../models';\nimport { ComplianceFormTipIEnumerableResponse } from '../models';\nimport { ComplianceFormTrustInvestigator } from '../models';\nimport { ComplianceYearIEnumerableResponse } from '../models';\nimport { GenerateNextYearTrustComplianceFormResponse } from '../models';\nimport { NumberOfCompliantFormsResponse } from '../models';\nimport { ProgressIEnumerableResponse } from '../models';\n/**\n * ComplianceFormApi - axios parameter creator\n * @export\n */\nexport const ComplianceFormApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary TaAll | Dashboard Number Of Compliant Forms\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormAdminDashboardGetNumberOfCompliantFormsGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/ComplianceForm/Admin/Dashboard/GetNumberOfCompliantForms`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Generate Next Year Trust ComplianceForm\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormAdminGenerateNextYearTrustComplianceFormPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2ComplianceFormAdminGenerateNextYearTrustComplianceFormPracticeIdGet.');\n }\n const localVarPath = `/api/v2/ComplianceForm/Admin/GenerateNextYearTrustComplianceForm/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Compliance Form Absolution\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormAdminGetComplianceFormAbsolutionComplianceFormIdGet: async (complianceFormId: number, options: any = {}): Promise => {\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV2ComplianceFormAdminGetComplianceFormAbsolutionComplianceFormIdGet.');\n }\n const localVarPath = `/api/v2/ComplianceForm/Admin/GetComplianceFormAbsolution/{complianceFormId}`\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns ComplianceForm AdditionalFiles\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormAdminGetComplianceFormAdditionalFilesComplianceFormIdGet: async (complianceFormId: number, options: any = {}): Promise => {\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV2ComplianceFormAdminGetComplianceFormAdditionalFilesComplianceFormIdGet.');\n }\n const localVarPath = `/api/v2/ComplianceForm/Admin/GetComplianceFormAdditionalFiles/{complianceFormId}`\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Compliance Form Files\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormAdminGetComplianceFormFilesComplianceFormIdGet: async (complianceFormId: number, options: any = {}): Promise => {\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV2ComplianceFormAdminGetComplianceFormFilesComplianceFormIdGet.');\n }\n const localVarPath = `/api/v2/ComplianceForm/Admin/GetComplianceFormFiles/{complianceFormId}`\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Compliance Forms\n * @param {AdminComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormAdminGetComplianceFormsPost: async (body?: AdminComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/ComplianceForm/Admin/GetComplianceForms`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns boolean if Generate Trust Compliance Form is enabled\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormAdminIsGenerateTrustComplianceFormEnablePracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2ComplianceFormAdminIsGenerateTrustComplianceFormEnablePracticeIdGet.');\n }\n const localVarPath = `/api/v2/ComplianceForm/Admin/IsGenerateTrustComplianceFormEnable/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Update Compliance Form Absolution\n * @param {ComplianceFormAbsolutionRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormAdminUpdateComplianceFormAbsolutionPost: async (body?: ComplianceFormAbsolutionRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/ComplianceForm/Admin/UpdateComplianceFormAbsolution`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact / ExternalExaminer | Returns Compliance Forms\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormGetComplianceFormsGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/ComplianceForm/GetComplianceForms`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / TrustCoordinator / TrustContact / ExternalExaminer | Returns Compliance Years\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormGetComplianceYearsGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/ComplianceForm/GetComplianceYears`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / TrustCoordinator / TrustContact / ExternalExaminer | Returns Progresses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormGetProgressesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/ComplianceForm/GetProgresses`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Trust Investigator only | Returns ComplianceForm AdditionalFiles\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormTrustInvestigatorGetComplianceFormAdditionalFilesComplianceFormIdGet: async (complianceFormId: number, options: any = {}): Promise => {\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV2ComplianceFormTrustInvestigatorGetComplianceFormAdditionalFilesComplianceFormIdGet.');\n }\n const localVarPath = `/api/v2/ComplianceForm/TrustInvestigator/GetComplianceFormAdditionalFiles/{complianceFormId}`\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Trust Investigator only | Returns Compliance Forms\n * @param {AdminComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormTrustInvestigatorGetComplianceFormsPost: async (body?: AdminComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/ComplianceForm/TrustInvestigator/GetComplianceForms`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Trust Investigator only | Returns Compliance Forms\n * @param {AdminComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormTrustInvestigatorGetComplianceFormsTipPost: async (body?: AdminComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/ComplianceForm/TrustInvestigator/GetComplianceFormsTip`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * ComplianceFormApi - functional programming interface\n * @export\n */\nexport const ComplianceFormApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary TaAll | Dashboard Number Of Compliant Forms\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormAdminDashboardGetNumberOfCompliantFormsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormAdminDashboardGetNumberOfCompliantFormsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Generate Next Year Trust ComplianceForm\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormAdminGenerateNextYearTrustComplianceFormPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormAdminGenerateNextYearTrustComplianceFormPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Compliance Form Absolution\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormAdminGetComplianceFormAbsolutionComplianceFormIdGet(complianceFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormAdminGetComplianceFormAbsolutionComplianceFormIdGet(complianceFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns ComplianceForm AdditionalFiles\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormAdminGetComplianceFormAdditionalFilesComplianceFormIdGet(complianceFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormAdminGetComplianceFormAdditionalFilesComplianceFormIdGet(complianceFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Compliance Form Files\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormAdminGetComplianceFormFilesComplianceFormIdGet(complianceFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormAdminGetComplianceFormFilesComplianceFormIdGet(complianceFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Compliance Forms\n * @param {AdminComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormAdminGetComplianceFormsPost(body?: AdminComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormAdminGetComplianceFormsPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns boolean if Generate Trust Compliance Form is enabled\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormAdminIsGenerateTrustComplianceFormEnablePracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormAdminIsGenerateTrustComplianceFormEnablePracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Update Compliance Form Absolution\n * @param {ComplianceFormAbsolutionRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormAdminUpdateComplianceFormAbsolutionPost(body?: ComplianceFormAbsolutionRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormAdminUpdateComplianceFormAbsolutionPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact / ExternalExaminer | Returns Compliance Forms\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormGetComplianceFormsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormGetComplianceFormsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / TrustCoordinator / TrustContact / ExternalExaminer | Returns Compliance Years\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormGetComplianceYearsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormGetComplianceYearsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / TrustCoordinator / TrustContact / ExternalExaminer | Returns Progresses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormGetProgressesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormGetProgressesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Trust Investigator only | Returns ComplianceForm AdditionalFiles\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormTrustInvestigatorGetComplianceFormAdditionalFilesComplianceFormIdGet(complianceFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormTrustInvestigatorGetComplianceFormAdditionalFilesComplianceFormIdGet(complianceFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Trust Investigator only | Returns Compliance Forms\n * @param {AdminComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormTrustInvestigatorGetComplianceFormsPost(body?: AdminComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormTrustInvestigatorGetComplianceFormsPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Trust Investigator only | Returns Compliance Forms\n * @param {AdminComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormTrustInvestigatorGetComplianceFormsTipPost(body?: AdminComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormTrustInvestigatorGetComplianceFormsTipPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * ComplianceFormApi - factory interface\n * @export\n */\nexport const ComplianceFormApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary TaAll | Dashboard Number Of Compliant Forms\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormAdminDashboardGetNumberOfCompliantFormsGet(options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormAdminDashboardGetNumberOfCompliantFormsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Generate Next Year Trust ComplianceForm\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormAdminGenerateNextYearTrustComplianceFormPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormAdminGenerateNextYearTrustComplianceFormPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Compliance Form Absolution\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormAdminGetComplianceFormAbsolutionComplianceFormIdGet(complianceFormId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormAdminGetComplianceFormAbsolutionComplianceFormIdGet(complianceFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns ComplianceForm AdditionalFiles\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormAdminGetComplianceFormAdditionalFilesComplianceFormIdGet(complianceFormId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormAdminGetComplianceFormAdditionalFilesComplianceFormIdGet(complianceFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Compliance Form Files\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormAdminGetComplianceFormFilesComplianceFormIdGet(complianceFormId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormAdminGetComplianceFormFilesComplianceFormIdGet(complianceFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Compliance Forms\n * @param {AdminComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormAdminGetComplianceFormsPost(body?: AdminComplianceFormRequest, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormAdminGetComplianceFormsPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns boolean if Generate Trust Compliance Form is enabled\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormAdminIsGenerateTrustComplianceFormEnablePracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormAdminIsGenerateTrustComplianceFormEnablePracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Update Compliance Form Absolution\n * @param {ComplianceFormAbsolutionRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormAdminUpdateComplianceFormAbsolutionPost(body?: ComplianceFormAbsolutionRequest, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormAdminUpdateComplianceFormAbsolutionPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact / ExternalExaminer | Returns Compliance Forms\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormGetComplianceFormsGet(options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormGetComplianceFormsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / TrustCoordinator / TrustContact / ExternalExaminer | Returns Compliance Years\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormGetComplianceYearsGet(options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormGetComplianceYearsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / TrustCoordinator / TrustContact / ExternalExaminer | Returns Progresses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormGetProgressesGet(options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormGetProgressesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Trust Investigator only | Returns ComplianceForm AdditionalFiles\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormTrustInvestigatorGetComplianceFormAdditionalFilesComplianceFormIdGet(complianceFormId: number, options?: any): AxiosPromise> {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormTrustInvestigatorGetComplianceFormAdditionalFilesComplianceFormIdGet(complianceFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Trust Investigator only | Returns Compliance Forms\n * @param {AdminComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormTrustInvestigatorGetComplianceFormsPost(body?: AdminComplianceFormRequest, options?: any): AxiosPromise> {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormTrustInvestigatorGetComplianceFormsPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Trust Investigator only | Returns Compliance Forms\n * @param {AdminComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormTrustInvestigatorGetComplianceFormsTipPost(body?: AdminComplianceFormRequest, options?: any): AxiosPromise> {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormTrustInvestigatorGetComplianceFormsTipPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * ComplianceFormApi - object-oriented interface\n * @export\n * @class ComplianceFormApi\n * @extends {BaseAPI}\n */\nexport class ComplianceFormApi extends BaseAPI {\n /**\n * \n * @summary TaAll | Dashboard Number Of Compliant Forms\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormAdminDashboardGetNumberOfCompliantFormsGet(options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormAdminDashboardGetNumberOfCompliantFormsGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Generate Next Year Trust ComplianceForm\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormAdminGenerateNextYearTrustComplianceFormPracticeIdGet(practiceId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormAdminGenerateNextYearTrustComplianceFormPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Compliance Form Absolution\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormAdminGetComplianceFormAbsolutionComplianceFormIdGet(complianceFormId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormAdminGetComplianceFormAbsolutionComplianceFormIdGet(complianceFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns ComplianceForm AdditionalFiles\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormAdminGetComplianceFormAdditionalFilesComplianceFormIdGet(complianceFormId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormAdminGetComplianceFormAdditionalFilesComplianceFormIdGet(complianceFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Compliance Form Files\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormAdminGetComplianceFormFilesComplianceFormIdGet(complianceFormId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormAdminGetComplianceFormFilesComplianceFormIdGet(complianceFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Compliance Forms\n * @param {AdminComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormAdminGetComplianceFormsPost(body?: AdminComplianceFormRequest, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormAdminGetComplianceFormsPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns boolean if Generate Trust Compliance Form is enabled\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormAdminIsGenerateTrustComplianceFormEnablePracticeIdGet(practiceId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormAdminIsGenerateTrustComplianceFormEnablePracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Update Compliance Form Absolution\n * @param {ComplianceFormAbsolutionRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormAdminUpdateComplianceFormAbsolutionPost(body?: ComplianceFormAbsolutionRequest, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormAdminUpdateComplianceFormAbsolutionPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact / ExternalExaminer | Returns Compliance Forms\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormGetComplianceFormsGet(options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormGetComplianceFormsGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / TrustCoordinator / TrustContact / ExternalExaminer | Returns Compliance Years\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormGetComplianceYearsGet(options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormGetComplianceYearsGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / TrustCoordinator / TrustContact / ExternalExaminer | Returns Progresses\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormGetProgressesGet(options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormGetProgressesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Trust Investigator only | Returns ComplianceForm AdditionalFiles\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormTrustInvestigatorGetComplianceFormAdditionalFilesComplianceFormIdGet(complianceFormId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormTrustInvestigatorGetComplianceFormAdditionalFilesComplianceFormIdGet(complianceFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Trust Investigator only | Returns Compliance Forms\n * @param {AdminComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormTrustInvestigatorGetComplianceFormsPost(body?: AdminComplianceFormRequest, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormTrustInvestigatorGetComplianceFormsPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Trust Investigator only | Returns Compliance Forms\n * @param {AdminComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormTrustInvestigatorGetComplianceFormsTipPost(body?: AdminComplianceFormRequest, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormTrustInvestigatorGetComplianceFormsTipPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { AuditTrailViewIEnumerableResponse } from '../models';\nimport { BankRequest } from '../models';\nimport { BankViewIEnumerableResponse } from '../models';\nimport { BankViewResponse } from '../models';\nimport { BooleanResponse } from '../models';\nimport { InvestigationTypeRequest } from '../models';\nimport { InvestigationTypeViewIEnumerableResponse } from '../models';\nimport { InvestigationTypeViewResponse } from '../models';\nimport { Request } from '../models';\n/**\n * ConfigTrustApi - axios parameter creator\n * @export\n */\nexport const ConfigTrustApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA All | Returns Bank Audit Trails\n * @param {number} bankId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ConfigTrustGetBankAuditTrailsBankIdGet: async (bankId: number, options: any = {}): Promise => {\n // verify required parameter 'bankId' is not null or undefined\n if (bankId === null || bankId === undefined) {\n throw new RequiredError('bankId','Required parameter bankId was null or undefined when calling apiV2ConfigTrustGetBankAuditTrailsBankIdGet.');\n }\n const localVarPath = `/api/v2/ConfigTrust/GetBankAuditTrails/{bankId}`\n .replace(`{${\"bankId\"}}`, encodeURIComponent(String(bankId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Signatory\n * @param {number} bankId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ConfigTrustGetBankByIdBankIdGet: async (bankId: number, options: any = {}): Promise => {\n // verify required parameter 'bankId' is not null or undefined\n if (bankId === null || bankId === undefined) {\n throw new RequiredError('bankId','Required parameter bankId was null or undefined when calling apiV2ConfigTrustGetBankByIdBankIdGet.');\n }\n const localVarPath = `/api/v2/ConfigTrust/GetBankById/{bankId}`\n .replace(`{${\"bankId\"}}`, encodeURIComponent(String(bankId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Banks\n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ConfigTrustGetBanksPost: async (body?: Request, showActiveOnly?: boolean, options: any = {}): Promise => {\n const localVarPath = `/api/v2/ConfigTrust/GetBanks`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n if (showActiveOnly !== undefined) {\n localVarQueryParameter['showActiveOnly'] = showActiveOnly;\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Investigation Type Audit Trails\n * @param {number} investigationTypeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ConfigTrustGetInvestigationTypeAuditTrailsInvestigationTypeIdGet: async (investigationTypeId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationTypeId' is not null or undefined\n if (investigationTypeId === null || investigationTypeId === undefined) {\n throw new RequiredError('investigationTypeId','Required parameter investigationTypeId was null or undefined when calling apiV2ConfigTrustGetInvestigationTypeAuditTrailsInvestigationTypeIdGet.');\n }\n const localVarPath = `/api/v2/ConfigTrust/GetInvestigationTypeAuditTrails/{investigationTypeId}`\n .replace(`{${\"investigationTypeId\"}}`, encodeURIComponent(String(investigationTypeId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Investigation Type\n * @param {number} investigationTypeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ConfigTrustGetInvestigationTypeByIdInvestigationTypeIdGet: async (investigationTypeId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationTypeId' is not null or undefined\n if (investigationTypeId === null || investigationTypeId === undefined) {\n throw new RequiredError('investigationTypeId','Required parameter investigationTypeId was null or undefined when calling apiV2ConfigTrustGetInvestigationTypeByIdInvestigationTypeIdGet.');\n }\n const localVarPath = `/api/v2/ConfigTrust/GetInvestigationTypeById/{investigationTypeId}`\n .replace(`{${\"investigationTypeId\"}}`, encodeURIComponent(String(investigationTypeId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Investigation Types\n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ConfigTrustGetInvestigationTypesPost: async (body?: Request, showActiveOnly?: boolean, options: any = {}): Promise => {\n const localVarPath = `/api/v2/ConfigTrust/GetInvestigationTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n if (showActiveOnly !== undefined) {\n localVarQueryParameter['showActiveOnly'] = showActiveOnly;\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Save Signatory\n * @param {BankRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ConfigTrustSaveBankPost: async (body?: BankRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/ConfigTrust/SaveBank`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Save Investigation Type\n * @param {InvestigationTypeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ConfigTrustSaveInvestigationTypePost: async (body?: InvestigationTypeRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/ConfigTrust/SaveInvestigationType`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * ConfigTrustApi - functional programming interface\n * @export\n */\nexport const ConfigTrustApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA All | Returns Bank Audit Trails\n * @param {number} bankId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ConfigTrustGetBankAuditTrailsBankIdGet(bankId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ConfigTrustApiAxiosParamCreator(configuration).apiV2ConfigTrustGetBankAuditTrailsBankIdGet(bankId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Signatory\n * @param {number} bankId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ConfigTrustGetBankByIdBankIdGet(bankId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ConfigTrustApiAxiosParamCreator(configuration).apiV2ConfigTrustGetBankByIdBankIdGet(bankId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Banks\n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ConfigTrustGetBanksPost(body?: Request, showActiveOnly?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ConfigTrustApiAxiosParamCreator(configuration).apiV2ConfigTrustGetBanksPost(body, showActiveOnly, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Investigation Type Audit Trails\n * @param {number} investigationTypeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ConfigTrustGetInvestigationTypeAuditTrailsInvestigationTypeIdGet(investigationTypeId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ConfigTrustApiAxiosParamCreator(configuration).apiV2ConfigTrustGetInvestigationTypeAuditTrailsInvestigationTypeIdGet(investigationTypeId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Investigation Type\n * @param {number} investigationTypeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ConfigTrustGetInvestigationTypeByIdInvestigationTypeIdGet(investigationTypeId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ConfigTrustApiAxiosParamCreator(configuration).apiV2ConfigTrustGetInvestigationTypeByIdInvestigationTypeIdGet(investigationTypeId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Investigation Types\n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ConfigTrustGetInvestigationTypesPost(body?: Request, showActiveOnly?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ConfigTrustApiAxiosParamCreator(configuration).apiV2ConfigTrustGetInvestigationTypesPost(body, showActiveOnly, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Save Signatory\n * @param {BankRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ConfigTrustSaveBankPost(body?: BankRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ConfigTrustApiAxiosParamCreator(configuration).apiV2ConfigTrustSaveBankPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Save Investigation Type\n * @param {InvestigationTypeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ConfigTrustSaveInvestigationTypePost(body?: InvestigationTypeRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ConfigTrustApiAxiosParamCreator(configuration).apiV2ConfigTrustSaveInvestigationTypePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * ConfigTrustApi - factory interface\n * @export\n */\nexport const ConfigTrustApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary TA All | Returns Bank Audit Trails\n * @param {number} bankId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ConfigTrustGetBankAuditTrailsBankIdGet(bankId: number, options?: any): AxiosPromise {\n return ConfigTrustApiFp(configuration).apiV2ConfigTrustGetBankAuditTrailsBankIdGet(bankId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Signatory\n * @param {number} bankId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ConfigTrustGetBankByIdBankIdGet(bankId: number, options?: any): AxiosPromise {\n return ConfigTrustApiFp(configuration).apiV2ConfigTrustGetBankByIdBankIdGet(bankId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Banks\n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ConfigTrustGetBanksPost(body?: Request, showActiveOnly?: boolean, options?: any): AxiosPromise {\n return ConfigTrustApiFp(configuration).apiV2ConfigTrustGetBanksPost(body, showActiveOnly, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Investigation Type Audit Trails\n * @param {number} investigationTypeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ConfigTrustGetInvestigationTypeAuditTrailsInvestigationTypeIdGet(investigationTypeId: number, options?: any): AxiosPromise {\n return ConfigTrustApiFp(configuration).apiV2ConfigTrustGetInvestigationTypeAuditTrailsInvestigationTypeIdGet(investigationTypeId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Investigation Type\n * @param {number} investigationTypeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ConfigTrustGetInvestigationTypeByIdInvestigationTypeIdGet(investigationTypeId: number, options?: any): AxiosPromise {\n return ConfigTrustApiFp(configuration).apiV2ConfigTrustGetInvestigationTypeByIdInvestigationTypeIdGet(investigationTypeId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Investigation Types\n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ConfigTrustGetInvestigationTypesPost(body?: Request, showActiveOnly?: boolean, options?: any): AxiosPromise {\n return ConfigTrustApiFp(configuration).apiV2ConfigTrustGetInvestigationTypesPost(body, showActiveOnly, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Save Signatory\n * @param {BankRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ConfigTrustSaveBankPost(body?: BankRequest, options?: any): AxiosPromise {\n return ConfigTrustApiFp(configuration).apiV2ConfigTrustSaveBankPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Save Investigation Type\n * @param {InvestigationTypeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ConfigTrustSaveInvestigationTypePost(body?: InvestigationTypeRequest, options?: any): AxiosPromise {\n return ConfigTrustApiFp(configuration).apiV2ConfigTrustSaveInvestigationTypePost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * ConfigTrustApi - object-oriented interface\n * @export\n * @class ConfigTrustApi\n * @extends {BaseAPI}\n */\nexport class ConfigTrustApi extends BaseAPI {\n /**\n * \n * @summary TA All | Returns Bank Audit Trails\n * @param {number} bankId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ConfigTrustApi\n */\n public apiV2ConfigTrustGetBankAuditTrailsBankIdGet(bankId: number, options?: any) {\n return ConfigTrustApiFp(this.configuration).apiV2ConfigTrustGetBankAuditTrailsBankIdGet(bankId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Signatory\n * @param {number} bankId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ConfigTrustApi\n */\n public apiV2ConfigTrustGetBankByIdBankIdGet(bankId: number, options?: any) {\n return ConfigTrustApiFp(this.configuration).apiV2ConfigTrustGetBankByIdBankIdGet(bankId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Banks\n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ConfigTrustApi\n */\n public apiV2ConfigTrustGetBanksPost(body?: Request, showActiveOnly?: boolean, options?: any) {\n return ConfigTrustApiFp(this.configuration).apiV2ConfigTrustGetBanksPost(body, showActiveOnly, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Investigation Type Audit Trails\n * @param {number} investigationTypeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ConfigTrustApi\n */\n public apiV2ConfigTrustGetInvestigationTypeAuditTrailsInvestigationTypeIdGet(investigationTypeId: number, options?: any) {\n return ConfigTrustApiFp(this.configuration).apiV2ConfigTrustGetInvestigationTypeAuditTrailsInvestigationTypeIdGet(investigationTypeId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Investigation Type\n * @param {number} investigationTypeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ConfigTrustApi\n */\n public apiV2ConfigTrustGetInvestigationTypeByIdInvestigationTypeIdGet(investigationTypeId: number, options?: any) {\n return ConfigTrustApiFp(this.configuration).apiV2ConfigTrustGetInvestigationTypeByIdInvestigationTypeIdGet(investigationTypeId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Investigation Types\n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ConfigTrustApi\n */\n public apiV2ConfigTrustGetInvestigationTypesPost(body?: Request, showActiveOnly?: boolean, options?: any) {\n return ConfigTrustApiFp(this.configuration).apiV2ConfigTrustGetInvestigationTypesPost(body, showActiveOnly, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Save Signatory\n * @param {BankRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ConfigTrustApi\n */\n public apiV2ConfigTrustSaveBankPost(body?: BankRequest, options?: any) {\n return ConfigTrustApiFp(this.configuration).apiV2ConfigTrustSaveBankPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Save Investigation Type\n * @param {InvestigationTypeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ConfigTrustApi\n */\n public apiV2ConfigTrustSaveInvestigationTypePost(body?: InvestigationTypeRequest, options?: any) {\n return ConfigTrustApiFp(this.configuration).apiV2ConfigTrustSaveInvestigationTypePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\nimport { CorrespondenceRequest } from '../models';\nimport { CorrespondenceViewIEnumerableResponse } from '../models';\nimport { CorrespondenceViewResponse } from '../models';\nimport { FileView } from '../models';\n/**\n * CorrespondenceApi - axios parameter creator\n * @export\n */\nexport const CorrespondenceApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA Admin | Delete Correspondence\n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CorrespondenceDeleteCorrespondenceCorrespondenceIdDelete: async (correspondenceId: number, options: any = {}): Promise => {\n // verify required parameter 'correspondenceId' is not null or undefined\n if (correspondenceId === null || correspondenceId === undefined) {\n throw new RequiredError('correspondenceId','Required parameter correspondenceId was null or undefined when calling apiV2CorrespondenceDeleteCorrespondenceCorrespondenceIdDelete.');\n }\n const localVarPath = `/api/v2/Correspondence/DeleteCorrespondence/{correspondenceId}`\n .replace(`{${\"correspondenceId\"}}`, encodeURIComponent(String(correspondenceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA Admin | Returns Correspondence By Id\n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CorrespondenceGetCorrespondenceByIdCorrespondenceIdGet: async (correspondenceId: number, options: any = {}): Promise => {\n // verify required parameter 'correspondenceId' is not null or undefined\n if (correspondenceId === null || correspondenceId === undefined) {\n throw new RequiredError('correspondenceId','Required parameter correspondenceId was null or undefined when calling apiV2CorrespondenceGetCorrespondenceByIdCorrespondenceIdGet.');\n }\n const localVarPath = `/api/v2/Correspondence/GetCorrespondenceById/{correspondenceId}`\n .replace(`{${\"correspondenceId\"}}`, encodeURIComponent(String(correspondenceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary All | Returns Correspondences By PracticeId\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v2/Correspondence/GetCorrespondenceByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary All | Returns Correspondence File\n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CorrespondenceGetFileByCorrespondenceIdCorrespondenceIdGet: async (correspondenceId: number, options: any = {}): Promise => {\n // verify required parameter 'correspondenceId' is not null or undefined\n if (correspondenceId === null || correspondenceId === undefined) {\n throw new RequiredError('correspondenceId','Required parameter correspondenceId was null or undefined when calling apiV2CorrespondenceGetFileByCorrespondenceIdCorrespondenceIdGet.');\n }\n const localVarPath = `/api/v2/Correspondence/GetFileByCorrespondenceId/{correspondenceId}`\n .replace(`{${\"correspondenceId\"}}`, encodeURIComponent(String(correspondenceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA Admin | Returns Correspondence File Stream\n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet: async (correspondenceId: number, options: any = {}): Promise => {\n // verify required parameter 'correspondenceId' is not null or undefined\n if (correspondenceId === null || correspondenceId === undefined) {\n throw new RequiredError('correspondenceId','Required parameter correspondenceId was null or undefined when calling apiV2CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet.');\n }\n const localVarPath = `/api/v2/Correspondence/GetFileStreamByCorrespondenceId/{correspondenceId}`\n .replace(`{${\"correspondenceId\"}}`, encodeURIComponent(String(correspondenceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary All | Save Correspondence\n * @param {CorrespondenceRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CorrespondenceSaveCorrespondencePost: async (body?: CorrespondenceRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Correspondence/SaveCorrespondence`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * CorrespondenceApi - functional programming interface\n * @export\n */\nexport const CorrespondenceApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA Admin | Delete Correspondence\n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CorrespondenceDeleteCorrespondenceCorrespondenceIdDelete(correspondenceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CorrespondenceApiAxiosParamCreator(configuration).apiV2CorrespondenceDeleteCorrespondenceCorrespondenceIdDelete(correspondenceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA Admin | Returns Correspondence By Id\n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CorrespondenceGetCorrespondenceByIdCorrespondenceIdGet(correspondenceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CorrespondenceApiAxiosParamCreator(configuration).apiV2CorrespondenceGetCorrespondenceByIdCorrespondenceIdGet(correspondenceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary All | Returns Correspondences By PracticeId\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CorrespondenceApiAxiosParamCreator(configuration).apiV2CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary All | Returns Correspondence File\n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CorrespondenceGetFileByCorrespondenceIdCorrespondenceIdGet(correspondenceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CorrespondenceApiAxiosParamCreator(configuration).apiV2CorrespondenceGetFileByCorrespondenceIdCorrespondenceIdGet(correspondenceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA Admin | Returns Correspondence File Stream\n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet(correspondenceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CorrespondenceApiAxiosParamCreator(configuration).apiV2CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet(correspondenceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary All | Save Correspondence\n * @param {CorrespondenceRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CorrespondenceSaveCorrespondencePost(body?: CorrespondenceRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CorrespondenceApiAxiosParamCreator(configuration).apiV2CorrespondenceSaveCorrespondencePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * CorrespondenceApi - factory interface\n * @export\n */\nexport const CorrespondenceApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary TA Admin | Delete Correspondence\n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CorrespondenceDeleteCorrespondenceCorrespondenceIdDelete(correspondenceId: number, options?: any): AxiosPromise {\n return CorrespondenceApiFp(configuration).apiV2CorrespondenceDeleteCorrespondenceCorrespondenceIdDelete(correspondenceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA Admin | Returns Correspondence By Id\n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CorrespondenceGetCorrespondenceByIdCorrespondenceIdGet(correspondenceId: number, options?: any): AxiosPromise {\n return CorrespondenceApiFp(configuration).apiV2CorrespondenceGetCorrespondenceByIdCorrespondenceIdGet(correspondenceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary All | Returns Correspondences By PracticeId\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return CorrespondenceApiFp(configuration).apiV2CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary All | Returns Correspondence File\n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CorrespondenceGetFileByCorrespondenceIdCorrespondenceIdGet(correspondenceId: number, options?: any): AxiosPromise {\n return CorrespondenceApiFp(configuration).apiV2CorrespondenceGetFileByCorrespondenceIdCorrespondenceIdGet(correspondenceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA Admin | Returns Correspondence File Stream\n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet(correspondenceId: number, options?: any): AxiosPromise {\n return CorrespondenceApiFp(configuration).apiV2CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet(correspondenceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary All | Save Correspondence\n * @param {CorrespondenceRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CorrespondenceSaveCorrespondencePost(body?: CorrespondenceRequest, options?: any): AxiosPromise {\n return CorrespondenceApiFp(configuration).apiV2CorrespondenceSaveCorrespondencePost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * CorrespondenceApi - object-oriented interface\n * @export\n * @class CorrespondenceApi\n * @extends {BaseAPI}\n */\nexport class CorrespondenceApi extends BaseAPI {\n /**\n * \n * @summary TA Admin | Delete Correspondence\n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CorrespondenceApi\n */\n public apiV2CorrespondenceDeleteCorrespondenceCorrespondenceIdDelete(correspondenceId: number, options?: any) {\n return CorrespondenceApiFp(this.configuration).apiV2CorrespondenceDeleteCorrespondenceCorrespondenceIdDelete(correspondenceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA Admin | Returns Correspondence By Id\n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CorrespondenceApi\n */\n public apiV2CorrespondenceGetCorrespondenceByIdCorrespondenceIdGet(correspondenceId: number, options?: any) {\n return CorrespondenceApiFp(this.configuration).apiV2CorrespondenceGetCorrespondenceByIdCorrespondenceIdGet(correspondenceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary All | Returns Correspondences By PracticeId\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CorrespondenceApi\n */\n public apiV2CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet(practiceId: number, options?: any) {\n return CorrespondenceApiFp(this.configuration).apiV2CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary All | Returns Correspondence File\n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CorrespondenceApi\n */\n public apiV2CorrespondenceGetFileByCorrespondenceIdCorrespondenceIdGet(correspondenceId: number, options?: any) {\n return CorrespondenceApiFp(this.configuration).apiV2CorrespondenceGetFileByCorrespondenceIdCorrespondenceIdGet(correspondenceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA Admin | Returns Correspondence File Stream\n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CorrespondenceApi\n */\n public apiV2CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet(correspondenceId: number, options?: any) {\n return CorrespondenceApiFp(this.configuration).apiV2CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet(correspondenceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary All | Save Correspondence\n * @param {CorrespondenceRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CorrespondenceApi\n */\n public apiV2CorrespondenceSaveCorrespondencePost(body?: CorrespondenceRequest, options?: any) {\n return CorrespondenceApiFp(this.configuration).apiV2CorrespondenceSaveCorrespondencePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { DateRequest } from '../models';\n/**\n * DateApi - axios parameter creator\n * @export\n */\nexport const DateApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Allow Anonymous | Returns current date time\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2DateGetBaseDateGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Date/GetBaseDate`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Tester | Set Current Date \\\"yyyy-MM-dd\\\"\n * @param {DateRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2DateSetCurrentDatePost: async (body?: DateRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Date/SetCurrentDate`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * DateApi - functional programming interface\n * @export\n */\nexport const DateApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary Allow Anonymous | Returns current date time\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2DateGetBaseDateGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DateApiAxiosParamCreator(configuration).apiV2DateGetBaseDateGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Tester | Set Current Date \\\"yyyy-MM-dd\\\"\n * @param {DateRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2DateSetCurrentDatePost(body?: DateRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DateApiAxiosParamCreator(configuration).apiV2DateSetCurrentDatePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * DateApi - factory interface\n * @export\n */\nexport const DateApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary Allow Anonymous | Returns current date time\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2DateGetBaseDateGet(options?: any): AxiosPromise {\n return DateApiFp(configuration).apiV2DateGetBaseDateGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Tester | Set Current Date \\\"yyyy-MM-dd\\\"\n * @param {DateRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2DateSetCurrentDatePost(body?: DateRequest, options?: any): AxiosPromise {\n return DateApiFp(configuration).apiV2DateSetCurrentDatePost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * DateApi - object-oriented interface\n * @export\n * @class DateApi\n * @extends {BaseAPI}\n */\nexport class DateApi extends BaseAPI {\n /**\n * \n * @summary Allow Anonymous | Returns current date time\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DateApi\n */\n public apiV2DateGetBaseDateGet(options?: any) {\n return DateApiFp(this.configuration).apiV2DateGetBaseDateGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Tester | Set Current Date \\\"yyyy-MM-dd\\\"\n * @param {DateRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DateApi\n */\n public apiV2DateSetCurrentDatePost(body?: DateRequest, options?: any) {\n return DateApiFp(this.configuration).apiV2DateSetCurrentDatePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\nimport { ComplianceFormRequest } from '../models';\nimport { EeReportBreachRequest } from '../models';\nimport { EeReportBreachResponse } from '../models';\nimport { EeReportControlledMoneyRequest } from '../models';\nimport { EeReportControlledMoneyResponse } from '../models';\nimport { EeReportDeclarationRequest } from '../models';\nimport { EeReportDeclarationResponse } from '../models';\nimport { EeReportGeneralTrustMoneyRequest } from '../models';\nimport { EeReportGeneralTrustMoneyResponse } from '../models';\nimport { EeReportInvestmentMoneyRequest } from '../models';\nimport { EeReportInvestmentMoneyResponse } from '../models';\nimport { EeReportOtherInformationRequest } from '../models';\nimport { EeReportOtherInformationResponse } from '../models';\nimport { EeReportOverviewResponse } from '../models';\nimport { EeReportSpecificPowerMoneyRequest } from '../models';\nimport { EeReportSpecificPowerMoneyResponse } from '../models';\nimport { EeReportSubmitRequest } from '../models';\nimport { FormStatusResponse } from '../models';\nimport { PartBResubmissionRequestRequest } from '../models';\n/**\n * EeReportApi - axios parameter creator\n * @export\n */\nexport const EeReportApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary External Examiner | Returns true when a form is successfully closed\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportClosePost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/EeReport/Close`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Extend the current Form Status\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportExtendFormStatusPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/EeReport/ExtendFormStatus`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - Breaches\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportGetBreachesPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/EeReport/GetBreaches`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - Controlled Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportGetControlledMoneyPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/EeReport/GetControlledMoney`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - Declaration\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportGetDeclarationPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/EeReport/GetDeclaration`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary External Examiner | Returns EE Report Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportGetFormStatusComplianceFormIdGet: async (complianceFormId: number, options: any = {}): Promise => {\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV2EeReportGetFormStatusComplianceFormIdGet.');\n }\n const localVarPath = `/api/v2/EeReport/GetFormStatus/{complianceFormId}`\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - General Trust Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportGetGeneralTrustMoneyPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/EeReport/GetGeneralTrustMoney`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - Investment Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportGetInvestmentMoneyPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/EeReport/GetInvestmentMoney`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - Other Information\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportGetOtherInformationPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/EeReport/GetOtherInformation`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - Overview\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportGetOverviewPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/EeReport/GetOverview`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - Specific Power Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportGetSpecificPowerMoneyPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/EeReport/GetSpecificPowerMoney`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Kick out the current Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportKickOutFormStatusComplianceFormIdGet: async (complianceFormId: number, options: any = {}): Promise => {\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV2EeReportKickOutFormStatusComplianceFormIdGet.');\n }\n const localVarPath = `/api/v2/EeReport/KickOutFormStatus/{complianceFormId}`\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary External Examiner | Save External Examiner Report - Breaches\n * @param {EeReportBreachRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportSaveBreachesPost: async (body?: EeReportBreachRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/EeReport/SaveBreaches`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary External Examiner | Save External Examiner Report - General Controlled Money Responses\n * @param {EeReportControlledMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportSaveControlledMoneyPost: async (body?: EeReportControlledMoneyRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/EeReport/SaveControlledMoney`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary External Examiner | Save External Examiner Report - Declaration\n * @param {EeReportDeclarationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportSaveDeclarationPost: async (body?: EeReportDeclarationRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/EeReport/SaveDeclaration`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary External Examiner | Save External Examiner Report - General Trust Money Responses\n * @param {EeReportGeneralTrustMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportSaveGeneralTrustMoneyPost: async (body?: EeReportGeneralTrustMoneyRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/EeReport/SaveGeneralTrustMoney`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary External Examiner | Save External Examiner Report - General Controlled Money Responses\n * @param {EeReportInvestmentMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportSaveInvestmentMoneyPost: async (body?: EeReportInvestmentMoneyRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/EeReport/SaveInvestmentMoney`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary External Examiner | Save External Examiner Report - Other Information Responses\n * @param {EeReportOtherInformationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportSaveOtherInformationPost: async (body?: EeReportOtherInformationRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/EeReport/SaveOtherInformation`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary External Examiner | Save PartB Resubmission Request\n * @param {PartBResubmissionRequestRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportSavePartBResubmissionRequestPost: async (body?: PartBResubmissionRequestRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/EeReport/SavePartBResubmissionRequest`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary External Examiner | Save External Examiner Report - Specific Power Money Responses\n * @param {EeReportSpecificPowerMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportSaveSpecificPowerMoneyPost: async (body?: EeReportSpecificPowerMoneyRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/EeReport/SaveSpecificPowerMoney`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary External Examiner | Submit External Examiner Report\n * @param {EeReportSubmitRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportSubmitEeReportPost: async (body?: EeReportSubmitRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/EeReport/SubmitEeReport`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * EeReportApi - functional programming interface\n * @export\n */\nexport const EeReportApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary External Examiner | Returns true when a form is successfully closed\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2EeReportClosePost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await EeReportApiAxiosParamCreator(configuration).apiV2EeReportClosePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Extend the current Form Status\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2EeReportExtendFormStatusPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await EeReportApiAxiosParamCreator(configuration).apiV2EeReportExtendFormStatusPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - Breaches\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2EeReportGetBreachesPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await EeReportApiAxiosParamCreator(configuration).apiV2EeReportGetBreachesPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - Controlled Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2EeReportGetControlledMoneyPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await EeReportApiAxiosParamCreator(configuration).apiV2EeReportGetControlledMoneyPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - Declaration\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2EeReportGetDeclarationPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await EeReportApiAxiosParamCreator(configuration).apiV2EeReportGetDeclarationPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary External Examiner | Returns EE Report Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2EeReportGetFormStatusComplianceFormIdGet(complianceFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await EeReportApiAxiosParamCreator(configuration).apiV2EeReportGetFormStatusComplianceFormIdGet(complianceFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - General Trust Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2EeReportGetGeneralTrustMoneyPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await EeReportApiAxiosParamCreator(configuration).apiV2EeReportGetGeneralTrustMoneyPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - Investment Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2EeReportGetInvestmentMoneyPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await EeReportApiAxiosParamCreator(configuration).apiV2EeReportGetInvestmentMoneyPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - Other Information\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2EeReportGetOtherInformationPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await EeReportApiAxiosParamCreator(configuration).apiV2EeReportGetOtherInformationPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - Overview\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2EeReportGetOverviewPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await EeReportApiAxiosParamCreator(configuration).apiV2EeReportGetOverviewPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - Specific Power Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2EeReportGetSpecificPowerMoneyPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await EeReportApiAxiosParamCreator(configuration).apiV2EeReportGetSpecificPowerMoneyPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Kick out the current Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2EeReportKickOutFormStatusComplianceFormIdGet(complianceFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await EeReportApiAxiosParamCreator(configuration).apiV2EeReportKickOutFormStatusComplianceFormIdGet(complianceFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary External Examiner | Save External Examiner Report - Breaches\n * @param {EeReportBreachRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2EeReportSaveBreachesPost(body?: EeReportBreachRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await EeReportApiAxiosParamCreator(configuration).apiV2EeReportSaveBreachesPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary External Examiner | Save External Examiner Report - General Controlled Money Responses\n * @param {EeReportControlledMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2EeReportSaveControlledMoneyPost(body?: EeReportControlledMoneyRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await EeReportApiAxiosParamCreator(configuration).apiV2EeReportSaveControlledMoneyPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary External Examiner | Save External Examiner Report - Declaration\n * @param {EeReportDeclarationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2EeReportSaveDeclarationPost(body?: EeReportDeclarationRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await EeReportApiAxiosParamCreator(configuration).apiV2EeReportSaveDeclarationPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary External Examiner | Save External Examiner Report - General Trust Money Responses\n * @param {EeReportGeneralTrustMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2EeReportSaveGeneralTrustMoneyPost(body?: EeReportGeneralTrustMoneyRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await EeReportApiAxiosParamCreator(configuration).apiV2EeReportSaveGeneralTrustMoneyPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary External Examiner | Save External Examiner Report - General Controlled Money Responses\n * @param {EeReportInvestmentMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2EeReportSaveInvestmentMoneyPost(body?: EeReportInvestmentMoneyRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await EeReportApiAxiosParamCreator(configuration).apiV2EeReportSaveInvestmentMoneyPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary External Examiner | Save External Examiner Report - Other Information Responses\n * @param {EeReportOtherInformationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2EeReportSaveOtherInformationPost(body?: EeReportOtherInformationRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await EeReportApiAxiosParamCreator(configuration).apiV2EeReportSaveOtherInformationPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary External Examiner | Save PartB Resubmission Request\n * @param {PartBResubmissionRequestRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2EeReportSavePartBResubmissionRequestPost(body?: PartBResubmissionRequestRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await EeReportApiAxiosParamCreator(configuration).apiV2EeReportSavePartBResubmissionRequestPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary External Examiner | Save External Examiner Report - Specific Power Money Responses\n * @param {EeReportSpecificPowerMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2EeReportSaveSpecificPowerMoneyPost(body?: EeReportSpecificPowerMoneyRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await EeReportApiAxiosParamCreator(configuration).apiV2EeReportSaveSpecificPowerMoneyPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary External Examiner | Submit External Examiner Report\n * @param {EeReportSubmitRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2EeReportSubmitEeReportPost(body?: EeReportSubmitRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await EeReportApiAxiosParamCreator(configuration).apiV2EeReportSubmitEeReportPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * EeReportApi - factory interface\n * @export\n */\nexport const EeReportApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary External Examiner | Returns true when a form is successfully closed\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportClosePost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return EeReportApiFp(configuration).apiV2EeReportClosePost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Extend the current Form Status\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportExtendFormStatusPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return EeReportApiFp(configuration).apiV2EeReportExtendFormStatusPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - Breaches\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportGetBreachesPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return EeReportApiFp(configuration).apiV2EeReportGetBreachesPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - Controlled Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportGetControlledMoneyPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return EeReportApiFp(configuration).apiV2EeReportGetControlledMoneyPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - Declaration\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportGetDeclarationPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return EeReportApiFp(configuration).apiV2EeReportGetDeclarationPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary External Examiner | Returns EE Report Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportGetFormStatusComplianceFormIdGet(complianceFormId: number, options?: any): AxiosPromise {\n return EeReportApiFp(configuration).apiV2EeReportGetFormStatusComplianceFormIdGet(complianceFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - General Trust Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportGetGeneralTrustMoneyPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return EeReportApiFp(configuration).apiV2EeReportGetGeneralTrustMoneyPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - Investment Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportGetInvestmentMoneyPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return EeReportApiFp(configuration).apiV2EeReportGetInvestmentMoneyPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - Other Information\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportGetOtherInformationPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return EeReportApiFp(configuration).apiV2EeReportGetOtherInformationPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - Overview\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportGetOverviewPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return EeReportApiFp(configuration).apiV2EeReportGetOverviewPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary External Examiner | Returns EE Report - Specific Power Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportGetSpecificPowerMoneyPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return EeReportApiFp(configuration).apiV2EeReportGetSpecificPowerMoneyPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Kick out the current Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportKickOutFormStatusComplianceFormIdGet(complianceFormId: number, options?: any): AxiosPromise {\n return EeReportApiFp(configuration).apiV2EeReportKickOutFormStatusComplianceFormIdGet(complianceFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary External Examiner | Save External Examiner Report - Breaches\n * @param {EeReportBreachRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportSaveBreachesPost(body?: EeReportBreachRequest, options?: any): AxiosPromise {\n return EeReportApiFp(configuration).apiV2EeReportSaveBreachesPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary External Examiner | Save External Examiner Report - General Controlled Money Responses\n * @param {EeReportControlledMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportSaveControlledMoneyPost(body?: EeReportControlledMoneyRequest, options?: any): AxiosPromise {\n return EeReportApiFp(configuration).apiV2EeReportSaveControlledMoneyPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary External Examiner | Save External Examiner Report - Declaration\n * @param {EeReportDeclarationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportSaveDeclarationPost(body?: EeReportDeclarationRequest, options?: any): AxiosPromise {\n return EeReportApiFp(configuration).apiV2EeReportSaveDeclarationPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary External Examiner | Save External Examiner Report - General Trust Money Responses\n * @param {EeReportGeneralTrustMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportSaveGeneralTrustMoneyPost(body?: EeReportGeneralTrustMoneyRequest, options?: any): AxiosPromise {\n return EeReportApiFp(configuration).apiV2EeReportSaveGeneralTrustMoneyPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary External Examiner | Save External Examiner Report - General Controlled Money Responses\n * @param {EeReportInvestmentMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportSaveInvestmentMoneyPost(body?: EeReportInvestmentMoneyRequest, options?: any): AxiosPromise {\n return EeReportApiFp(configuration).apiV2EeReportSaveInvestmentMoneyPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary External Examiner | Save External Examiner Report - Other Information Responses\n * @param {EeReportOtherInformationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportSaveOtherInformationPost(body?: EeReportOtherInformationRequest, options?: any): AxiosPromise {\n return EeReportApiFp(configuration).apiV2EeReportSaveOtherInformationPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary External Examiner | Save PartB Resubmission Request\n * @param {PartBResubmissionRequestRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportSavePartBResubmissionRequestPost(body?: PartBResubmissionRequestRequest, options?: any): AxiosPromise {\n return EeReportApiFp(configuration).apiV2EeReportSavePartBResubmissionRequestPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary External Examiner | Save External Examiner Report - Specific Power Money Responses\n * @param {EeReportSpecificPowerMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportSaveSpecificPowerMoneyPost(body?: EeReportSpecificPowerMoneyRequest, options?: any): AxiosPromise {\n return EeReportApiFp(configuration).apiV2EeReportSaveSpecificPowerMoneyPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary External Examiner | Submit External Examiner Report\n * @param {EeReportSubmitRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2EeReportSubmitEeReportPost(body?: EeReportSubmitRequest, options?: any): AxiosPromise {\n return EeReportApiFp(configuration).apiV2EeReportSubmitEeReportPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * EeReportApi - object-oriented interface\n * @export\n * @class EeReportApi\n * @extends {BaseAPI}\n */\nexport class EeReportApi extends BaseAPI {\n /**\n * \n * @summary External Examiner | Returns true when a form is successfully closed\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof EeReportApi\n */\n public apiV2EeReportClosePost(body?: ComplianceFormRequest, options?: any) {\n return EeReportApiFp(this.configuration).apiV2EeReportClosePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Extend the current Form Status\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof EeReportApi\n */\n public apiV2EeReportExtendFormStatusPost(body?: ComplianceFormRequest, options?: any) {\n return EeReportApiFp(this.configuration).apiV2EeReportExtendFormStatusPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary External Examiner | Returns EE Report - Breaches\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof EeReportApi\n */\n public apiV2EeReportGetBreachesPost(body?: ComplianceFormRequest, options?: any) {\n return EeReportApiFp(this.configuration).apiV2EeReportGetBreachesPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary External Examiner | Returns EE Report - Controlled Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof EeReportApi\n */\n public apiV2EeReportGetControlledMoneyPost(body?: ComplianceFormRequest, options?: any) {\n return EeReportApiFp(this.configuration).apiV2EeReportGetControlledMoneyPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary External Examiner | Returns EE Report - Declaration\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof EeReportApi\n */\n public apiV2EeReportGetDeclarationPost(body?: ComplianceFormRequest, options?: any) {\n return EeReportApiFp(this.configuration).apiV2EeReportGetDeclarationPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary External Examiner | Returns EE Report Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof EeReportApi\n */\n public apiV2EeReportGetFormStatusComplianceFormIdGet(complianceFormId: number, options?: any) {\n return EeReportApiFp(this.configuration).apiV2EeReportGetFormStatusComplianceFormIdGet(complianceFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary External Examiner | Returns EE Report - General Trust Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof EeReportApi\n */\n public apiV2EeReportGetGeneralTrustMoneyPost(body?: ComplianceFormRequest, options?: any) {\n return EeReportApiFp(this.configuration).apiV2EeReportGetGeneralTrustMoneyPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary External Examiner | Returns EE Report - Investment Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof EeReportApi\n */\n public apiV2EeReportGetInvestmentMoneyPost(body?: ComplianceFormRequest, options?: any) {\n return EeReportApiFp(this.configuration).apiV2EeReportGetInvestmentMoneyPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary External Examiner | Returns EE Report - Other Information\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof EeReportApi\n */\n public apiV2EeReportGetOtherInformationPost(body?: ComplianceFormRequest, options?: any) {\n return EeReportApiFp(this.configuration).apiV2EeReportGetOtherInformationPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary External Examiner | Returns EE Report - Overview\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof EeReportApi\n */\n public apiV2EeReportGetOverviewPost(body?: ComplianceFormRequest, options?: any) {\n return EeReportApiFp(this.configuration).apiV2EeReportGetOverviewPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary External Examiner | Returns EE Report - Specific Power Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof EeReportApi\n */\n public apiV2EeReportGetSpecificPowerMoneyPost(body?: ComplianceFormRequest, options?: any) {\n return EeReportApiFp(this.configuration).apiV2EeReportGetSpecificPowerMoneyPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Kick out the current Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof EeReportApi\n */\n public apiV2EeReportKickOutFormStatusComplianceFormIdGet(complianceFormId: number, options?: any) {\n return EeReportApiFp(this.configuration).apiV2EeReportKickOutFormStatusComplianceFormIdGet(complianceFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary External Examiner | Save External Examiner Report - Breaches\n * @param {EeReportBreachRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof EeReportApi\n */\n public apiV2EeReportSaveBreachesPost(body?: EeReportBreachRequest, options?: any) {\n return EeReportApiFp(this.configuration).apiV2EeReportSaveBreachesPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary External Examiner | Save External Examiner Report - General Controlled Money Responses\n * @param {EeReportControlledMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof EeReportApi\n */\n public apiV2EeReportSaveControlledMoneyPost(body?: EeReportControlledMoneyRequest, options?: any) {\n return EeReportApiFp(this.configuration).apiV2EeReportSaveControlledMoneyPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary External Examiner | Save External Examiner Report - Declaration\n * @param {EeReportDeclarationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof EeReportApi\n */\n public apiV2EeReportSaveDeclarationPost(body?: EeReportDeclarationRequest, options?: any) {\n return EeReportApiFp(this.configuration).apiV2EeReportSaveDeclarationPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary External Examiner | Save External Examiner Report - General Trust Money Responses\n * @param {EeReportGeneralTrustMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof EeReportApi\n */\n public apiV2EeReportSaveGeneralTrustMoneyPost(body?: EeReportGeneralTrustMoneyRequest, options?: any) {\n return EeReportApiFp(this.configuration).apiV2EeReportSaveGeneralTrustMoneyPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary External Examiner | Save External Examiner Report - General Controlled Money Responses\n * @param {EeReportInvestmentMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof EeReportApi\n */\n public apiV2EeReportSaveInvestmentMoneyPost(body?: EeReportInvestmentMoneyRequest, options?: any) {\n return EeReportApiFp(this.configuration).apiV2EeReportSaveInvestmentMoneyPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary External Examiner | Save External Examiner Report - Other Information Responses\n * @param {EeReportOtherInformationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof EeReportApi\n */\n public apiV2EeReportSaveOtherInformationPost(body?: EeReportOtherInformationRequest, options?: any) {\n return EeReportApiFp(this.configuration).apiV2EeReportSaveOtherInformationPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary External Examiner | Save PartB Resubmission Request\n * @param {PartBResubmissionRequestRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof EeReportApi\n */\n public apiV2EeReportSavePartBResubmissionRequestPost(body?: PartBResubmissionRequestRequest, options?: any) {\n return EeReportApiFp(this.configuration).apiV2EeReportSavePartBResubmissionRequestPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary External Examiner | Save External Examiner Report - Specific Power Money Responses\n * @param {EeReportSpecificPowerMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof EeReportApi\n */\n public apiV2EeReportSaveSpecificPowerMoneyPost(body?: EeReportSpecificPowerMoneyRequest, options?: any) {\n return EeReportApiFp(this.configuration).apiV2EeReportSaveSpecificPowerMoneyPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary External Examiner | Submit External Examiner Report\n * @param {EeReportSubmitRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof EeReportApi\n */\n public apiV2EeReportSubmitEeReportPost(body?: EeReportSubmitRequest, options?: any) {\n return EeReportApiFp(this.configuration).apiV2EeReportSubmitEeReportPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { AddExternalExaminerRequest } from '../models';\nimport { AppointEeRequestFormRequest } from '../models';\nimport { AppointExternalExaminerRequest } from '../models';\nimport { ApprovalEeRequestFormRequest } from '../models';\nimport { BooleanResponse } from '../models';\nimport { EeRequestFormIEnumerableResponse } from '../models';\nimport { EeRequestFormResponse } from '../models';\nimport { EeRequestFormSummaryRequest } from '../models';\nimport { EeSignUpFormIEnumerableResponse } from '../models';\nimport { EeSignUpFormRequest } from '../models';\nimport { EeSignUpFormResponse } from '../models';\nimport { ExternalExaminerForEEResponse } from '../models';\nimport { ExternalExaminerForIndividualPracticeResponse } from '../models';\nimport { ExternalExaminerResponse } from '../models';\nimport { ExternalExaminerSummaryRequest } from '../models';\nimport { ExternalExaminerSummaryTaIEnumerableResponse } from '../models';\nimport { SearchExternalExaminerIEnumerableResponse } from '../models';\nimport { SearchExternalExaminerRequest } from '../models';\nimport { TerminateEeRequestFormRequest } from '../models';\nimport { UpdateExternalExaminerForEeRequest } from '../models';\nimport { UpdateExternalExaminerRequest } from '../models';\n/**\n * ExternalExaminerApi - axios parameter creator\n * @export\n */\nexport const ExternalExaminerApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary TaAll | Add External Examiner\n * @param {AddExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminAddExternalExaminerPost: async (body?: AddExternalExaminerRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/ExternalExaminer/Admin/AddExternalExaminer`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Appoint External Examiner\n * @param {AppointExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminAppointExternalExaminerPost: async (body?: AppointExternalExaminerRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/ExternalExaminer/Admin/AppointExternalExaminer`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Approve External Examiner Request Form\n * @param {ApprovalEeRequestFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminApproveEeRequestFormPost: async (body?: ApprovalEeRequestFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/ExternalExaminer/Admin/ApproveEeRequestForm`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Approve External Examiner Sign Up Form\n * @param {number} eeSignUpFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminApproveEeSignUpFormEeSignUpFormIdPut: async (eeSignUpFormId: number, options: any = {}): Promise => {\n // verify required parameter 'eeSignUpFormId' is not null or undefined\n if (eeSignUpFormId === null || eeSignUpFormId === undefined) {\n throw new RequiredError('eeSignUpFormId','Required parameter eeSignUpFormId was null or undefined when calling apiV2ExternalExaminerAdminApproveEeSignUpFormEeSignUpFormIdPut.');\n }\n const localVarPath = `/api/v2/ExternalExaminer/Admin/ApproveEeSignUpForm/{eeSignUpFormId}`\n .replace(`{${\"eeSignUpFormId\"}}`, encodeURIComponent(String(eeSignUpFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Returns External Examiner Request Form\n * @param {number} eeRequestFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminGetEeRequestFormByIdEeRequestFormIdGet: async (eeRequestFormId: number, options: any = {}): Promise => {\n // verify required parameter 'eeRequestFormId' is not null or undefined\n if (eeRequestFormId === null || eeRequestFormId === undefined) {\n throw new RequiredError('eeRequestFormId','Required parameter eeRequestFormId was null or undefined when calling apiV2ExternalExaminerAdminGetEeRequestFormByIdEeRequestFormIdGet.');\n }\n const localVarPath = `/api/v2/ExternalExaminer/Admin/GetEeRequestFormById/{eeRequestFormId}`\n .replace(`{${\"eeRequestFormId\"}}`, encodeURIComponent(String(eeRequestFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Returns External Examiner Request Form\n * @param {EeRequestFormSummaryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminGetEeRequestFormsPost: async (body?: EeRequestFormSummaryRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/ExternalExaminer/Admin/GetEeRequestForms`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Returns External Examiner Sign Up Form\n * @param {number} eeSignUpFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminGetEeSignUpFormByIdEeSignUpFormIdGet: async (eeSignUpFormId: number, options: any = {}): Promise => {\n // verify required parameter 'eeSignUpFormId' is not null or undefined\n if (eeSignUpFormId === null || eeSignUpFormId === undefined) {\n throw new RequiredError('eeSignUpFormId','Required parameter eeSignUpFormId was null or undefined when calling apiV2ExternalExaminerAdminGetEeSignUpFormByIdEeSignUpFormIdGet.');\n }\n const localVarPath = `/api/v2/ExternalExaminer/Admin/GetEeSignUpFormById/{eeSignUpFormId}`\n .replace(`{${\"eeSignUpFormId\"}}`, encodeURIComponent(String(eeSignUpFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Returns External Examiner Sign Up Forms\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminGetEeSignUpFormGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/ExternalExaminer/Admin/GetEeSignUpForm`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Returns External Examiner\n * @param {number} externalExaminerId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminGetExternalExaminerByIdExternalExaminerIdGet: async (externalExaminerId: number, options: any = {}): Promise => {\n // verify required parameter 'externalExaminerId' is not null or undefined\n if (externalExaminerId === null || externalExaminerId === undefined) {\n throw new RequiredError('externalExaminerId','Required parameter externalExaminerId was null or undefined when calling apiV2ExternalExaminerAdminGetExternalExaminerByIdExternalExaminerIdGet.');\n }\n const localVarPath = `/api/v2/ExternalExaminer/Admin/GetExternalExaminerById/{externalExaminerId}`\n .replace(`{${\"externalExaminerId\"}}`, encodeURIComponent(String(externalExaminerId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Returns External Examiners\n * @param {ExternalExaminerSummaryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminGetExternalExaminersPost: async (body?: ExternalExaminerSummaryRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/ExternalExaminer/Admin/GetExternalExaminers`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Reject External Examiner Request Form\n * @param {ApprovalEeRequestFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminRejectEeRequestFormPost: async (body?: ApprovalEeRequestFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/ExternalExaminer/Admin/RejectEeRequestForm`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Reject External Examiner Sign Up form\n * @param {number} eeSignUpFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminRejectEeSignUpFormEeSignUpFormIdPut: async (eeSignUpFormId: number, options: any = {}): Promise => {\n // verify required parameter 'eeSignUpFormId' is not null or undefined\n if (eeSignUpFormId === null || eeSignUpFormId === undefined) {\n throw new RequiredError('eeSignUpFormId','Required parameter eeSignUpFormId was null or undefined when calling apiV2ExternalExaminerAdminRejectEeSignUpFormEeSignUpFormIdPut.');\n }\n const localVarPath = `/api/v2/ExternalExaminer/Admin/RejectEeSignUpForm/{eeSignUpFormId}`\n .replace(`{${\"eeSignUpFormId\"}}`, encodeURIComponent(String(eeSignUpFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Returns External Examiners\n * @param {SearchExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminSearchExternalExaminersPost: async (body?: SearchExternalExaminerRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/ExternalExaminer/Admin/SearchExternalExaminers`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Update External Examiner\n * @param {UpdateExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminUpdateExternalExaminerPost: async (body?: UpdateExternalExaminerRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/ExternalExaminer/Admin/UpdateExternalExaminer`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / TrustCoordinator | Appoint External Examiner Request Form\n * @param {AppointEeRequestFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAppointEeRequestFormPost: async (body?: AppointEeRequestFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/ExternalExaminer/AppointEeRequestForm`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary ToBeExternalExaminer | Returns External Examiner Sign Up Form\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerGetEeSignUpFormGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/ExternalExaminer/GetEeSignUpForm`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / TrustCoordinator | Returns External Examiner Details\n * @param {number} individualPracticeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerGetExternalExaminerByIndividualPracticeIdIndividualPracticeIdGet: async (individualPracticeId: number, options: any = {}): Promise => {\n // verify required parameter 'individualPracticeId' is not null or undefined\n if (individualPracticeId === null || individualPracticeId === undefined) {\n throw new RequiredError('individualPracticeId','Required parameter individualPracticeId was null or undefined when calling apiV2ExternalExaminerGetExternalExaminerByIndividualPracticeIdIndividualPracticeIdGet.');\n }\n const localVarPath = `/api/v2/ExternalExaminer/GetExternalExaminerByIndividualPracticeId/{individualPracticeId}`\n .replace(`{${\"individualPracticeId\"}}`, encodeURIComponent(String(individualPracticeId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary External Examiner | Returns External Examiner\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerGetExternalExaminerDetailsGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/ExternalExaminer/GetExternalExaminerDetails`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary ToBeExternalExaminer | Save External Examiner Sign Up form\n * @param {EeSignUpFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerSaveEeSignUpFormPost: async (body?: EeSignUpFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/ExternalExaminer/SaveEeSignUpForm`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / TrustCoordinator | Returns External Examiners\n * @param {SearchExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerSearchExternalExaminersPost: async (body?: SearchExternalExaminerRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/ExternalExaminer/SearchExternalExaminers`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / TrustCoordinator | Terminate External Examiner Request Form\n * @param {TerminateEeRequestFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerTerminateEeRequestFormPost: async (body?: TerminateEeRequestFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/ExternalExaminer/TerminateEeRequestForm`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary External Examiner | Update External Examiner Details\n * @param {UpdateExternalExaminerForEeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerUpdateExternalExaminerDetailsPost: async (body?: UpdateExternalExaminerForEeRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/ExternalExaminer/UpdateExternalExaminerDetails`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * ExternalExaminerApi - functional programming interface\n * @export\n */\nexport const ExternalExaminerApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary TaAll | Add External Examiner\n * @param {AddExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ExternalExaminerAdminAddExternalExaminerPost(body?: AddExternalExaminerRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ExternalExaminerApiAxiosParamCreator(configuration).apiV2ExternalExaminerAdminAddExternalExaminerPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Appoint External Examiner\n * @param {AppointExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ExternalExaminerAdminAppointExternalExaminerPost(body?: AppointExternalExaminerRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ExternalExaminerApiAxiosParamCreator(configuration).apiV2ExternalExaminerAdminAppointExternalExaminerPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Approve External Examiner Request Form\n * @param {ApprovalEeRequestFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ExternalExaminerAdminApproveEeRequestFormPost(body?: ApprovalEeRequestFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ExternalExaminerApiAxiosParamCreator(configuration).apiV2ExternalExaminerAdminApproveEeRequestFormPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Approve External Examiner Sign Up Form\n * @param {number} eeSignUpFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ExternalExaminerAdminApproveEeSignUpFormEeSignUpFormIdPut(eeSignUpFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ExternalExaminerApiAxiosParamCreator(configuration).apiV2ExternalExaminerAdminApproveEeSignUpFormEeSignUpFormIdPut(eeSignUpFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Returns External Examiner Request Form\n * @param {number} eeRequestFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ExternalExaminerAdminGetEeRequestFormByIdEeRequestFormIdGet(eeRequestFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ExternalExaminerApiAxiosParamCreator(configuration).apiV2ExternalExaminerAdminGetEeRequestFormByIdEeRequestFormIdGet(eeRequestFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Returns External Examiner Request Form\n * @param {EeRequestFormSummaryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ExternalExaminerAdminGetEeRequestFormsPost(body?: EeRequestFormSummaryRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ExternalExaminerApiAxiosParamCreator(configuration).apiV2ExternalExaminerAdminGetEeRequestFormsPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Returns External Examiner Sign Up Form\n * @param {number} eeSignUpFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ExternalExaminerAdminGetEeSignUpFormByIdEeSignUpFormIdGet(eeSignUpFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ExternalExaminerApiAxiosParamCreator(configuration).apiV2ExternalExaminerAdminGetEeSignUpFormByIdEeSignUpFormIdGet(eeSignUpFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Returns External Examiner Sign Up Forms\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ExternalExaminerAdminGetEeSignUpFormGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ExternalExaminerApiAxiosParamCreator(configuration).apiV2ExternalExaminerAdminGetEeSignUpFormGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Returns External Examiner\n * @param {number} externalExaminerId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ExternalExaminerAdminGetExternalExaminerByIdExternalExaminerIdGet(externalExaminerId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ExternalExaminerApiAxiosParamCreator(configuration).apiV2ExternalExaminerAdminGetExternalExaminerByIdExternalExaminerIdGet(externalExaminerId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Returns External Examiners\n * @param {ExternalExaminerSummaryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ExternalExaminerAdminGetExternalExaminersPost(body?: ExternalExaminerSummaryRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ExternalExaminerApiAxiosParamCreator(configuration).apiV2ExternalExaminerAdminGetExternalExaminersPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Reject External Examiner Request Form\n * @param {ApprovalEeRequestFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ExternalExaminerAdminRejectEeRequestFormPost(body?: ApprovalEeRequestFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ExternalExaminerApiAxiosParamCreator(configuration).apiV2ExternalExaminerAdminRejectEeRequestFormPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Reject External Examiner Sign Up form\n * @param {number} eeSignUpFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ExternalExaminerAdminRejectEeSignUpFormEeSignUpFormIdPut(eeSignUpFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ExternalExaminerApiAxiosParamCreator(configuration).apiV2ExternalExaminerAdminRejectEeSignUpFormEeSignUpFormIdPut(eeSignUpFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Returns External Examiners\n * @param {SearchExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ExternalExaminerAdminSearchExternalExaminersPost(body?: SearchExternalExaminerRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ExternalExaminerApiAxiosParamCreator(configuration).apiV2ExternalExaminerAdminSearchExternalExaminersPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Update External Examiner\n * @param {UpdateExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ExternalExaminerAdminUpdateExternalExaminerPost(body?: UpdateExternalExaminerRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ExternalExaminerApiAxiosParamCreator(configuration).apiV2ExternalExaminerAdminUpdateExternalExaminerPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / TrustCoordinator | Appoint External Examiner Request Form\n * @param {AppointEeRequestFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ExternalExaminerAppointEeRequestFormPost(body?: AppointEeRequestFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ExternalExaminerApiAxiosParamCreator(configuration).apiV2ExternalExaminerAppointEeRequestFormPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary ToBeExternalExaminer | Returns External Examiner Sign Up Form\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ExternalExaminerGetEeSignUpFormGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ExternalExaminerApiAxiosParamCreator(configuration).apiV2ExternalExaminerGetEeSignUpFormGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / TrustCoordinator | Returns External Examiner Details\n * @param {number} individualPracticeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ExternalExaminerGetExternalExaminerByIndividualPracticeIdIndividualPracticeIdGet(individualPracticeId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ExternalExaminerApiAxiosParamCreator(configuration).apiV2ExternalExaminerGetExternalExaminerByIndividualPracticeIdIndividualPracticeIdGet(individualPracticeId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary External Examiner | Returns External Examiner\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ExternalExaminerGetExternalExaminerDetailsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ExternalExaminerApiAxiosParamCreator(configuration).apiV2ExternalExaminerGetExternalExaminerDetailsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary ToBeExternalExaminer | Save External Examiner Sign Up form\n * @param {EeSignUpFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ExternalExaminerSaveEeSignUpFormPost(body?: EeSignUpFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ExternalExaminerApiAxiosParamCreator(configuration).apiV2ExternalExaminerSaveEeSignUpFormPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / TrustCoordinator | Returns External Examiners\n * @param {SearchExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ExternalExaminerSearchExternalExaminersPost(body?: SearchExternalExaminerRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ExternalExaminerApiAxiosParamCreator(configuration).apiV2ExternalExaminerSearchExternalExaminersPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / TrustCoordinator | Terminate External Examiner Request Form\n * @param {TerminateEeRequestFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ExternalExaminerTerminateEeRequestFormPost(body?: TerminateEeRequestFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ExternalExaminerApiAxiosParamCreator(configuration).apiV2ExternalExaminerTerminateEeRequestFormPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary External Examiner | Update External Examiner Details\n * @param {UpdateExternalExaminerForEeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ExternalExaminerUpdateExternalExaminerDetailsPost(body?: UpdateExternalExaminerForEeRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ExternalExaminerApiAxiosParamCreator(configuration).apiV2ExternalExaminerUpdateExternalExaminerDetailsPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * ExternalExaminerApi - factory interface\n * @export\n */\nexport const ExternalExaminerApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary TaAll | Add External Examiner\n * @param {AddExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminAddExternalExaminerPost(body?: AddExternalExaminerRequest, options?: any): AxiosPromise {\n return ExternalExaminerApiFp(configuration).apiV2ExternalExaminerAdminAddExternalExaminerPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Appoint External Examiner\n * @param {AppointExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminAppointExternalExaminerPost(body?: AppointExternalExaminerRequest, options?: any): AxiosPromise {\n return ExternalExaminerApiFp(configuration).apiV2ExternalExaminerAdminAppointExternalExaminerPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Approve External Examiner Request Form\n * @param {ApprovalEeRequestFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminApproveEeRequestFormPost(body?: ApprovalEeRequestFormRequest, options?: any): AxiosPromise {\n return ExternalExaminerApiFp(configuration).apiV2ExternalExaminerAdminApproveEeRequestFormPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Approve External Examiner Sign Up Form\n * @param {number} eeSignUpFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminApproveEeSignUpFormEeSignUpFormIdPut(eeSignUpFormId: number, options?: any): AxiosPromise {\n return ExternalExaminerApiFp(configuration).apiV2ExternalExaminerAdminApproveEeSignUpFormEeSignUpFormIdPut(eeSignUpFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Returns External Examiner Request Form\n * @param {number} eeRequestFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminGetEeRequestFormByIdEeRequestFormIdGet(eeRequestFormId: number, options?: any): AxiosPromise {\n return ExternalExaminerApiFp(configuration).apiV2ExternalExaminerAdminGetEeRequestFormByIdEeRequestFormIdGet(eeRequestFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Returns External Examiner Request Form\n * @param {EeRequestFormSummaryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminGetEeRequestFormsPost(body?: EeRequestFormSummaryRequest, options?: any): AxiosPromise {\n return ExternalExaminerApiFp(configuration).apiV2ExternalExaminerAdminGetEeRequestFormsPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Returns External Examiner Sign Up Form\n * @param {number} eeSignUpFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminGetEeSignUpFormByIdEeSignUpFormIdGet(eeSignUpFormId: number, options?: any): AxiosPromise {\n return ExternalExaminerApiFp(configuration).apiV2ExternalExaminerAdminGetEeSignUpFormByIdEeSignUpFormIdGet(eeSignUpFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Returns External Examiner Sign Up Forms\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminGetEeSignUpFormGet(options?: any): AxiosPromise {\n return ExternalExaminerApiFp(configuration).apiV2ExternalExaminerAdminGetEeSignUpFormGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Returns External Examiner\n * @param {number} externalExaminerId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminGetExternalExaminerByIdExternalExaminerIdGet(externalExaminerId: number, options?: any): AxiosPromise {\n return ExternalExaminerApiFp(configuration).apiV2ExternalExaminerAdminGetExternalExaminerByIdExternalExaminerIdGet(externalExaminerId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Returns External Examiners\n * @param {ExternalExaminerSummaryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminGetExternalExaminersPost(body?: ExternalExaminerSummaryRequest, options?: any): AxiosPromise {\n return ExternalExaminerApiFp(configuration).apiV2ExternalExaminerAdminGetExternalExaminersPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Reject External Examiner Request Form\n * @param {ApprovalEeRequestFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminRejectEeRequestFormPost(body?: ApprovalEeRequestFormRequest, options?: any): AxiosPromise {\n return ExternalExaminerApiFp(configuration).apiV2ExternalExaminerAdminRejectEeRequestFormPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Reject External Examiner Sign Up form\n * @param {number} eeSignUpFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminRejectEeSignUpFormEeSignUpFormIdPut(eeSignUpFormId: number, options?: any): AxiosPromise {\n return ExternalExaminerApiFp(configuration).apiV2ExternalExaminerAdminRejectEeSignUpFormEeSignUpFormIdPut(eeSignUpFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Returns External Examiners\n * @param {SearchExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminSearchExternalExaminersPost(body?: SearchExternalExaminerRequest, options?: any): AxiosPromise {\n return ExternalExaminerApiFp(configuration).apiV2ExternalExaminerAdminSearchExternalExaminersPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Update External Examiner\n * @param {UpdateExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAdminUpdateExternalExaminerPost(body?: UpdateExternalExaminerRequest, options?: any): AxiosPromise {\n return ExternalExaminerApiFp(configuration).apiV2ExternalExaminerAdminUpdateExternalExaminerPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / TrustCoordinator | Appoint External Examiner Request Form\n * @param {AppointEeRequestFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerAppointEeRequestFormPost(body?: AppointEeRequestFormRequest, options?: any): AxiosPromise {\n return ExternalExaminerApiFp(configuration).apiV2ExternalExaminerAppointEeRequestFormPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary ToBeExternalExaminer | Returns External Examiner Sign Up Form\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerGetEeSignUpFormGet(options?: any): AxiosPromise {\n return ExternalExaminerApiFp(configuration).apiV2ExternalExaminerGetEeSignUpFormGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / TrustCoordinator | Returns External Examiner Details\n * @param {number} individualPracticeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerGetExternalExaminerByIndividualPracticeIdIndividualPracticeIdGet(individualPracticeId: number, options?: any): AxiosPromise {\n return ExternalExaminerApiFp(configuration).apiV2ExternalExaminerGetExternalExaminerByIndividualPracticeIdIndividualPracticeIdGet(individualPracticeId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary External Examiner | Returns External Examiner\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerGetExternalExaminerDetailsGet(options?: any): AxiosPromise {\n return ExternalExaminerApiFp(configuration).apiV2ExternalExaminerGetExternalExaminerDetailsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary ToBeExternalExaminer | Save External Examiner Sign Up form\n * @param {EeSignUpFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerSaveEeSignUpFormPost(body?: EeSignUpFormRequest, options?: any): AxiosPromise {\n return ExternalExaminerApiFp(configuration).apiV2ExternalExaminerSaveEeSignUpFormPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / TrustCoordinator | Returns External Examiners\n * @param {SearchExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerSearchExternalExaminersPost(body?: SearchExternalExaminerRequest, options?: any): AxiosPromise {\n return ExternalExaminerApiFp(configuration).apiV2ExternalExaminerSearchExternalExaminersPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / TrustCoordinator | Terminate External Examiner Request Form\n * @param {TerminateEeRequestFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerTerminateEeRequestFormPost(body?: TerminateEeRequestFormRequest, options?: any): AxiosPromise {\n return ExternalExaminerApiFp(configuration).apiV2ExternalExaminerTerminateEeRequestFormPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary External Examiner | Update External Examiner Details\n * @param {UpdateExternalExaminerForEeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ExternalExaminerUpdateExternalExaminerDetailsPost(body?: UpdateExternalExaminerForEeRequest, options?: any): AxiosPromise {\n return ExternalExaminerApiFp(configuration).apiV2ExternalExaminerUpdateExternalExaminerDetailsPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * ExternalExaminerApi - object-oriented interface\n * @export\n * @class ExternalExaminerApi\n * @extends {BaseAPI}\n */\nexport class ExternalExaminerApi extends BaseAPI {\n /**\n * \n * @summary TaAll | Add External Examiner\n * @param {AddExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExternalExaminerApi\n */\n public apiV2ExternalExaminerAdminAddExternalExaminerPost(body?: AddExternalExaminerRequest, options?: any) {\n return ExternalExaminerApiFp(this.configuration).apiV2ExternalExaminerAdminAddExternalExaminerPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Appoint External Examiner\n * @param {AppointExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExternalExaminerApi\n */\n public apiV2ExternalExaminerAdminAppointExternalExaminerPost(body?: AppointExternalExaminerRequest, options?: any) {\n return ExternalExaminerApiFp(this.configuration).apiV2ExternalExaminerAdminAppointExternalExaminerPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Approve External Examiner Request Form\n * @param {ApprovalEeRequestFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExternalExaminerApi\n */\n public apiV2ExternalExaminerAdminApproveEeRequestFormPost(body?: ApprovalEeRequestFormRequest, options?: any) {\n return ExternalExaminerApiFp(this.configuration).apiV2ExternalExaminerAdminApproveEeRequestFormPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Approve External Examiner Sign Up Form\n * @param {number} eeSignUpFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExternalExaminerApi\n */\n public apiV2ExternalExaminerAdminApproveEeSignUpFormEeSignUpFormIdPut(eeSignUpFormId: number, options?: any) {\n return ExternalExaminerApiFp(this.configuration).apiV2ExternalExaminerAdminApproveEeSignUpFormEeSignUpFormIdPut(eeSignUpFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Returns External Examiner Request Form\n * @param {number} eeRequestFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExternalExaminerApi\n */\n public apiV2ExternalExaminerAdminGetEeRequestFormByIdEeRequestFormIdGet(eeRequestFormId: number, options?: any) {\n return ExternalExaminerApiFp(this.configuration).apiV2ExternalExaminerAdminGetEeRequestFormByIdEeRequestFormIdGet(eeRequestFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Returns External Examiner Request Form\n * @param {EeRequestFormSummaryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExternalExaminerApi\n */\n public apiV2ExternalExaminerAdminGetEeRequestFormsPost(body?: EeRequestFormSummaryRequest, options?: any) {\n return ExternalExaminerApiFp(this.configuration).apiV2ExternalExaminerAdminGetEeRequestFormsPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Returns External Examiner Sign Up Form\n * @param {number} eeSignUpFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExternalExaminerApi\n */\n public apiV2ExternalExaminerAdminGetEeSignUpFormByIdEeSignUpFormIdGet(eeSignUpFormId: number, options?: any) {\n return ExternalExaminerApiFp(this.configuration).apiV2ExternalExaminerAdminGetEeSignUpFormByIdEeSignUpFormIdGet(eeSignUpFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Returns External Examiner Sign Up Forms\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExternalExaminerApi\n */\n public apiV2ExternalExaminerAdminGetEeSignUpFormGet(options?: any) {\n return ExternalExaminerApiFp(this.configuration).apiV2ExternalExaminerAdminGetEeSignUpFormGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Returns External Examiner\n * @param {number} externalExaminerId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExternalExaminerApi\n */\n public apiV2ExternalExaminerAdminGetExternalExaminerByIdExternalExaminerIdGet(externalExaminerId: number, options?: any) {\n return ExternalExaminerApiFp(this.configuration).apiV2ExternalExaminerAdminGetExternalExaminerByIdExternalExaminerIdGet(externalExaminerId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Returns External Examiners\n * @param {ExternalExaminerSummaryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExternalExaminerApi\n */\n public apiV2ExternalExaminerAdminGetExternalExaminersPost(body?: ExternalExaminerSummaryRequest, options?: any) {\n return ExternalExaminerApiFp(this.configuration).apiV2ExternalExaminerAdminGetExternalExaminersPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Reject External Examiner Request Form\n * @param {ApprovalEeRequestFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExternalExaminerApi\n */\n public apiV2ExternalExaminerAdminRejectEeRequestFormPost(body?: ApprovalEeRequestFormRequest, options?: any) {\n return ExternalExaminerApiFp(this.configuration).apiV2ExternalExaminerAdminRejectEeRequestFormPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Reject External Examiner Sign Up form\n * @param {number} eeSignUpFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExternalExaminerApi\n */\n public apiV2ExternalExaminerAdminRejectEeSignUpFormEeSignUpFormIdPut(eeSignUpFormId: number, options?: any) {\n return ExternalExaminerApiFp(this.configuration).apiV2ExternalExaminerAdminRejectEeSignUpFormEeSignUpFormIdPut(eeSignUpFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Returns External Examiners\n * @param {SearchExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExternalExaminerApi\n */\n public apiV2ExternalExaminerAdminSearchExternalExaminersPost(body?: SearchExternalExaminerRequest, options?: any) {\n return ExternalExaminerApiFp(this.configuration).apiV2ExternalExaminerAdminSearchExternalExaminersPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Update External Examiner\n * @param {UpdateExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExternalExaminerApi\n */\n public apiV2ExternalExaminerAdminUpdateExternalExaminerPost(body?: UpdateExternalExaminerRequest, options?: any) {\n return ExternalExaminerApiFp(this.configuration).apiV2ExternalExaminerAdminUpdateExternalExaminerPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / TrustCoordinator | Appoint External Examiner Request Form\n * @param {AppointEeRequestFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExternalExaminerApi\n */\n public apiV2ExternalExaminerAppointEeRequestFormPost(body?: AppointEeRequestFormRequest, options?: any) {\n return ExternalExaminerApiFp(this.configuration).apiV2ExternalExaminerAppointEeRequestFormPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary ToBeExternalExaminer | Returns External Examiner Sign Up Form\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExternalExaminerApi\n */\n public apiV2ExternalExaminerGetEeSignUpFormGet(options?: any) {\n return ExternalExaminerApiFp(this.configuration).apiV2ExternalExaminerGetEeSignUpFormGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / TrustCoordinator | Returns External Examiner Details\n * @param {number} individualPracticeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExternalExaminerApi\n */\n public apiV2ExternalExaminerGetExternalExaminerByIndividualPracticeIdIndividualPracticeIdGet(individualPracticeId: number, options?: any) {\n return ExternalExaminerApiFp(this.configuration).apiV2ExternalExaminerGetExternalExaminerByIndividualPracticeIdIndividualPracticeIdGet(individualPracticeId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary External Examiner | Returns External Examiner\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExternalExaminerApi\n */\n public apiV2ExternalExaminerGetExternalExaminerDetailsGet(options?: any) {\n return ExternalExaminerApiFp(this.configuration).apiV2ExternalExaminerGetExternalExaminerDetailsGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary ToBeExternalExaminer | Save External Examiner Sign Up form\n * @param {EeSignUpFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExternalExaminerApi\n */\n public apiV2ExternalExaminerSaveEeSignUpFormPost(body?: EeSignUpFormRequest, options?: any) {\n return ExternalExaminerApiFp(this.configuration).apiV2ExternalExaminerSaveEeSignUpFormPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / TrustCoordinator | Returns External Examiners\n * @param {SearchExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExternalExaminerApi\n */\n public apiV2ExternalExaminerSearchExternalExaminersPost(body?: SearchExternalExaminerRequest, options?: any) {\n return ExternalExaminerApiFp(this.configuration).apiV2ExternalExaminerSearchExternalExaminersPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / TrustCoordinator | Terminate External Examiner Request Form\n * @param {TerminateEeRequestFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExternalExaminerApi\n */\n public apiV2ExternalExaminerTerminateEeRequestFormPost(body?: TerminateEeRequestFormRequest, options?: any) {\n return ExternalExaminerApiFp(this.configuration).apiV2ExternalExaminerTerminateEeRequestFormPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary External Examiner | Update External Examiner Details\n * @param {UpdateExternalExaminerForEeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExternalExaminerApi\n */\n public apiV2ExternalExaminerUpdateExternalExaminerDetailsPost(body?: UpdateExternalExaminerForEeRequest, options?: any) {\n return ExternalExaminerApiFp(this.configuration).apiV2ExternalExaminerUpdateExternalExaminerDetailsPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\nimport { ComplianceFormFileRequest } from '../models';\nimport { ComplianceFormFileResponse } from '../models';\nimport { FileRequest } from '../models';\nimport { FileViewResponse } from '../models';\nimport { Int32Response } from '../models';\nimport { RegeneratedFileLogIEnumerableResponse } from '../models';\n/**\n * FileAtcsApi - axios parameter creator\n * @export\n */\nexport const FileAtcsApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary TaAll | Delete AdditionalFile\n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminDeleteAdditionalFileComplianceFormIdFileIdDelete: async (complianceFormId: number, fileId: number, options: any = {}): Promise => {\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV2FileAtcsAdminDeleteAdditionalFileComplianceFormIdFileIdDelete.');\n }\n // verify required parameter 'fileId' is not null or undefined\n if (fileId === null || fileId === undefined) {\n throw new RequiredError('fileId','Required parameter fileId was null or undefined when calling apiV2FileAtcsAdminDeleteAdditionalFileComplianceFormIdFileIdDelete.');\n }\n const localVarPath = `/api/v2/FileAtcs/Admin/DeleteAdditionalFile/{complianceFormId}/{fileId}`\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)))\n .replace(`{${\"fileId\"}}`, encodeURIComponent(String(fileId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Delete File\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminDeleteFileFileIdDelete: async (fileId: number, options: any = {}): Promise => {\n // verify required parameter 'fileId' is not null or undefined\n if (fileId === null || fileId === undefined) {\n throw new RequiredError('fileId','Required parameter fileId was null or undefined when calling apiV2FileAtcsAdminDeleteFileFileIdDelete.');\n }\n const localVarPath = `/api/v2/FileAtcs/Admin/DeleteFile/{fileId}`\n .replace(`{${\"fileId\"}}`, encodeURIComponent(String(fileId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Returns file as stream\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminDownloadStreamFileIdGet: async (fileId: number, options: any = {}): Promise => {\n // verify required parameter 'fileId' is not null or undefined\n if (fileId === null || fileId === undefined) {\n throw new RequiredError('fileId','Required parameter fileId was null or undefined when calling apiV2FileAtcsAdminDownloadStreamFileIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/Admin/Download-stream/{fileId}`\n .replace(`{${\"fileId\"}}`, encodeURIComponent(String(fileId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns file\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminGetEeReportFileEeReportIdGet: async (eeReportId: number, options: any = {}): Promise => {\n // verify required parameter 'eeReportId' is not null or undefined\n if (eeReportId === null || eeReportId === undefined) {\n throw new RequiredError('eeReportId','Required parameter eeReportId was null or undefined when calling apiV2FileAtcsAdminGetEeReportFileEeReportIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/Admin/GetEeReportFile/{eeReportId}`\n .replace(`{${\"eeReportId\"}}`, encodeURIComponent(String(eeReportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns file\n * @param {number} eeReportId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminGetEeReportFileEeReportIdRegeneratedFileLogIdGet: async (eeReportId: number, regeneratedFileLogId: number, options: any = {}): Promise => {\n // verify required parameter 'eeReportId' is not null or undefined\n if (eeReportId === null || eeReportId === undefined) {\n throw new RequiredError('eeReportId','Required parameter eeReportId was null or undefined when calling apiV2FileAtcsAdminGetEeReportFileEeReportIdRegeneratedFileLogIdGet.');\n }\n // verify required parameter 'regeneratedFileLogId' is not null or undefined\n if (regeneratedFileLogId === null || regeneratedFileLogId === undefined) {\n throw new RequiredError('regeneratedFileLogId','Required parameter regeneratedFileLogId was null or undefined when calling apiV2FileAtcsAdminGetEeReportFileEeReportIdRegeneratedFileLogIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/Admin/GetEeReportFile/{eeReportId}/{regeneratedFileLogId}`\n .replace(`{${\"eeReportId\"}}`, encodeURIComponent(String(eeReportId)))\n .replace(`{${\"regeneratedFileLogId\"}}`, encodeURIComponent(String(regeneratedFileLogId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns EeReport Logs\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminGetEeReportFileLogsEeReportIdGet: async (eeReportId: number, options: any = {}): Promise => {\n // verify required parameter 'eeReportId' is not null or undefined\n if (eeReportId === null || eeReportId === undefined) {\n throw new RequiredError('eeReportId','Required parameter eeReportId was null or undefined when calling apiV2FileAtcsAdminGetEeReportFileLogsEeReportIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/Admin/GetEeReportFileLogs/{eeReportId}`\n .replace(`{${\"eeReportId\"}}`, encodeURIComponent(String(eeReportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Returns file\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminGetFileByIdFileIdGet: async (fileId: number, options: any = {}): Promise => {\n // verify required parameter 'fileId' is not null or undefined\n if (fileId === null || fileId === undefined) {\n throw new RequiredError('fileId','Required parameter fileId was null or undefined when calling apiV2FileAtcsAdminGetFileByIdFileIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/Admin/GetFileById/{fileId}`\n .replace(`{${\"fileId\"}}`, encodeURIComponent(String(fileId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns PartA Logs\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminGetPartAFileLogsPartAIdGet: async (partAId: number, options: any = {}): Promise => {\n // verify required parameter 'partAId' is not null or undefined\n if (partAId === null || partAId === undefined) {\n throw new RequiredError('partAId','Required parameter partAId was null or undefined when calling apiV2FileAtcsAdminGetPartAFileLogsPartAIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/Admin/GetPartAFileLogs/{partAId}`\n .replace(`{${\"partAId\"}}`, encodeURIComponent(String(partAId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns file\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminGetPartAFilePartAIdGet: async (partAId: number, options: any = {}): Promise => {\n // verify required parameter 'partAId' is not null or undefined\n if (partAId === null || partAId === undefined) {\n throw new RequiredError('partAId','Required parameter partAId was null or undefined when calling apiV2FileAtcsAdminGetPartAFilePartAIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/Admin/GetPartAFile/{partAId}`\n .replace(`{${\"partAId\"}}`, encodeURIComponent(String(partAId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns file\n * @param {number} partAId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminGetPartAFilePartAIdRegeneratedFileLogIdGet: async (partAId: number, regeneratedFileLogId: number, options: any = {}): Promise => {\n // verify required parameter 'partAId' is not null or undefined\n if (partAId === null || partAId === undefined) {\n throw new RequiredError('partAId','Required parameter partAId was null or undefined when calling apiV2FileAtcsAdminGetPartAFilePartAIdRegeneratedFileLogIdGet.');\n }\n // verify required parameter 'regeneratedFileLogId' is not null or undefined\n if (regeneratedFileLogId === null || regeneratedFileLogId === undefined) {\n throw new RequiredError('regeneratedFileLogId','Required parameter regeneratedFileLogId was null or undefined when calling apiV2FileAtcsAdminGetPartAFilePartAIdRegeneratedFileLogIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/Admin/GetPartAFile/{partAId}/{regeneratedFileLogId}`\n .replace(`{${\"partAId\"}}`, encodeURIComponent(String(partAId)))\n .replace(`{${\"regeneratedFileLogId\"}}`, encodeURIComponent(String(regeneratedFileLogId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns PartB Logs\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminGetPartBFileLogsPartBIdGet: async (partBId: number, options: any = {}): Promise => {\n // verify required parameter 'partBId' is not null or undefined\n if (partBId === null || partBId === undefined) {\n throw new RequiredError('partBId','Required parameter partBId was null or undefined when calling apiV2FileAtcsAdminGetPartBFileLogsPartBIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/Admin/GetPartBFileLogs/{partBId}`\n .replace(`{${\"partBId\"}}`, encodeURIComponent(String(partBId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns file\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminGetPartBFilePartBIdGet: async (partBId: number, options: any = {}): Promise => {\n // verify required parameter 'partBId' is not null or undefined\n if (partBId === null || partBId === undefined) {\n throw new RequiredError('partBId','Required parameter partBId was null or undefined when calling apiV2FileAtcsAdminGetPartBFilePartBIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/Admin/GetPartBFile/{partBId}`\n .replace(`{${\"partBId\"}}`, encodeURIComponent(String(partBId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns file\n * @param {number} partBId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminGetPartBFilePartBIdRegeneratedFileLogIdGet: async (partBId: number, regeneratedFileLogId: number, options: any = {}): Promise => {\n // verify required parameter 'partBId' is not null or undefined\n if (partBId === null || partBId === undefined) {\n throw new RequiredError('partBId','Required parameter partBId was null or undefined when calling apiV2FileAtcsAdminGetPartBFilePartBIdRegeneratedFileLogIdGet.');\n }\n // verify required parameter 'regeneratedFileLogId' is not null or undefined\n if (regeneratedFileLogId === null || regeneratedFileLogId === undefined) {\n throw new RequiredError('regeneratedFileLogId','Required parameter regeneratedFileLogId was null or undefined when calling apiV2FileAtcsAdminGetPartBFilePartBIdRegeneratedFileLogIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/Admin/GetPartBFile/{partBId}/{regeneratedFileLogId}`\n .replace(`{${\"partBId\"}}`, encodeURIComponent(String(partBId)))\n .replace(`{${\"regeneratedFileLogId\"}}`, encodeURIComponent(String(regeneratedFileLogId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Ta All | Returns true when File is saved\n * @param {ComplianceFormFileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminSaveComplianceFormAdditionalFilePost: async (body?: ComplianceFormFileRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/FileAtcs/Admin/SaveComplianceFormAdditionalFile`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Returns FileId\n * @param {FileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminSaveExternalExaminerFilePost: async (body?: FileRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/FileAtcs/Admin/SaveExternalExaminerFile`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary AllAtcs | Delete File\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsDeleteFileFileIdDelete: async (fileId: number, options: any = {}): Promise => {\n // verify required parameter 'fileId' is not null or undefined\n if (fileId === null || fileId === undefined) {\n throw new RequiredError('fileId','Required parameter fileId was null or undefined when calling apiV2FileAtcsDeleteFileFileIdDelete.');\n }\n const localVarPath = `/api/v2/FileAtcs/DeleteFile/{fileId}`\n .replace(`{${\"fileId\"}}`, encodeURIComponent(String(fileId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary AllAtcs | Returns file as stream\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsDownloadStreamFileIdGet: async (fileId: number, options: any = {}): Promise => {\n // verify required parameter 'fileId' is not null or undefined\n if (fileId === null || fileId === undefined) {\n throw new RequiredError('fileId','Required parameter fileId was null or undefined when calling apiV2FileAtcsDownloadStreamFileIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/Download-stream/{fileId}`\n .replace(`{${\"fileId\"}}`, encodeURIComponent(String(fileId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary AllAtcs | Returns file\n * @param {number} fileId \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsGetComplianceFormFileByIdFileIdComplianceFormIdGet: async (fileId: number, complianceFormId: number, options: any = {}): Promise => {\n // verify required parameter 'fileId' is not null or undefined\n if (fileId === null || fileId === undefined) {\n throw new RequiredError('fileId','Required parameter fileId was null or undefined when calling apiV2FileAtcsGetComplianceFormFileByIdFileIdComplianceFormIdGet.');\n }\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV2FileAtcsGetComplianceFormFileByIdFileIdComplianceFormIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/GetComplianceFormFileById/{fileId}/{complianceFormId}`\n .replace(`{${\"fileId\"}}`, encodeURIComponent(String(fileId)))\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary ExternalExaminer | Returns file\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsGetEeReportFileEeReportIdGet: async (eeReportId: number, options: any = {}): Promise => {\n // verify required parameter 'eeReportId' is not null or undefined\n if (eeReportId === null || eeReportId === undefined) {\n throw new RequiredError('eeReportId','Required parameter eeReportId was null or undefined when calling apiV2FileAtcsGetEeReportFileEeReportIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/GetEeReportFile/{eeReportId}`\n .replace(`{${\"eeReportId\"}}`, encodeURIComponent(String(eeReportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary AllAtcs | Returns file\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsGetFileByIdFileIdGet: async (fileId: number, options: any = {}): Promise => {\n // verify required parameter 'fileId' is not null or undefined\n if (fileId === null || fileId === undefined) {\n throw new RequiredError('fileId','Required parameter fileId was null or undefined when calling apiV2FileAtcsGetFileByIdFileIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/GetFileById/{fileId}`\n .replace(`{${\"fileId\"}}`, encodeURIComponent(String(fileId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / TrustContact / ExternalExaminer | Returns file\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsGetPartAFilePartAIdGet: async (partAId: number, options: any = {}): Promise => {\n // verify required parameter 'partAId' is not null or undefined\n if (partAId === null || partAId === undefined) {\n throw new RequiredError('partAId','Required parameter partAId was null or undefined when calling apiV2FileAtcsGetPartAFilePartAIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/GetPartAFile/{partAId}`\n .replace(`{${\"partAId\"}}`, encodeURIComponent(String(partAId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / TrustContact / ExternalExaminer | Returns file\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsGetPartBFilePartBIdGet: async (partBId: number, options: any = {}): Promise => {\n // verify required parameter 'partBId' is not null or undefined\n if (partBId === null || partBId === undefined) {\n throw new RequiredError('partBId','Required parameter partBId was null or undefined when calling apiV2FileAtcsGetPartBFilePartBIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/GetPartBFile/{partBId}`\n .replace(`{${\"partBId\"}}`, encodeURIComponent(String(partBId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal, TrustCoordinator, TrustContact | Returns FileId\n * @param {ComplianceFormFileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsSaveComplianceFormFilePost: async (body?: ComplianceFormFileRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/FileAtcs/SaveComplianceFormFile`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary AllAtcs | Returns FileId\n * @param {FileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsSaveEeSignUpFormFilePost: async (body?: FileRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/FileAtcs/SaveEeSignUpFormFile`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary AllAtcs | Returns FileId\n * @param {FileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsSaveFilePost: async (body?: FileRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/FileAtcs/SaveFile`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetComplianceFormAdditionalFileComplianceFormIdFileIdGet: async (complianceFormId: number, fileId: number, options: any = {}): Promise => {\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV2FileAtcsTrustInvestigatorGetComplianceFormAdditionalFileComplianceFormIdFileIdGet.');\n }\n // verify required parameter 'fileId' is not null or undefined\n if (fileId === null || fileId === undefined) {\n throw new RequiredError('fileId','Required parameter fileId was null or undefined when calling apiV2FileAtcsTrustInvestigatorGetComplianceFormAdditionalFileComplianceFormIdFileIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/TrustInvestigator/GetComplianceFormAdditionalFile/{complianceFormId}/{fileId}`\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)))\n .replace(`{${\"fileId\"}}`, encodeURIComponent(String(fileId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns EE Report - Overview\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetComplianceFormFileAttachmentsComplianceFormIdGet: async (complianceFormId: number, options: any = {}): Promise => {\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV2FileAtcsTrustInvestigatorGetComplianceFormFileAttachmentsComplianceFormIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/TrustInvestigator/GetComplianceFormFileAttachments/{complianceFormId}`\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} fileId \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetComplianceFormFileByIdFileIdComplianceFormIdGet: async (fileId: number, complianceFormId: number, options: any = {}): Promise => {\n // verify required parameter 'fileId' is not null or undefined\n if (fileId === null || fileId === undefined) {\n throw new RequiredError('fileId','Required parameter fileId was null or undefined when calling apiV2FileAtcsTrustInvestigatorGetComplianceFormFileByIdFileIdComplianceFormIdGet.');\n }\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV2FileAtcsTrustInvestigatorGetComplianceFormFileByIdFileIdComplianceFormIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/TrustInvestigator/GetComplianceFormFileById/{fileId}/{complianceFormId}`\n .replace(`{${\"fileId\"}}`, encodeURIComponent(String(fileId)))\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetEeReportFileEeReportIdGet: async (eeReportId: number, options: any = {}): Promise => {\n // verify required parameter 'eeReportId' is not null or undefined\n if (eeReportId === null || eeReportId === undefined) {\n throw new RequiredError('eeReportId','Required parameter eeReportId was null or undefined when calling apiV2FileAtcsTrustInvestigatorGetEeReportFileEeReportIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/TrustInvestigator/GetEeReportFile/{eeReportId}`\n .replace(`{${\"eeReportId\"}}`, encodeURIComponent(String(eeReportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} eeReportId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetEeReportFileEeReportIdRegeneratedFileLogIdGet: async (eeReportId: number, regeneratedFileLogId: number, options: any = {}): Promise => {\n // verify required parameter 'eeReportId' is not null or undefined\n if (eeReportId === null || eeReportId === undefined) {\n throw new RequiredError('eeReportId','Required parameter eeReportId was null or undefined when calling apiV2FileAtcsTrustInvestigatorGetEeReportFileEeReportIdRegeneratedFileLogIdGet.');\n }\n // verify required parameter 'regeneratedFileLogId' is not null or undefined\n if (regeneratedFileLogId === null || regeneratedFileLogId === undefined) {\n throw new RequiredError('regeneratedFileLogId','Required parameter regeneratedFileLogId was null or undefined when calling apiV2FileAtcsTrustInvestigatorGetEeReportFileEeReportIdRegeneratedFileLogIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/TrustInvestigator/GetEeReportFile/{eeReportId}/{regeneratedFileLogId}`\n .replace(`{${\"eeReportId\"}}`, encodeURIComponent(String(eeReportId)))\n .replace(`{${\"regeneratedFileLogId\"}}`, encodeURIComponent(String(regeneratedFileLogId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns EeReport Logs\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetEeReportFileLogsEeReportIdGet: async (eeReportId: number, options: any = {}): Promise => {\n // verify required parameter 'eeReportId' is not null or undefined\n if (eeReportId === null || eeReportId === undefined) {\n throw new RequiredError('eeReportId','Required parameter eeReportId was null or undefined when calling apiV2FileAtcsTrustInvestigatorGetEeReportFileLogsEeReportIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/TrustInvestigator/GetEeReportFileLogs/{eeReportId}`\n .replace(`{${\"eeReportId\"}}`, encodeURIComponent(String(eeReportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns PartA Logs\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetPartAFileLogsPartAIdGet: async (partAId: number, options: any = {}): Promise => {\n // verify required parameter 'partAId' is not null or undefined\n if (partAId === null || partAId === undefined) {\n throw new RequiredError('partAId','Required parameter partAId was null or undefined when calling apiV2FileAtcsTrustInvestigatorGetPartAFileLogsPartAIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/TrustInvestigator/GetPartAFileLogs/{partAId}`\n .replace(`{${\"partAId\"}}`, encodeURIComponent(String(partAId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetPartAFilePartAIdGet: async (partAId: number, options: any = {}): Promise => {\n // verify required parameter 'partAId' is not null or undefined\n if (partAId === null || partAId === undefined) {\n throw new RequiredError('partAId','Required parameter partAId was null or undefined when calling apiV2FileAtcsTrustInvestigatorGetPartAFilePartAIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/TrustInvestigator/GetPartAFile/{partAId}`\n .replace(`{${\"partAId\"}}`, encodeURIComponent(String(partAId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} partAId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetPartAFilePartAIdRegeneratedFileLogIdGet: async (partAId: number, regeneratedFileLogId: number, options: any = {}): Promise => {\n // verify required parameter 'partAId' is not null or undefined\n if (partAId === null || partAId === undefined) {\n throw new RequiredError('partAId','Required parameter partAId was null or undefined when calling apiV2FileAtcsTrustInvestigatorGetPartAFilePartAIdRegeneratedFileLogIdGet.');\n }\n // verify required parameter 'regeneratedFileLogId' is not null or undefined\n if (regeneratedFileLogId === null || regeneratedFileLogId === undefined) {\n throw new RequiredError('regeneratedFileLogId','Required parameter regeneratedFileLogId was null or undefined when calling apiV2FileAtcsTrustInvestigatorGetPartAFilePartAIdRegeneratedFileLogIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/TrustInvestigator/GetPartAFile/{partAId}/{regeneratedFileLogId}`\n .replace(`{${\"partAId\"}}`, encodeURIComponent(String(partAId)))\n .replace(`{${\"regeneratedFileLogId\"}}`, encodeURIComponent(String(regeneratedFileLogId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns PartB Logs\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetPartBFileLogsPartBIdGet: async (partBId: number, options: any = {}): Promise => {\n // verify required parameter 'partBId' is not null or undefined\n if (partBId === null || partBId === undefined) {\n throw new RequiredError('partBId','Required parameter partBId was null or undefined when calling apiV2FileAtcsTrustInvestigatorGetPartBFileLogsPartBIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/TrustInvestigator/GetPartBFileLogs/{partBId}`\n .replace(`{${\"partBId\"}}`, encodeURIComponent(String(partBId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetPartBFilePartBIdGet: async (partBId: number, options: any = {}): Promise => {\n // verify required parameter 'partBId' is not null or undefined\n if (partBId === null || partBId === undefined) {\n throw new RequiredError('partBId','Required parameter partBId was null or undefined when calling apiV2FileAtcsTrustInvestigatorGetPartBFilePartBIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/TrustInvestigator/GetPartBFile/{partBId}`\n .replace(`{${\"partBId\"}}`, encodeURIComponent(String(partBId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} partBId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetPartBFilePartBIdRegeneratedFileLogIdGet: async (partBId: number, regeneratedFileLogId: number, options: any = {}): Promise => {\n // verify required parameter 'partBId' is not null or undefined\n if (partBId === null || partBId === undefined) {\n throw new RequiredError('partBId','Required parameter partBId was null or undefined when calling apiV2FileAtcsTrustInvestigatorGetPartBFilePartBIdRegeneratedFileLogIdGet.');\n }\n // verify required parameter 'regeneratedFileLogId' is not null or undefined\n if (regeneratedFileLogId === null || regeneratedFileLogId === undefined) {\n throw new RequiredError('regeneratedFileLogId','Required parameter regeneratedFileLogId was null or undefined when calling apiV2FileAtcsTrustInvestigatorGetPartBFilePartBIdRegeneratedFileLogIdGet.');\n }\n const localVarPath = `/api/v2/FileAtcs/TrustInvestigator/GetPartBFile/{partBId}/{regeneratedFileLogId}`\n .replace(`{${\"partBId\"}}`, encodeURIComponent(String(partBId)))\n .replace(`{${\"regeneratedFileLogId\"}}`, encodeURIComponent(String(regeneratedFileLogId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * FileAtcsApi - functional programming interface\n * @export\n */\nexport const FileAtcsApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary TaAll | Delete AdditionalFile\n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsAdminDeleteAdditionalFileComplianceFormIdFileIdDelete(complianceFormId: number, fileId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsAdminDeleteAdditionalFileComplianceFormIdFileIdDelete(complianceFormId, fileId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Delete File\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsAdminDeleteFileFileIdDelete(fileId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsAdminDeleteFileFileIdDelete(fileId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Returns file as stream\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsAdminDownloadStreamFileIdGet(fileId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsAdminDownloadStreamFileIdGet(fileId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns file\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsAdminGetEeReportFileEeReportIdGet(eeReportId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsAdminGetEeReportFileEeReportIdGet(eeReportId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns file\n * @param {number} eeReportId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsAdminGetEeReportFileEeReportIdRegeneratedFileLogIdGet(eeReportId: number, regeneratedFileLogId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsAdminGetEeReportFileEeReportIdRegeneratedFileLogIdGet(eeReportId, regeneratedFileLogId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns EeReport Logs\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsAdminGetEeReportFileLogsEeReportIdGet(eeReportId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsAdminGetEeReportFileLogsEeReportIdGet(eeReportId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Returns file\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsAdminGetFileByIdFileIdGet(fileId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsAdminGetFileByIdFileIdGet(fileId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns PartA Logs\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsAdminGetPartAFileLogsPartAIdGet(partAId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsAdminGetPartAFileLogsPartAIdGet(partAId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns file\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsAdminGetPartAFilePartAIdGet(partAId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsAdminGetPartAFilePartAIdGet(partAId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns file\n * @param {number} partAId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsAdminGetPartAFilePartAIdRegeneratedFileLogIdGet(partAId: number, regeneratedFileLogId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsAdminGetPartAFilePartAIdRegeneratedFileLogIdGet(partAId, regeneratedFileLogId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns PartB Logs\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsAdminGetPartBFileLogsPartBIdGet(partBId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsAdminGetPartBFileLogsPartBIdGet(partBId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns file\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsAdminGetPartBFilePartBIdGet(partBId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsAdminGetPartBFilePartBIdGet(partBId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns file\n * @param {number} partBId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsAdminGetPartBFilePartBIdRegeneratedFileLogIdGet(partBId: number, regeneratedFileLogId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsAdminGetPartBFilePartBIdRegeneratedFileLogIdGet(partBId, regeneratedFileLogId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Ta All | Returns true when File is saved\n * @param {ComplianceFormFileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsAdminSaveComplianceFormAdditionalFilePost(body?: ComplianceFormFileRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsAdminSaveComplianceFormAdditionalFilePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Returns FileId\n * @param {FileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsAdminSaveExternalExaminerFilePost(body?: FileRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsAdminSaveExternalExaminerFilePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary AllAtcs | Delete File\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsDeleteFileFileIdDelete(fileId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsDeleteFileFileIdDelete(fileId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary AllAtcs | Returns file as stream\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsDownloadStreamFileIdGet(fileId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsDownloadStreamFileIdGet(fileId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary AllAtcs | Returns file\n * @param {number} fileId \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsGetComplianceFormFileByIdFileIdComplianceFormIdGet(fileId: number, complianceFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsGetComplianceFormFileByIdFileIdComplianceFormIdGet(fileId, complianceFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary ExternalExaminer | Returns file\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsGetEeReportFileEeReportIdGet(eeReportId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsGetEeReportFileEeReportIdGet(eeReportId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary AllAtcs | Returns file\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsGetFileByIdFileIdGet(fileId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsGetFileByIdFileIdGet(fileId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / TrustContact / ExternalExaminer | Returns file\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsGetPartAFilePartAIdGet(partAId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsGetPartAFilePartAIdGet(partAId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / TrustContact / ExternalExaminer | Returns file\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsGetPartBFilePartBIdGet(partBId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsGetPartBFilePartBIdGet(partBId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal, TrustCoordinator, TrustContact | Returns FileId\n * @param {ComplianceFormFileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsSaveComplianceFormFilePost(body?: ComplianceFormFileRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsSaveComplianceFormFilePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary AllAtcs | Returns FileId\n * @param {FileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsSaveEeSignUpFormFilePost(body?: FileRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsSaveEeSignUpFormFilePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary AllAtcs | Returns FileId\n * @param {FileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsSaveFilePost(body?: FileRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsSaveFilePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsTrustInvestigatorGetComplianceFormAdditionalFileComplianceFormIdFileIdGet(complianceFormId: number, fileId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsTrustInvestigatorGetComplianceFormAdditionalFileComplianceFormIdFileIdGet(complianceFormId, fileId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns EE Report - Overview\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsTrustInvestigatorGetComplianceFormFileAttachmentsComplianceFormIdGet(complianceFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsTrustInvestigatorGetComplianceFormFileAttachmentsComplianceFormIdGet(complianceFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} fileId \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsTrustInvestigatorGetComplianceFormFileByIdFileIdComplianceFormIdGet(fileId: number, complianceFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsTrustInvestigatorGetComplianceFormFileByIdFileIdComplianceFormIdGet(fileId, complianceFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsTrustInvestigatorGetEeReportFileEeReportIdGet(eeReportId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsTrustInvestigatorGetEeReportFileEeReportIdGet(eeReportId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} eeReportId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsTrustInvestigatorGetEeReportFileEeReportIdRegeneratedFileLogIdGet(eeReportId: number, regeneratedFileLogId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsTrustInvestigatorGetEeReportFileEeReportIdRegeneratedFileLogIdGet(eeReportId, regeneratedFileLogId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns EeReport Logs\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsTrustInvestigatorGetEeReportFileLogsEeReportIdGet(eeReportId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsTrustInvestigatorGetEeReportFileLogsEeReportIdGet(eeReportId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns PartA Logs\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsTrustInvestigatorGetPartAFileLogsPartAIdGet(partAId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsTrustInvestigatorGetPartAFileLogsPartAIdGet(partAId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsTrustInvestigatorGetPartAFilePartAIdGet(partAId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsTrustInvestigatorGetPartAFilePartAIdGet(partAId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} partAId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsTrustInvestigatorGetPartAFilePartAIdRegeneratedFileLogIdGet(partAId: number, regeneratedFileLogId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsTrustInvestigatorGetPartAFilePartAIdRegeneratedFileLogIdGet(partAId, regeneratedFileLogId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns PartB Logs\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsTrustInvestigatorGetPartBFileLogsPartBIdGet(partBId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsTrustInvestigatorGetPartBFileLogsPartBIdGet(partBId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsTrustInvestigatorGetPartBFilePartBIdGet(partBId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsTrustInvestigatorGetPartBFilePartBIdGet(partBId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} partBId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FileAtcsTrustInvestigatorGetPartBFilePartBIdRegeneratedFileLogIdGet(partBId: number, regeneratedFileLogId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FileAtcsApiAxiosParamCreator(configuration).apiV2FileAtcsTrustInvestigatorGetPartBFilePartBIdRegeneratedFileLogIdGet(partBId, regeneratedFileLogId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * FileAtcsApi - factory interface\n * @export\n */\nexport const FileAtcsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary TaAll | Delete AdditionalFile\n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminDeleteAdditionalFileComplianceFormIdFileIdDelete(complianceFormId: number, fileId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsAdminDeleteAdditionalFileComplianceFormIdFileIdDelete(complianceFormId, fileId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Delete File\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminDeleteFileFileIdDelete(fileId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsAdminDeleteFileFileIdDelete(fileId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Returns file as stream\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminDownloadStreamFileIdGet(fileId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsAdminDownloadStreamFileIdGet(fileId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns file\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminGetEeReportFileEeReportIdGet(eeReportId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsAdminGetEeReportFileEeReportIdGet(eeReportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns file\n * @param {number} eeReportId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminGetEeReportFileEeReportIdRegeneratedFileLogIdGet(eeReportId: number, regeneratedFileLogId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsAdminGetEeReportFileEeReportIdRegeneratedFileLogIdGet(eeReportId, regeneratedFileLogId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns EeReport Logs\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminGetEeReportFileLogsEeReportIdGet(eeReportId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsAdminGetEeReportFileLogsEeReportIdGet(eeReportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Returns file\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminGetFileByIdFileIdGet(fileId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsAdminGetFileByIdFileIdGet(fileId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns PartA Logs\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminGetPartAFileLogsPartAIdGet(partAId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsAdminGetPartAFileLogsPartAIdGet(partAId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns file\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminGetPartAFilePartAIdGet(partAId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsAdminGetPartAFilePartAIdGet(partAId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns file\n * @param {number} partAId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminGetPartAFilePartAIdRegeneratedFileLogIdGet(partAId: number, regeneratedFileLogId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsAdminGetPartAFilePartAIdRegeneratedFileLogIdGet(partAId, regeneratedFileLogId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns PartB Logs\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminGetPartBFileLogsPartBIdGet(partBId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsAdminGetPartBFileLogsPartBIdGet(partBId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns file\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminGetPartBFilePartBIdGet(partBId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsAdminGetPartBFilePartBIdGet(partBId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns file\n * @param {number} partBId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminGetPartBFilePartBIdRegeneratedFileLogIdGet(partBId: number, regeneratedFileLogId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsAdminGetPartBFilePartBIdRegeneratedFileLogIdGet(partBId, regeneratedFileLogId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Ta All | Returns true when File is saved\n * @param {ComplianceFormFileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminSaveComplianceFormAdditionalFilePost(body?: ComplianceFormFileRequest, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsAdminSaveComplianceFormAdditionalFilePost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Returns FileId\n * @param {FileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsAdminSaveExternalExaminerFilePost(body?: FileRequest, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsAdminSaveExternalExaminerFilePost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary AllAtcs | Delete File\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsDeleteFileFileIdDelete(fileId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsDeleteFileFileIdDelete(fileId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary AllAtcs | Returns file as stream\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsDownloadStreamFileIdGet(fileId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsDownloadStreamFileIdGet(fileId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary AllAtcs | Returns file\n * @param {number} fileId \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsGetComplianceFormFileByIdFileIdComplianceFormIdGet(fileId: number, complianceFormId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsGetComplianceFormFileByIdFileIdComplianceFormIdGet(fileId, complianceFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary ExternalExaminer | Returns file\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsGetEeReportFileEeReportIdGet(eeReportId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsGetEeReportFileEeReportIdGet(eeReportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary AllAtcs | Returns file\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsGetFileByIdFileIdGet(fileId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsGetFileByIdFileIdGet(fileId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / TrustContact / ExternalExaminer | Returns file\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsGetPartAFilePartAIdGet(partAId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsGetPartAFilePartAIdGet(partAId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / TrustContact / ExternalExaminer | Returns file\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsGetPartBFilePartBIdGet(partBId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsGetPartBFilePartBIdGet(partBId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal, TrustCoordinator, TrustContact | Returns FileId\n * @param {ComplianceFormFileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsSaveComplianceFormFilePost(body?: ComplianceFormFileRequest, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsSaveComplianceFormFilePost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary AllAtcs | Returns FileId\n * @param {FileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsSaveEeSignUpFormFilePost(body?: FileRequest, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsSaveEeSignUpFormFilePost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary AllAtcs | Returns FileId\n * @param {FileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsSaveFilePost(body?: FileRequest, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsSaveFilePost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetComplianceFormAdditionalFileComplianceFormIdFileIdGet(complianceFormId: number, fileId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsTrustInvestigatorGetComplianceFormAdditionalFileComplianceFormIdFileIdGet(complianceFormId, fileId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TrustInvestigator | Returns EE Report - Overview\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetComplianceFormFileAttachmentsComplianceFormIdGet(complianceFormId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsTrustInvestigatorGetComplianceFormFileAttachmentsComplianceFormIdGet(complianceFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} fileId \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetComplianceFormFileByIdFileIdComplianceFormIdGet(fileId: number, complianceFormId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsTrustInvestigatorGetComplianceFormFileByIdFileIdComplianceFormIdGet(fileId, complianceFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetEeReportFileEeReportIdGet(eeReportId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsTrustInvestigatorGetEeReportFileEeReportIdGet(eeReportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} eeReportId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetEeReportFileEeReportIdRegeneratedFileLogIdGet(eeReportId: number, regeneratedFileLogId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsTrustInvestigatorGetEeReportFileEeReportIdRegeneratedFileLogIdGet(eeReportId, regeneratedFileLogId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TrustInvestigator | Returns EeReport Logs\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetEeReportFileLogsEeReportIdGet(eeReportId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsTrustInvestigatorGetEeReportFileLogsEeReportIdGet(eeReportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TrustInvestigator | Returns PartA Logs\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetPartAFileLogsPartAIdGet(partAId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsTrustInvestigatorGetPartAFileLogsPartAIdGet(partAId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetPartAFilePartAIdGet(partAId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsTrustInvestigatorGetPartAFilePartAIdGet(partAId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} partAId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetPartAFilePartAIdRegeneratedFileLogIdGet(partAId: number, regeneratedFileLogId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsTrustInvestigatorGetPartAFilePartAIdRegeneratedFileLogIdGet(partAId, regeneratedFileLogId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TrustInvestigator | Returns PartB Logs\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetPartBFileLogsPartBIdGet(partBId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsTrustInvestigatorGetPartBFileLogsPartBIdGet(partBId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetPartBFilePartBIdGet(partBId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsTrustInvestigatorGetPartBFilePartBIdGet(partBId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} partBId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FileAtcsTrustInvestigatorGetPartBFilePartBIdRegeneratedFileLogIdGet(partBId: number, regeneratedFileLogId: number, options?: any): AxiosPromise {\n return FileAtcsApiFp(configuration).apiV2FileAtcsTrustInvestigatorGetPartBFilePartBIdRegeneratedFileLogIdGet(partBId, regeneratedFileLogId, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * FileAtcsApi - object-oriented interface\n * @export\n * @class FileAtcsApi\n * @extends {BaseAPI}\n */\nexport class FileAtcsApi extends BaseAPI {\n /**\n * \n * @summary TaAll | Delete AdditionalFile\n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsAdminDeleteAdditionalFileComplianceFormIdFileIdDelete(complianceFormId: number, fileId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsAdminDeleteAdditionalFileComplianceFormIdFileIdDelete(complianceFormId, fileId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Delete File\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsAdminDeleteFileFileIdDelete(fileId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsAdminDeleteFileFileIdDelete(fileId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Returns file as stream\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsAdminDownloadStreamFileIdGet(fileId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsAdminDownloadStreamFileIdGet(fileId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns file\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsAdminGetEeReportFileEeReportIdGet(eeReportId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsAdminGetEeReportFileEeReportIdGet(eeReportId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns file\n * @param {number} eeReportId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsAdminGetEeReportFileEeReportIdRegeneratedFileLogIdGet(eeReportId: number, regeneratedFileLogId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsAdminGetEeReportFileEeReportIdRegeneratedFileLogIdGet(eeReportId, regeneratedFileLogId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns EeReport Logs\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsAdminGetEeReportFileLogsEeReportIdGet(eeReportId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsAdminGetEeReportFileLogsEeReportIdGet(eeReportId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Returns file\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsAdminGetFileByIdFileIdGet(fileId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsAdminGetFileByIdFileIdGet(fileId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns PartA Logs\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsAdminGetPartAFileLogsPartAIdGet(partAId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsAdminGetPartAFileLogsPartAIdGet(partAId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns file\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsAdminGetPartAFilePartAIdGet(partAId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsAdminGetPartAFilePartAIdGet(partAId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns file\n * @param {number} partAId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsAdminGetPartAFilePartAIdRegeneratedFileLogIdGet(partAId: number, regeneratedFileLogId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsAdminGetPartAFilePartAIdRegeneratedFileLogIdGet(partAId, regeneratedFileLogId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns PartB Logs\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsAdminGetPartBFileLogsPartBIdGet(partBId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsAdminGetPartBFileLogsPartBIdGet(partBId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns file\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsAdminGetPartBFilePartBIdGet(partBId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsAdminGetPartBFilePartBIdGet(partBId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns file\n * @param {number} partBId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsAdminGetPartBFilePartBIdRegeneratedFileLogIdGet(partBId: number, regeneratedFileLogId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsAdminGetPartBFilePartBIdRegeneratedFileLogIdGet(partBId, regeneratedFileLogId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Ta All | Returns true when File is saved\n * @param {ComplianceFormFileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsAdminSaveComplianceFormAdditionalFilePost(body?: ComplianceFormFileRequest, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsAdminSaveComplianceFormAdditionalFilePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Returns FileId\n * @param {FileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsAdminSaveExternalExaminerFilePost(body?: FileRequest, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsAdminSaveExternalExaminerFilePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary AllAtcs | Delete File\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsDeleteFileFileIdDelete(fileId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsDeleteFileFileIdDelete(fileId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary AllAtcs | Returns file as stream\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsDownloadStreamFileIdGet(fileId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsDownloadStreamFileIdGet(fileId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary AllAtcs | Returns file\n * @param {number} fileId \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsGetComplianceFormFileByIdFileIdComplianceFormIdGet(fileId: number, complianceFormId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsGetComplianceFormFileByIdFileIdComplianceFormIdGet(fileId, complianceFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary ExternalExaminer | Returns file\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsGetEeReportFileEeReportIdGet(eeReportId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsGetEeReportFileEeReportIdGet(eeReportId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary AllAtcs | Returns file\n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsGetFileByIdFileIdGet(fileId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsGetFileByIdFileIdGet(fileId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / TrustContact / ExternalExaminer | Returns file\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsGetPartAFilePartAIdGet(partAId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsGetPartAFilePartAIdGet(partAId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / TrustContact / ExternalExaminer | Returns file\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsGetPartBFilePartBIdGet(partBId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsGetPartBFilePartBIdGet(partBId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal, TrustCoordinator, TrustContact | Returns FileId\n * @param {ComplianceFormFileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsSaveComplianceFormFilePost(body?: ComplianceFormFileRequest, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsSaveComplianceFormFilePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary AllAtcs | Returns FileId\n * @param {FileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsSaveEeSignUpFormFilePost(body?: FileRequest, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsSaveEeSignUpFormFilePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary AllAtcs | Returns FileId\n * @param {FileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsSaveFilePost(body?: FileRequest, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsSaveFilePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsTrustInvestigatorGetComplianceFormAdditionalFileComplianceFormIdFileIdGet(complianceFormId: number, fileId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsTrustInvestigatorGetComplianceFormAdditionalFileComplianceFormIdFileIdGet(complianceFormId, fileId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TrustInvestigator | Returns EE Report - Overview\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsTrustInvestigatorGetComplianceFormFileAttachmentsComplianceFormIdGet(complianceFormId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsTrustInvestigatorGetComplianceFormFileAttachmentsComplianceFormIdGet(complianceFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} fileId \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsTrustInvestigatorGetComplianceFormFileByIdFileIdComplianceFormIdGet(fileId: number, complianceFormId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsTrustInvestigatorGetComplianceFormFileByIdFileIdComplianceFormIdGet(fileId, complianceFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsTrustInvestigatorGetEeReportFileEeReportIdGet(eeReportId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsTrustInvestigatorGetEeReportFileEeReportIdGet(eeReportId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} eeReportId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsTrustInvestigatorGetEeReportFileEeReportIdRegeneratedFileLogIdGet(eeReportId: number, regeneratedFileLogId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsTrustInvestigatorGetEeReportFileEeReportIdRegeneratedFileLogIdGet(eeReportId, regeneratedFileLogId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TrustInvestigator | Returns EeReport Logs\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsTrustInvestigatorGetEeReportFileLogsEeReportIdGet(eeReportId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsTrustInvestigatorGetEeReportFileLogsEeReportIdGet(eeReportId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TrustInvestigator | Returns PartA Logs\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsTrustInvestigatorGetPartAFileLogsPartAIdGet(partAId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsTrustInvestigatorGetPartAFileLogsPartAIdGet(partAId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsTrustInvestigatorGetPartAFilePartAIdGet(partAId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsTrustInvestigatorGetPartAFilePartAIdGet(partAId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} partAId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsTrustInvestigatorGetPartAFilePartAIdRegeneratedFileLogIdGet(partAId: number, regeneratedFileLogId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsTrustInvestigatorGetPartAFilePartAIdRegeneratedFileLogIdGet(partAId, regeneratedFileLogId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TrustInvestigator | Returns PartB Logs\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsTrustInvestigatorGetPartBFileLogsPartBIdGet(partBId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsTrustInvestigatorGetPartBFileLogsPartBIdGet(partBId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsTrustInvestigatorGetPartBFilePartBIdGet(partBId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsTrustInvestigatorGetPartBFilePartBIdGet(partBId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TrustInvestigator | Returns file\n * @param {number} partBId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FileAtcsApi\n */\n public apiV2FileAtcsTrustInvestigatorGetPartBFilePartBIdRegeneratedFileLogIdGet(partBId: number, regeneratedFileLogId: number, options?: any) {\n return FileAtcsApiFp(this.configuration).apiV2FileAtcsTrustInvestigatorGetPartBFilePartBIdRegeneratedFileLogIdGet(partBId, regeneratedFileLogId, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\nimport { FollowUpFilterRequest } from '../models';\nimport { FollowUpViewIEnumerableResponse } from '../models';\n/**\n * FollowUpApi - axios parameter creator\n * @export\n */\nexport const FollowUpApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA All | Returns Follow Ups\n * @param {number} [followUpId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FollowUpApproveRoutineFollowUpPut: async (followUpId?: number, options: any = {}): Promise => {\n const localVarPath = `/api/v2/FollowUp/ApproveRoutineFollowUp`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n if (followUpId !== undefined) {\n localVarQueryParameter['followUpId'] = followUpId;\n }\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Follow Ups\n * @param {FollowUpFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FollowUpGetFollowUpsPost: async (body?: FollowUpFilterRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/FollowUp/GetFollowUps`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Follow Ups\n * @param {number} [followUpId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FollowUpRejectRoutineFollowUpPut: async (followUpId?: number, options: any = {}): Promise => {\n const localVarPath = `/api/v2/FollowUp/RejectRoutineFollowUp`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n if (followUpId !== undefined) {\n localVarQueryParameter['followUpId'] = followUpId;\n }\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * FollowUpApi - functional programming interface\n * @export\n */\nexport const FollowUpApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA All | Returns Follow Ups\n * @param {number} [followUpId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FollowUpApproveRoutineFollowUpPut(followUpId?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FollowUpApiAxiosParamCreator(configuration).apiV2FollowUpApproveRoutineFollowUpPut(followUpId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Follow Ups\n * @param {FollowUpFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FollowUpGetFollowUpsPost(body?: FollowUpFilterRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FollowUpApiAxiosParamCreator(configuration).apiV2FollowUpGetFollowUpsPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Follow Ups\n * @param {number} [followUpId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2FollowUpRejectRoutineFollowUpPut(followUpId?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await FollowUpApiAxiosParamCreator(configuration).apiV2FollowUpRejectRoutineFollowUpPut(followUpId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * FollowUpApi - factory interface\n * @export\n */\nexport const FollowUpApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary TA All | Returns Follow Ups\n * @param {number} [followUpId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FollowUpApproveRoutineFollowUpPut(followUpId?: number, options?: any): AxiosPromise {\n return FollowUpApiFp(configuration).apiV2FollowUpApproveRoutineFollowUpPut(followUpId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Follow Ups\n * @param {FollowUpFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FollowUpGetFollowUpsPost(body?: FollowUpFilterRequest, options?: any): AxiosPromise {\n return FollowUpApiFp(configuration).apiV2FollowUpGetFollowUpsPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Follow Ups\n * @param {number} [followUpId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2FollowUpRejectRoutineFollowUpPut(followUpId?: number, options?: any): AxiosPromise {\n return FollowUpApiFp(configuration).apiV2FollowUpRejectRoutineFollowUpPut(followUpId, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * FollowUpApi - object-oriented interface\n * @export\n * @class FollowUpApi\n * @extends {BaseAPI}\n */\nexport class FollowUpApi extends BaseAPI {\n /**\n * \n * @summary TA All | Returns Follow Ups\n * @param {number} [followUpId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FollowUpApi\n */\n public apiV2FollowUpApproveRoutineFollowUpPut(followUpId?: number, options?: any) {\n return FollowUpApiFp(this.configuration).apiV2FollowUpApproveRoutineFollowUpPut(followUpId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Follow Ups\n * @param {FollowUpFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FollowUpApi\n */\n public apiV2FollowUpGetFollowUpsPost(body?: FollowUpFilterRequest, options?: any) {\n return FollowUpApiFp(this.configuration).apiV2FollowUpGetFollowUpsPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Follow Ups\n * @param {number} [followUpId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof FollowUpApi\n */\n public apiV2FollowUpRejectRoutineFollowUpPut(followUpId?: number, options?: any) {\n return FollowUpApiFp(this.configuration).apiV2FollowUpRejectRoutineFollowUpPut(followUpId, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\nimport { CancelInvestigationRequest } from '../models';\nimport { ClosedInvestigationDetails } from '../models';\nimport { CompletedInvestigationDetails } from '../models';\nimport { InvestigationAccountingAppViewIEnumerableResponse } from '../models';\nimport { InvestigationAccountingAppViewResponse } from '../models';\nimport { InvestigationBreachViewIEnumerableResponse } from '../models';\nimport { InvestigationDetailViewResponse } from '../models';\nimport { InvestigationDetailsRequest } from '../models';\nimport { InvestigationFilterRequest } from '../models';\nimport { InvestigationRequest } from '../models';\nimport { InvestigationViewIEnumerableResponse } from '../models';\nimport { InvestigationViewResponse } from '../models';\nimport { NumberOfInvestigationViewResponse } from '../models';\nimport { NumberOfInvestigationsPerInvestigatorViewIEnumerableResponse } from '../models';\nimport { TrustTeamMemberInvestigationFilterRequest } from '../models';\n/**\n * InvestigationApi - axios parameter creator\n * @export\n */\nexport const InvestigationApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA SuperAdmin | Cancel Investigation\n * @param {CancelInvestigationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationCancelInvestigationPost: async (body?: CancelInvestigationRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Investigation/CancelInvestigation`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Investigation Accounting Apps by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationAccountingAppsByIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV2InvestigationGetInvestigationAccountingAppsByIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v2/Investigation/GetInvestigationAccountingAppsById/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Ta All | Returns Investigation Accounting Details by PracticeId\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v2/Investigation/GetInvestigationAccountingDetailsByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Investigation Breaches by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationBreachesByIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV2InvestigationGetInvestigationBreachesByIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v2/Investigation/GetInvestigationBreachesById/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Investigation by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationByIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV2InvestigationGetInvestigationByIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v2/Investigation/GetInvestigationById/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Investigation Details by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationDetailsByIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV2InvestigationGetInvestigationDetailsByIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v2/Investigation/GetInvestigationDetailsById/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Ta All | Returns Latest Investigation by PracticeId\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationsByPracticeIdPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2InvestigationGetInvestigationsByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v2/Investigation/GetInvestigationsByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Investigations by TrustMemberId\n * @param {TrustTeamMemberInvestigationFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationsByTrustTeamMemberIdPost: async (body?: TrustTeamMemberInvestigationFilterRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Investigation/GetInvestigationsByTrustTeamMemberId`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Investigations\n * @param {InvestigationFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationsPost: async (body?: InvestigationFilterRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Investigation/GetInvestigations`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Number Of Investigations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetNumberOfInvestigationsGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Investigation/GetNumberOfInvestigations`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Number Of Investigations Per Investigator\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetNumerOfInvestigationsPerInvestigatorGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Investigation/GetNumerOfInvestigationsPerInvestigator`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns boolean value, if practice has investigations with status: Created, Ongoing\n * @param {number} [practiceId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetPracticeHasInvestigationGet: async (practiceId?: number, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Investigation/GetPracticeHasInvestigation`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n if (practiceId !== undefined) {\n localVarQueryParameter['practiceId'] = practiceId;\n }\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary All | Save Investigation\n * @param {InvestigationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationSaveInvestigationPost: async (body?: InvestigationRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Investigation/SaveInvestigation`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns Investigation Accounting Apps by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationTrustInvestigatorGetInvestigationAccountingAppsByIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV2InvestigationTrustInvestigatorGetInvestigationAccountingAppsByIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v2/Investigation/TrustInvestigator/GetInvestigationAccountingAppsById/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns Investigation Breaches by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationTrustInvestigatorGetInvestigationBreachesByIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV2InvestigationTrustInvestigatorGetInvestigationBreachesByIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v2/Investigation/TrustInvestigator/GetInvestigationBreachesById/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns Investigation Details by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationTrustInvestigatorGetInvestigationDetailsByIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV2InvestigationTrustInvestigatorGetInvestigationDetailsByIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v2/Investigation/TrustInvestigator/GetInvestigationDetailsById/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Update Completed Investigation Details\n * @param {ClosedInvestigationDetails} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationUpdateClosedInvestigationDetailsPost: async (body?: ClosedInvestigationDetails, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Investigation/UpdateClosedInvestigationDetails`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Update Completed Investigation Details\n * @param {CompletedInvestigationDetails} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationUpdateCompletedInvestigationDetailsPost: async (body?: CompletedInvestigationDetails, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Investigation/UpdateCompletedInvestigationDetails`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Update Investigation Details\n * @param {InvestigationDetailsRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationUpdateInvestigationDetailsPost: async (body?: InvestigationDetailsRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Investigation/UpdateInvestigationDetails`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * InvestigationApi - functional programming interface\n * @export\n */\nexport const InvestigationApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA SuperAdmin | Cancel Investigation\n * @param {CancelInvestigationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationCancelInvestigationPost(body?: CancelInvestigationRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationCancelInvestigationPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Investigation Accounting Apps by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationGetInvestigationAccountingAppsByIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationGetInvestigationAccountingAppsByIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Ta All | Returns Investigation Accounting Details by PracticeId\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Investigation Breaches by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationGetInvestigationBreachesByIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationGetInvestigationBreachesByIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Investigation by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationGetInvestigationByIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationGetInvestigationByIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Investigation Details by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationGetInvestigationDetailsByIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationGetInvestigationDetailsByIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Ta All | Returns Latest Investigation by PracticeId\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationGetInvestigationsByPracticeIdPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationGetInvestigationsByPracticeIdPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Investigations by TrustMemberId\n * @param {TrustTeamMemberInvestigationFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationGetInvestigationsByTrustTeamMemberIdPost(body?: TrustTeamMemberInvestigationFilterRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationGetInvestigationsByTrustTeamMemberIdPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Investigations\n * @param {InvestigationFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationGetInvestigationsPost(body?: InvestigationFilterRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationGetInvestigationsPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Number Of Investigations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationGetNumberOfInvestigationsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationGetNumberOfInvestigationsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Number Of Investigations Per Investigator\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationGetNumerOfInvestigationsPerInvestigatorGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationGetNumerOfInvestigationsPerInvestigatorGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns boolean value, if practice has investigations with status: Created, Ongoing\n * @param {number} [practiceId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationGetPracticeHasInvestigationGet(practiceId?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationGetPracticeHasInvestigationGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary All | Save Investigation\n * @param {InvestigationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationSaveInvestigationPost(body?: InvestigationRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationSaveInvestigationPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns Investigation Accounting Apps by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationTrustInvestigatorGetInvestigationAccountingAppsByIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationTrustInvestigatorGetInvestigationAccountingAppsByIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns Investigation Breaches by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationTrustInvestigatorGetInvestigationBreachesByIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationTrustInvestigatorGetInvestigationBreachesByIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns Investigation Details by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationTrustInvestigatorGetInvestigationDetailsByIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationTrustInvestigatorGetInvestigationDetailsByIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Update Completed Investigation Details\n * @param {ClosedInvestigationDetails} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationUpdateClosedInvestigationDetailsPost(body?: ClosedInvestigationDetails, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationUpdateClosedInvestigationDetailsPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Update Completed Investigation Details\n * @param {CompletedInvestigationDetails} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationUpdateCompletedInvestigationDetailsPost(body?: CompletedInvestigationDetails, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationUpdateCompletedInvestigationDetailsPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Update Investigation Details\n * @param {InvestigationDetailsRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationUpdateInvestigationDetailsPost(body?: InvestigationDetailsRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationUpdateInvestigationDetailsPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * InvestigationApi - factory interface\n * @export\n */\nexport const InvestigationApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary TA SuperAdmin | Cancel Investigation\n * @param {CancelInvestigationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationCancelInvestigationPost(body?: CancelInvestigationRequest, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationCancelInvestigationPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Investigation Accounting Apps by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationAccountingAppsByIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationGetInvestigationAccountingAppsByIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Ta All | Returns Investigation Accounting Details by PracticeId\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Investigation Breaches by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationBreachesByIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationGetInvestigationBreachesByIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Investigation by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationByIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationGetInvestigationByIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Investigation Details by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationDetailsByIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationGetInvestigationDetailsByIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Ta All | Returns Latest Investigation by PracticeId\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationsByPracticeIdPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationGetInvestigationsByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Investigations by TrustMemberId\n * @param {TrustTeamMemberInvestigationFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationsByTrustTeamMemberIdPost(body?: TrustTeamMemberInvestigationFilterRequest, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationGetInvestigationsByTrustTeamMemberIdPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Investigations\n * @param {InvestigationFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationsPost(body?: InvestigationFilterRequest, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationGetInvestigationsPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Number Of Investigations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetNumberOfInvestigationsGet(options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationGetNumberOfInvestigationsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Number Of Investigations Per Investigator\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetNumerOfInvestigationsPerInvestigatorGet(options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationGetNumerOfInvestigationsPerInvestigatorGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns boolean value, if practice has investigations with status: Created, Ongoing\n * @param {number} [practiceId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetPracticeHasInvestigationGet(practiceId?: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationGetPracticeHasInvestigationGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary All | Save Investigation\n * @param {InvestigationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationSaveInvestigationPost(body?: InvestigationRequest, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationSaveInvestigationPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TrustInvestigator | Returns Investigation Accounting Apps by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationTrustInvestigatorGetInvestigationAccountingAppsByIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationTrustInvestigatorGetInvestigationAccountingAppsByIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TrustInvestigator | Returns Investigation Breaches by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationTrustInvestigatorGetInvestigationBreachesByIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationTrustInvestigatorGetInvestigationBreachesByIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TrustInvestigator | Returns Investigation Details by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationTrustInvestigatorGetInvestigationDetailsByIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationTrustInvestigatorGetInvestigationDetailsByIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Update Completed Investigation Details\n * @param {ClosedInvestigationDetails} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationUpdateClosedInvestigationDetailsPost(body?: ClosedInvestigationDetails, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationUpdateClosedInvestigationDetailsPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Update Completed Investigation Details\n * @param {CompletedInvestigationDetails} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationUpdateCompletedInvestigationDetailsPost(body?: CompletedInvestigationDetails, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationUpdateCompletedInvestigationDetailsPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Update Investigation Details\n * @param {InvestigationDetailsRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationUpdateInvestigationDetailsPost(body?: InvestigationDetailsRequest, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationUpdateInvestigationDetailsPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * InvestigationApi - object-oriented interface\n * @export\n * @class InvestigationApi\n * @extends {BaseAPI}\n */\nexport class InvestigationApi extends BaseAPI {\n /**\n * \n * @summary TA SuperAdmin | Cancel Investigation\n * @param {CancelInvestigationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationCancelInvestigationPost(body?: CancelInvestigationRequest, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationCancelInvestigationPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Investigation Accounting Apps by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationGetInvestigationAccountingAppsByIdInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationGetInvestigationAccountingAppsByIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Ta All | Returns Investigation Accounting Details by PracticeId\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet(practiceId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Investigation Breaches by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationGetInvestigationBreachesByIdInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationGetInvestigationBreachesByIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Investigation by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationGetInvestigationByIdInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationGetInvestigationByIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Investigation Details by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationGetInvestigationDetailsByIdInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationGetInvestigationDetailsByIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Ta All | Returns Latest Investigation by PracticeId\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationGetInvestigationsByPracticeIdPracticeIdGet(practiceId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationGetInvestigationsByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Investigations by TrustMemberId\n * @param {TrustTeamMemberInvestigationFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationGetInvestigationsByTrustTeamMemberIdPost(body?: TrustTeamMemberInvestigationFilterRequest, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationGetInvestigationsByTrustTeamMemberIdPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Investigations\n * @param {InvestigationFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationGetInvestigationsPost(body?: InvestigationFilterRequest, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationGetInvestigationsPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Number Of Investigations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationGetNumberOfInvestigationsGet(options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationGetNumberOfInvestigationsGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Number Of Investigations Per Investigator\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationGetNumerOfInvestigationsPerInvestigatorGet(options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationGetNumerOfInvestigationsPerInvestigatorGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns boolean value, if practice has investigations with status: Created, Ongoing\n * @param {number} [practiceId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationGetPracticeHasInvestigationGet(practiceId?: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationGetPracticeHasInvestigationGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary All | Save Investigation\n * @param {InvestigationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationSaveInvestigationPost(body?: InvestigationRequest, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationSaveInvestigationPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TrustInvestigator | Returns Investigation Accounting Apps by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationTrustInvestigatorGetInvestigationAccountingAppsByIdInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationTrustInvestigatorGetInvestigationAccountingAppsByIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TrustInvestigator | Returns Investigation Breaches by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationTrustInvestigatorGetInvestigationBreachesByIdInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationTrustInvestigatorGetInvestigationBreachesByIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TrustInvestigator | Returns Investigation Details by InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationTrustInvestigatorGetInvestigationDetailsByIdInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationTrustInvestigatorGetInvestigationDetailsByIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Update Completed Investigation Details\n * @param {ClosedInvestigationDetails} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationUpdateClosedInvestigationDetailsPost(body?: ClosedInvestigationDetails, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationUpdateClosedInvestigationDetailsPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Update Completed Investigation Details\n * @param {CompletedInvestigationDetails} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationUpdateCompletedInvestigationDetailsPost(body?: CompletedInvestigationDetails, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationUpdateCompletedInvestigationDetailsPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Update Investigation Details\n * @param {InvestigationDetailsRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationUpdateInvestigationDetailsPost(body?: InvestigationDetailsRequest, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationUpdateInvestigationDetailsPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\nimport { FileView } from '../models';\nimport { InvestigatorWorkingPaperRequest } from '../models';\nimport { InvestigatorWorkingPaperViewIEnumerableResponse } from '../models';\nimport { InvestigatorWorkingPaperViewResponse } from '../models';\n/**\n * InvestigatorWorkingPaperApi - axios parameter creator\n * @export\n */\nexport const InvestigatorWorkingPaperApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary All | Delete Investigator Working Paper\n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigatorWorkingPaperDeleteInvestigatorWorkingPaperInvestigatorWorkingPaperIdDelete: async (investigatorWorkingPaperId: number, options: any = {}): Promise => {\n // verify required parameter 'investigatorWorkingPaperId' is not null or undefined\n if (investigatorWorkingPaperId === null || investigatorWorkingPaperId === undefined) {\n throw new RequiredError('investigatorWorkingPaperId','Required parameter investigatorWorkingPaperId was null or undefined when calling apiV2InvestigatorWorkingPaperDeleteInvestigatorWorkingPaperInvestigatorWorkingPaperIdDelete.');\n }\n const localVarPath = `/api/v2/InvestigatorWorkingPaper/DeleteInvestigatorWorkingPaper/{investigatorWorkingPaperId}`\n .replace(`{${\"investigatorWorkingPaperId\"}}`, encodeURIComponent(String(investigatorWorkingPaperId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Investigator Working Paper File\n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigatorWorkingPaperGetFileByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet: async (investigatorWorkingPaperId: number, options: any = {}): Promise => {\n // verify required parameter 'investigatorWorkingPaperId' is not null or undefined\n if (investigatorWorkingPaperId === null || investigatorWorkingPaperId === undefined) {\n throw new RequiredError('investigatorWorkingPaperId','Required parameter investigatorWorkingPaperId was null or undefined when calling apiV2InvestigatorWorkingPaperGetFileByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet.');\n }\n const localVarPath = `/api/v2/InvestigatorWorkingPaper/GetFileByInvestigatorWorkingPaperId/{investigatorWorkingPaperId}`\n .replace(`{${\"investigatorWorkingPaperId\"}}`, encodeURIComponent(String(investigatorWorkingPaperId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA Admin | Returns Investigator Working Paper File Stream\n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigatorWorkingPaperGetFileStreamByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet: async (investigatorWorkingPaperId: number, options: any = {}): Promise => {\n // verify required parameter 'investigatorWorkingPaperId' is not null or undefined\n if (investigatorWorkingPaperId === null || investigatorWorkingPaperId === undefined) {\n throw new RequiredError('investigatorWorkingPaperId','Required parameter investigatorWorkingPaperId was null or undefined when calling apiV2InvestigatorWorkingPaperGetFileStreamByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet.');\n }\n const localVarPath = `/api/v2/InvestigatorWorkingPaper/GetFileStreamByInvestigatorWorkingPaperId/{investigatorWorkingPaperId}`\n .replace(`{${\"investigatorWorkingPaperId\"}}`, encodeURIComponent(String(investigatorWorkingPaperId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Investigator Working Paper By InvestigatorWorkingPaperId\n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigatorWorkingPaperGetInvestigatorWorkingPaperByIdInvestigatorWorkingPaperIdGet: async (investigatorWorkingPaperId: number, options: any = {}): Promise => {\n // verify required parameter 'investigatorWorkingPaperId' is not null or undefined\n if (investigatorWorkingPaperId === null || investigatorWorkingPaperId === undefined) {\n throw new RequiredError('investigatorWorkingPaperId','Required parameter investigatorWorkingPaperId was null or undefined when calling apiV2InvestigatorWorkingPaperGetInvestigatorWorkingPaperByIdInvestigatorWorkingPaperIdGet.');\n }\n const localVarPath = `/api/v2/InvestigatorWorkingPaper/GetInvestigatorWorkingPaperById/{investigatorWorkingPaperId}`\n .replace(`{${\"investigatorWorkingPaperId\"}}`, encodeURIComponent(String(investigatorWorkingPaperId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Investigator Working Papers By InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigatorWorkingPaperGetInvestigatorWorkingPapersByIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV2InvestigatorWorkingPaperGetInvestigatorWorkingPapersByIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v2/InvestigatorWorkingPaper/GetInvestigatorWorkingPapersById/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Save Investigator Working Paper\n * @param {InvestigatorWorkingPaperRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigatorWorkingPaperSaveInvestigatorWorkingPaperPost: async (body?: InvestigatorWorkingPaperRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/InvestigatorWorkingPaper/SaveInvestigatorWorkingPaper`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns Investigator Working Papers By InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigatorWorkingPaperTrustInvestigatorGetInvestigatorWorkingPapersByIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV2InvestigatorWorkingPaperTrustInvestigatorGetInvestigatorWorkingPapersByIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v2/InvestigatorWorkingPaper/TrustInvestigator/GetInvestigatorWorkingPapersById/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * InvestigatorWorkingPaperApi - functional programming interface\n * @export\n */\nexport const InvestigatorWorkingPaperApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary All | Delete Investigator Working Paper\n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigatorWorkingPaperDeleteInvestigatorWorkingPaperInvestigatorWorkingPaperIdDelete(investigatorWorkingPaperId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigatorWorkingPaperApiAxiosParamCreator(configuration).apiV2InvestigatorWorkingPaperDeleteInvestigatorWorkingPaperInvestigatorWorkingPaperIdDelete(investigatorWorkingPaperId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Investigator Working Paper File\n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigatorWorkingPaperGetFileByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigatorWorkingPaperApiAxiosParamCreator(configuration).apiV2InvestigatorWorkingPaperGetFileByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA Admin | Returns Investigator Working Paper File Stream\n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigatorWorkingPaperGetFileStreamByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigatorWorkingPaperApiAxiosParamCreator(configuration).apiV2InvestigatorWorkingPaperGetFileStreamByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Investigator Working Paper By InvestigatorWorkingPaperId\n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigatorWorkingPaperGetInvestigatorWorkingPaperByIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigatorWorkingPaperApiAxiosParamCreator(configuration).apiV2InvestigatorWorkingPaperGetInvestigatorWorkingPaperByIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Investigator Working Papers By InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigatorWorkingPaperGetInvestigatorWorkingPapersByIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigatorWorkingPaperApiAxiosParamCreator(configuration).apiV2InvestigatorWorkingPaperGetInvestigatorWorkingPapersByIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Save Investigator Working Paper\n * @param {InvestigatorWorkingPaperRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigatorWorkingPaperSaveInvestigatorWorkingPaperPost(body?: InvestigatorWorkingPaperRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigatorWorkingPaperApiAxiosParamCreator(configuration).apiV2InvestigatorWorkingPaperSaveInvestigatorWorkingPaperPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns Investigator Working Papers By InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigatorWorkingPaperTrustInvestigatorGetInvestigatorWorkingPapersByIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigatorWorkingPaperApiAxiosParamCreator(configuration).apiV2InvestigatorWorkingPaperTrustInvestigatorGetInvestigatorWorkingPapersByIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * InvestigatorWorkingPaperApi - factory interface\n * @export\n */\nexport const InvestigatorWorkingPaperApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary All | Delete Investigator Working Paper\n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigatorWorkingPaperDeleteInvestigatorWorkingPaperInvestigatorWorkingPaperIdDelete(investigatorWorkingPaperId: number, options?: any): AxiosPromise {\n return InvestigatorWorkingPaperApiFp(configuration).apiV2InvestigatorWorkingPaperDeleteInvestigatorWorkingPaperInvestigatorWorkingPaperIdDelete(investigatorWorkingPaperId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Investigator Working Paper File\n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigatorWorkingPaperGetFileByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId: number, options?: any): AxiosPromise {\n return InvestigatorWorkingPaperApiFp(configuration).apiV2InvestigatorWorkingPaperGetFileByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA Admin | Returns Investigator Working Paper File Stream\n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigatorWorkingPaperGetFileStreamByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId: number, options?: any): AxiosPromise {\n return InvestigatorWorkingPaperApiFp(configuration).apiV2InvestigatorWorkingPaperGetFileStreamByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Investigator Working Paper By InvestigatorWorkingPaperId\n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigatorWorkingPaperGetInvestigatorWorkingPaperByIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId: number, options?: any): AxiosPromise {\n return InvestigatorWorkingPaperApiFp(configuration).apiV2InvestigatorWorkingPaperGetInvestigatorWorkingPaperByIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Investigator Working Papers By InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigatorWorkingPaperGetInvestigatorWorkingPapersByIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigatorWorkingPaperApiFp(configuration).apiV2InvestigatorWorkingPaperGetInvestigatorWorkingPapersByIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Save Investigator Working Paper\n * @param {InvestigatorWorkingPaperRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigatorWorkingPaperSaveInvestigatorWorkingPaperPost(body?: InvestigatorWorkingPaperRequest, options?: any): AxiosPromise {\n return InvestigatorWorkingPaperApiFp(configuration).apiV2InvestigatorWorkingPaperSaveInvestigatorWorkingPaperPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TrustInvestigator | Returns Investigator Working Papers By InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigatorWorkingPaperTrustInvestigatorGetInvestigatorWorkingPapersByIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigatorWorkingPaperApiFp(configuration).apiV2InvestigatorWorkingPaperTrustInvestigatorGetInvestigatorWorkingPapersByIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * InvestigatorWorkingPaperApi - object-oriented interface\n * @export\n * @class InvestigatorWorkingPaperApi\n * @extends {BaseAPI}\n */\nexport class InvestigatorWorkingPaperApi extends BaseAPI {\n /**\n * \n * @summary All | Delete Investigator Working Paper\n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigatorWorkingPaperApi\n */\n public apiV2InvestigatorWorkingPaperDeleteInvestigatorWorkingPaperInvestigatorWorkingPaperIdDelete(investigatorWorkingPaperId: number, options?: any) {\n return InvestigatorWorkingPaperApiFp(this.configuration).apiV2InvestigatorWorkingPaperDeleteInvestigatorWorkingPaperInvestigatorWorkingPaperIdDelete(investigatorWorkingPaperId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Investigator Working Paper File\n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigatorWorkingPaperApi\n */\n public apiV2InvestigatorWorkingPaperGetFileByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId: number, options?: any) {\n return InvestigatorWorkingPaperApiFp(this.configuration).apiV2InvestigatorWorkingPaperGetFileByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA Admin | Returns Investigator Working Paper File Stream\n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigatorWorkingPaperApi\n */\n public apiV2InvestigatorWorkingPaperGetFileStreamByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId: number, options?: any) {\n return InvestigatorWorkingPaperApiFp(this.configuration).apiV2InvestigatorWorkingPaperGetFileStreamByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Investigator Working Paper By InvestigatorWorkingPaperId\n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigatorWorkingPaperApi\n */\n public apiV2InvestigatorWorkingPaperGetInvestigatorWorkingPaperByIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId: number, options?: any) {\n return InvestigatorWorkingPaperApiFp(this.configuration).apiV2InvestigatorWorkingPaperGetInvestigatorWorkingPaperByIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Investigator Working Papers By InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigatorWorkingPaperApi\n */\n public apiV2InvestigatorWorkingPaperGetInvestigatorWorkingPapersByIdInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigatorWorkingPaperApiFp(this.configuration).apiV2InvestigatorWorkingPaperGetInvestigatorWorkingPapersByIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Save Investigator Working Paper\n * @param {InvestigatorWorkingPaperRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigatorWorkingPaperApi\n */\n public apiV2InvestigatorWorkingPaperSaveInvestigatorWorkingPaperPost(body?: InvestigatorWorkingPaperRequest, options?: any) {\n return InvestigatorWorkingPaperApiFp(this.configuration).apiV2InvestigatorWorkingPaperSaveInvestigatorWorkingPaperPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TrustInvestigator | Returns Investigator Working Papers By InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigatorWorkingPaperApi\n */\n public apiV2InvestigatorWorkingPaperTrustInvestigatorGetInvestigatorWorkingPapersByIdInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigatorWorkingPaperApiFp(this.configuration).apiV2InvestigatorWorkingPaperTrustInvestigatorGetInvestigatorWorkingPapersByIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { LawIdUserIEnumerableResponse } from '../models';\nimport { LawIdUserLsApiResponse } from '../models';\nimport { LawIdUserRequest } from '../models';\nimport { SearchLawIdUsersForExternalExaminerRequest } from '../models';\nimport { SearchLawIdUsersForTrustCoordinatorRequest } from '../models';\n/**\n * LawIdApi - axios parameter creator\n * @export\n */\nexport const LawIdApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary TaAll | Returns LawId User\n * @param {SearchLawIdUsersForExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2LawIdAdminSearchLawIdUsersForExternalExaminerPost: async (body?: SearchLawIdUsersForExternalExaminerRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/LawId/Admin/SearchLawIdUsersForExternalExaminer`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Returns LawId User\n * @param {number} practiceId \n * @param {SearchLawIdUsersForTrustCoordinatorRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2LawIdAdminSearchLawIdUsersForTrustCoordinatorPracticeIdPost: async (practiceId: number, body?: SearchLawIdUsersForTrustCoordinatorRequest, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2LawIdAdminSearchLawIdUsersForTrustCoordinatorPracticeIdPost.');\n }\n const localVarPath = `/api/v2/LawId/Admin/SearchLawIdUsersForTrustCoordinator/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Tester | Returns LawId Users\n * @param {LawIdUserRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2LawIdGetLawIdUsersPost: async (body?: LawIdUserRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/LawId/GetLawIdUsers`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * LawIdApi - functional programming interface\n * @export\n */\nexport const LawIdApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary TaAll | Returns LawId User\n * @param {SearchLawIdUsersForExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2LawIdAdminSearchLawIdUsersForExternalExaminerPost(body?: SearchLawIdUsersForExternalExaminerRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await LawIdApiAxiosParamCreator(configuration).apiV2LawIdAdminSearchLawIdUsersForExternalExaminerPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Returns LawId User\n * @param {number} practiceId \n * @param {SearchLawIdUsersForTrustCoordinatorRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2LawIdAdminSearchLawIdUsersForTrustCoordinatorPracticeIdPost(practiceId: number, body?: SearchLawIdUsersForTrustCoordinatorRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await LawIdApiAxiosParamCreator(configuration).apiV2LawIdAdminSearchLawIdUsersForTrustCoordinatorPracticeIdPost(practiceId, body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Tester | Returns LawId Users\n * @param {LawIdUserRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2LawIdGetLawIdUsersPost(body?: LawIdUserRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await LawIdApiAxiosParamCreator(configuration).apiV2LawIdGetLawIdUsersPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * LawIdApi - factory interface\n * @export\n */\nexport const LawIdApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary TaAll | Returns LawId User\n * @param {SearchLawIdUsersForExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2LawIdAdminSearchLawIdUsersForExternalExaminerPost(body?: SearchLawIdUsersForExternalExaminerRequest, options?: any): AxiosPromise {\n return LawIdApiFp(configuration).apiV2LawIdAdminSearchLawIdUsersForExternalExaminerPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Returns LawId User\n * @param {number} practiceId \n * @param {SearchLawIdUsersForTrustCoordinatorRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2LawIdAdminSearchLawIdUsersForTrustCoordinatorPracticeIdPost(practiceId: number, body?: SearchLawIdUsersForTrustCoordinatorRequest, options?: any): AxiosPromise {\n return LawIdApiFp(configuration).apiV2LawIdAdminSearchLawIdUsersForTrustCoordinatorPracticeIdPost(practiceId, body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Tester | Returns LawId Users\n * @param {LawIdUserRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2LawIdGetLawIdUsersPost(body?: LawIdUserRequest, options?: any): AxiosPromise {\n return LawIdApiFp(configuration).apiV2LawIdGetLawIdUsersPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * LawIdApi - object-oriented interface\n * @export\n * @class LawIdApi\n * @extends {BaseAPI}\n */\nexport class LawIdApi extends BaseAPI {\n /**\n * \n * @summary TaAll | Returns LawId User\n * @param {SearchLawIdUsersForExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof LawIdApi\n */\n public apiV2LawIdAdminSearchLawIdUsersForExternalExaminerPost(body?: SearchLawIdUsersForExternalExaminerRequest, options?: any) {\n return LawIdApiFp(this.configuration).apiV2LawIdAdminSearchLawIdUsersForExternalExaminerPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Returns LawId User\n * @param {number} practiceId \n * @param {SearchLawIdUsersForTrustCoordinatorRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof LawIdApi\n */\n public apiV2LawIdAdminSearchLawIdUsersForTrustCoordinatorPracticeIdPost(practiceId: number, body?: SearchLawIdUsersForTrustCoordinatorRequest, options?: any) {\n return LawIdApiFp(this.configuration).apiV2LawIdAdminSearchLawIdUsersForTrustCoordinatorPracticeIdPost(practiceId, body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Tester | Returns LawId Users\n * @param {LawIdUserRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof LawIdApi\n */\n public apiV2LawIdGetLawIdUsersPost(body?: LawIdUserRequest, options?: any) {\n return LawIdApiFp(this.configuration).apiV2LawIdGetLawIdUsersPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\nimport { NoteRequest } from '../models';\nimport { NoteViewIEnumerableResponse } from '../models';\nimport { NotesFilterRequest } from '../models';\n/**\n * NotesApi - axios parameter creator\n * @export\n */\nexport const NotesApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA All | Returns Notes By InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2NotesGetNotesByInvestigationIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV2NotesGetNotesByInvestigationIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v2/Notes/GetNotesByInvestigationId/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA Admin | Returns Notes By FirmId\n * @param {NotesFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2NotesGetNotesByPracticeIdPost: async (body?: NotesFilterRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Notes/GetNotesByPracticeId`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Save Note\n * @param {NoteRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2NotesSaveNotePost: async (body?: NoteRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Notes/SaveNote`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns Notes By InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2NotesTrustInvestigatorGetNotesByInvestigationIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV2NotesTrustInvestigatorGetNotesByInvestigationIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v2/Notes/TrustInvestigator/GetNotesByInvestigationId/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * NotesApi - functional programming interface\n * @export\n */\nexport const NotesApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA All | Returns Notes By InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2NotesGetNotesByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await NotesApiAxiosParamCreator(configuration).apiV2NotesGetNotesByInvestigationIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA Admin | Returns Notes By FirmId\n * @param {NotesFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2NotesGetNotesByPracticeIdPost(body?: NotesFilterRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await NotesApiAxiosParamCreator(configuration).apiV2NotesGetNotesByPracticeIdPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Save Note\n * @param {NoteRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2NotesSaveNotePost(body?: NoteRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await NotesApiAxiosParamCreator(configuration).apiV2NotesSaveNotePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns Notes By InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2NotesTrustInvestigatorGetNotesByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await NotesApiAxiosParamCreator(configuration).apiV2NotesTrustInvestigatorGetNotesByInvestigationIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * NotesApi - factory interface\n * @export\n */\nexport const NotesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary TA All | Returns Notes By InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2NotesGetNotesByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return NotesApiFp(configuration).apiV2NotesGetNotesByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA Admin | Returns Notes By FirmId\n * @param {NotesFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2NotesGetNotesByPracticeIdPost(body?: NotesFilterRequest, options?: any): AxiosPromise {\n return NotesApiFp(configuration).apiV2NotesGetNotesByPracticeIdPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Save Note\n * @param {NoteRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2NotesSaveNotePost(body?: NoteRequest, options?: any): AxiosPromise {\n return NotesApiFp(configuration).apiV2NotesSaveNotePost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TrustInvestigator | Returns Notes By InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2NotesTrustInvestigatorGetNotesByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return NotesApiFp(configuration).apiV2NotesTrustInvestigatorGetNotesByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * NotesApi - object-oriented interface\n * @export\n * @class NotesApi\n * @extends {BaseAPI}\n */\nexport class NotesApi extends BaseAPI {\n /**\n * \n * @summary TA All | Returns Notes By InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NotesApi\n */\n public apiV2NotesGetNotesByInvestigationIdInvestigationIdGet(investigationId: number, options?: any) {\n return NotesApiFp(this.configuration).apiV2NotesGetNotesByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA Admin | Returns Notes By FirmId\n * @param {NotesFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NotesApi\n */\n public apiV2NotesGetNotesByPracticeIdPost(body?: NotesFilterRequest, options?: any) {\n return NotesApiFp(this.configuration).apiV2NotesGetNotesByPracticeIdPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Save Note\n * @param {NoteRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NotesApi\n */\n public apiV2NotesSaveNotePost(body?: NoteRequest, options?: any) {\n return NotesApiFp(this.configuration).apiV2NotesSaveNotePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TrustInvestigator | Returns Notes By InvestigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NotesApi\n */\n public apiV2NotesTrustInvestigatorGetNotesByInvestigationIdInvestigationIdGet(investigationId: number, options?: any) {\n return NotesApiFp(this.configuration).apiV2NotesTrustInvestigatorGetNotesByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\nimport { PageContentIEnumerableResponse } from '../models';\nimport { PageContentRequest } from '../models';\nimport { PageContentResponse } from '../models';\nimport { PageContentStatusRequest } from '../models';\nimport { PageIEnumerableResponse } from '../models';\n/**\n * PageAtcsApi - axios parameter creator\n * @export\n */\nexport const PageAtcsApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary TaAll | Returns All Page Contents\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PageAtcsAdminGetAllPageContentsGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/PageAtcs/Admin/GetAllPageContents`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Returns Page Content by pageId\n * @param {number} pageContentId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PageAtcsAdminGetPageContentPageContentIdGet: async (pageContentId: number, options: any = {}): Promise => {\n // verify required parameter 'pageContentId' is not null or undefined\n if (pageContentId === null || pageContentId === undefined) {\n throw new RequiredError('pageContentId','Required parameter pageContentId was null or undefined when calling apiV2PageAtcsAdminGetPageContentPageContentIdGet.');\n }\n const localVarPath = `/api/v2/PageAtcs/Admin/GetPageContent/{pageContentId}`\n .replace(`{${\"pageContentId\"}}`, encodeURIComponent(String(pageContentId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Update Page Content\n * @param {PageContentRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PageAtcsAdminUpdatePageContentPost: async (body?: PageContentRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PageAtcs/Admin/UpdatePageContent`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Update Page Content Status\n * @param {PageContentStatusRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PageAtcsAdminUpdatePageContentStatusPost: async (body?: PageContentStatusRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PageAtcs/Admin/UpdatePageContentStatus`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary READER | Returns All Page Contents\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PageAtcsGetAllPageContentsGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/PageAtcs/GetAllPageContents`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary READER | Returns Page Contents by pageId\n * @param {number} pageId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PageAtcsGetPageContentsPageIdGet: async (pageId: number, options: any = {}): Promise => {\n // verify required parameter 'pageId' is not null or undefined\n if (pageId === null || pageId === undefined) {\n throw new RequiredError('pageId','Required parameter pageId was null or undefined when calling apiV2PageAtcsGetPageContentsPageIdGet.');\n }\n const localVarPath = `/api/v2/PageAtcs/GetPageContents/{pageId}`\n .replace(`{${\"pageId\"}}`, encodeURIComponent(String(pageId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary READER | Returns Pages\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PageAtcsGetPagesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/PageAtcs/GetPages`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * PageAtcsApi - functional programming interface\n * @export\n */\nexport const PageAtcsApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary TaAll | Returns All Page Contents\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PageAtcsAdminGetAllPageContentsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PageAtcsApiAxiosParamCreator(configuration).apiV2PageAtcsAdminGetAllPageContentsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Returns Page Content by pageId\n * @param {number} pageContentId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PageAtcsAdminGetPageContentPageContentIdGet(pageContentId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PageAtcsApiAxiosParamCreator(configuration).apiV2PageAtcsAdminGetPageContentPageContentIdGet(pageContentId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Update Page Content\n * @param {PageContentRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PageAtcsAdminUpdatePageContentPost(body?: PageContentRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PageAtcsApiAxiosParamCreator(configuration).apiV2PageAtcsAdminUpdatePageContentPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Update Page Content Status\n * @param {PageContentStatusRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PageAtcsAdminUpdatePageContentStatusPost(body?: PageContentStatusRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PageAtcsApiAxiosParamCreator(configuration).apiV2PageAtcsAdminUpdatePageContentStatusPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary READER | Returns All Page Contents\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PageAtcsGetAllPageContentsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PageAtcsApiAxiosParamCreator(configuration).apiV2PageAtcsGetAllPageContentsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary READER | Returns Page Contents by pageId\n * @param {number} pageId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PageAtcsGetPageContentsPageIdGet(pageId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PageAtcsApiAxiosParamCreator(configuration).apiV2PageAtcsGetPageContentsPageIdGet(pageId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary READER | Returns Pages\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PageAtcsGetPagesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PageAtcsApiAxiosParamCreator(configuration).apiV2PageAtcsGetPagesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * PageAtcsApi - factory interface\n * @export\n */\nexport const PageAtcsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary TaAll | Returns All Page Contents\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PageAtcsAdminGetAllPageContentsGet(options?: any): AxiosPromise {\n return PageAtcsApiFp(configuration).apiV2PageAtcsAdminGetAllPageContentsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Returns Page Content by pageId\n * @param {number} pageContentId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PageAtcsAdminGetPageContentPageContentIdGet(pageContentId: number, options?: any): AxiosPromise {\n return PageAtcsApiFp(configuration).apiV2PageAtcsAdminGetPageContentPageContentIdGet(pageContentId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Update Page Content\n * @param {PageContentRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PageAtcsAdminUpdatePageContentPost(body?: PageContentRequest, options?: any): AxiosPromise {\n return PageAtcsApiFp(configuration).apiV2PageAtcsAdminUpdatePageContentPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Update Page Content Status\n * @param {PageContentStatusRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PageAtcsAdminUpdatePageContentStatusPost(body?: PageContentStatusRequest, options?: any): AxiosPromise {\n return PageAtcsApiFp(configuration).apiV2PageAtcsAdminUpdatePageContentStatusPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary READER | Returns All Page Contents\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PageAtcsGetAllPageContentsGet(options?: any): AxiosPromise {\n return PageAtcsApiFp(configuration).apiV2PageAtcsGetAllPageContentsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary READER | Returns Page Contents by pageId\n * @param {number} pageId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PageAtcsGetPageContentsPageIdGet(pageId: number, options?: any): AxiosPromise {\n return PageAtcsApiFp(configuration).apiV2PageAtcsGetPageContentsPageIdGet(pageId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary READER | Returns Pages\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PageAtcsGetPagesGet(options?: any): AxiosPromise {\n return PageAtcsApiFp(configuration).apiV2PageAtcsGetPagesGet(options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * PageAtcsApi - object-oriented interface\n * @export\n * @class PageAtcsApi\n * @extends {BaseAPI}\n */\nexport class PageAtcsApi extends BaseAPI {\n /**\n * \n * @summary TaAll | Returns All Page Contents\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PageAtcsApi\n */\n public apiV2PageAtcsAdminGetAllPageContentsGet(options?: any) {\n return PageAtcsApiFp(this.configuration).apiV2PageAtcsAdminGetAllPageContentsGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Returns Page Content by pageId\n * @param {number} pageContentId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PageAtcsApi\n */\n public apiV2PageAtcsAdminGetPageContentPageContentIdGet(pageContentId: number, options?: any) {\n return PageAtcsApiFp(this.configuration).apiV2PageAtcsAdminGetPageContentPageContentIdGet(pageContentId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Update Page Content\n * @param {PageContentRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PageAtcsApi\n */\n public apiV2PageAtcsAdminUpdatePageContentPost(body?: PageContentRequest, options?: any) {\n return PageAtcsApiFp(this.configuration).apiV2PageAtcsAdminUpdatePageContentPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Update Page Content Status\n * @param {PageContentStatusRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PageAtcsApi\n */\n public apiV2PageAtcsAdminUpdatePageContentStatusPost(body?: PageContentStatusRequest, options?: any) {\n return PageAtcsApiFp(this.configuration).apiV2PageAtcsAdminUpdatePageContentStatusPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary READER | Returns All Page Contents\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PageAtcsApi\n */\n public apiV2PageAtcsGetAllPageContentsGet(options?: any) {\n return PageAtcsApiFp(this.configuration).apiV2PageAtcsGetAllPageContentsGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary READER | Returns Page Contents by pageId\n * @param {number} pageId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PageAtcsApi\n */\n public apiV2PageAtcsGetPageContentsPageIdGet(pageId: number, options?: any) {\n return PageAtcsApiFp(this.configuration).apiV2PageAtcsGetPageContentsPageIdGet(pageId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary READER | Returns Pages\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PageAtcsApi\n */\n public apiV2PageAtcsGetPagesGet(options?: any) {\n return PageAtcsApiFp(this.configuration).apiV2PageAtcsGetPagesGet(options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\nimport { ComplianceFormRequest } from '../models';\nimport { FormStatusResponse } from '../models';\nimport { PartAFormDeclarationResponse } from '../models';\nimport { PartAFormOverviewResponse } from '../models';\nimport { PartAFormPracticeAreasRequest } from '../models';\nimport { PartAFormPracticeAreasResponse } from '../models';\nimport { PartAFormTrustAccountDetailsRequest } from '../models';\nimport { PartAFormTrustAccountDetailsResponse } from '../models';\nimport { PartAResubmissionRequestRequest } from '../models';\n/**\n * PartAFormApi - axios parameter creator\n * @export\n */\nexport const PartAFormApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA All | Save PartA Resubmission Request\n * @param {PartAResubmissionRequestRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormAdminSavePartAResubmissionRequestPost: async (body?: PartAResubmissionRequestRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartAForm/Admin/SavePartAResubmissionRequest`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns true when a form is successfully closed\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormClosePost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartAForm/Close`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Extend the current Form Status\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormExtendFormStatusPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartAForm/ExtendFormStatus`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form - Overview\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormGetDeclarationPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartAForm/GetDeclaration`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormGetFormStatusComplianceFormIdGet: async (complianceFormId: number, options: any = {}): Promise => {\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV2PartAFormGetFormStatusComplianceFormIdGet.');\n }\n const localVarPath = `/api/v2/PartAForm/GetFormStatus/{complianceFormId}`\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form - Overview\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormGetOverviewPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartAForm/GetOverview`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form - Practice Areas\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormGetPracticeAreasPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartAForm/GetPracticeAreas`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form - Trust Account Details\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormGetTrustAccountDetailsPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartAForm/GetTrustAccountDetails`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Kick out the current opened Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormKickOutFormStatusComplianceFormIdGet: async (complianceFormId: number, options: any = {}): Promise => {\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV2PartAFormKickOutFormStatusComplianceFormIdGet.');\n }\n const localVarPath = `/api/v2/PartAForm/KickOutFormStatus/{complianceFormId}`\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part A Form - Practice Areas Responses\n * @param {PartAFormPracticeAreasRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormSavePracticeAreasPost: async (body?: PartAFormPracticeAreasRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartAForm/SavePracticeAreas`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part A Form - Trust Account Details Responses\n * @param {PartAFormTrustAccountDetailsRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormSaveTrustAccountDetailsPost: async (body?: PartAFormTrustAccountDetailsRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartAForm/SaveTrustAccountDetails`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal | Submit Part A Form\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormSubmitFormPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartAForm/SubmitForm`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * PartAFormApi - functional programming interface\n * @export\n */\nexport const PartAFormApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA All | Save PartA Resubmission Request\n * @param {PartAResubmissionRequestRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartAFormAdminSavePartAResubmissionRequestPost(body?: PartAResubmissionRequestRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartAFormApiAxiosParamCreator(configuration).apiV2PartAFormAdminSavePartAResubmissionRequestPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns true when a form is successfully closed\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartAFormClosePost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartAFormApiAxiosParamCreator(configuration).apiV2PartAFormClosePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Extend the current Form Status\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartAFormExtendFormStatusPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartAFormApiAxiosParamCreator(configuration).apiV2PartAFormExtendFormStatusPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form - Overview\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartAFormGetDeclarationPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartAFormApiAxiosParamCreator(configuration).apiV2PartAFormGetDeclarationPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartAFormGetFormStatusComplianceFormIdGet(complianceFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartAFormApiAxiosParamCreator(configuration).apiV2PartAFormGetFormStatusComplianceFormIdGet(complianceFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form - Overview\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartAFormGetOverviewPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartAFormApiAxiosParamCreator(configuration).apiV2PartAFormGetOverviewPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form - Practice Areas\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartAFormGetPracticeAreasPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartAFormApiAxiosParamCreator(configuration).apiV2PartAFormGetPracticeAreasPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form - Trust Account Details\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartAFormGetTrustAccountDetailsPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartAFormApiAxiosParamCreator(configuration).apiV2PartAFormGetTrustAccountDetailsPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Kick out the current opened Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartAFormKickOutFormStatusComplianceFormIdGet(complianceFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartAFormApiAxiosParamCreator(configuration).apiV2PartAFormKickOutFormStatusComplianceFormIdGet(complianceFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part A Form - Practice Areas Responses\n * @param {PartAFormPracticeAreasRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartAFormSavePracticeAreasPost(body?: PartAFormPracticeAreasRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartAFormApiAxiosParamCreator(configuration).apiV2PartAFormSavePracticeAreasPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part A Form - Trust Account Details Responses\n * @param {PartAFormTrustAccountDetailsRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartAFormSaveTrustAccountDetailsPost(body?: PartAFormTrustAccountDetailsRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartAFormApiAxiosParamCreator(configuration).apiV2PartAFormSaveTrustAccountDetailsPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal | Submit Part A Form\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartAFormSubmitFormPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartAFormApiAxiosParamCreator(configuration).apiV2PartAFormSubmitFormPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * PartAFormApi - factory interface\n * @export\n */\nexport const PartAFormApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary TA All | Save PartA Resubmission Request\n * @param {PartAResubmissionRequestRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormAdminSavePartAResubmissionRequestPost(body?: PartAResubmissionRequestRequest, options?: any): AxiosPromise {\n return PartAFormApiFp(configuration).apiV2PartAFormAdminSavePartAResubmissionRequestPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns true when a form is successfully closed\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormClosePost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return PartAFormApiFp(configuration).apiV2PartAFormClosePost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Extend the current Form Status\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormExtendFormStatusPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return PartAFormApiFp(configuration).apiV2PartAFormExtendFormStatusPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form - Overview\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormGetDeclarationPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return PartAFormApiFp(configuration).apiV2PartAFormGetDeclarationPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormGetFormStatusComplianceFormIdGet(complianceFormId: number, options?: any): AxiosPromise {\n return PartAFormApiFp(configuration).apiV2PartAFormGetFormStatusComplianceFormIdGet(complianceFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form - Overview\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormGetOverviewPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return PartAFormApiFp(configuration).apiV2PartAFormGetOverviewPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form - Practice Areas\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormGetPracticeAreasPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return PartAFormApiFp(configuration).apiV2PartAFormGetPracticeAreasPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form - Trust Account Details\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormGetTrustAccountDetailsPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return PartAFormApiFp(configuration).apiV2PartAFormGetTrustAccountDetailsPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Kick out the current opened Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormKickOutFormStatusComplianceFormIdGet(complianceFormId: number, options?: any): AxiosPromise {\n return PartAFormApiFp(configuration).apiV2PartAFormKickOutFormStatusComplianceFormIdGet(complianceFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part A Form - Practice Areas Responses\n * @param {PartAFormPracticeAreasRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormSavePracticeAreasPost(body?: PartAFormPracticeAreasRequest, options?: any): AxiosPromise {\n return PartAFormApiFp(configuration).apiV2PartAFormSavePracticeAreasPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part A Form - Trust Account Details Responses\n * @param {PartAFormTrustAccountDetailsRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormSaveTrustAccountDetailsPost(body?: PartAFormTrustAccountDetailsRequest, options?: any): AxiosPromise {\n return PartAFormApiFp(configuration).apiV2PartAFormSaveTrustAccountDetailsPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal | Submit Part A Form\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartAFormSubmitFormPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return PartAFormApiFp(configuration).apiV2PartAFormSubmitFormPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * PartAFormApi - object-oriented interface\n * @export\n * @class PartAFormApi\n * @extends {BaseAPI}\n */\nexport class PartAFormApi extends BaseAPI {\n /**\n * \n * @summary TA All | Save PartA Resubmission Request\n * @param {PartAResubmissionRequestRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartAFormApi\n */\n public apiV2PartAFormAdminSavePartAResubmissionRequestPost(body?: PartAResubmissionRequestRequest, options?: any) {\n return PartAFormApiFp(this.configuration).apiV2PartAFormAdminSavePartAResubmissionRequestPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns true when a form is successfully closed\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartAFormApi\n */\n public apiV2PartAFormClosePost(body?: ComplianceFormRequest, options?: any) {\n return PartAFormApiFp(this.configuration).apiV2PartAFormClosePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Extend the current Form Status\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartAFormApi\n */\n public apiV2PartAFormExtendFormStatusPost(body?: ComplianceFormRequest, options?: any) {\n return PartAFormApiFp(this.configuration).apiV2PartAFormExtendFormStatusPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form - Overview\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartAFormApi\n */\n public apiV2PartAFormGetDeclarationPost(body?: ComplianceFormRequest, options?: any) {\n return PartAFormApiFp(this.configuration).apiV2PartAFormGetDeclarationPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartAFormApi\n */\n public apiV2PartAFormGetFormStatusComplianceFormIdGet(complianceFormId: number, options?: any) {\n return PartAFormApiFp(this.configuration).apiV2PartAFormGetFormStatusComplianceFormIdGet(complianceFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form - Overview\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartAFormApi\n */\n public apiV2PartAFormGetOverviewPost(body?: ComplianceFormRequest, options?: any) {\n return PartAFormApiFp(this.configuration).apiV2PartAFormGetOverviewPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form - Practice Areas\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartAFormApi\n */\n public apiV2PartAFormGetPracticeAreasPost(body?: ComplianceFormRequest, options?: any) {\n return PartAFormApiFp(this.configuration).apiV2PartAFormGetPracticeAreasPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form - Trust Account Details\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartAFormApi\n */\n public apiV2PartAFormGetTrustAccountDetailsPost(body?: ComplianceFormRequest, options?: any) {\n return PartAFormApiFp(this.configuration).apiV2PartAFormGetTrustAccountDetailsPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Kick out the current opened Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartAFormApi\n */\n public apiV2PartAFormKickOutFormStatusComplianceFormIdGet(complianceFormId: number, options?: any) {\n return PartAFormApiFp(this.configuration).apiV2PartAFormKickOutFormStatusComplianceFormIdGet(complianceFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part A Form - Practice Areas Responses\n * @param {PartAFormPracticeAreasRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartAFormApi\n */\n public apiV2PartAFormSavePracticeAreasPost(body?: PartAFormPracticeAreasRequest, options?: any) {\n return PartAFormApiFp(this.configuration).apiV2PartAFormSavePracticeAreasPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part A Form - Trust Account Details Responses\n * @param {PartAFormTrustAccountDetailsRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartAFormApi\n */\n public apiV2PartAFormSaveTrustAccountDetailsPost(body?: PartAFormTrustAccountDetailsRequest, options?: any) {\n return PartAFormApiFp(this.configuration).apiV2PartAFormSaveTrustAccountDetailsPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal | Submit Part A Form\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartAFormApi\n */\n public apiV2PartAFormSubmitFormPost(body?: ComplianceFormRequest, options?: any) {\n return PartAFormApiFp(this.configuration).apiV2PartAFormSubmitFormPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\nimport { ComplianceFormRequest } from '../models';\nimport { FormPracticeAccountQuestionResponse } from '../models';\nimport { FormStatusResponse } from '../models';\nimport { PartBFormControlledMoneyRequest } from '../models';\nimport { PartBFormControlledMoneyResponse } from '../models';\nimport { PartBFormDeclarationRequest } from '../models';\nimport { PartBFormDeclarationResponse } from '../models';\nimport { PartBFormGeneralTrustMoneyRequest } from '../models';\nimport { PartBFormGeneralTrustMoneyResponse } from '../models';\nimport { PartBFormInvestmentMoneyRequest } from '../models';\nimport { PartBFormInvestmentMoneyResponse } from '../models';\nimport { PartBFormOtherInformationRequest } from '../models';\nimport { PartBFormOtherInformationResponse } from '../models';\nimport { PartBFormOverviewResponse } from '../models';\nimport { PartBFormPracticeAccountRequest } from '../models';\nimport { PartBFormSpecificPowerMoneyRequest } from '../models';\nimport { PartBFormSpecificPowerMoneyResponse } from '../models';\nimport { PartBFormSubmitRequest } from '../models';\nimport { PartBFormTrustAccountingRecordsResponse } from '../models';\nimport { PartBResubmissionRequestRequest } from '../models';\n/**\n * PartBFormApi - axios parameter creator\n * @export\n */\nexport const PartBFormApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form Practice Account Questions\n * @param {PartBFormPracticeAccountRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormAddFormPracticeAccountPost: async (body?: PartBFormPracticeAccountRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartBForm/AddFormPracticeAccount`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Save PartB Resubmission Request\n * @param {PartBResubmissionRequestRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormAdminSavePartBResubmissionRequestPost: async (body?: PartBResubmissionRequestRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartBForm/Admin/SavePartBResubmissionRequest`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns true when a form is successfully closed\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormClosePost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartBForm/Close`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Extend the current Form Status\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormExtendFormStatusPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartBForm/ExtendFormStatus`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - Get Controlled Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormGetControlledMoneyPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartBForm/GetControlledMoney`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form - Overview\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormGetDeclarationPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartBForm/GetDeclaration`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormGetFormStatusComplianceFormIdGet: async (complianceFormId: number, options: any = {}): Promise => {\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV2PartBFormGetFormStatusComplianceFormIdGet.');\n }\n const localVarPath = `/api/v2/PartBForm/GetFormStatus/{complianceFormId}`\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - General Trust Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormGetGeneralTrustMoneyPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartBForm/GetGeneralTrustMoney`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - Get Investment Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormGetInvestmentMoneyPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartBForm/GetInvestmentMoney`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - Get Other Information\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormGetOtherInformationPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartBForm/GetOtherInformation`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - Overview\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormGetOverviewPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartBForm/GetOverview`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - Get Specific PowerMoney\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormGetSpecificPowerMoneyPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartBForm/GetSpecificPowerMoney`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - TrustAccountingRecords\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormGetTrustAccountingRecordsPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartBForm/GetTrustAccountingRecords`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Kick out the current Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormKickOutFormStatusComplianceFormIdGet: async (complianceFormId: number, options: any = {}): Promise => {\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV2PartBFormKickOutFormStatusComplianceFormIdGet.');\n }\n const localVarPath = `/api/v2/PartBForm/KickOutFormStatus/{complianceFormId}`\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - Controlled Money Responses\n * @param {PartBFormControlledMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormSaveControlledMoneyPost: async (body?: PartBFormControlledMoneyRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartBForm/SaveControlledMoney`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal | Save Part B Form Declaration\n * @param {PartBFormDeclarationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormSaveDeclarationPost: async (body?: PartBFormDeclarationRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartBForm/SaveDeclaration`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form Practice Account Questions\n * @param {PartBFormPracticeAccountRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormSaveFormPracticeAccountPost: async (body?: PartBFormPracticeAccountRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartBForm/SaveFormPracticeAccount`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - General Trust Money Responses\n * @param {PartBFormGeneralTrustMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormSaveGeneralTrustMoneyPost: async (body?: PartBFormGeneralTrustMoneyRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartBForm/SaveGeneralTrustMoney`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - Investment Money Responses\n * @param {PartBFormInvestmentMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormSaveInvestmentMoneyPost: async (body?: PartBFormInvestmentMoneyRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartBForm/SaveInvestmentMoney`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - Specific Other Information Responses\n * @param {PartBFormOtherInformationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormSaveOtherInformationPost: async (body?: PartBFormOtherInformationRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartBForm/SaveOtherInformation`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - Specific Power Money Responses\n * @param {PartBFormSpecificPowerMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormSaveSpecificPowerMoneyPost: async (body?: PartBFormSpecificPowerMoneyRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartBForm/SaveSpecificPowerMoney`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - Trust Accounting Records Responses\n * @param {PartBFormControlledMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormSaveTrustAccountingRecordsPost: async (body?: PartBFormControlledMoneyRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartBForm/SaveTrustAccountingRecords`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal | Submit Part B Form\n * @param {PartBFormSubmitRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormSubmitFormPost: async (body?: PartBFormSubmitRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartBForm/SubmitForm`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Update Part B Form Practice Account\n * @param {PartBFormPracticeAccountRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormUpdateFormPracticeAccountPost: async (body?: PartBFormPracticeAccountRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/PartBForm/UpdateFormPracticeAccount`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * PartBFormApi - functional programming interface\n * @export\n */\nexport const PartBFormApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form Practice Account Questions\n * @param {PartBFormPracticeAccountRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormAddFormPracticeAccountPost(body?: PartBFormPracticeAccountRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormAddFormPracticeAccountPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Save PartB Resubmission Request\n * @param {PartBResubmissionRequestRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormAdminSavePartBResubmissionRequestPost(body?: PartBResubmissionRequestRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormAdminSavePartBResubmissionRequestPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns true when a form is successfully closed\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormClosePost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormClosePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Extend the current Form Status\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormExtendFormStatusPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormExtendFormStatusPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - Get Controlled Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormGetControlledMoneyPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormGetControlledMoneyPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form - Overview\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormGetDeclarationPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormGetDeclarationPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormGetFormStatusComplianceFormIdGet(complianceFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormGetFormStatusComplianceFormIdGet(complianceFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - General Trust Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormGetGeneralTrustMoneyPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormGetGeneralTrustMoneyPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - Get Investment Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormGetInvestmentMoneyPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormGetInvestmentMoneyPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - Get Other Information\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormGetOtherInformationPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormGetOtherInformationPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - Overview\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormGetOverviewPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormGetOverviewPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - Get Specific PowerMoney\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormGetSpecificPowerMoneyPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormGetSpecificPowerMoneyPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - TrustAccountingRecords\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormGetTrustAccountingRecordsPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormGetTrustAccountingRecordsPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Kick out the current Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormKickOutFormStatusComplianceFormIdGet(complianceFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormKickOutFormStatusComplianceFormIdGet(complianceFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - Controlled Money Responses\n * @param {PartBFormControlledMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormSaveControlledMoneyPost(body?: PartBFormControlledMoneyRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormSaveControlledMoneyPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal | Save Part B Form Declaration\n * @param {PartBFormDeclarationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormSaveDeclarationPost(body?: PartBFormDeclarationRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormSaveDeclarationPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form Practice Account Questions\n * @param {PartBFormPracticeAccountRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormSaveFormPracticeAccountPost(body?: PartBFormPracticeAccountRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormSaveFormPracticeAccountPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - General Trust Money Responses\n * @param {PartBFormGeneralTrustMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormSaveGeneralTrustMoneyPost(body?: PartBFormGeneralTrustMoneyRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormSaveGeneralTrustMoneyPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - Investment Money Responses\n * @param {PartBFormInvestmentMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormSaveInvestmentMoneyPost(body?: PartBFormInvestmentMoneyRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormSaveInvestmentMoneyPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - Specific Other Information Responses\n * @param {PartBFormOtherInformationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormSaveOtherInformationPost(body?: PartBFormOtherInformationRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormSaveOtherInformationPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - Specific Power Money Responses\n * @param {PartBFormSpecificPowerMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormSaveSpecificPowerMoneyPost(body?: PartBFormSpecificPowerMoneyRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormSaveSpecificPowerMoneyPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - Trust Accounting Records Responses\n * @param {PartBFormControlledMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormSaveTrustAccountingRecordsPost(body?: PartBFormControlledMoneyRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormSaveTrustAccountingRecordsPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal | Submit Part B Form\n * @param {PartBFormSubmitRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormSubmitFormPost(body?: PartBFormSubmitRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormSubmitFormPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Update Part B Form Practice Account\n * @param {PartBFormPracticeAccountRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PartBFormUpdateFormPracticeAccountPost(body?: PartBFormPracticeAccountRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PartBFormApiAxiosParamCreator(configuration).apiV2PartBFormUpdateFormPracticeAccountPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * PartBFormApi - factory interface\n * @export\n */\nexport const PartBFormApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form Practice Account Questions\n * @param {PartBFormPracticeAccountRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormAddFormPracticeAccountPost(body?: PartBFormPracticeAccountRequest, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormAddFormPracticeAccountPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Save PartB Resubmission Request\n * @param {PartBResubmissionRequestRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormAdminSavePartBResubmissionRequestPost(body?: PartBResubmissionRequestRequest, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormAdminSavePartBResubmissionRequestPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns true when a form is successfully closed\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormClosePost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormClosePost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Extend the current Form Status\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormExtendFormStatusPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormExtendFormStatusPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - Get Controlled Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormGetControlledMoneyPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormGetControlledMoneyPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form - Overview\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormGetDeclarationPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormGetDeclarationPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormGetFormStatusComplianceFormIdGet(complianceFormId: number, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormGetFormStatusComplianceFormIdGet(complianceFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - General Trust Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormGetGeneralTrustMoneyPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormGetGeneralTrustMoneyPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - Get Investment Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormGetInvestmentMoneyPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormGetInvestmentMoneyPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - Get Other Information\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormGetOtherInformationPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormGetOtherInformationPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - Overview\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormGetOverviewPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormGetOverviewPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - Get Specific PowerMoney\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormGetSpecificPowerMoneyPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormGetSpecificPowerMoneyPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - TrustAccountingRecords\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormGetTrustAccountingRecordsPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormGetTrustAccountingRecordsPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Kick out the current Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormKickOutFormStatusComplianceFormIdGet(complianceFormId: number, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormKickOutFormStatusComplianceFormIdGet(complianceFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - Controlled Money Responses\n * @param {PartBFormControlledMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormSaveControlledMoneyPost(body?: PartBFormControlledMoneyRequest, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormSaveControlledMoneyPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal | Save Part B Form Declaration\n * @param {PartBFormDeclarationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormSaveDeclarationPost(body?: PartBFormDeclarationRequest, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormSaveDeclarationPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form Practice Account Questions\n * @param {PartBFormPracticeAccountRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormSaveFormPracticeAccountPost(body?: PartBFormPracticeAccountRequest, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormSaveFormPracticeAccountPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - General Trust Money Responses\n * @param {PartBFormGeneralTrustMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormSaveGeneralTrustMoneyPost(body?: PartBFormGeneralTrustMoneyRequest, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormSaveGeneralTrustMoneyPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - Investment Money Responses\n * @param {PartBFormInvestmentMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormSaveInvestmentMoneyPost(body?: PartBFormInvestmentMoneyRequest, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormSaveInvestmentMoneyPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - Specific Other Information Responses\n * @param {PartBFormOtherInformationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormSaveOtherInformationPost(body?: PartBFormOtherInformationRequest, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormSaveOtherInformationPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - Specific Power Money Responses\n * @param {PartBFormSpecificPowerMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormSaveSpecificPowerMoneyPost(body?: PartBFormSpecificPowerMoneyRequest, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormSaveSpecificPowerMoneyPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - Trust Accounting Records Responses\n * @param {PartBFormControlledMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormSaveTrustAccountingRecordsPost(body?: PartBFormControlledMoneyRequest, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormSaveTrustAccountingRecordsPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal | Submit Part B Form\n * @param {PartBFormSubmitRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormSubmitFormPost(body?: PartBFormSubmitRequest, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormSubmitFormPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Update Part B Form Practice Account\n * @param {PartBFormPracticeAccountRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PartBFormUpdateFormPracticeAccountPost(body?: PartBFormPracticeAccountRequest, options?: any): AxiosPromise {\n return PartBFormApiFp(configuration).apiV2PartBFormUpdateFormPracticeAccountPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * PartBFormApi - object-oriented interface\n * @export\n * @class PartBFormApi\n * @extends {BaseAPI}\n */\nexport class PartBFormApi extends BaseAPI {\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form Practice Account Questions\n * @param {PartBFormPracticeAccountRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormAddFormPracticeAccountPost(body?: PartBFormPracticeAccountRequest, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormAddFormPracticeAccountPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Save PartB Resubmission Request\n * @param {PartBResubmissionRequestRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormAdminSavePartBResubmissionRequestPost(body?: PartBResubmissionRequestRequest, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormAdminSavePartBResubmissionRequestPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns true when a form is successfully closed\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormClosePost(body?: ComplianceFormRequest, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormClosePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Extend the current Form Status\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormExtendFormStatusPost(body?: ComplianceFormRequest, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormExtendFormStatusPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - Get Controlled Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormGetControlledMoneyPost(body?: ComplianceFormRequest, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormGetControlledMoneyPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part A Form - Overview\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormGetDeclarationPost(body?: ComplianceFormRequest, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormGetDeclarationPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormGetFormStatusComplianceFormIdGet(complianceFormId: number, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormGetFormStatusComplianceFormIdGet(complianceFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - General Trust Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormGetGeneralTrustMoneyPost(body?: ComplianceFormRequest, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormGetGeneralTrustMoneyPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - Get Investment Money\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormGetInvestmentMoneyPost(body?: ComplianceFormRequest, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormGetInvestmentMoneyPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - Get Other Information\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormGetOtherInformationPost(body?: ComplianceFormRequest, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormGetOtherInformationPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - Overview\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormGetOverviewPost(body?: ComplianceFormRequest, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormGetOverviewPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - Get Specific PowerMoney\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormGetSpecificPowerMoneyPost(body?: ComplianceFormRequest, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormGetSpecificPowerMoneyPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Returns Part B Form - TrustAccountingRecords\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormGetTrustAccountingRecordsPost(body?: ComplianceFormRequest, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormGetTrustAccountingRecordsPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Kick out the current Form Status\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormKickOutFormStatusComplianceFormIdGet(complianceFormId: number, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormKickOutFormStatusComplianceFormIdGet(complianceFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - Controlled Money Responses\n * @param {PartBFormControlledMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormSaveControlledMoneyPost(body?: PartBFormControlledMoneyRequest, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormSaveControlledMoneyPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal | Save Part B Form Declaration\n * @param {PartBFormDeclarationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormSaveDeclarationPost(body?: PartBFormDeclarationRequest, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormSaveDeclarationPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form Practice Account Questions\n * @param {PartBFormPracticeAccountRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormSaveFormPracticeAccountPost(body?: PartBFormPracticeAccountRequest, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormSaveFormPracticeAccountPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - General Trust Money Responses\n * @param {PartBFormGeneralTrustMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormSaveGeneralTrustMoneyPost(body?: PartBFormGeneralTrustMoneyRequest, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormSaveGeneralTrustMoneyPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - Investment Money Responses\n * @param {PartBFormInvestmentMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormSaveInvestmentMoneyPost(body?: PartBFormInvestmentMoneyRequest, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormSaveInvestmentMoneyPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - Specific Other Information Responses\n * @param {PartBFormOtherInformationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormSaveOtherInformationPost(body?: PartBFormOtherInformationRequest, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormSaveOtherInformationPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - Specific Power Money Responses\n * @param {PartBFormSpecificPowerMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormSaveSpecificPowerMoneyPost(body?: PartBFormSpecificPowerMoneyRequest, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormSaveSpecificPowerMoneyPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Save Part B Form - Trust Accounting Records Responses\n * @param {PartBFormControlledMoneyRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormSaveTrustAccountingRecordsPost(body?: PartBFormControlledMoneyRequest, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormSaveTrustAccountingRecordsPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal | Submit Part B Form\n * @param {PartBFormSubmitRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormSubmitFormPost(body?: PartBFormSubmitRequest, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormSubmitFormPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal / Trust Coordinator / Trust Contact | Update Part B Form Practice Account\n * @param {PartBFormPracticeAccountRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PartBFormApi\n */\n public apiV2PartBFormUpdateFormPracticeAccountPost(body?: PartBFormPracticeAccountRequest, options?: any) {\n return PartBFormApiFp(this.configuration).apiV2PartBFormUpdateFormPracticeAccountPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { AuditTrailViewIEnumerableResponse } from '../models';\nimport { BooleanResponse } from '../models';\nimport { IlpDirectorRequest } from '../models';\nimport { IlpDirectorViewIEnumerableResponse } from '../models';\nimport { IlpDirectorViewResponse } from '../models';\nimport { IndividualFirmViewIEnumerableResponse } from '../models';\nimport { LawIdUserLsApiViewIEnumerableResponse } from '../models';\nimport { PeopleStatsViewResponse } from '../models';\nimport { SearchLawIdUsersRequest } from '../models';\nimport { SignatoryFilterRequest } from '../models';\nimport { SignatoryRequest } from '../models';\nimport { SignatoryViewIEnumerableResponse } from '../models';\nimport { SignatoryViewResponse } from '../models';\n/**\n * PeopleApi - axios parameter creator\n * @export\n */\nexport const PeopleApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA Admin | Returns ILP Directors By FirmId\n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetILPDirectorsByPracticeIdPracticeIdGet: async (practiceId: number, keyword?: string, showActiveOnly?: boolean, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2PeopleGetILPDirectorsByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v2/People/GetILPDirectorsByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n if (keyword !== undefined) {\n localVarQueryParameter['keyword'] = keyword;\n }\n\n if (showActiveOnly !== undefined) {\n localVarQueryParameter['showActiveOnly'] = showActiveOnly;\n }\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA Admin | Returns ILP Director\n * @param {number} ilpDirectorId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetIlpDirectorByIdIlpDirectorIdGet: async (ilpDirectorId: number, options: any = {}): Promise => {\n // verify required parameter 'ilpDirectorId' is not null or undefined\n if (ilpDirectorId === null || ilpDirectorId === undefined) {\n throw new RequiredError('ilpDirectorId','Required parameter ilpDirectorId was null or undefined when calling apiV2PeopleGetIlpDirectorByIdIlpDirectorIdGet.');\n }\n const localVarPath = `/api/v2/People/GetIlpDirectorById/{ilpDirectorId}`\n .replace(`{${\"ilpDirectorId\"}}`, encodeURIComponent(String(ilpDirectorId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary All | Returns Individuals By PracticeId\n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetIndividualsByPracticeIdPracticeIdGet: async (practiceId: number, keyword?: string, showActiveOnly?: boolean, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2PeopleGetIndividualsByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v2/People/GetIndividualsByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n if (keyword !== undefined) {\n localVarQueryParameter['keyword'] = keyword;\n }\n\n if (showActiveOnly !== undefined) {\n localVarQueryParameter['showActiveOnly'] = showActiveOnly;\n }\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary All | Returns People Stats By PracticeId\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetPeopleStatsByPracticeIdPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2PeopleGetPeopleStatsByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v2/People/GetPeopleStatsByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary All | Returns Search LawId Users\n * @param {SearchLawIdUsersRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetSearchLawIdUsersPost: async (body?: SearchLawIdUsersRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/People/GetSearchLawIdUsers`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Signatories\n * @param {SignatoryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetSignatoriesPost: async (body?: SignatoryFilterRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/People/GetSignatories`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Signatory Audit Trails\n * @param {number} signatoryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetSignatoryAuditTrailsSignatoryIdGet: async (signatoryId: number, options: any = {}): Promise => {\n // verify required parameter 'signatoryId' is not null or undefined\n if (signatoryId === null || signatoryId === undefined) {\n throw new RequiredError('signatoryId','Required parameter signatoryId was null or undefined when calling apiV2PeopleGetSignatoryAuditTrailsSignatoryIdGet.');\n }\n const localVarPath = `/api/v2/People/GetSignatoryAuditTrails/{signatoryId}`\n .replace(`{${\"signatoryId\"}}`, encodeURIComponent(String(signatoryId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Signatory\n * @param {number} signatoryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetSignatoryByIdSignatoryIdGet: async (signatoryId: number, options: any = {}): Promise => {\n // verify required parameter 'signatoryId' is not null or undefined\n if (signatoryId === null || signatoryId === undefined) {\n throw new RequiredError('signatoryId','Required parameter signatoryId was null or undefined when calling apiV2PeopleGetSignatoryByIdSignatoryIdGet.');\n }\n const localVarPath = `/api/v2/People/GetSignatoryById/{signatoryId}`\n .replace(`{${\"signatoryId\"}}`, encodeURIComponent(String(signatoryId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Save ILP Director\n * @param {IlpDirectorRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleSaveIlpDirectorPost: async (body?: IlpDirectorRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/People/SaveIlpDirector`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Save Signatory\n * @param {SignatoryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleSaveSignatoryPost: async (body?: SignatoryRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/People/SaveSignatory`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * PeopleApi - functional programming interface\n * @export\n */\nexport const PeopleApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA Admin | Returns ILP Directors By FirmId\n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PeopleGetILPDirectorsByPracticeIdPracticeIdGet(practiceId: number, keyword?: string, showActiveOnly?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV2PeopleGetILPDirectorsByPracticeIdPracticeIdGet(practiceId, keyword, showActiveOnly, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA Admin | Returns ILP Director\n * @param {number} ilpDirectorId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PeopleGetIlpDirectorByIdIlpDirectorIdGet(ilpDirectorId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV2PeopleGetIlpDirectorByIdIlpDirectorIdGet(ilpDirectorId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary All | Returns Individuals By PracticeId\n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PeopleGetIndividualsByPracticeIdPracticeIdGet(practiceId: number, keyword?: string, showActiveOnly?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV2PeopleGetIndividualsByPracticeIdPracticeIdGet(practiceId, keyword, showActiveOnly, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary All | Returns People Stats By PracticeId\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PeopleGetPeopleStatsByPracticeIdPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV2PeopleGetPeopleStatsByPracticeIdPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary All | Returns Search LawId Users\n * @param {SearchLawIdUsersRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PeopleGetSearchLawIdUsersPost(body?: SearchLawIdUsersRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV2PeopleGetSearchLawIdUsersPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Signatories\n * @param {SignatoryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PeopleGetSignatoriesPost(body?: SignatoryFilterRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV2PeopleGetSignatoriesPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Signatory Audit Trails\n * @param {number} signatoryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PeopleGetSignatoryAuditTrailsSignatoryIdGet(signatoryId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV2PeopleGetSignatoryAuditTrailsSignatoryIdGet(signatoryId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Signatory\n * @param {number} signatoryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PeopleGetSignatoryByIdSignatoryIdGet(signatoryId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV2PeopleGetSignatoryByIdSignatoryIdGet(signatoryId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Save ILP Director\n * @param {IlpDirectorRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PeopleSaveIlpDirectorPost(body?: IlpDirectorRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV2PeopleSaveIlpDirectorPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Save Signatory\n * @param {SignatoryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PeopleSaveSignatoryPost(body?: SignatoryRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV2PeopleSaveSignatoryPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * PeopleApi - factory interface\n * @export\n */\nexport const PeopleApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary TA Admin | Returns ILP Directors By FirmId\n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetILPDirectorsByPracticeIdPracticeIdGet(practiceId: number, keyword?: string, showActiveOnly?: boolean, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV2PeopleGetILPDirectorsByPracticeIdPracticeIdGet(practiceId, keyword, showActiveOnly, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA Admin | Returns ILP Director\n * @param {number} ilpDirectorId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetIlpDirectorByIdIlpDirectorIdGet(ilpDirectorId: number, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV2PeopleGetIlpDirectorByIdIlpDirectorIdGet(ilpDirectorId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary All | Returns Individuals By PracticeId\n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetIndividualsByPracticeIdPracticeIdGet(practiceId: number, keyword?: string, showActiveOnly?: boolean, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV2PeopleGetIndividualsByPracticeIdPracticeIdGet(practiceId, keyword, showActiveOnly, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary All | Returns People Stats By PracticeId\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetPeopleStatsByPracticeIdPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV2PeopleGetPeopleStatsByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary All | Returns Search LawId Users\n * @param {SearchLawIdUsersRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetSearchLawIdUsersPost(body?: SearchLawIdUsersRequest, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV2PeopleGetSearchLawIdUsersPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Signatories\n * @param {SignatoryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetSignatoriesPost(body?: SignatoryFilterRequest, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV2PeopleGetSignatoriesPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Signatory Audit Trails\n * @param {number} signatoryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetSignatoryAuditTrailsSignatoryIdGet(signatoryId: number, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV2PeopleGetSignatoryAuditTrailsSignatoryIdGet(signatoryId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Signatory\n * @param {number} signatoryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetSignatoryByIdSignatoryIdGet(signatoryId: number, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV2PeopleGetSignatoryByIdSignatoryIdGet(signatoryId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Save ILP Director\n * @param {IlpDirectorRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleSaveIlpDirectorPost(body?: IlpDirectorRequest, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV2PeopleSaveIlpDirectorPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Save Signatory\n * @param {SignatoryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleSaveSignatoryPost(body?: SignatoryRequest, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV2PeopleSaveSignatoryPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * PeopleApi - object-oriented interface\n * @export\n * @class PeopleApi\n * @extends {BaseAPI}\n */\nexport class PeopleApi extends BaseAPI {\n /**\n * \n * @summary TA Admin | Returns ILP Directors By FirmId\n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV2PeopleGetILPDirectorsByPracticeIdPracticeIdGet(practiceId: number, keyword?: string, showActiveOnly?: boolean, options?: any) {\n return PeopleApiFp(this.configuration).apiV2PeopleGetILPDirectorsByPracticeIdPracticeIdGet(practiceId, keyword, showActiveOnly, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA Admin | Returns ILP Director\n * @param {number} ilpDirectorId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV2PeopleGetIlpDirectorByIdIlpDirectorIdGet(ilpDirectorId: number, options?: any) {\n return PeopleApiFp(this.configuration).apiV2PeopleGetIlpDirectorByIdIlpDirectorIdGet(ilpDirectorId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary All | Returns Individuals By PracticeId\n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV2PeopleGetIndividualsByPracticeIdPracticeIdGet(practiceId: number, keyword?: string, showActiveOnly?: boolean, options?: any) {\n return PeopleApiFp(this.configuration).apiV2PeopleGetIndividualsByPracticeIdPracticeIdGet(practiceId, keyword, showActiveOnly, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary All | Returns People Stats By PracticeId\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV2PeopleGetPeopleStatsByPracticeIdPracticeIdGet(practiceId: number, options?: any) {\n return PeopleApiFp(this.configuration).apiV2PeopleGetPeopleStatsByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary All | Returns Search LawId Users\n * @param {SearchLawIdUsersRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV2PeopleGetSearchLawIdUsersPost(body?: SearchLawIdUsersRequest, options?: any) {\n return PeopleApiFp(this.configuration).apiV2PeopleGetSearchLawIdUsersPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Signatories\n * @param {SignatoryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV2PeopleGetSignatoriesPost(body?: SignatoryFilterRequest, options?: any) {\n return PeopleApiFp(this.configuration).apiV2PeopleGetSignatoriesPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Signatory Audit Trails\n * @param {number} signatoryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV2PeopleGetSignatoryAuditTrailsSignatoryIdGet(signatoryId: number, options?: any) {\n return PeopleApiFp(this.configuration).apiV2PeopleGetSignatoryAuditTrailsSignatoryIdGet(signatoryId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Signatory\n * @param {number} signatoryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV2PeopleGetSignatoryByIdSignatoryIdGet(signatoryId: number, options?: any) {\n return PeopleApiFp(this.configuration).apiV2PeopleGetSignatoryByIdSignatoryIdGet(signatoryId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Save ILP Director\n * @param {IlpDirectorRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV2PeopleSaveIlpDirectorPost(body?: IlpDirectorRequest, options?: any) {\n return PeopleApiFp(this.configuration).apiV2PeopleSaveIlpDirectorPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Save Signatory\n * @param {SignatoryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV2PeopleSaveSignatoryPost(body?: SignatoryRequest, options?: any) {\n return PeopleApiFp(this.configuration).apiV2PeopleSaveSignatoryPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { AppointTrustCoordinatorRequest } from '../models';\nimport { BooleanResponse } from '../models';\nimport { IndividualPracticeForSyncIEnumerableResponse } from '../models';\nimport { IndividualSummaryForTAIEnumerableResponse } from '../models';\nimport { NumberOfPracticeWithoutTrustCoordinatorResponse } from '../models';\nimport { NumberOfUnapprovedFormResponse } from '../models';\n/**\n * PeopleAtcsApi - axios parameter creator\n * @export\n */\nexport const PeopleAtcsApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary TaAdmin | Save Trust Coordinator\n * @param {AppointTrustCoordinatorRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPeopleAdminAppointTrustCoordinatorPost: async (body?: AppointTrustCoordinatorRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Atcs/People/Admin/AppointTrustCoordinator`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Dashboard Number Of Practice Without Trust Coordinator\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPeopleAdminDashboardGetNumberOfPracticeWithoutTrustCoordinatorGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Atcs/People/Admin/Dashboard/GetNumberOfPracticeWithoutTrustCoordinator`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Dashboard Number Of Unapproved Forms\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPeopleAdminDashboardGetNumberOfUnapprovedFormsGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Atcs/People/Admin/Dashboard/GetNumberOfUnapprovedForms`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Returns Trust Contacts\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPeopleAdminGetTrustContactsPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2AtcsPeopleAdminGetTrustContactsPracticeIdGet.');\n }\n const localVarPath = `/api/v2/Atcs/People/Admin/GetTrustContacts/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Returns Trust Coordinators\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPeopleAdminGetTrustCoordinatorsPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2AtcsPeopleAdminGetTrustCoordinatorsPracticeIdGet.');\n }\n const localVarPath = `/api/v2/Atcs/People/Admin/GetTrustCoordinators/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAdmin | Terminate Trust Contact\n * @param {number} individualPracticeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPeopleAdminTerminateTrustContactIndividualPracticeIdPut: async (individualPracticeId: number, options: any = {}): Promise => {\n // verify required parameter 'individualPracticeId' is not null or undefined\n if (individualPracticeId === null || individualPracticeId === undefined) {\n throw new RequiredError('individualPracticeId','Required parameter individualPracticeId was null or undefined when calling apiV2AtcsPeopleAdminTerminateTrustContactIndividualPracticeIdPut.');\n }\n const localVarPath = `/api/v2/Atcs/People/Admin/TerminateTrustContact/{individualPracticeId}`\n .replace(`{${\"individualPracticeId\"}}`, encodeURIComponent(String(individualPracticeId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns Trust Contacts\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPeopleGetTrustContactsForTIPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2AtcsPeopleGetTrustContactsForTIPracticeIdGet.');\n }\n const localVarPath = `/api/v2/Atcs/People/GetTrustContactsForTI/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns Trust Coordinators\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPeopleGetTrustCoordinatorsForTIPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2AtcsPeopleGetTrustCoordinatorsForTIPracticeIdGet.');\n }\n const localVarPath = `/api/v2/Atcs/People/GetTrustCoordinatorsForTI/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * PeopleAtcsApi - functional programming interface\n * @export\n */\nexport const PeopleAtcsApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary TaAdmin | Save Trust Coordinator\n * @param {AppointTrustCoordinatorRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AtcsPeopleAdminAppointTrustCoordinatorPost(body?: AppointTrustCoordinatorRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleAtcsApiAxiosParamCreator(configuration).apiV2AtcsPeopleAdminAppointTrustCoordinatorPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Dashboard Number Of Practice Without Trust Coordinator\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AtcsPeopleAdminDashboardGetNumberOfPracticeWithoutTrustCoordinatorGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleAtcsApiAxiosParamCreator(configuration).apiV2AtcsPeopleAdminDashboardGetNumberOfPracticeWithoutTrustCoordinatorGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Dashboard Number Of Unapproved Forms\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AtcsPeopleAdminDashboardGetNumberOfUnapprovedFormsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleAtcsApiAxiosParamCreator(configuration).apiV2AtcsPeopleAdminDashboardGetNumberOfUnapprovedFormsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Returns Trust Contacts\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AtcsPeopleAdminGetTrustContactsPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleAtcsApiAxiosParamCreator(configuration).apiV2AtcsPeopleAdminGetTrustContactsPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Returns Trust Coordinators\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AtcsPeopleAdminGetTrustCoordinatorsPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleAtcsApiAxiosParamCreator(configuration).apiV2AtcsPeopleAdminGetTrustCoordinatorsPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAdmin | Terminate Trust Contact\n * @param {number} individualPracticeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AtcsPeopleAdminTerminateTrustContactIndividualPracticeIdPut(individualPracticeId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleAtcsApiAxiosParamCreator(configuration).apiV2AtcsPeopleAdminTerminateTrustContactIndividualPracticeIdPut(individualPracticeId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns Trust Contacts\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AtcsPeopleGetTrustContactsForTIPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleAtcsApiAxiosParamCreator(configuration).apiV2AtcsPeopleGetTrustContactsForTIPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns Trust Coordinators\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AtcsPeopleGetTrustCoordinatorsForTIPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleAtcsApiAxiosParamCreator(configuration).apiV2AtcsPeopleGetTrustCoordinatorsForTIPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * PeopleAtcsApi - factory interface\n * @export\n */\nexport const PeopleAtcsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary TaAdmin | Save Trust Coordinator\n * @param {AppointTrustCoordinatorRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPeopleAdminAppointTrustCoordinatorPost(body?: AppointTrustCoordinatorRequest, options?: any): AxiosPromise {\n return PeopleAtcsApiFp(configuration).apiV2AtcsPeopleAdminAppointTrustCoordinatorPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Dashboard Number Of Practice Without Trust Coordinator\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPeopleAdminDashboardGetNumberOfPracticeWithoutTrustCoordinatorGet(options?: any): AxiosPromise {\n return PeopleAtcsApiFp(configuration).apiV2AtcsPeopleAdminDashboardGetNumberOfPracticeWithoutTrustCoordinatorGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Dashboard Number Of Unapproved Forms\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPeopleAdminDashboardGetNumberOfUnapprovedFormsGet(options?: any): AxiosPromise {\n return PeopleAtcsApiFp(configuration).apiV2AtcsPeopleAdminDashboardGetNumberOfUnapprovedFormsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Returns Trust Contacts\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPeopleAdminGetTrustContactsPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PeopleAtcsApiFp(configuration).apiV2AtcsPeopleAdminGetTrustContactsPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Returns Trust Coordinators\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPeopleAdminGetTrustCoordinatorsPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PeopleAtcsApiFp(configuration).apiV2AtcsPeopleAdminGetTrustCoordinatorsPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAdmin | Terminate Trust Contact\n * @param {number} individualPracticeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPeopleAdminTerminateTrustContactIndividualPracticeIdPut(individualPracticeId: number, options?: any): AxiosPromise {\n return PeopleAtcsApiFp(configuration).apiV2AtcsPeopleAdminTerminateTrustContactIndividualPracticeIdPut(individualPracticeId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TrustInvestigator | Returns Trust Contacts\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPeopleGetTrustContactsForTIPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PeopleAtcsApiFp(configuration).apiV2AtcsPeopleGetTrustContactsForTIPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TrustInvestigator | Returns Trust Coordinators\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPeopleGetTrustCoordinatorsForTIPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PeopleAtcsApiFp(configuration).apiV2AtcsPeopleGetTrustCoordinatorsForTIPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * PeopleAtcsApi - object-oriented interface\n * @export\n * @class PeopleAtcsApi\n * @extends {BaseAPI}\n */\nexport class PeopleAtcsApi extends BaseAPI {\n /**\n * \n * @summary TaAdmin | Save Trust Coordinator\n * @param {AppointTrustCoordinatorRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleAtcsApi\n */\n public apiV2AtcsPeopleAdminAppointTrustCoordinatorPost(body?: AppointTrustCoordinatorRequest, options?: any) {\n return PeopleAtcsApiFp(this.configuration).apiV2AtcsPeopleAdminAppointTrustCoordinatorPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Dashboard Number Of Practice Without Trust Coordinator\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleAtcsApi\n */\n public apiV2AtcsPeopleAdminDashboardGetNumberOfPracticeWithoutTrustCoordinatorGet(options?: any) {\n return PeopleAtcsApiFp(this.configuration).apiV2AtcsPeopleAdminDashboardGetNumberOfPracticeWithoutTrustCoordinatorGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Dashboard Number Of Unapproved Forms\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleAtcsApi\n */\n public apiV2AtcsPeopleAdminDashboardGetNumberOfUnapprovedFormsGet(options?: any) {\n return PeopleAtcsApiFp(this.configuration).apiV2AtcsPeopleAdminDashboardGetNumberOfUnapprovedFormsGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Returns Trust Contacts\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleAtcsApi\n */\n public apiV2AtcsPeopleAdminGetTrustContactsPracticeIdGet(practiceId: number, options?: any) {\n return PeopleAtcsApiFp(this.configuration).apiV2AtcsPeopleAdminGetTrustContactsPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Returns Trust Coordinators\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleAtcsApi\n */\n public apiV2AtcsPeopleAdminGetTrustCoordinatorsPracticeIdGet(practiceId: number, options?: any) {\n return PeopleAtcsApiFp(this.configuration).apiV2AtcsPeopleAdminGetTrustCoordinatorsPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAdmin | Terminate Trust Contact\n * @param {number} individualPracticeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleAtcsApi\n */\n public apiV2AtcsPeopleAdminTerminateTrustContactIndividualPracticeIdPut(individualPracticeId: number, options?: any) {\n return PeopleAtcsApiFp(this.configuration).apiV2AtcsPeopleAdminTerminateTrustContactIndividualPracticeIdPut(individualPracticeId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TrustInvestigator | Returns Trust Contacts\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleAtcsApi\n */\n public apiV2AtcsPeopleGetTrustContactsForTIPracticeIdGet(practiceId: number, options?: any) {\n return PeopleAtcsApiFp(this.configuration).apiV2AtcsPeopleGetTrustContactsForTIPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TrustInvestigator | Returns Trust Coordinators\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleAtcsApi\n */\n public apiV2AtcsPeopleGetTrustCoordinatorsForTIPracticeIdGet(practiceId: number, options?: any) {\n return PeopleAtcsApiFp(this.configuration).apiV2AtcsPeopleGetTrustCoordinatorsForTIPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { AssociatedEntitiesRequest } from '../models';\nimport { BooleanResponse } from '../models';\nimport { FirmSearchRequest } from '../models';\nimport { GeneralAccountingAppRequest } from '../models';\nimport { LawPracticeNotesRequest } from '../models';\nimport { LinkedPracticeRequest } from '../models';\nimport { LinkedPracticeViewResponse } from '../models';\nimport { MortgageInfoRequest } from '../models';\nimport { PracticeAccountDetailsRequest } from '../models';\nimport { PracticeAdditionalContactRequest } from '../models';\nimport { PracticeAdditionalContactResponse } from '../models';\nimport { PracticeAnalysisRequest } from '../models';\nimport { PracticeStatusRequest } from '../models';\nimport { PracticeViewResponse } from '../models';\nimport { SearchPracticeViewIEnumerableResponse } from '../models';\n/**\n * PracticeApi - axios parameter creator\n * @export\n */\nexport const PracticeApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary All | Delete Linked Practice\n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeDeleteLinkedPracticeIdDelete: async (id: number, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling apiV2PracticeDeleteLinkedPracticeIdDelete.');\n }\n const localVarPath = `/api/v2/Practice/DeleteLinkedPractice/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Edit Associated Entities\n * @param {AssociatedEntitiesRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeEditAssociatedEntitiesPost: async (body?: AssociatedEntitiesRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Practice/EditAssociatedEntities`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Edit General Accounting App\n * @param {GeneralAccountingAppRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeEditGeneralAccountingAppPost: async (body?: GeneralAccountingAppRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Practice/EditGeneralAccountingApp`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Edit Law Practice Notes\n * @param {LawPracticeNotesRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeEditLawPracticeNotesPost: async (body?: LawPracticeNotesRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Practice/EditLawPracticeNotes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Edit Mortgage Info\n * @param {MortgageInfoRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeEditMortgageInfoPost: async (body?: MortgageInfoRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Practice/EditMortgageInfo`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Edit Accounting Details\n * @param {PracticeAccountDetailsRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeEditPracticeAccountingDetailsPost: async (body?: PracticeAccountDetailsRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Practice/EditPracticeAccountingDetails`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Edit Practice Status\n * @param {PracticeStatusRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeEditPracticeStatusPost: async (body?: PracticeStatusRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Practice/EditPracticeStatus`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Return Linked Practices\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeGetLinkedPracticesPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2PracticeGetLinkedPracticesPracticeIdGet.');\n }\n const localVarPath = `/api/v2/Practice/GetLinkedPractices/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll| Return Practice Additional Contact\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeGetPracticeAdditionalContactPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2PracticeGetPracticeAdditionalContactPracticeIdGet.');\n }\n const localVarPath = `/api/v2/Practice/GetPracticeAdditionalContact/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary All | Returns Practice\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeGetPracticeByIdPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2PracticeGetPracticeByIdPracticeIdGet.');\n }\n const localVarPath = `/api/v2/Practice/GetPracticeById/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Save Linked Practice\n * @param {LinkedPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeSaveLinkedPracticePost: async (body?: LinkedPracticeRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Practice/SaveLinkedPractice`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Save Linked Practice\n * @param {PracticeAdditionalContactRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeSavePracticeAdditionalContactPost: async (body?: PracticeAdditionalContactRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Practice/SavePracticeAdditionalContact`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary All | Returns Practices\n * @param {FirmSearchRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeSearchPracticePost: async (body?: FirmSearchRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Practice/SearchPractice`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Edit Practice Analyses\n * @param {Array<PracticeAnalysisRequest>} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeUpdatePracticeAnalysesPost: async (body?: Array, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Practice/UpdatePracticeAnalyses`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * PracticeApi - functional programming interface\n * @export\n */\nexport const PracticeApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary All | Delete Linked Practice\n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PracticeDeleteLinkedPracticeIdDelete(id: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV2PracticeDeleteLinkedPracticeIdDelete(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Edit Associated Entities\n * @param {AssociatedEntitiesRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PracticeEditAssociatedEntitiesPost(body?: AssociatedEntitiesRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV2PracticeEditAssociatedEntitiesPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Edit General Accounting App\n * @param {GeneralAccountingAppRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PracticeEditGeneralAccountingAppPost(body?: GeneralAccountingAppRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV2PracticeEditGeneralAccountingAppPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Edit Law Practice Notes\n * @param {LawPracticeNotesRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PracticeEditLawPracticeNotesPost(body?: LawPracticeNotesRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV2PracticeEditLawPracticeNotesPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Edit Mortgage Info\n * @param {MortgageInfoRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PracticeEditMortgageInfoPost(body?: MortgageInfoRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV2PracticeEditMortgageInfoPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Edit Accounting Details\n * @param {PracticeAccountDetailsRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PracticeEditPracticeAccountingDetailsPost(body?: PracticeAccountDetailsRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV2PracticeEditPracticeAccountingDetailsPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Edit Practice Status\n * @param {PracticeStatusRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PracticeEditPracticeStatusPost(body?: PracticeStatusRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV2PracticeEditPracticeStatusPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Return Linked Practices\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PracticeGetLinkedPracticesPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV2PracticeGetLinkedPracticesPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll| Return Practice Additional Contact\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PracticeGetPracticeAdditionalContactPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV2PracticeGetPracticeAdditionalContactPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary All | Returns Practice\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PracticeGetPracticeByIdPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV2PracticeGetPracticeByIdPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Save Linked Practice\n * @param {LinkedPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PracticeSaveLinkedPracticePost(body?: LinkedPracticeRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV2PracticeSaveLinkedPracticePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Save Linked Practice\n * @param {PracticeAdditionalContactRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PracticeSavePracticeAdditionalContactPost(body?: PracticeAdditionalContactRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV2PracticeSavePracticeAdditionalContactPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary All | Returns Practices\n * @param {FirmSearchRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PracticeSearchPracticePost(body?: FirmSearchRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV2PracticeSearchPracticePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Edit Practice Analyses\n * @param {Array<PracticeAnalysisRequest>} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PracticeUpdatePracticeAnalysesPost(body?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV2PracticeUpdatePracticeAnalysesPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * PracticeApi - factory interface\n * @export\n */\nexport const PracticeApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary All | Delete Linked Practice\n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeDeleteLinkedPracticeIdDelete(id: number, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV2PracticeDeleteLinkedPracticeIdDelete(id, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Edit Associated Entities\n * @param {AssociatedEntitiesRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeEditAssociatedEntitiesPost(body?: AssociatedEntitiesRequest, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV2PracticeEditAssociatedEntitiesPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Edit General Accounting App\n * @param {GeneralAccountingAppRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeEditGeneralAccountingAppPost(body?: GeneralAccountingAppRequest, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV2PracticeEditGeneralAccountingAppPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Edit Law Practice Notes\n * @param {LawPracticeNotesRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeEditLawPracticeNotesPost(body?: LawPracticeNotesRequest, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV2PracticeEditLawPracticeNotesPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Edit Mortgage Info\n * @param {MortgageInfoRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeEditMortgageInfoPost(body?: MortgageInfoRequest, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV2PracticeEditMortgageInfoPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Edit Accounting Details\n * @param {PracticeAccountDetailsRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeEditPracticeAccountingDetailsPost(body?: PracticeAccountDetailsRequest, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV2PracticeEditPracticeAccountingDetailsPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Edit Practice Status\n * @param {PracticeStatusRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeEditPracticeStatusPost(body?: PracticeStatusRequest, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV2PracticeEditPracticeStatusPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Return Linked Practices\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeGetLinkedPracticesPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV2PracticeGetLinkedPracticesPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll| Return Practice Additional Contact\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeGetPracticeAdditionalContactPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV2PracticeGetPracticeAdditionalContactPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary All | Returns Practice\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeGetPracticeByIdPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV2PracticeGetPracticeByIdPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Save Linked Practice\n * @param {LinkedPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeSaveLinkedPracticePost(body?: LinkedPracticeRequest, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV2PracticeSaveLinkedPracticePost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Save Linked Practice\n * @param {PracticeAdditionalContactRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeSavePracticeAdditionalContactPost(body?: PracticeAdditionalContactRequest, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV2PracticeSavePracticeAdditionalContactPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary All | Returns Practices\n * @param {FirmSearchRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeSearchPracticePost(body?: FirmSearchRequest, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV2PracticeSearchPracticePost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Edit Practice Analyses\n * @param {Array<PracticeAnalysisRequest>} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeUpdatePracticeAnalysesPost(body?: Array, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV2PracticeUpdatePracticeAnalysesPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * PracticeApi - object-oriented interface\n * @export\n * @class PracticeApi\n * @extends {BaseAPI}\n */\nexport class PracticeApi extends BaseAPI {\n /**\n * \n * @summary All | Delete Linked Practice\n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV2PracticeDeleteLinkedPracticeIdDelete(id: number, options?: any) {\n return PracticeApiFp(this.configuration).apiV2PracticeDeleteLinkedPracticeIdDelete(id, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Edit Associated Entities\n * @param {AssociatedEntitiesRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV2PracticeEditAssociatedEntitiesPost(body?: AssociatedEntitiesRequest, options?: any) {\n return PracticeApiFp(this.configuration).apiV2PracticeEditAssociatedEntitiesPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Edit General Accounting App\n * @param {GeneralAccountingAppRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV2PracticeEditGeneralAccountingAppPost(body?: GeneralAccountingAppRequest, options?: any) {\n return PracticeApiFp(this.configuration).apiV2PracticeEditGeneralAccountingAppPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Edit Law Practice Notes\n * @param {LawPracticeNotesRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV2PracticeEditLawPracticeNotesPost(body?: LawPracticeNotesRequest, options?: any) {\n return PracticeApiFp(this.configuration).apiV2PracticeEditLawPracticeNotesPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Edit Mortgage Info\n * @param {MortgageInfoRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV2PracticeEditMortgageInfoPost(body?: MortgageInfoRequest, options?: any) {\n return PracticeApiFp(this.configuration).apiV2PracticeEditMortgageInfoPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Edit Accounting Details\n * @param {PracticeAccountDetailsRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV2PracticeEditPracticeAccountingDetailsPost(body?: PracticeAccountDetailsRequest, options?: any) {\n return PracticeApiFp(this.configuration).apiV2PracticeEditPracticeAccountingDetailsPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Edit Practice Status\n * @param {PracticeStatusRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV2PracticeEditPracticeStatusPost(body?: PracticeStatusRequest, options?: any) {\n return PracticeApiFp(this.configuration).apiV2PracticeEditPracticeStatusPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Return Linked Practices\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV2PracticeGetLinkedPracticesPracticeIdGet(practiceId: number, options?: any) {\n return PracticeApiFp(this.configuration).apiV2PracticeGetLinkedPracticesPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll| Return Practice Additional Contact\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV2PracticeGetPracticeAdditionalContactPracticeIdGet(practiceId: number, options?: any) {\n return PracticeApiFp(this.configuration).apiV2PracticeGetPracticeAdditionalContactPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary All | Returns Practice\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV2PracticeGetPracticeByIdPracticeIdGet(practiceId: number, options?: any) {\n return PracticeApiFp(this.configuration).apiV2PracticeGetPracticeByIdPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Save Linked Practice\n * @param {LinkedPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV2PracticeSaveLinkedPracticePost(body?: LinkedPracticeRequest, options?: any) {\n return PracticeApiFp(this.configuration).apiV2PracticeSaveLinkedPracticePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Save Linked Practice\n * @param {PracticeAdditionalContactRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV2PracticeSavePracticeAdditionalContactPost(body?: PracticeAdditionalContactRequest, options?: any) {\n return PracticeApiFp(this.configuration).apiV2PracticeSavePracticeAdditionalContactPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary All | Returns Practices\n * @param {FirmSearchRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV2PracticeSearchPracticePost(body?: FirmSearchRequest, options?: any) {\n return PracticeApiFp(this.configuration).apiV2PracticeSearchPracticePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Edit Practice Analyses\n * @param {Array<PracticeAnalysisRequest>} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV2PracticeUpdatePracticeAnalysesPost(body?: Array, options?: any) {\n return PracticeApiFp(this.configuration).apiV2PracticeUpdatePracticeAnalysesPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { AddIndividualPracticeRequest } from '../models';\nimport { BooleanResponse } from '../models';\nimport { ExternalExaminerTipResponse } from '../models';\nimport { IndividualPracticeDetailsResponse } from '../models';\nimport { IndividualPracticeRequest } from '../models';\nimport { IndividualPracticeSummaryForExternalExaminerIEnumerableResponse } from '../models';\nimport { PracticeSearchForEeIEnumerableResponse } from '../models';\nimport { Request } from '../models';\nimport { TerminateExternalExaminerRequest } from '../models';\nimport { TerminateIndividualPracticeRequest } from '../models';\n/**\n * PracticeAtcsApi - axios parameter creator\n * @export\n */\nexport const PracticeAtcsApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary TaAll | Save Individual Practice For External Examiner\n * @param {number} externalExaminerId \n * @param {AddIndividualPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPracticeAdminAddIndividualPracticeForExternalExaminerExternalExaminerIdPost: async (externalExaminerId: number, body?: AddIndividualPracticeRequest, options: any = {}): Promise => {\n // verify required parameter 'externalExaminerId' is not null or undefined\n if (externalExaminerId === null || externalExaminerId === undefined) {\n throw new RequiredError('externalExaminerId','Required parameter externalExaminerId was null or undefined when calling apiV2AtcsPracticeAdminAddIndividualPracticeForExternalExaminerExternalExaminerIdPost.');\n }\n const localVarPath = `/api/v2/Atcs/Practice/Admin/AddIndividualPracticeForExternalExaminer/{externalExaminerId}`\n .replace(`{${\"externalExaminerId\"}}`, encodeURIComponent(String(externalExaminerId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Returns External Examiner\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPracticeAdminGetExternalExaminerByPracticeIdPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2AtcsPracticeAdminGetExternalExaminerByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v2/Atcs/Practice/Admin/GetExternalExaminerByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Returns Individual Practice\n * @param {number} individualPracticeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPracticeAdminGetIndividualPracticeForExternalExaminerIndividualPracticeIdGet: async (individualPracticeId: number, options: any = {}): Promise => {\n // verify required parameter 'individualPracticeId' is not null or undefined\n if (individualPracticeId === null || individualPracticeId === undefined) {\n throw new RequiredError('individualPracticeId','Required parameter individualPracticeId was null or undefined when calling apiV2AtcsPracticeAdminGetIndividualPracticeForExternalExaminerIndividualPracticeIdGet.');\n }\n const localVarPath = `/api/v2/Atcs/Practice/Admin/GetIndividualPracticeForExternalExaminer/{individualPracticeId}`\n .replace(`{${\"individualPracticeId\"}}`, encodeURIComponent(String(individualPracticeId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Returns External Examiner Individual Practices\n * @param {number} externalExaminerId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPracticeAdminGetIndividualPracticesForExternalExaminerExternalExaminerIdGet: async (externalExaminerId: number, options: any = {}): Promise => {\n // verify required parameter 'externalExaminerId' is not null or undefined\n if (externalExaminerId === null || externalExaminerId === undefined) {\n throw new RequiredError('externalExaminerId','Required parameter externalExaminerId was null or undefined when calling apiV2AtcsPracticeAdminGetIndividualPracticesForExternalExaminerExternalExaminerIdGet.');\n }\n const localVarPath = `/api/v2/Atcs/Practice/Admin/GetIndividualPracticesForExternalExaminer/{externalExaminerId}`\n .replace(`{${\"externalExaminerId\"}}`, encodeURIComponent(String(externalExaminerId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAdmin | Save Trust Contact for TA\n * @param {IndividualPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPracticeAdminSaveTrustContactPost: async (body?: IndividualPracticeRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Atcs/Practice/Admin/SaveTrustContact`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAdmin | Save Trust Coordinator for TA\n * @param {IndividualPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPracticeAdminSaveTrustCoordinatorPost: async (body?: IndividualPracticeRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Atcs/Practice/Admin/SaveTrustCoordinator`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Returns Practices\n * @param {Request} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPracticeAdminSearchPracticeForExternalExaminerPost: async (body?: Request, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Atcs/Practice/Admin/SearchPracticeForExternalExaminer`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Terminate Individual Practice\n * @param {TerminateExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPracticeAdminTerminateExternalExaminerPost: async (body?: TerminateExternalExaminerRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Atcs/Practice/Admin/TerminateExternalExaminer`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TaAll | Terminate Individual Practice\n * @param {TerminateIndividualPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPracticeAdminTerminateIndividualPracticeForExternalExaminerPost: async (body?: TerminateIndividualPracticeRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Atcs/Practice/Admin/TerminateIndividualPracticeForExternalExaminer`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal | Save Trust Coordinator\n * @param {number} practiceCoreId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPracticeAssignSelfTrustCoordinatorPracticeCoreIdPost: async (practiceCoreId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceCoreId' is not null or undefined\n if (practiceCoreId === null || practiceCoreId === undefined) {\n throw new RequiredError('practiceCoreId','Required parameter practiceCoreId was null or undefined when calling apiV2AtcsPracticeAssignSelfTrustCoordinatorPracticeCoreIdPost.');\n }\n const localVarPath = `/api/v2/Atcs/Practice/AssignSelfTrustCoordinator/{practiceCoreId}`\n .replace(`{${\"practiceCoreId\"}}`, encodeURIComponent(String(practiceCoreId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Principal | Save Trust Contact\n * @param {IndividualPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPracticeSaveTrustContactPost: async (body?: IndividualPracticeRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Atcs/Practice/SaveTrustContact`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * PracticeAtcsApi - functional programming interface\n * @export\n */\nexport const PracticeAtcsApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary TaAll | Save Individual Practice For External Examiner\n * @param {number} externalExaminerId \n * @param {AddIndividualPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AtcsPracticeAdminAddIndividualPracticeForExternalExaminerExternalExaminerIdPost(externalExaminerId: number, body?: AddIndividualPracticeRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeAtcsApiAxiosParamCreator(configuration).apiV2AtcsPracticeAdminAddIndividualPracticeForExternalExaminerExternalExaminerIdPost(externalExaminerId, body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Returns External Examiner\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AtcsPracticeAdminGetExternalExaminerByPracticeIdPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeAtcsApiAxiosParamCreator(configuration).apiV2AtcsPracticeAdminGetExternalExaminerByPracticeIdPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Returns Individual Practice\n * @param {number} individualPracticeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AtcsPracticeAdminGetIndividualPracticeForExternalExaminerIndividualPracticeIdGet(individualPracticeId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeAtcsApiAxiosParamCreator(configuration).apiV2AtcsPracticeAdminGetIndividualPracticeForExternalExaminerIndividualPracticeIdGet(individualPracticeId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Returns External Examiner Individual Practices\n * @param {number} externalExaminerId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AtcsPracticeAdminGetIndividualPracticesForExternalExaminerExternalExaminerIdGet(externalExaminerId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeAtcsApiAxiosParamCreator(configuration).apiV2AtcsPracticeAdminGetIndividualPracticesForExternalExaminerExternalExaminerIdGet(externalExaminerId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAdmin | Save Trust Contact for TA\n * @param {IndividualPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AtcsPracticeAdminSaveTrustContactPost(body?: IndividualPracticeRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeAtcsApiAxiosParamCreator(configuration).apiV2AtcsPracticeAdminSaveTrustContactPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAdmin | Save Trust Coordinator for TA\n * @param {IndividualPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AtcsPracticeAdminSaveTrustCoordinatorPost(body?: IndividualPracticeRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeAtcsApiAxiosParamCreator(configuration).apiV2AtcsPracticeAdminSaveTrustCoordinatorPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Returns Practices\n * @param {Request} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AtcsPracticeAdminSearchPracticeForExternalExaminerPost(body?: Request, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeAtcsApiAxiosParamCreator(configuration).apiV2AtcsPracticeAdminSearchPracticeForExternalExaminerPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Terminate Individual Practice\n * @param {TerminateExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AtcsPracticeAdminTerminateExternalExaminerPost(body?: TerminateExternalExaminerRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeAtcsApiAxiosParamCreator(configuration).apiV2AtcsPracticeAdminTerminateExternalExaminerPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TaAll | Terminate Individual Practice\n * @param {TerminateIndividualPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AtcsPracticeAdminTerminateIndividualPracticeForExternalExaminerPost(body?: TerminateIndividualPracticeRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeAtcsApiAxiosParamCreator(configuration).apiV2AtcsPracticeAdminTerminateIndividualPracticeForExternalExaminerPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal | Save Trust Coordinator\n * @param {number} practiceCoreId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AtcsPracticeAssignSelfTrustCoordinatorPracticeCoreIdPost(practiceCoreId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeAtcsApiAxiosParamCreator(configuration).apiV2AtcsPracticeAssignSelfTrustCoordinatorPracticeCoreIdPost(practiceCoreId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Principal | Save Trust Contact\n * @param {IndividualPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AtcsPracticeSaveTrustContactPost(body?: IndividualPracticeRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeAtcsApiAxiosParamCreator(configuration).apiV2AtcsPracticeSaveTrustContactPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * PracticeAtcsApi - factory interface\n * @export\n */\nexport const PracticeAtcsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary TaAll | Save Individual Practice For External Examiner\n * @param {number} externalExaminerId \n * @param {AddIndividualPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPracticeAdminAddIndividualPracticeForExternalExaminerExternalExaminerIdPost(externalExaminerId: number, body?: AddIndividualPracticeRequest, options?: any): AxiosPromise {\n return PracticeAtcsApiFp(configuration).apiV2AtcsPracticeAdminAddIndividualPracticeForExternalExaminerExternalExaminerIdPost(externalExaminerId, body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Returns External Examiner\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPracticeAdminGetExternalExaminerByPracticeIdPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PracticeAtcsApiFp(configuration).apiV2AtcsPracticeAdminGetExternalExaminerByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Returns Individual Practice\n * @param {number} individualPracticeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPracticeAdminGetIndividualPracticeForExternalExaminerIndividualPracticeIdGet(individualPracticeId: number, options?: any): AxiosPromise {\n return PracticeAtcsApiFp(configuration).apiV2AtcsPracticeAdminGetIndividualPracticeForExternalExaminerIndividualPracticeIdGet(individualPracticeId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Returns External Examiner Individual Practices\n * @param {number} externalExaminerId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPracticeAdminGetIndividualPracticesForExternalExaminerExternalExaminerIdGet(externalExaminerId: number, options?: any): AxiosPromise {\n return PracticeAtcsApiFp(configuration).apiV2AtcsPracticeAdminGetIndividualPracticesForExternalExaminerExternalExaminerIdGet(externalExaminerId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAdmin | Save Trust Contact for TA\n * @param {IndividualPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPracticeAdminSaveTrustContactPost(body?: IndividualPracticeRequest, options?: any): AxiosPromise {\n return PracticeAtcsApiFp(configuration).apiV2AtcsPracticeAdminSaveTrustContactPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAdmin | Save Trust Coordinator for TA\n * @param {IndividualPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPracticeAdminSaveTrustCoordinatorPost(body?: IndividualPracticeRequest, options?: any): AxiosPromise {\n return PracticeAtcsApiFp(configuration).apiV2AtcsPracticeAdminSaveTrustCoordinatorPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Returns Practices\n * @param {Request} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPracticeAdminSearchPracticeForExternalExaminerPost(body?: Request, options?: any): AxiosPromise {\n return PracticeAtcsApiFp(configuration).apiV2AtcsPracticeAdminSearchPracticeForExternalExaminerPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Terminate Individual Practice\n * @param {TerminateExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPracticeAdminTerminateExternalExaminerPost(body?: TerminateExternalExaminerRequest, options?: any): AxiosPromise {\n return PracticeAtcsApiFp(configuration).apiV2AtcsPracticeAdminTerminateExternalExaminerPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TaAll | Terminate Individual Practice\n * @param {TerminateIndividualPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPracticeAdminTerminateIndividualPracticeForExternalExaminerPost(body?: TerminateIndividualPracticeRequest, options?: any): AxiosPromise {\n return PracticeAtcsApiFp(configuration).apiV2AtcsPracticeAdminTerminateIndividualPracticeForExternalExaminerPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal | Save Trust Coordinator\n * @param {number} practiceCoreId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPracticeAssignSelfTrustCoordinatorPracticeCoreIdPost(practiceCoreId: number, options?: any): AxiosPromise {\n return PracticeAtcsApiFp(configuration).apiV2AtcsPracticeAssignSelfTrustCoordinatorPracticeCoreIdPost(practiceCoreId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Principal | Save Trust Contact\n * @param {IndividualPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AtcsPracticeSaveTrustContactPost(body?: IndividualPracticeRequest, options?: any): AxiosPromise {\n return PracticeAtcsApiFp(configuration).apiV2AtcsPracticeSaveTrustContactPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * PracticeAtcsApi - object-oriented interface\n * @export\n * @class PracticeAtcsApi\n * @extends {BaseAPI}\n */\nexport class PracticeAtcsApi extends BaseAPI {\n /**\n * \n * @summary TaAll | Save Individual Practice For External Examiner\n * @param {number} externalExaminerId \n * @param {AddIndividualPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeAtcsApi\n */\n public apiV2AtcsPracticeAdminAddIndividualPracticeForExternalExaminerExternalExaminerIdPost(externalExaminerId: number, body?: AddIndividualPracticeRequest, options?: any) {\n return PracticeAtcsApiFp(this.configuration).apiV2AtcsPracticeAdminAddIndividualPracticeForExternalExaminerExternalExaminerIdPost(externalExaminerId, body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Returns External Examiner\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeAtcsApi\n */\n public apiV2AtcsPracticeAdminGetExternalExaminerByPracticeIdPracticeIdGet(practiceId: number, options?: any) {\n return PracticeAtcsApiFp(this.configuration).apiV2AtcsPracticeAdminGetExternalExaminerByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Returns Individual Practice\n * @param {number} individualPracticeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeAtcsApi\n */\n public apiV2AtcsPracticeAdminGetIndividualPracticeForExternalExaminerIndividualPracticeIdGet(individualPracticeId: number, options?: any) {\n return PracticeAtcsApiFp(this.configuration).apiV2AtcsPracticeAdminGetIndividualPracticeForExternalExaminerIndividualPracticeIdGet(individualPracticeId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Returns External Examiner Individual Practices\n * @param {number} externalExaminerId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeAtcsApi\n */\n public apiV2AtcsPracticeAdminGetIndividualPracticesForExternalExaminerExternalExaminerIdGet(externalExaminerId: number, options?: any) {\n return PracticeAtcsApiFp(this.configuration).apiV2AtcsPracticeAdminGetIndividualPracticesForExternalExaminerExternalExaminerIdGet(externalExaminerId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAdmin | Save Trust Contact for TA\n * @param {IndividualPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeAtcsApi\n */\n public apiV2AtcsPracticeAdminSaveTrustContactPost(body?: IndividualPracticeRequest, options?: any) {\n return PracticeAtcsApiFp(this.configuration).apiV2AtcsPracticeAdminSaveTrustContactPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAdmin | Save Trust Coordinator for TA\n * @param {IndividualPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeAtcsApi\n */\n public apiV2AtcsPracticeAdminSaveTrustCoordinatorPost(body?: IndividualPracticeRequest, options?: any) {\n return PracticeAtcsApiFp(this.configuration).apiV2AtcsPracticeAdminSaveTrustCoordinatorPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Returns Practices\n * @param {Request} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeAtcsApi\n */\n public apiV2AtcsPracticeAdminSearchPracticeForExternalExaminerPost(body?: Request, options?: any) {\n return PracticeAtcsApiFp(this.configuration).apiV2AtcsPracticeAdminSearchPracticeForExternalExaminerPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Terminate Individual Practice\n * @param {TerminateExternalExaminerRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeAtcsApi\n */\n public apiV2AtcsPracticeAdminTerminateExternalExaminerPost(body?: TerminateExternalExaminerRequest, options?: any) {\n return PracticeAtcsApiFp(this.configuration).apiV2AtcsPracticeAdminTerminateExternalExaminerPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TaAll | Terminate Individual Practice\n * @param {TerminateIndividualPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeAtcsApi\n */\n public apiV2AtcsPracticeAdminTerminateIndividualPracticeForExternalExaminerPost(body?: TerminateIndividualPracticeRequest, options?: any) {\n return PracticeAtcsApiFp(this.configuration).apiV2AtcsPracticeAdminTerminateIndividualPracticeForExternalExaminerPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal | Save Trust Coordinator\n * @param {number} practiceCoreId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeAtcsApi\n */\n public apiV2AtcsPracticeAssignSelfTrustCoordinatorPracticeCoreIdPost(practiceCoreId: number, options?: any) {\n return PracticeAtcsApiFp(this.configuration).apiV2AtcsPracticeAssignSelfTrustCoordinatorPracticeCoreIdPost(practiceCoreId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Principal | Save Trust Contact\n * @param {IndividualPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeAtcsApi\n */\n public apiV2AtcsPracticeSaveTrustContactPost(body?: IndividualPracticeRequest, options?: any) {\n return PracticeAtcsApiFp(this.configuration).apiV2AtcsPracticeSaveTrustContactPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { RoutineFilterRequest } from '../models';\nimport { RoutineViewIEnumerableResponse } from '../models';\n/**\n * RoutineApi - axios parameter creator\n * @export\n */\nexport const RoutineApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA All | Returns Routines\n * @param {RoutineFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2RoutineGetRoutinesPost: async (body?: RoutineFilterRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Routine/GetRoutines`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * RoutineApi - functional programming interface\n * @export\n */\nexport const RoutineApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA All | Returns Routines\n * @param {RoutineFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2RoutineGetRoutinesPost(body?: RoutineFilterRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await RoutineApiAxiosParamCreator(configuration).apiV2RoutineGetRoutinesPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * RoutineApi - factory interface\n * @export\n */\nexport const RoutineApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary TA All | Returns Routines\n * @param {RoutineFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2RoutineGetRoutinesPost(body?: RoutineFilterRequest, options?: any): AxiosPromise {\n return RoutineApiFp(configuration).apiV2RoutineGetRoutinesPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * RoutineApi - object-oriented interface\n * @export\n * @class RoutineApi\n * @extends {BaseAPI}\n */\nexport class RoutineApi extends BaseAPI {\n /**\n * \n * @summary TA All | Returns Routines\n * @param {RoutineFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof RoutineApi\n */\n public apiV2RoutineGetRoutinesPost(body?: RoutineFilterRequest, options?: any) {\n return RoutineApiFp(this.configuration).apiV2RoutineGetRoutinesPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { ApproveTimesheetRequest } from '../models';\nimport { BooleanResponse } from '../models';\nimport { LeaveEntryRequest } from '../models';\nimport { RequestWithAdvanceFilter } from '../models';\nimport { TimeEntryApprovalViewIEnumerableResponse } from '../models';\nimport { TimeEntryApprovalViewResponse } from '../models';\nimport { TimeEntryDateRangeRequest } from '../models';\nimport { TimeEntryDateRangeRequest2 } from '../models';\nimport { TimeEntryExportViewIEnumerableResponse } from '../models';\nimport { TimeEntryFilterRequest } from '../models';\nimport { TimeEntryRequest } from '../models';\nimport { TimeEntryViewIEnumerableResponse } from '../models';\nimport { TimeEntryViewResponse } from '../models';\nimport { TimesheetDataExportViewIEnumerableResponse } from '../models';\nimport { TimesheetRequest } from '../models';\nimport { TrustTeamMemberTimeEntryFilterRequest } from '../models';\nimport { TrustTeamMemberTimesheetRequest } from '../models';\n/**\n * TimeEntryApi - axios parameter creator\n * @export\n */\nexport const TimeEntryApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA All | Approve Time Entries\n * @param {ApproveTimesheetRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryApproveTimeEntriesPost: async (body?: ApproveTimesheetRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/TimeEntry/ApproveTimeEntries`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary All | Delete Time Entry\n * @param {number} timeEntryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryDeleteTimeEntryTimeEntryIdDelete: async (timeEntryId: number, options: any = {}): Promise => {\n // verify required parameter 'timeEntryId' is not null or undefined\n if (timeEntryId === null || timeEntryId === undefined) {\n throw new RequiredError('timeEntryId','Required parameter timeEntryId was null or undefined when calling apiV2TimeEntryDeleteTimeEntryTimeEntryIdDelete.');\n }\n const localVarPath = `/api/v2/TimeEntry/DeleteTimeEntry/{timeEntryId}`\n .replace(`{${\"timeEntryId\"}}`, encodeURIComponent(String(timeEntryId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Time Entries by TrustTeamMemberId\n * @param {TrustTeamMemberTimeEntryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryExportTimeEntriesByTrustTeamMemberIdPost: async (body?: TrustTeamMemberTimeEntryFilterRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/TimeEntry/ExportTimeEntriesByTrustTeamMemberId`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Time Entries\n * @param {TimeEntryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryExportTimeEntriesPost: async (body?: TimeEntryFilterRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/TimeEntry/ExportTimeEntries`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Timesheet Data by investigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryExportTimesheetDataByInvestigationIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV2TimeEntryExportTimesheetDataByInvestigationIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v2/TimeEntry/ExportTimesheetDataByInvestigationId/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Time Entries by TrustTeamMemberId\n * @param {TimeEntryDateRangeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryGetTimeEntriesByTrustTeamMemberIdPost: async (body?: TimeEntryDateRangeRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/TimeEntry/GetTimeEntriesByTrustTeamMemberId`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Time Entries\n * @param {RequestWithAdvanceFilter} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryGetTimeEntriesPost: async (body?: RequestWithAdvanceFilter, options: any = {}): Promise => {\n const localVarPath = `/api/v2/TimeEntry/GetTimeEntries`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Timesheet Approval by TrustTeamMemberId\n * @param {TrustTeamMemberTimesheetRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryGetTimeEntryApprovalByTrustTeamMemberIdPost: async (body?: TrustTeamMemberTimesheetRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/TimeEntry/GetTimeEntryApprovalByTrustTeamMemberId`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Timesheet Approvals\n * @param {TimesheetRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryGetTimeEntryApprovalsPost: async (body?: TimesheetRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/TimeEntry/GetTimeEntryApprovals`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Time Entry by TimeEntryId\n * @param {number} timeEntryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryGetTimeEntryByIdTimeEntryIdGet: async (timeEntryId: number, options: any = {}): Promise => {\n // verify required parameter 'timeEntryId' is not null or undefined\n if (timeEntryId === null || timeEntryId === undefined) {\n throw new RequiredError('timeEntryId','Required parameter timeEntryId was null or undefined when calling apiV2TimeEntryGetTimeEntryByIdTimeEntryIdGet.');\n }\n const localVarPath = `/api/v2/TimeEntry/GetTimeEntryById/{timeEntryId}`\n .replace(`{${\"timeEntryId\"}}`, encodeURIComponent(String(timeEntryId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary All | Save Leave Time Entry\n * @param {LeaveEntryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntrySaveLeaveTimeEntryPost: async (body?: LeaveEntryRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/TimeEntry/SaveLeaveTimeEntry`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary All | Save Time Entry\n * @param {TimeEntryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntrySaveTimeEntryPost: async (body?: TimeEntryRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/TimeEntry/SaveTimeEntry`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns Time Entries by ExternalId\n * @param {TimeEntryDateRangeRequest2} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryTrustInvestigatorGetTimeEntriesByExternalIdPost: async (body?: TimeEntryDateRangeRequest2, options: any = {}): Promise => {\n const localVarPath = `/api/v2/TimeEntry/TrustInvestigator/GetTimeEntriesByExternalId`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * TimeEntryApi - functional programming interface\n * @export\n */\nexport const TimeEntryApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA All | Approve Time Entries\n * @param {ApproveTimesheetRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2TimeEntryApproveTimeEntriesPost(body?: ApproveTimesheetRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TimeEntryApiAxiosParamCreator(configuration).apiV2TimeEntryApproveTimeEntriesPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary All | Delete Time Entry\n * @param {number} timeEntryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2TimeEntryDeleteTimeEntryTimeEntryIdDelete(timeEntryId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TimeEntryApiAxiosParamCreator(configuration).apiV2TimeEntryDeleteTimeEntryTimeEntryIdDelete(timeEntryId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Time Entries by TrustTeamMemberId\n * @param {TrustTeamMemberTimeEntryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2TimeEntryExportTimeEntriesByTrustTeamMemberIdPost(body?: TrustTeamMemberTimeEntryFilterRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TimeEntryApiAxiosParamCreator(configuration).apiV2TimeEntryExportTimeEntriesByTrustTeamMemberIdPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Time Entries\n * @param {TimeEntryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2TimeEntryExportTimeEntriesPost(body?: TimeEntryFilterRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TimeEntryApiAxiosParamCreator(configuration).apiV2TimeEntryExportTimeEntriesPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Timesheet Data by investigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2TimeEntryExportTimesheetDataByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TimeEntryApiAxiosParamCreator(configuration).apiV2TimeEntryExportTimesheetDataByInvestigationIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Time Entries by TrustTeamMemberId\n * @param {TimeEntryDateRangeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2TimeEntryGetTimeEntriesByTrustTeamMemberIdPost(body?: TimeEntryDateRangeRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TimeEntryApiAxiosParamCreator(configuration).apiV2TimeEntryGetTimeEntriesByTrustTeamMemberIdPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Time Entries\n * @param {RequestWithAdvanceFilter} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2TimeEntryGetTimeEntriesPost(body?: RequestWithAdvanceFilter, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TimeEntryApiAxiosParamCreator(configuration).apiV2TimeEntryGetTimeEntriesPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Timesheet Approval by TrustTeamMemberId\n * @param {TrustTeamMemberTimesheetRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2TimeEntryGetTimeEntryApprovalByTrustTeamMemberIdPost(body?: TrustTeamMemberTimesheetRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TimeEntryApiAxiosParamCreator(configuration).apiV2TimeEntryGetTimeEntryApprovalByTrustTeamMemberIdPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Timesheet Approvals\n * @param {TimesheetRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2TimeEntryGetTimeEntryApprovalsPost(body?: TimesheetRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TimeEntryApiAxiosParamCreator(configuration).apiV2TimeEntryGetTimeEntryApprovalsPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Time Entry by TimeEntryId\n * @param {number} timeEntryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2TimeEntryGetTimeEntryByIdTimeEntryIdGet(timeEntryId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TimeEntryApiAxiosParamCreator(configuration).apiV2TimeEntryGetTimeEntryByIdTimeEntryIdGet(timeEntryId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary All | Save Leave Time Entry\n * @param {LeaveEntryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2TimeEntrySaveLeaveTimeEntryPost(body?: LeaveEntryRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TimeEntryApiAxiosParamCreator(configuration).apiV2TimeEntrySaveLeaveTimeEntryPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary All | Save Time Entry\n * @param {TimeEntryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2TimeEntrySaveTimeEntryPost(body?: TimeEntryRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TimeEntryApiAxiosParamCreator(configuration).apiV2TimeEntrySaveTimeEntryPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns Time Entries by ExternalId\n * @param {TimeEntryDateRangeRequest2} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2TimeEntryTrustInvestigatorGetTimeEntriesByExternalIdPost(body?: TimeEntryDateRangeRequest2, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TimeEntryApiAxiosParamCreator(configuration).apiV2TimeEntryTrustInvestigatorGetTimeEntriesByExternalIdPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * TimeEntryApi - factory interface\n * @export\n */\nexport const TimeEntryApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary TA All | Approve Time Entries\n * @param {ApproveTimesheetRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryApproveTimeEntriesPost(body?: ApproveTimesheetRequest, options?: any): AxiosPromise {\n return TimeEntryApiFp(configuration).apiV2TimeEntryApproveTimeEntriesPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary All | Delete Time Entry\n * @param {number} timeEntryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryDeleteTimeEntryTimeEntryIdDelete(timeEntryId: number, options?: any): AxiosPromise {\n return TimeEntryApiFp(configuration).apiV2TimeEntryDeleteTimeEntryTimeEntryIdDelete(timeEntryId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Time Entries by TrustTeamMemberId\n * @param {TrustTeamMemberTimeEntryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryExportTimeEntriesByTrustTeamMemberIdPost(body?: TrustTeamMemberTimeEntryFilterRequest, options?: any): AxiosPromise {\n return TimeEntryApiFp(configuration).apiV2TimeEntryExportTimeEntriesByTrustTeamMemberIdPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Time Entries\n * @param {TimeEntryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryExportTimeEntriesPost(body?: TimeEntryFilterRequest, options?: any): AxiosPromise {\n return TimeEntryApiFp(configuration).apiV2TimeEntryExportTimeEntriesPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Timesheet Data by investigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryExportTimesheetDataByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return TimeEntryApiFp(configuration).apiV2TimeEntryExportTimesheetDataByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Time Entries by TrustTeamMemberId\n * @param {TimeEntryDateRangeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryGetTimeEntriesByTrustTeamMemberIdPost(body?: TimeEntryDateRangeRequest, options?: any): AxiosPromise {\n return TimeEntryApiFp(configuration).apiV2TimeEntryGetTimeEntriesByTrustTeamMemberIdPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Time Entries\n * @param {RequestWithAdvanceFilter} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryGetTimeEntriesPost(body?: RequestWithAdvanceFilter, options?: any): AxiosPromise {\n return TimeEntryApiFp(configuration).apiV2TimeEntryGetTimeEntriesPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Timesheet Approval by TrustTeamMemberId\n * @param {TrustTeamMemberTimesheetRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryGetTimeEntryApprovalByTrustTeamMemberIdPost(body?: TrustTeamMemberTimesheetRequest, options?: any): AxiosPromise {\n return TimeEntryApiFp(configuration).apiV2TimeEntryGetTimeEntryApprovalByTrustTeamMemberIdPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Timesheet Approvals\n * @param {TimesheetRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryGetTimeEntryApprovalsPost(body?: TimesheetRequest, options?: any): AxiosPromise {\n return TimeEntryApiFp(configuration).apiV2TimeEntryGetTimeEntryApprovalsPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Time Entry by TimeEntryId\n * @param {number} timeEntryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryGetTimeEntryByIdTimeEntryIdGet(timeEntryId: number, options?: any): AxiosPromise {\n return TimeEntryApiFp(configuration).apiV2TimeEntryGetTimeEntryByIdTimeEntryIdGet(timeEntryId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary All | Save Leave Time Entry\n * @param {LeaveEntryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntrySaveLeaveTimeEntryPost(body?: LeaveEntryRequest, options?: any): AxiosPromise {\n return TimeEntryApiFp(configuration).apiV2TimeEntrySaveLeaveTimeEntryPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary All | Save Time Entry\n * @param {TimeEntryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntrySaveTimeEntryPost(body?: TimeEntryRequest, options?: any): AxiosPromise {\n return TimeEntryApiFp(configuration).apiV2TimeEntrySaveTimeEntryPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TrustInvestigator | Returns Time Entries by ExternalId\n * @param {TimeEntryDateRangeRequest2} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryTrustInvestigatorGetTimeEntriesByExternalIdPost(body?: TimeEntryDateRangeRequest2, options?: any): AxiosPromise {\n return TimeEntryApiFp(configuration).apiV2TimeEntryTrustInvestigatorGetTimeEntriesByExternalIdPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * TimeEntryApi - object-oriented interface\n * @export\n * @class TimeEntryApi\n * @extends {BaseAPI}\n */\nexport class TimeEntryApi extends BaseAPI {\n /**\n * \n * @summary TA All | Approve Time Entries\n * @param {ApproveTimesheetRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TimeEntryApi\n */\n public apiV2TimeEntryApproveTimeEntriesPost(body?: ApproveTimesheetRequest, options?: any) {\n return TimeEntryApiFp(this.configuration).apiV2TimeEntryApproveTimeEntriesPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary All | Delete Time Entry\n * @param {number} timeEntryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TimeEntryApi\n */\n public apiV2TimeEntryDeleteTimeEntryTimeEntryIdDelete(timeEntryId: number, options?: any) {\n return TimeEntryApiFp(this.configuration).apiV2TimeEntryDeleteTimeEntryTimeEntryIdDelete(timeEntryId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Time Entries by TrustTeamMemberId\n * @param {TrustTeamMemberTimeEntryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TimeEntryApi\n */\n public apiV2TimeEntryExportTimeEntriesByTrustTeamMemberIdPost(body?: TrustTeamMemberTimeEntryFilterRequest, options?: any) {\n return TimeEntryApiFp(this.configuration).apiV2TimeEntryExportTimeEntriesByTrustTeamMemberIdPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Time Entries\n * @param {TimeEntryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TimeEntryApi\n */\n public apiV2TimeEntryExportTimeEntriesPost(body?: TimeEntryFilterRequest, options?: any) {\n return TimeEntryApiFp(this.configuration).apiV2TimeEntryExportTimeEntriesPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Timesheet Data by investigationId\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TimeEntryApi\n */\n public apiV2TimeEntryExportTimesheetDataByInvestigationIdInvestigationIdGet(investigationId: number, options?: any) {\n return TimeEntryApiFp(this.configuration).apiV2TimeEntryExportTimesheetDataByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Time Entries by TrustTeamMemberId\n * @param {TimeEntryDateRangeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TimeEntryApi\n */\n public apiV2TimeEntryGetTimeEntriesByTrustTeamMemberIdPost(body?: TimeEntryDateRangeRequest, options?: any) {\n return TimeEntryApiFp(this.configuration).apiV2TimeEntryGetTimeEntriesByTrustTeamMemberIdPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Time Entries\n * @param {RequestWithAdvanceFilter} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TimeEntryApi\n */\n public apiV2TimeEntryGetTimeEntriesPost(body?: RequestWithAdvanceFilter, options?: any) {\n return TimeEntryApiFp(this.configuration).apiV2TimeEntryGetTimeEntriesPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Timesheet Approval by TrustTeamMemberId\n * @param {TrustTeamMemberTimesheetRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TimeEntryApi\n */\n public apiV2TimeEntryGetTimeEntryApprovalByTrustTeamMemberIdPost(body?: TrustTeamMemberTimesheetRequest, options?: any) {\n return TimeEntryApiFp(this.configuration).apiV2TimeEntryGetTimeEntryApprovalByTrustTeamMemberIdPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Timesheet Approvals\n * @param {TimesheetRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TimeEntryApi\n */\n public apiV2TimeEntryGetTimeEntryApprovalsPost(body?: TimesheetRequest, options?: any) {\n return TimeEntryApiFp(this.configuration).apiV2TimeEntryGetTimeEntryApprovalsPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Time Entry by TimeEntryId\n * @param {number} timeEntryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TimeEntryApi\n */\n public apiV2TimeEntryGetTimeEntryByIdTimeEntryIdGet(timeEntryId: number, options?: any) {\n return TimeEntryApiFp(this.configuration).apiV2TimeEntryGetTimeEntryByIdTimeEntryIdGet(timeEntryId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary All | Save Leave Time Entry\n * @param {LeaveEntryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TimeEntryApi\n */\n public apiV2TimeEntrySaveLeaveTimeEntryPost(body?: LeaveEntryRequest, options?: any) {\n return TimeEntryApiFp(this.configuration).apiV2TimeEntrySaveLeaveTimeEntryPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary All | Save Time Entry\n * @param {TimeEntryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TimeEntryApi\n */\n public apiV2TimeEntrySaveTimeEntryPost(body?: TimeEntryRequest, options?: any) {\n return TimeEntryApiFp(this.configuration).apiV2TimeEntrySaveTimeEntryPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TrustInvestigator | Returns Time Entries by ExternalId\n * @param {TimeEntryDateRangeRequest2} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TimeEntryApi\n */\n public apiV2TimeEntryTrustInvestigatorGetTimeEntriesByExternalIdPost(body?: TimeEntryDateRangeRequest2, options?: any) {\n return TimeEntryApiFp(this.configuration).apiV2TimeEntryTrustInvestigatorGetTimeEntriesByExternalIdPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigation API\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\nimport { Request } from '../models';\nimport { SecurityGroupMemberViewIEnumerableResponse } from '../models';\nimport { TrustTeamMemberExternalIdRequest } from '../models';\nimport { TrustTeamMemberPracticeRequest } from '../models';\nimport { TrustTeamMemberRequest } from '../models';\nimport { TrustTeamMemberViewIEnumerableResponse } from '../models';\nimport { TrustTeamMemberViewResponse } from '../models';\n/**\n * TrustTeamMemberApi - axios parameter creator\n * @export\n */\nexport const TrustTeamMemberApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA All | Returns Trust Team Member Supervisors\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TrustTeamMemberGetSupervisorsGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/TrustTeamMember/GetSupervisors`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Trust Team Member\n * @param {number} memberId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TrustTeamMemberGetTrustTeamMemberByIdMemberIdGet: async (memberId: number, options: any = {}): Promise => {\n // verify required parameter 'memberId' is not null or undefined\n if (memberId === null || memberId === undefined) {\n throw new RequiredError('memberId','Required parameter memberId was null or undefined when calling apiV2TrustTeamMemberGetTrustTeamMemberByIdMemberIdGet.');\n }\n const localVarPath = `/api/v2/TrustTeamMember/GetTrustTeamMemberById/{memberId}`\n .replace(`{${\"memberId\"}}`, encodeURIComponent(String(memberId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Trust Team Member by PracticeId\n * @param {TrustTeamMemberPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TrustTeamMemberGetTrustTeamMemberByPracticeIdPost: async (body?: TrustTeamMemberPracticeRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/TrustTeamMember/GetTrustTeamMemberByPracticeId`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Trust Team Members\n * @param {Request} [body] \n * @param {boolean} [showInvestigatorOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TrustTeamMemberGetTrustTeamMembersPost: async (body?: Request, showInvestigatorOnly?: boolean, options: any = {}): Promise => {\n const localVarPath = `/api/v2/TrustTeamMember/GetTrustTeamMembers`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n if (showInvestigatorOnly !== undefined) {\n localVarQueryParameter['showInvestigatorOnly'] = showInvestigatorOnly;\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Save Trust Team Member\n * @param {TrustTeamMemberRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TrustTeamMemberSaveTrustTeamMemberPost: async (body?: TrustTeamMemberRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/TrustTeamMember/SaveTrustTeamMember`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TA All | Returns Active Directory Trust Team Members\n * @param {string} [keyword] \n * @param {boolean} [nonTrustTeamMemberOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TrustTeamMemberSearchSecurityGroupMembersGet: async (keyword?: string, nonTrustTeamMemberOnly?: boolean, options: any = {}): Promise => {\n const localVarPath = `/api/v2/TrustTeamMember/SearchSecurityGroupMembers`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n if (keyword !== undefined) {\n localVarQueryParameter['keyword'] = keyword;\n }\n\n if (nonTrustTeamMemberOnly !== undefined) {\n localVarQueryParameter['nonTrustTeamMemberOnly'] = nonTrustTeamMemberOnly;\n }\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns Trust Team Member\n * @param {TrustTeamMemberExternalIdRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TrustTeamMemberTrustInvestigatorGetTrustTeamMemberByExternalIdPost: async (body?: TrustTeamMemberExternalIdRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/TrustTeamMember/TrustInvestigator/GetTrustTeamMemberByExternalId`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication Bearer required\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * TrustTeamMemberApi - functional programming interface\n * @export\n */\nexport const TrustTeamMemberApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary TA All | Returns Trust Team Member Supervisors\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2TrustTeamMemberGetSupervisorsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TrustTeamMemberApiAxiosParamCreator(configuration).apiV2TrustTeamMemberGetSupervisorsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Trust Team Member\n * @param {number} memberId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2TrustTeamMemberGetTrustTeamMemberByIdMemberIdGet(memberId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TrustTeamMemberApiAxiosParamCreator(configuration).apiV2TrustTeamMemberGetTrustTeamMemberByIdMemberIdGet(memberId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Trust Team Member by PracticeId\n * @param {TrustTeamMemberPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2TrustTeamMemberGetTrustTeamMemberByPracticeIdPost(body?: TrustTeamMemberPracticeRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TrustTeamMemberApiAxiosParamCreator(configuration).apiV2TrustTeamMemberGetTrustTeamMemberByPracticeIdPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Trust Team Members\n * @param {Request} [body] \n * @param {boolean} [showInvestigatorOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2TrustTeamMemberGetTrustTeamMembersPost(body?: Request, showInvestigatorOnly?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TrustTeamMemberApiAxiosParamCreator(configuration).apiV2TrustTeamMemberGetTrustTeamMembersPost(body, showInvestigatorOnly, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Save Trust Team Member\n * @param {TrustTeamMemberRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2TrustTeamMemberSaveTrustTeamMemberPost(body?: TrustTeamMemberRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TrustTeamMemberApiAxiosParamCreator(configuration).apiV2TrustTeamMemberSaveTrustTeamMemberPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TA All | Returns Active Directory Trust Team Members\n * @param {string} [keyword] \n * @param {boolean} [nonTrustTeamMemberOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2TrustTeamMemberSearchSecurityGroupMembersGet(keyword?: string, nonTrustTeamMemberOnly?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TrustTeamMemberApiAxiosParamCreator(configuration).apiV2TrustTeamMemberSearchSecurityGroupMembersGet(keyword, nonTrustTeamMemberOnly, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary TrustInvestigator | Returns Trust Team Member\n * @param {TrustTeamMemberExternalIdRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2TrustTeamMemberTrustInvestigatorGetTrustTeamMemberByExternalIdPost(body?: TrustTeamMemberExternalIdRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TrustTeamMemberApiAxiosParamCreator(configuration).apiV2TrustTeamMemberTrustInvestigatorGetTrustTeamMemberByExternalIdPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * TrustTeamMemberApi - factory interface\n * @export\n */\nexport const TrustTeamMemberApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary TA All | Returns Trust Team Member Supervisors\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TrustTeamMemberGetSupervisorsGet(options?: any): AxiosPromise {\n return TrustTeamMemberApiFp(configuration).apiV2TrustTeamMemberGetSupervisorsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Trust Team Member\n * @param {number} memberId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TrustTeamMemberGetTrustTeamMemberByIdMemberIdGet(memberId: number, options?: any): AxiosPromise {\n return TrustTeamMemberApiFp(configuration).apiV2TrustTeamMemberGetTrustTeamMemberByIdMemberIdGet(memberId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Trust Team Member by PracticeId\n * @param {TrustTeamMemberPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TrustTeamMemberGetTrustTeamMemberByPracticeIdPost(body?: TrustTeamMemberPracticeRequest, options?: any): AxiosPromise {\n return TrustTeamMemberApiFp(configuration).apiV2TrustTeamMemberGetTrustTeamMemberByPracticeIdPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Trust Team Members\n * @param {Request} [body] \n * @param {boolean} [showInvestigatorOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TrustTeamMemberGetTrustTeamMembersPost(body?: Request, showInvestigatorOnly?: boolean, options?: any): AxiosPromise {\n return TrustTeamMemberApiFp(configuration).apiV2TrustTeamMemberGetTrustTeamMembersPost(body, showInvestigatorOnly, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Save Trust Team Member\n * @param {TrustTeamMemberRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TrustTeamMemberSaveTrustTeamMemberPost(body?: TrustTeamMemberRequest, options?: any): AxiosPromise {\n return TrustTeamMemberApiFp(configuration).apiV2TrustTeamMemberSaveTrustTeamMemberPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TA All | Returns Active Directory Trust Team Members\n * @param {string} [keyword] \n * @param {boolean} [nonTrustTeamMemberOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TrustTeamMemberSearchSecurityGroupMembersGet(keyword?: string, nonTrustTeamMemberOnly?: boolean, options?: any): AxiosPromise {\n return TrustTeamMemberApiFp(configuration).apiV2TrustTeamMemberSearchSecurityGroupMembersGet(keyword, nonTrustTeamMemberOnly, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary TrustInvestigator | Returns Trust Team Member\n * @param {TrustTeamMemberExternalIdRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TrustTeamMemberTrustInvestigatorGetTrustTeamMemberByExternalIdPost(body?: TrustTeamMemberExternalIdRequest, options?: any): AxiosPromise {\n return TrustTeamMemberApiFp(configuration).apiV2TrustTeamMemberTrustInvestigatorGetTrustTeamMemberByExternalIdPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * TrustTeamMemberApi - object-oriented interface\n * @export\n * @class TrustTeamMemberApi\n * @extends {BaseAPI}\n */\nexport class TrustTeamMemberApi extends BaseAPI {\n /**\n * \n * @summary TA All | Returns Trust Team Member Supervisors\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TrustTeamMemberApi\n */\n public apiV2TrustTeamMemberGetSupervisorsGet(options?: any) {\n return TrustTeamMemberApiFp(this.configuration).apiV2TrustTeamMemberGetSupervisorsGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Trust Team Member\n * @param {number} memberId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TrustTeamMemberApi\n */\n public apiV2TrustTeamMemberGetTrustTeamMemberByIdMemberIdGet(memberId: number, options?: any) {\n return TrustTeamMemberApiFp(this.configuration).apiV2TrustTeamMemberGetTrustTeamMemberByIdMemberIdGet(memberId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Trust Team Member by PracticeId\n * @param {TrustTeamMemberPracticeRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TrustTeamMemberApi\n */\n public apiV2TrustTeamMemberGetTrustTeamMemberByPracticeIdPost(body?: TrustTeamMemberPracticeRequest, options?: any) {\n return TrustTeamMemberApiFp(this.configuration).apiV2TrustTeamMemberGetTrustTeamMemberByPracticeIdPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Trust Team Members\n * @param {Request} [body] \n * @param {boolean} [showInvestigatorOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TrustTeamMemberApi\n */\n public apiV2TrustTeamMemberGetTrustTeamMembersPost(body?: Request, showInvestigatorOnly?: boolean, options?: any) {\n return TrustTeamMemberApiFp(this.configuration).apiV2TrustTeamMemberGetTrustTeamMembersPost(body, showInvestigatorOnly, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Save Trust Team Member\n * @param {TrustTeamMemberRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TrustTeamMemberApi\n */\n public apiV2TrustTeamMemberSaveTrustTeamMemberPost(body?: TrustTeamMemberRequest, options?: any) {\n return TrustTeamMemberApiFp(this.configuration).apiV2TrustTeamMemberSaveTrustTeamMemberPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TA All | Returns Active Directory Trust Team Members\n * @param {string} [keyword] \n * @param {boolean} [nonTrustTeamMemberOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TrustTeamMemberApi\n */\n public apiV2TrustTeamMemberSearchSecurityGroupMembersGet(keyword?: string, nonTrustTeamMemberOnly?: boolean, options?: any) {\n return TrustTeamMemberApiFp(this.configuration).apiV2TrustTeamMemberSearchSecurityGroupMembersGet(keyword, nonTrustTeamMemberOnly, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary TrustInvestigator | Returns Trust Team Member\n * @param {TrustTeamMemberExternalIdRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TrustTeamMemberApi\n */\n public apiV2TrustTeamMemberTrustInvestigatorGetTrustTeamMemberByExternalIdPost(body?: TrustTeamMemberExternalIdRequest, options?: any) {\n return TrustTeamMemberApiFp(this.configuration).apiV2TrustTeamMemberTrustInvestigatorGetTrustTeamMemberByExternalIdPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","import globalAxios, { AxiosInstance } from \"axios\";\nimport {\n CodeApi,\n Configuration,\n AccountingAppApi,\n ConfigTrustApi,\n InvestigationApi,\n CalendarApi,\n PracticeApi,\n TimeEntryApi,\n TrustTeamMemberApi,\n NotesApi,\n AccountApi,\n CorrespondenceApi,\n PeopleApi,\n RoutineApi,\n FollowUpApi,\n InvestigatorWorkingPaperApi,\n LawIdApi,\n ComplianceFormApi,\n PracticeAtcsApi,\n ExternalExaminerApi,\n FileAtcsApi,\n PageAtcsApi,\n PartAFormApi,\n DateApi,\n PeopleAtcsApi,\n PartBFormApi,\n EeReportApi,\n} from \"@/shared/modules/typescript-trustapi-client\";\n\nexport const BASE_PATH = \"/\".replace(/\\/+$/, \"\");\n\nexport class TrustAPI {\n public CalendarApi?: CalendarApi;\n public CodeApi?: CodeApi;\n public AccountingAppApi?: AccountingAppApi;\n public ConfigTrustApi?: ConfigTrustApi;\n public InvestigationApi?: InvestigationApi;\n public PracticeApi?: PracticeApi;\n public TimeEntryApi?: TimeEntryApi;\n public TrustTeamMemberApi?: TrustTeamMemberApi;\n public NotesApi?: NotesApi;\n public AccountApi?: AccountApi;\n public CorrespondenceApi?: CorrespondenceApi;\n public PeopleApi?: PeopleApi;\n public RoutineApi?: RoutineApi;\n public FollowUpApi?: FollowUpApi;\n public InvestigatorWorkingPaperApi?: InvestigatorWorkingPaperApi;\n public LawIdApi?: LawIdApi;\n public ComplianceFormApi?: ComplianceFormApi;\n public PracticeAtcsApi?: PracticeAtcsApi;\n public ExternalExaminerApi?: ExternalExaminerApi;\n public FileAtcsApi?: FileAtcsApi;\n public PageAtcsApi?: PageAtcsApi;\n public PartAFormApi?: PartAFormApi;\n public PartBFormApi?: PartBFormApi;\n public DateApi?: any;\n public PeopleAtcsApi?: PeopleAtcsApi;\n public EeReportApi?: EeReportApi;\n\n constructor(\n configuration?: Configuration,\n protected basePath: string = BASE_PATH,\n protected axios: AxiosInstance = globalAxios\n ) {\n this.CodeApi = new CodeApi(configuration, basePath, axios);\n this.AccountingAppApi = new AccountingAppApi(configuration, basePath, axios);\n this.ConfigTrustApi = new ConfigTrustApi(configuration, basePath, axios);\n this.InvestigationApi = new InvestigationApi(configuration, basePath, axios);\n this.PracticeApi = new PracticeApi(configuration, basePath, axios);\n this.CalendarApi = new CalendarApi(configuration, basePath, axios);\n this.TimeEntryApi = new TimeEntryApi(configuration, basePath, axios);\n this.TrustTeamMemberApi = new TrustTeamMemberApi(configuration, basePath, axios);\n this.NotesApi = new NotesApi(configuration, basePath, axios);\n this.AccountApi = new AccountApi(configuration, basePath, axios);\n this.CorrespondenceApi = new CorrespondenceApi(configuration, basePath, axios);\n this.PeopleApi = new PeopleApi(configuration, basePath, axios);\n this.RoutineApi = new RoutineApi(configuration, basePath, axios);\n this.FollowUpApi = new FollowUpApi(configuration, basePath, axios);\n this.InvestigatorWorkingPaperApi = new InvestigatorWorkingPaperApi(configuration, basePath, axios);\n this.LawIdApi = new LawIdApi(configuration, basePath, axios);\n this.ComplianceFormApi = new ComplianceFormApi(configuration, basePath, axios);\n this.PracticeAtcsApi = new PracticeAtcsApi(configuration, basePath, axios);\n this.ExternalExaminerApi = new ExternalExaminerApi(configuration, basePath, axios);\n this.FileAtcsApi = new FileAtcsApi(configuration, basePath, axios);\n this.PageAtcsApi = new PageAtcsApi(configuration, basePath, axios);\n this.PartAFormApi = new PartAFormApi(configuration, basePath, axios);\n this.PartBFormApi = new PartBFormApi(configuration, basePath, axios);\n this.DateApi = new DateApi(configuration, basePath, axios);\n this.PeopleAtcsApi = new PeopleAtcsApi(configuration, basePath, axios);\n this.EeReportApi = new EeReportApi(configuration, basePath, axios);\n }\n}\n","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, Transition as _Transition, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4ff0bc63\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"confirm-dialog\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"popup-modal\"\n}\nconst _hoisted_3 = { class: \"dialog-box\" }\nconst _hoisted_4 = { style: {\"text-align\":\"center\"} }\nconst _hoisted_5 = [\"innerHTML\"]\nconst _hoisted_6 = { class: \"btns right\" }\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_Transition, { name: \"fade\" }, {\n default: _withCtx(() => [\n (_ctx.isVisible)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"i\", {\n class: \"fal fa-times close\",\n onClick: _cache[0] || (_cache[0] = (...args) => (_ctx._cancel && _ctx._cancel(...args)))\n }),\n _createElementVNode(\"h3\", _hoisted_4, _toDisplayString(_ctx.title), 1),\n _createElementVNode(\"p\", { innerHTML: _ctx.message }, null, 8, _hoisted_5),\n _createElementVNode(\"div\", _hoisted_6, [\n (_ctx.cancelButton.length > 0)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn btn-tertiary sml\",\n onClick: _cache[1] || (_cache[1] = (...args) => (_ctx._cancel && _ctx._cancel(...args)))\n }, _toDisplayString(_ctx.cancelButton), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml ml-2\",\n onClick: _cache[2] || (_cache[2] = (...args) => (_ctx._confirm && _ctx._confirm(...args)))\n }, _toDisplayString(_ctx.okButton), 1)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ]))\n}","import { Options, Vue } from \"vue-property-decorator\";\n\n@Options({\n props: {\n modalOpened: Boolean,\n },\n components: {}\n})\nexport default class ConfirmDialog extends Vue {\n private modalOpened!: boolean;\n\n isVisible = false;\n\n title = '';\n message = '';// Main text content\n okButton = 'OK'; // Text for confirm button; leave it empty because we don't know what we're using it for\n cancelButton = 'Cancel'; // text for cancel button\n\n // Private variables\n private resolvePromise: any;\n private rejectPromise: any;\n\n private open() {\n this.isVisible = true;\n if (!this.modalOpened) {\n document.body.classList.add('modal-open');\n }\n }\n\n private close() {\n this.isVisible = false;\n if (!this.modalOpened) {\n document.body.classList.remove('modal-open');\n }\n }\n\n public show(opts: any = {}) {\n this.title = opts?.title || 'CANCEL ALERT';\n this.message = opts?.message || 'Are you sure?';\n this.okButton = opts?.okButton || 'OK';\n this.cancelButton = opts?.cancelButton;\n\n this.open();\n // Return promise so the caller can get results\n return new Promise((resolve, reject) => {\n this.resolvePromise = resolve\n this.rejectPromise = reject\n })\n }\n\n _confirm() {\n this.close()\n this.resolvePromise(true)\n }\n\n _cancel() {\n this.close()\n this.resolvePromise(false)\n // Or you can throw an error\n // this.rejectPromise(new Error('User cancelled the dialogue'))\n }\n\n}\n\n","import { render } from \"./confirm-dialogue.html?vue&type=template&id=4ff0bc63&scoped=true&ts=true&external\"\nimport script from \"./confirm-dialogue.ts?vue&type=script&lang=ts&external\"\nexport * from \"./confirm-dialogue.ts?vue&type=script&lang=ts&external\"\n\nimport \"./confirm-dialogue.scss?vue&type=style&index=0&id=4ff0bc63&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4ff0bc63\"]])\n\nexport default __exports__","import axios, { AxiosInstance, AxiosRequestConfig } from 'axios';\nimport { Provide, Options } from 'vue-property-decorator';\nimport { API_URL, TOKEN_REFRESH_TIME } from './config/config';\nimport { Vue } from 'vue-class-component';\nimport AuthenticationService from './modules/authentication/authentication.service';\nimport store from './store';\nimport * as HttpStatus from 'http-status-codes';\nimport { RouteN } from './constants/router-name';\nimport { AuthorizedUser } from './models/authorized-user';\nimport { EventEmitter } from 'events';\nimport SnackBar from \"@/shared/components/snackbar/index.vue\";\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport ConfirmDialogue from '@/shared/components/confirm-dialogue/index.vue';\n\n\n@Options({\n components: {\n SnackBar,\n ConfirmDialogue,\n }\n})\nexport default class App extends Vue {\n\n private apiAxios?: AxiosInstance;\n private authApiAxios?: AxiosInstance;\n private gettingToken?: boolean;\n private authService?: AuthenticationService;\n private authorizedUser: AuthorizedUser = new AuthorizedUser;\n\n @Provide({ to: 'apiService', reactive: true })\n private apiService: TrustAPI = new TrustAPI();\n\n @Provide({ to: 'eventController', reactive: true })\n private eventCtrl: EventEmitter = new EventEmitter();\n\n created(): void {\n this.authorizedUser = store.getters.getUserAccount;\n this.authService = new AuthenticationService(this.authorizedUser, this.authApiAxios);\n this.gettingToken = false;\n this.apiAxios = axios.create();\n this.authApiAxios = axios.create();\n\n this.apiAxios.interceptors.request.use(async (config: AxiosRequestConfig) => {\n\n const refreshToken = (this.authorizedUser.session.issued + TOKEN_REFRESH_TIME)\n < Math.round(new Date().getTime() / 1000) && !this.gettingToken;\n\n while (this.gettingToken) {\n await new Promise(resolve => setTimeout(resolve, 100));\n }\n\n try {\n if (refreshToken) {\n this.gettingToken = true;\n this.authorizedUser.token.tokenStr = '';\n await this.authService?.checkAuthentication();\n this.gettingToken = false;\n }\n\n if (config.headers === undefined) {\n config.headers = {};\n } else {\n config.headers.Authorization = 'bearer ' + this.authorizedUser.token.tokenStr;\n }\n\n return Promise.resolve(config);\n } catch (err) {\n this.gettingToken = false;\n return Promise.reject(config);\n }\n\n });\n\n this.apiAxios.interceptors.response.use((response) => {\n return response;\n }, (error) => {\n if (error.response?.status == 400 && error.response.data?.errorCode == 10001) {\n // handle by resubmit handler\n this.confirmResubmitRequest();\n } else {\n this.eventCtrl.emit('show-snackbar', 'error', 'Network error: ' + error.message);\n }\n if (error.response.status === HttpStatus.UNAUTHORIZED) {\n document.location.href = RouteN.ATCS.LoginPage.p + '?redirect=' + this.$route.fullPath;\n }\n return Promise.reject(error);\n });\n\n this.apiService = new TrustAPI(undefined, API_URL, this.apiAxios);\n }\n\n get store(): any {\n return store;\n }\n\n private confirmResubmitRequest(): void {\n const _route: string = this.$route.name as string;\n const _isEE = _route.indexOf('atcs-ee-home') > -1 || _route.indexOf('atcs-form-eer') > -1;\n const _confirm: any = this.$refs.confirmResubmitRequest;\n _confirm.show({\n title: 'Stop',\n message: 'Compliance form has been updated by the trust admin',\n okButton: 'OK',\n cancelButton: '',\n }).then((res: any) => {\n if (res) {\n if (_isEE) {\n this.$router.push({ name: RouteN.ATCS.EEHome.n });\n } else {\n this.$router.push({ name: RouteN.ATCS.DashboardMain.n });\n }\n }\n })\n }\n\n}\n","import { render } from \"./app.html?vue&type=template&id=76ae27f2&ts=true&external\"\nimport script from \"./app.ts?vue&type=script&lang=ts&external\"\nexport * from \"./app.ts?vue&type=script&lang=ts&external\"\n\nimport \"./app.scss?vue&type=style&index=0&lang=scss&external\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nexport function render(_ctx, _cache) {\n const _component_LoadingSpinner = _resolveComponent(\"LoadingSpinner\")\n const _component_StdPageLayout = _resolveComponent(\"StdPageLayout\")\n\n return (_openBlock(), _createBlock(_component_StdPageLayout, {\n showAccountControl: false,\n isExternal: true\n }, {\n \"body-content\": _withCtx(() => [\n _createVNode(_component_LoadingSpinner)\n ]),\n _: 1\n }))\n}","import { AuthorizedUser } from '../../models/authorized-user';\nimport AuthenticationService from './authentication.service';\nimport { AuthenticationStatusType, AuthenticationStatus } from './authentication-status';\n\nexport class Authentication {\n\n private authService: AuthenticationService;\n private loginCallback: (x: AuthenticationStatusType) => void;\n\n constructor(\n public authorizedUser: AuthorizedUser\n ) {\n this.authService = new AuthenticationService(this.authorizedUser);\n this.loginCallback = null as any;\n }\n\n public runAuthCheck(cb: () => void): void {\n this.loginCallback = cb;\n this.productionAuth();\n }\n\n public logout(cb: () => void): void {\n this.clearBrowserStorages();\n this.deleteAllCookies();\n\n if (typeof cb === 'function') {\n cb();\n }\n }\n\n private clearBrowserStorages(): void {\n try {\n localStorage.clear();\n sessionStorage.clear();\n } catch (err) {\n console.log(err);\n }\n }\n\n\n private deleteAllCookies() {\n const cookies: string[] = document.cookie.split(';');\n for (const cookie of cookies) {\n const eqPos: number = cookie.indexOf('=');\n const name: string = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;\n document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:00 GMT';\n }\n }\n\n\n private productionAuth(): void {\n this.authService.checkAuthentication()\n .then((res: any) => {\n this.productionVerify();\n })\n .catch((err: any) => {\n this.productionVerify();\n });\n }\n\n private productionVerify(): void {\n // const v1: ClientType = this.userAccount.clientType;\n const v2: AuthenticationStatus = this.authorizedUser.authenticationStatus;\n // const c1: boolean = v1 === ClientTypeID.DesktopApp;\n const c2: boolean = v2 === AuthenticationStatusType.LoggedIn;\n const c3: boolean = v2 === AuthenticationStatusType.NotLogin;\n\n this.authorizedUser.authenticationStatus = c2 ? AuthenticationStatusType.AppAccessPermitted : AuthenticationStatusType.NotLogin;\n\n if (typeof this.loginCallback === 'function') {\n this.loginCallback(this.authorizedUser.authenticationStatus);\n }\n }\n}\n","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7d34a782\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"loading-spinner\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"spinner-main\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-spinner fa-spin fa-6x\" })\n], -1))\nconst _hoisted_3 = [\n _hoisted_2\n]\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, _hoisted_3))\n}","\nimport { Options, Vue } from 'vue-class-component';\n@Options({\n props: {\n }\n})\nexport default class LoadingSpinner extends Vue {\n\n}\n\n","import { render } from \"./loading-spinner.html?vue&type=template&id=7d34a782&scoped=true&ts=true&external\"\nimport script from \"./loading-spinner.ts?vue&type=script&lang=ts&external\"\nexport * from \"./loading-spinner.ts?vue&type=script&lang=ts&external\"\n\nimport \"./loading-spinner.scss?vue&type=style&index=0&id=7d34a782&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7d34a782\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0b72f6b8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"std-page-layout-main\" }\n\nexport function render(_ctx, _cache) {\n const _component_PageHeader = _resolveComponent(\"PageHeader\")\n const _component_PageFooter = _resolveComponent(\"PageFooter\")\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_PageHeader, {\n showAppMenu: _ctx.showAccountControl,\n isExternal: _ctx.isExternal\n }, null, 8, [\"showAppMenu\", \"isExternal\"]),\n _renderSlot(_ctx.$slots, \"body-content\", {}, undefined, true),\n _createVNode(_component_PageFooter, {\n baseYear: _ctx.baseYear,\n currentYear: _ctx.currentYear,\n class: \"footer\"\n }, null, 8, [\"baseYear\", \"currentYear\"])\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/logo.svg'\nimport _imports_1 from '@/assets/logo_vertical.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-c106c64c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"section-header\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"server-date\"\n}\nconst _hoisted_3 = { class: \"page-header-main container\" }\nconst _hoisted_4 = { class: \"page-header\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n class: \"logo\",\n src: _imports_0\n}, null, -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n class: \"logo-small\",\n src: _imports_1\n}, null, -1))\nconst _hoisted_7 = {\n key: 0,\n class: \"app-name\"\n}\nconst _hoisted_8 = [\"innerHTML\"]\n\nexport function render(_ctx, _cache) {\n const _component_AccountInfoPanel = _resolveComponent(\"AccountInfoPanel\")\n const _component_AlertBox = _resolveComponent(\"AlertBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (this.env.length > 0 && !_ctx.isToday && _ctx.showDateTip)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createTextVNode(_toDisplayString(_ctx.$formatDate(_ctx.displayDate)) + \" \", 1),\n _createElementVNode(\"i\", {\n class: \"fal fa-times ml-3\",\n onClick: _cache[0] || (_cache[0] = $event => (_ctx.showDateTip = false)),\n style: {\"cursor\":\"pointer\"}\n })\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _hoisted_6,\n (_ctx.appName)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_7, _toDisplayString(_ctx.appName), 1))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.showAppMenu)\n ? (_openBlock(), _createBlock(_component_AccountInfoPanel, {\n key: 0,\n isExternal: _ctx.isExternal\n }, null, 8, [\"isExternal\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.showCancelAlertBox)\n ? (_openBlock(), _createBlock(_component_AlertBox, {\n key: 1,\n onClose: _cache[3] || (_cache[3] = $event => (_ctx.showCancelAlertBox = false))\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.alertBoxTitle), 1)\n ]),\n body: _withCtx(() => [\n _createElementVNode(\"div\", { innerHTML: _ctx.alertBoxBody }, null, 8, _hoisted_8)\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: _cache[1] || (_cache[1] = $event => (_ctx.exitApplication()))\n }, \"Yes\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-tertiary sml\",\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.showCancelAlertBox = false))\n }, \"No\")\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderSlot as _renderSlot, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, Transition as _Transition, withCtx as _withCtx, createVNode as _createVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"alert-box\" }\nconst _hoisted_2 = { class: \"modal-mask\" }\nconst _hoisted_3 = {\n class: \"modal-wrapper\",\n ref: \"modalWrapper\"\n}\nconst _hoisted_4 = { class: \"modal-container\" }\nconst _hoisted_5 = { class: \"modal-header\" }\nconst _hoisted_6 = { class: \"modal-body\" }\nconst _hoisted_7 = { class: \"modal-footer\" }\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_Transition, { name: \"modal\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n (_ctx.showCloseBut)\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: \"fal fa-times-circle close-icon\",\n onClick: _cache[0] || (_cache[0] = $event => (_ctx.$emit('close')))\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n _renderSlot(_ctx.$slots, \"header\", {}, () => [\n _createTextVNode(\" default header \")\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _renderSlot(_ctx.$slots, \"body\", {}, () => [\n _createTextVNode(\" default body \")\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _renderSlot(_ctx.$slots, \"footer\", {}, () => [\n _createTextVNode(\" default footer \"),\n _createElementVNode(\"button\", {\n class: \"modal-default-button\",\n onClick: _cache[1] || (_cache[1] = $event => (_ctx.$emit('close')))\n }, \" OK \")\n ])\n ])\n ])\n ], 512)\n ])\n ]),\n _: 3\n })\n ]))\n}","import { Options, Vue } from 'vue-class-component';\nimport { Prop } from 'vue-property-decorator';\n\n@Options({\n})\nexport default class AlertBox extends Vue {\n\n @Prop({default: true})\n private showCloseBut!: boolean;\n\n mounted(): void {\n document.body.classList.add('modal-open');\n }\n\n beforeUnmount(): void {\n document.body.classList.remove('modal-open');\n }\n \n}\n","import { render } from \"./alert-box.html?vue&type=template&id=f20e6902&ts=true&external\"\nimport script from \"./alert-box.ts?vue&type=script&lang=ts&external\"\nexport * from \"./alert-box.ts?vue&type=script&lang=ts&external\"\n\nimport \"./alert-box.scss?vue&type=style&index=0&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { ApplicationInsights } from '@microsoft/applicationinsights-web'\nimport { APP_INSIGHT_CS } from './config/config';\n\nconst appInsights = new ApplicationInsights({\n config: {\n connectionString: APP_INSIGHT_CS,\n enableAutoRouteTracking: true,\n /* ...Other Configuration Options... */\n // https://docs.microsoft.com/en-us/azure/azure-monitor/app/javascript\n }\n});\n\n// https://github.com/microsoft/ApplicationInsights-JS#readme\nexport class AppInsights {\n\n public loadAppInsights(): void {\n appInsights.loadAppInsights();\n }\n\n public trackPageView(): void {\n appInsights.trackPageView();\n }\n\n public trackEvent(eventString: string): void {\n appInsights.trackEvent({ name: eventString })\n }\n\n // public trackPageViewPerformance() {\n // appInsights.trackPageViewPerformance({name : 'somepage', url: 'some url'});\n // }\n\n public trackException(err: string): void {\n appInsights.trackException({ exception: new Error(err) });\n }\n\n public trackTrace(msg: string): void {\n appInsights.trackTrace({ message: msg });\n }\n\n public trackMetric(n: string, avg: number): void {\n appInsights.trackMetric({ name: n, average: avg });\n }\n\n\n // public trackDependencyData(absUrl: string, resCode: number, method: string, id: string) {\n // appInsights.trackDependencyData({ absoluteUrl: absUrl, responseCode: resCode, method: method, id: id });\n // }\n\n public startTrackPage(pageName: string): void {\n appInsights.startTrackPage(pageName);\n }\n\n\n public stopTrackPage(pageName: string, url: string, props: any): void {\n // appInsights.stopTrackPage(\"pageName\", null, { customProp1: \"some value\" });\n appInsights.stopTrackPage(pageName, url, props);\n }\n\n public startTrackEvent(et: any): void {\n appInsights.startTrackEvent(et);\n }\n\n\n // public stopTrackEvent(et: any, url: string, props: any) {\n // // appInsights.stopTrackEvent(\"event\", null, { customProp1: \"some value\" });\n // }\n\n\n public flush(): void {\n appInsights.flush();\n }\n\n\n}\n","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, withModifiers as _withModifiers, resolveComponent as _resolveComponent, createBlock as _createBlock, Transition as _Transition, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0a164ebc\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"account-info-panel\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"user-info-preview\"\n}\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = { key: 1 }\nconst _hoisted_5 = { class: \"menuButton-icon\" }\nconst _hoisted_6 = { class: \"menuButton-text\" }\n\nexport function render(_ctx, _cache) {\n const _component_ApplicationMenu = _resolveComponent(\"ApplicationMenu\")\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.appAccessPermitted)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n (_ctx.infoTextRow0)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_3, _toDisplayString(_ctx.infoTextRow0), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.infoTextRow1)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, _toDisplayString(_ctx.infoTextRow1), 1))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = _withModifiers((...args) => (_ctx.onMenuClicked && _ctx.onMenuClicked(...args)), [\"prevent\",\"stop\"])),\n ref: \"menuButton\",\n class: \"menuButton\"\n }, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"i\", {\n class: _normalizeClass(['far', 'fa-3x', _ctx.menuIcon, 'icon'])\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_6, _toDisplayString(_ctx.menuButtonText), 1)\n ], 512),\n _createVNode(_Transition, {\n name: \"fade\",\n mode: \"out-in\"\n }, {\n default: _withCtx(() => [\n (_ctx.showMenu)\n ? (_openBlock(), _createBlock(_component_ApplicationMenu, {\n key: 0,\n ref: \"dropDownMenu\",\n show: _ctx.showMenu,\n isExternal: _ctx.isExternal\n }, null, 8, [\"show\", \"isExternal\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ]))\n}","import { createElementVNode as _createElementVNode, vShow as _vShow, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b2edc324\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"app-menu\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"Contact Us\", -1))\nconst _hoisted_3 = [\n _hoisted_2\n]\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"FAQs\", -1))\nconst _hoisted_5 = [\n _hoisted_4\n]\nconst _hoisted_6 = { class: \"section-start\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"My Account\", -1))\nconst _hoisted_8 = [\n _hoisted_7\n]\n\nexport function render(_ctx, _cache) {\n return _withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"ul\", null, [\n _createElementVNode(\"li\", null, [\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = $event => (_ctx.goToContactUs()))\n }, _hoisted_3)\n ]),\n _createElementVNode(\"li\", null, [\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = $event => (_ctx.goToFAQ()))\n }, _hoisted_5)\n ]),\n _createElementVNode(\"li\", _hoisted_6, [\n _createElementVNode(\"button\", {\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.signOut()))\n }, _hoisted_8)\n ])\n ])\n ], 512)), [\n [_vShow, _ctx.show]\n ])\n}","import { Options, Vue } from 'vue-class-component';\nimport { Prop } from 'vue-property-decorator';\nimport UserDefine from '@/assets/config/user-define.json';\nimport { EventEmitter } from 'events';\nimport store from '@/trust-atcs-app/store';\nimport { RouteN } from '@/trust-atcs-app/constants/router-name';\n\n@Options({})\nexport default class ApplicationMenuComponent extends Vue {\n\n @Prop({ required: true })\n public show!: boolean;\n\n @Prop({ default: null })\n private isExternal!: boolean;\n\n // get userAccount(): UserAccount {\n // return this.$store.getters.getUserAccount;\n // }\n\n // get RouteN(): RouteName {\n // return RouteN;\n // }\n\n // get Section(): SectionName {\n // return Section;\n // }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private goToFAQ() {\n window.open(UserDefine[0].faq_atcs_url, 'blank');\n }\n\n private goToContactUs() {\n window.open(UserDefine[0].contact_us_url, 'blank');\n }\n\n private signOut() {\n this.$router.push({ name: RouteN.ATCS.LogoutPage.n });\n }\n\n}\n","import { render } from \"./application-menu.html?vue&type=template&id=b2edc324&scoped=true&ts=true&external\"\nimport script from \"./application-menu.ts?vue&type=script&lang=ts&external\"\nexport * from \"./application-menu.ts?vue&type=script&lang=ts&external\"\n\nimport \"./application-menu.scss?vue&type=style&index=0&id=b2edc324&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-b2edc324\"]])\n\nexport default __exports__","import { Options, Vue } from 'vue-class-component';\nimport { Prop, Ref } from 'vue-property-decorator';\nimport ApplicationMenu from '../application-menu/index.vue';\nimport { EventEmitter } from 'events';\nimport { RouteN } from '@/trust-atcs-app/constants/router-name';\nimport store from '@/trust-atcs-app/store';\nimport { AuthorizedUser } from '@/trust-atcs-app/models/authorized-user';\nimport { AuthenticationStatusType } from '@/trust-atcs-app/modules/authentication/authentication-status';\n\n@Options({\n components: {\n ApplicationMenu\n }\n})\nexport default class AccountInfoPanel extends Vue {\n\n\n @Prop({ default: null })\n private isExternal!: boolean;\n\n @Ref('dropDownMenu')\n private dropDownMenuUI!: HTMLElement;\n\n public showMenu = false;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n created(): void {\n window.addEventListener('click', this.clickedElement);\n }\n\n beforeUnmount(): void {\n window.removeEventListener('click', this.clickedElement);\n }\n\n private clickedElement(e: MouseEvent): void | boolean {\n const el: HTMLElement = this.dropDownMenuUI;\n const elBut: HTMLElement = this.dropDownMenuUI;\n const target: HTMLElement = e.target as HTMLElement;\n if (el !== target && elBut !== target) {\n this.showMenu = false;\n }\n }\n\n private onMenuClicked() {\n switch (this.$route.name) {\n case RouteN.ATCS.Home.n:\n case RouteN.ATCS.Main.n:\n case RouteN.ATCS.ImpersonateUser.n:\n case RouteN.ATCS.DashboardMain.n:\n case RouteN.ATCS.DashboardHome.n:\n case RouteN.ATCS.EEHome.n:\n case RouteN.ATCS.EESignUp.n:\n this.showMenu = !this.showMenu;\n break;\n case RouteN.ATCS.FormPartA.n:\n case RouteN.ATCS.FormPartB.n:\n case RouteN.ATCS.FormEer.n:\n if (this.isConfirmationPage) {\n this.showMenu = !this.showMenu;\n } else if (!this.$route.query.sec) {\n this.$router.push({ name: RouteN.ATCS.Home.n });\n } else {\n this.saveCloseClick();\n }\n break;\n default:\n this.$router.push({ name: RouteN.ATCS.Home.n });\n break;\n }\n\n }\n\n get infoTextRow0(): string {\n try {\n return this.userAccount?.user?.firstName + ' ' + this.userAccount?.user?.lastName;\n } catch (err) {\n console.log(err);\n return '';\n }\n }\n\n get infoTextRow1(): string {\n try {\n if (this.userAccount?.user.impersonatedLawId) {\n return '(' + this.userAccount?.user?.originalFirstName + ' ' + this.userAccount?.user?.originalLastName + ')';\n } else {\n return 'LawID ' + this.userAccount?.user?.lawId;\n }\n } catch (err) {\n console.log(err);\n return '';\n }\n }\n\n get menuButtonText(): string {\n\n switch (this.$route.name) {\n case RouteN.ATCS.Home.n:\n case RouteN.ATCS.Main.n:\n case RouteN.ATCS.ImpersonateUser.n:\n case RouteN.ATCS.DashboardMain.n:\n case RouteN.ATCS.DashboardHome.n:\n case RouteN.ATCS.EEHome.n:\n case RouteN.ATCS.EESignUp.n:\n return 'Menu';\n case RouteN.ATCS.FormPartA.n:\n case RouteN.ATCS.FormPartB.n:\n case RouteN.ATCS.FormEer.n:\n if (this.isConfirmationPage) {\n return 'Menu';\n } else {\n return 'Save & Close';\n }\n default:\n return 'Close';\n }\n\n }\n\n\n get menuIcon(): string {\n switch (this.$route.name) {\n case RouteN.ATCS.Home.n:\n case RouteN.ATCS.Main.n:\n case RouteN.ATCS.ImpersonateUser.n:\n case RouteN.ATCS.DashboardMain.n:\n case RouteN.ATCS.DashboardHome.n:\n case RouteN.ATCS.EEHome.n:\n case RouteN.ATCS.EESignUp.n:\n return this.showMenu ? 'fa-times' : 'fa-bars';\n case RouteN.ATCS.FormPartA.n:\n case RouteN.ATCS.FormPartB.n:\n case RouteN.ATCS.FormEer.n:\n if (this.isConfirmationPage) {\n return this.showMenu ? 'fa-times' : 'fa-bars';\n } else {\n return 'fa-times';\n }\n default:\n return 'fa-bars';\n }\n\n }\n\n get selectionTypeClassName(): string {\n // switch (this.$route.name) {\n // case RouteN.Mars.Committee.n:\n // return 'committee';\n // case RouteN.Mars.Member.n:\n // return 'committee-member';\n // default:\n // return '';\n // }\n return '';\n }\n\n get isConfirmationPage(): boolean {\n const section: string = this.$route.query.sec as string || '';\n return section.indexOf('confirmation') > -1;\n }\n\n get isUpdating(): boolean {\n const section: string = this.$route.query.sec as string || '';\n return section.indexOf('update') == 0;\n }\n\n get userAccount(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n\n get appAccessPermitted(): boolean {\n return this.userAccount.authenticationStatus === AuthenticationStatusType.AppAccessPermitted ||\n this.userAccount.authenticationStatus === AuthenticationStatusType.LoggedIn;\n }\n\n private saveCloseClick() {\n this.eventCtrl.emit('save-and-close');\n }\n\n}\n","import { render } from \"./account-info-panel.html?vue&type=template&id=0a164ebc&scoped=true&ts=true&external\"\nimport script from \"./account-info-panel.ts?vue&type=script&lang=ts&external\"\nexport * from \"./account-info-panel.ts?vue&type=script&lang=ts&external\"\n\nimport \"./account-info-panel.scss?vue&type=style&index=0&id=0a164ebc&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0a164ebc\"]])\n\nexport default __exports__","import { MOVED_PERMANENTLY } from \"http-status-codes\";\nimport { PopoverView } from \"../components/popover/popover\";\nimport moment from \"moment\";\nimport popOverStore from \"@/trust-atcs-app/store\";\n\ndeclare module '@vue/runtime-core' {\n export interface ComponentCustomProperties {\n $formatDateTimeTypeA: (isoStr: string) => string,\n $formatDate: (isoStr: string) => string,\n formatMMYYYY: (isoStr: string) => string,\n $formatDateTimeTypeC: (isoStr: string) => string,\n $formatDateTimeTypeD: (isoStr: string) => string,\n $formatSecToHours: (seconds: number) => string,\n $getPopover: (pKey: string, pageId: number) => PopoverView,\n $formatDateFullDate: (isoStr: string) => string,\n }\n}\n\nexport default {\n methods: {\n\n $getPopover(pKey: string, pageId?: number): PopoverView {\n try {\n const _popOver = popOverStore.getters.getPopovers.filter((p: { pageId: number; key: string; }) => {\n if (pageId && pageId > 0) {\n return p.key == pKey && p.pageId == pageId;\n } else {\n return p.key == pKey;\n }\n })[0];\n return _popOver;\n } catch (err) {\n return {} as PopoverView;\n }\n },\n \n $formatDateTimeTypeA(isoStr: string): string {\n if (isoStr) {\n return moment(isoStr).format('DD/MM/YYYY HH:mm');\n } else {\n return '';\n }\n },\n $formatDate(isoStr: string): string {\n return isoStr ? moment(isoStr).format('DD/MM/YYYY') : '';\n },\n $formatMMYYYY(isoStr: string): string {\n return isoStr ? moment(isoStr).format('MM/YYYY') : '';\n },\n $formatDateTimeTypeC(isoStr: string): string {\n return moment(isoStr).format('HH:mm');\n },\n $formatDateTimeTypeD(isoStr: string): string {\n return moment(isoStr).format('DD/MM/YYYY HH:mm');\n },\n $formatSecToHours(seconds: number): string {\n if (seconds > 1) {\n return seconds / 60 + ' hours';\n } else if (seconds == 60) {\n return seconds / 60 + ' hour';\n } else {\n return '';\n }\n },\n $formatDateFullDate(isoStr: string): string {\n return isoStr ? moment(isoStr).format('DD MMM YYYY') : '';\n },\n }\n};\n","import { Options, Vue } from 'vue-class-component';\nimport { Inject, Prop, Watch } from 'vue-property-decorator';\n// import AccountInfoPanel from '@/shared/components/page-header/account-info-panel/index.vue';\nimport AlertBox from '@/shared/components/alert-box/index.vue';\nimport { EventEmitter } from 'events';\nimport { API_URL, SOURCE_BRANCH } from '@/trust-atcs-app/config/config';\nimport { AppInsights } from '@/trust-atcs-app/appInsights';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport store from '@/trust-atcs-app/store';\nimport { RouteN } from '@/trust-atcs-app/constants/router-name';\nimport AccountInfoPanel from '../account-info-panel/index.vue';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\n\n\n@Options({\n components: {\n AccountInfoPanel,\n AlertBox,\n },\n mixins: [FormatDateTimeMixin],\n})\nexport default class PageHeader extends Vue {\n private ai = new AppInsights;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop({ default: true })\n private showAppMenu!: boolean;\n\n @Prop({ default: null })\n private isExternal!: boolean;\n\n private showCancelAlertBox = false;\n private alertBoxTitle = '';\n private alertBoxBody = 'Are you sure you want to cancel?';\n\n private appName = '';\n\n private sourceBranch = SOURCE_BRANCH;\n private apiURL = API_URL;\n public apiBranch = '';\n private isToday = false;\n private showDateTip = true;\n\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n @Watch('$route.name')\n private onRouteChanged(): void {\n this.setAppName();\n }\n\n mounted(): void {\n // this.eventCtrl.on('cancel-adjustment', this.closeAdjustment);\n // this.eventCtrl.on('cancel-update', this.cancelUpdate);\n this.eventCtrl.on('cancel-pc-renew', this.cancelApplication);\n this.eventCtrl.on('cancel-pc-no-renew', this.cancelApplication);\n this.eventCtrl.on('cancel-sm-application', this.cancelApplication);\n this.eventCtrl.on('cancel-sar-application', this.cancelApplication);\n this.eventCtrl.on('cancel-sanr-application', this.cancelApplication);\n this.eventCtrl.on('cancel-amn-application', this.cancelApplication);\n this.eventCtrl.on('cancel-amr-application', this.cancelApplication);\n this.eventCtrl.on('cancel-stn-application', this.cancelApplication);\n this.eventCtrl.on('cancel-str-application', this.cancelApplication);\n this.eventCtrl.on('cancel-stn-fromlink', this.cancelSTApplication);\n this.eventCtrl.on('cancel-str-fromlink', this.cancelSTApplication);\n this.setAppName();\n this.getSystemDate();\n if (this.env.length > 0) {\n setInterval(() => {\n this.getSystemDate();\n }, 10000);\n }\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('cancel-pc-renew', this.cancelApplication);\n this.eventCtrl.removeListener('cancel-pc-no-renew', this.cancelApplication);\n this.eventCtrl.removeListener('cancel-sm-application', this.cancelApplication);\n this.eventCtrl.removeListener('cancel-sar-application', this.cancelApplication);\n this.eventCtrl.removeListener('cancel-sanr-application', this.cancelApplication);\n this.eventCtrl.removeListener('cancel-amn-application', this.cancelApplication);\n this.eventCtrl.removeListener('cancel-amr-application', this.cancelApplication);\n this.eventCtrl.removeListener('cancel-stn-application', this.cancelApplication);\n this.eventCtrl.removeListener('cancel-str-application', this.cancelApplication);\n this.eventCtrl.removeListener('cancel-amr-application', this.cancelApplication);\n this.eventCtrl.removeListener('cancel-stn-fromlink', this.cancelSTApplication);\n this.eventCtrl.removeListener('cancel-str-fromlink', this.cancelSTApplication);\n }\n\n private setAppName() {\n this.appName = 'ANNUAL TRUST COMPLIANCE SUBMISSION';\n }\n\n private cancelApplication(): void {\n this.alertBoxTitle = \"CANCEL APPLICATION\";\n this.alertBoxBody = 'By cancelling the application all progress will be lost. Are you sure you want to cancel?';\n if (this.isConfirmationPage) {\n this.exitApplication();\n } else {\n this.showCancelAlertBox = true;\n }\n }\n\n private cancelSTApplication(): void {\n this.alertBoxTitle = \"CANCEL APPLICATION\";\n this.alertBoxBody = 'By selecting the \"Associate Membership Application\" link, you will be directed back to the MY LAW SOCIETY portal, and your current application will be cancelled. Once on the portal, locate the Associate Membership card and click the \\'Apply Now\\' button.

Do you wish to continue?';\n if (this.isConfirmationPage) {\n this.exitApplication();\n } else {\n this.showCancelAlertBox = true;\n }\n }\n\n // private cancelPcRenew() {\n // this.alertBoxTitle = \"CANCEL APPLICATION\";\n // this.alertBoxBody = 'By cancelling the application all progress will be lost. Are you sure you want to cancel?';\n // if (this.isConfirmationPage) {\n // this.exitApplication();\n // } else {\n // this.showCancelAlertBox = true;\n // }\n // }\n\n // private cancelPcNoRenew() {\n // this.alertBoxTitle = \"CANCEL APPLICATION\";\n // this.alertBoxBody = 'By cancelling the application all progress will be lost. Are you sure you want to cancel?';\n // if (this.isConfirmationPage) {\n // this.exitApplication();\n // } else {\n // this.showCancelAlertBox = true;\n // }\n // }\n\n // private cancelSmApplication() {\n // this.alertBoxTitle = \"CANCEL APPLICATION\";\n // this.alertBoxBody = 'By cancelling the application all progress will be lost. Are you sure you want to cancel?';\n // if (this.isConfirmationPage) {\n // this.exitApplication();\n // } else {\n // this.showCancelAlertBox = true;\n // }\n // }\n\n // private cancelSarApplication() {\n // this.alertBoxTitle = \"CANCEL APPLICATION\";\n // this.alertBoxBody = 'By cancelling the application all progress will be lost. Are you sure you want to cancel?';\n // if (this.isConfirmationPage) {\n // this.exitApplication();\n // } else {\n // this.showCancelAlertBox = true;\n // }\n // }\n\n // private cancelAmnApplication() {\n // this.alertBoxTitle = \"CANCEL APPLICATION\";\n // this.alertBoxBody = 'By cancelling the application all progress will be lost. Are you sure you want to cancel?';\n // if (this.isConfirmationPage) {\n // this.exitApplication();\n // } else {\n // this.showCancelAlertBox = true;\n // }\n // }\n\n // private cancelAmrApplication() {\n // this.alertBoxTitle = \"CANCEL APPLICATION\";\n // this.alertBoxBody = 'By cancelling the application all progress will be lost. Are you sure you want to cancel?';\n // if (this.isConfirmationPage) {\n // this.exitApplication();\n // } else {\n // this.showCancelAlertBox = true;\n // }\n // }\n\n private async exitApplication(): Promise {\n\n try {\n this.showCancelAlertBox = false;\n // clear all application data\n const _appId = store.getters.getAppRenew.id;\n // if (this.$route.name == RouteN.Mars.PcRenew.n || this.$route.name == RouteN.Mars.PcRenewOverview.n) {\n // await this.apiService.PcRenewApi?.apiV2PcRenewCancelPcRenewApplicationApplicationIdGet(_appId);\n // } else if (this.$route.name == RouteN.Mars.PcNoRenew.n) {\n // await this.apiService.PcNonRenewApi?.apiV2PcNonRenewCancelPcRenewApplicationApplicationIdGet(_appId);\n // } else if (this.$route.name == RouteN.Mars.SmApplication.n) {\n // await this.apiService.SmApi?.apiV2SmCancelSmApplicationApplicationIdGet(_appId);\n // } else if (this.$route.name == RouteN.Mars.SarApplication.n) {\n // await this.apiService.SpecAccRenewApi?.apiV2SpecAccRenewCancelApplicationApplicationIdGet(_appId);\n // } else if (this.$route.name == RouteN.Mars.SaNrApplication.n) {\n // await this.apiService.SpecAccNonRenewApi?.apiV2SpecAccNonRenewCancelApplicationApplicationIdGet(_appId);\n // } else if (this.$route.name == RouteN.Mars.AmnApplication.n) {\n // await this.apiService.AmNewApi?.apiV2AmNewCancelAmNewApplicationApplicationIdGet(_appId);\n // } else if (this.$route.name == RouteN.Mars.StnApplication.n) {\n // await this.apiService.StudentNewApi?.apiV2StudentNewCancelStudentNewApplicationApplicationIdGet(_appId);\n // } else if (this.$route.name == RouteN.Mars.StrApplication.n) {\n // await this.apiService.StudentRenewApi?.apiV2StudentRenewCancelStudentRenewApplicationApplicationIdGet(_appId);\n // } else if (this.$route.name == RouteN.Mars.AmrApplication.n) {\n // await this.apiService.AmRenewApi?.apiV2AmRenewCancelAmRenewApplicationApplicationIdGet(_appId);\n // }\n } catch (err) {\n console.log(err);\n } finally {\n window.sessionStorage.clear();\n store.dispatch('setPcrFormData', {});\n this.$router.push({ name: RouteN.ATCS.Home.n });\n }\n }\n\n get isConfirmationPage(): boolean {\n const section: string = this.$route.query.sec as string || '';\n return section.indexOf('confirmation') > -1;\n }\n\n get env(): string {\n const local = window.location.href.indexOf('localhost') > 0 ? 'DEV' : '';\n const dev = window.location.href.indexOf('-dev') > 0 ? 'DEV' : '';\n const sit = window.location.href.indexOf('-sit') > 0 ? 'SIT' : '';\n return local + dev + sit;\n }\n\n get isSameBranchName(): boolean {\n return this.sourceBranch == this.apiBranch;\n }\n\n private displayDate = new Date();\n\n private isDateToday(dateString: string) {\n // Parse the date string into a Date object\n const date = new Date(dateString);\n\n // Get today's date\n const today = new Date();\n\n // Compare years, months, and days\n return (\n date.getFullYear() === today.getFullYear() &&\n date.getMonth() === today.getMonth() &&\n date.getDate() === today.getDate()\n );\n }\n\n private getSystemDate(): void {\n if (this.showDateTip) {\n this.apiService?.DateApi.apiV2DateGetBaseDateGet()\n .then((res: any) => {\n this.displayDate = new Date(res.data);\n this.isToday = this.isDateToday((this.displayDate.toISOString()));\n })\n .catch((err: any) => {\n this.ai.trackException('Get date failed: ' + err);\n console.log('Get date failed: ', err);\n })\n }\n }\n\n}\n","import { render } from \"./page-header.html?vue&type=template&id=c106c64c&scoped=true&ts=true&external\"\nimport script from \"./page-header.ts?vue&type=script&lang=ts&external\"\nexport * from \"./page-header.ts?vue&type=script&lang=ts&external\"\n\nimport \"./page-header.scss?vue&type=style&index=0&id=c106c64c&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c106c64c\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/logo-white.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2f2744fa\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"page-footer-main\" }\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = { class: \"row\" }\nconst _hoisted_4 = { class: \"col-12 page-footer\" }\nconst _hoisted_5 = { class: \"footer-text\" }\nconst _hoisted_6 = { class: \"footer-text-wrap\" }\nconst _hoisted_7 = { class: \"links\" }\nconst _hoisted_8 = [\"href\"]\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"gap\" }, null, -1))\nconst _hoisted_10 = [\"href\"]\nconst _hoisted_11 = { class: \"copyright\" }\nconst _hoisted_12 = { class: \"footer-logo\" }\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"span\", null, [\n _createElementVNode(\"a\", {\n class: \"link-1\",\n target: \"blank\",\n href: _ctx.termsUrl\n }, \"Terms of Use\", 8, _hoisted_8)\n ]),\n _hoisted_9,\n _createElementVNode(\"span\", null, [\n _createElementVNode(\"a\", {\n class: \"link-2\",\n target: \"blank\",\n href: _ctx.privacyUrl\n }, \"Privacy Policy\", 8, _hoisted_10)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"small\", null, \"© Copyright \" + _toDisplayString(_ctx.copyrightYearRange) + \" - The Law Society of New South Wales (ABN 98 696 304 966, ACN 000 000 699)\", 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"img\", {\n class: \"logo\",\n onClick: _cache[0] || (_cache[0] = $event => (_ctx.logoClick())),\n src: _imports_0,\n alt: \"Footer logo\",\n title: \"The Law Society of New South Wales\"\n })\n ])\n ])\n ])\n ])\n ]))\n}","import moment from 'moment';\nimport { Options, Vue } from 'vue-class-component';\nimport { Prop } from 'vue-property-decorator';\nimport UserDefine from '@/assets/config/user-define.json';\n\n@Options({})\nexport default class PageFooter extends Vue {\n\n @Prop({ default: null })\n private baseYear!: string;\n\n @Prop({ default: null })\n private currentYear!: string;\n\n get termsUrl(): string {\n return UserDefine[0].terms_url;\n }\n get privacyUrl(): string {\n return UserDefine[0].privacy_url;\n }\n\n get copyrightYearRange(): string {\n if (this.baseYear == null) {\n return moment().format('YYYY');\n } else if (this.baseYear == this.currentYear){\n return this.baseYear;\n } else {\n return this.baseYear + ' - ' + this.currentYear;\n }\n }\n\n private logoClick() {\n window.open(UserDefine[0].lnsw_url, 'blank');\n }\n\n}\n","import { render } from \"./page-footer.html?vue&type=template&id=2f2744fa&scoped=true&ts=true&external\"\nimport script from \"./page-footer.ts?vue&type=script&lang=ts&external\"\nexport * from \"./page-footer.ts?vue&type=script&lang=ts&external\"\n\nimport \"./page-footer.scss?vue&type=style&index=0&id=2f2744fa&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2f2744fa\"]])\n\nexport default __exports__","import { Options, Vue } from 'vue-class-component';\nimport PageHeader from '../page-header/page-header/index.vue';\nimport PageFooter from '../page-footer/index.vue';\nimport { Prop } from 'vue-property-decorator';\nimport moment from 'moment';\n\n@Options({\n components: {\n PageHeader,\n PageFooter\n }\n})\nexport default class StdPageLayout extends Vue {\n @Prop({ default: false })\n private showAccountControl!: boolean;\n\n @Prop({ default: null })\n private isExternal!: boolean;\n\n private baseDate: string = new Date().toUTCString();\n \n private baseYear = '2023';\n private currentYear = moment(this.baseDate).format('YYYY');\n}\n\n\n","import { render } from \"./std-page-layout.html?vue&type=template&id=0b72f6b8&scoped=true&ts=true&external\"\nimport script from \"./std-page-layout.ts?vue&type=script&lang=ts&external\"\nexport * from \"./std-page-layout.ts?vue&type=script&lang=ts&external\"\n\nimport \"./std-page-layout.scss?vue&type=style&index=0&id=0b72f6b8&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0b72f6b8\"]])\n\nexport default __exports__","import { Options, Vue } from \"vue-class-component\";\nimport { Authentication } from '../../modules/authentication/authentication';\nimport { SELF_URL } from '../../config/config';\nimport { Url } from '../../config/url';\nimport { AuthenticationStatusType, AuthenticationStatus } from '../../modules/authentication/authentication-status';\nimport { RouteN } from '../../constants/router-name';\nimport { AuthorizedUser } from \"../../models/authorized-user\";\nimport store from '../../store/index';\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport StdPageLayout from \"../std-page-layout/index.vue\";\n\n@Options({\n components: {\n StdPageLayout,\n LoadingSpinner\n }\n})\nexport default class AutoLogin extends Vue {\n\n private authentication: Authentication = new Authentication(\n this.userAccount\n );\n\n created() {\n this.authentication.runAuthCheck(this.authCheckCallBack);\n }\n\n private authCheckCallBack(status: AuthenticationStatus = AuthenticationStatusType.NotLogin): void {\n const redirect: string = this.$route.query.redirect as string;\n switch (status) {\n case AuthenticationStatusType.AppAccessPermitted:\n setTimeout(() => {\n this.$router.push(\n redirect ? redirect : { name: RouteN.ATCS.Main.n }\n );\n }, 0);\n break;\n case AuthenticationStatusType.AppAccessDenied:\n setTimeout(() => { this.$router.push({ name: RouteN.NoAccess.n }); }, 0);\n break;\n case AuthenticationStatusType.NotLogin:\n setTimeout(() => { document.location.href = SELF_URL + Url.Login; }, 0);\n break;\n default:\n setTimeout(() => { document.location.href = SELF_URL + Url.Logout; }, 0);\n break;\n }\n }\n\n get userAccount(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n}\n","import { render } from \"./auto-login.html?vue&type=template&id=7f692518&scoped=true&ts=true&external\"\nimport script from \"./auto-login.ts?vue&type=script&lang=ts&external\"\nexport * from \"./auto-login.ts?vue&type=script&lang=ts&external\"\n\nimport \"./auto-login.scss?vue&type=style&index=0&id=7f692518&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7f692518\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nexport function render(_ctx, _cache) {\n const _component_LoadingSpinner = _resolveComponent(\"LoadingSpinner\")\n const _component_StdPageLayout = _resolveComponent(\"StdPageLayout\")\n\n return (_openBlock(), _createBlock(_component_StdPageLayout, {\n showAccountControl: false,\n isExternal: true\n }, {\n \"body-content\": _withCtx(() => [\n _createVNode(_component_LoadingSpinner)\n ]),\n _: 1\n }))\n}","import { Options, Vue } from \"vue-class-component\";\nimport { Authentication } from '../../modules/authentication/authentication';\nimport { AuthorizedUser } from '../../models/authorized-user';\nimport { SELF_URL } from '../../config/config';\nimport { Url } from '../../config/url';\nimport store from '../../store';\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport StdPageLayout from \"../std-page-layout/index.vue\";\n@Options({\n components: {\n StdPageLayout,\n LoadingSpinner\n }\n})\nexport default class Logout extends Vue {\n\n private authentication: Authentication = new Authentication(\n this.userAccount);\n\n created() {\n this.authentication.logout(this.logoutCallBack);\n }\n\n private logoutCallBack(): void {\n setTimeout( () => { document.location.href = SELF_URL + Url.Logout; }, 0);\n }\n\n get userAccount(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n}\n","import { render } from \"./logout.html?vue&type=template&id=4ec4d7d6&scoped=true&ts=true&external\"\nimport script from \"./logout.ts?vue&type=script&lang=ts&external\"\nexport * from \"./logout.ts?vue&type=script&lang=ts&external\"\n\nimport \"./logout.scss?vue&type=style&index=0&id=4ec4d7d6&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4ec4d7d6\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-53bf1288\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"content-main\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"container\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"row\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"col-12 content_main_wrap\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"content_ls_margin\" }, [\n /*#__PURE__*/_createElementVNode(\"h3\", null, \"No Access\"),\n /*#__PURE__*/_createElementVNode(\"p\", null, \"You do not have access to this application.\")\n ])\n ])\n ])\n ])\n], -1))\n\nexport function render(_ctx, _cache) {\n const _component_StdPageLayout = _resolveComponent(\"StdPageLayout\")\n\n return (_openBlock(), _createBlock(_component_StdPageLayout, null, {\n \"body-content\": _withCtx(() => [\n _hoisted_1\n ]),\n _: 1\n }))\n}","import { Options, Vue } from 'vue-class-component';\nimport StdPageLayout from '../std-page-layout/index.vue';\n@Options({\n components:{\n StdPageLayout\n }\n})\nexport default class NoAccess extends Vue {\n\n}\n","import { render } from \"./no-access.html?vue&type=template&id=53bf1288&scoped=true&ts=true&external\"\nimport script from \"./no-access.ts?vue&type=script&lang=ts&external\"\nexport * from \"./no-access.ts?vue&type=script&lang=ts&external\"\n\nimport \"./no-access.scss?vue&type=style&index=0&id=53bf1288&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-53bf1288\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nexport function render(_ctx, _cache) {\n const _component_router_view = _resolveComponent(\"router-view\")\n const _component_StdPageLayout = _resolveComponent(\"StdPageLayout\")\n\n return (_openBlock(), _createBlock(_component_StdPageLayout, {\n showAccountControl: true,\n isExternal: true\n }, {\n \"body-content\": _withCtx(() => [\n _createVNode(_component_router_view)\n ]),\n _: 1\n }))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, withModifiers as _withModifiers, resolveComponent as _resolveComponent, createBlock as _createBlock, Transition as _Transition, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5dea43ef\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"account-info-panel\" }\nconst _hoisted_2 = { class: \"user-info-preview\" }\nconst _hoisted_3 = { class: \"selection-type\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"fal fa-user fa-2x\"\n}\nconst _hoisted_5 = { class: \"menuButton-icon\" }\n\nexport function render(_ctx, _cache) {\n const _component_ApplicationMenu = _resolveComponent(\"ApplicationMenu\")\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.infoTextRow0), 1),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.infoTextRow1), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n (_ctx.selectionTypeClassName == 'investigator')\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_4))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = _withModifiers((...args) => (_ctx.onMenuClicked && _ctx.onMenuClicked(...args)), [\"prevent\",\"stop\"])),\n ref: \"menuButton\",\n class: \"menuButton\"\n }, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"i\", {\n class: _normalizeClass(['far', 'fa-3x', _ctx.menuIcon, 'icon'])\n }, null, 2)\n ])\n ], 512),\n _createVNode(_Transition, {\n name: \"fade\",\n mode: \"out-in\"\n }, {\n default: _withCtx(() => [\n (_ctx.showMenu)\n ? (_openBlock(), _createBlock(_component_ApplicationMenu, {\n key: 0,\n ref: \"dropDownMenu\",\n show: _ctx.showMenu\n }, null, 8, [\"show\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ]))\n}","export class User {\n constructor(\n public adminCommitteeIds: number[] = [],\n public externalId: string = '',\n public email: string = '',\n public firstName: string = '',\n public lastName: string = '',\n public title: string = '',\n public userName: string = '',\n public lawId: string = '',\n public isMember: boolean = false,\n public isPcHolder: boolean = false,\n public securityGroups: string = '',\n public roles: Role[] = [],\n ) { }\n}\n\nexport type Role = RoleType.TrustAdmin | RoleType.TrustInvestigator |\nRoleType.TrustManager | RoleType.TrustSectionLeader | RoleType.TrustSuperAdmin;\n\nexport enum RoleType {\n TrustAdmin = 'TrustAdmin',\n TrustInvestigator = 'TrustInvestigator',\n TrustManager = 'Manager',\n TrustSectionLeader = 'SectionLeader',\n TrustSuperAdmin = 'SuperAdmin'\n}\n\n","import { Role, RoleType } from \"../models/user\";\nexport interface RouteData {\n n: string;\n p: string;\n r?: Role[];\n}\nexport interface RouteName {\n NoAccess: RouteData;\n KitchenSink: RouteData;\n KitchenSink2: RouteData;\n KitchenSink3: RouteData;\n TA: TARouteName;\n}\n\nexport interface TARouteName {\n Home: RouteData;\n LoginPage: RouteData;\n LogoutPage: RouteData;\n Main: RouteData;\n TrustData: RouteData;\n TrustDataPractices: RouteData;\n TrustDataAccountingSoftware: RouteData;\n TrustDataInvestigationType: RouteData;\n TrustDataInvestigators: RouteData;\n TrustDataBanks: RouteData;\n TrustDataTrustTeam: RouteData;\n TrustDataExternalExaminer: RouteData;\n TrustDataExternalExaminerApproval: RouteData;\n TrustDataExternalExaminerSignUpApproval: RouteData;\n TrustDataPageSettings: RouteData;\n Investigations: RouteData;\n Routines: RouteData;\n FollowUp: RouteData;\n TimesheetApproval: RouteData;\n Investigator: RouteData;\n InvestigatorDashboard: RouteData;\n InvestigatorCalendar: RouteData;\n InvestigatorInvestigations: RouteData;\n InvestigatorTimesheets: RouteData;\n Practice: RouteData;\n PracticeDashboard: RouteData;\n PracticeInvestigationDetails: RouteData;\n PracticeBank: RouteData;\n PracticeAccountingDetails: RouteData;\n PracticeNotes: RouteData;\n PracticePeople: RouteData;\n PracticeCorrespondence: RouteData;\n PracticeLinkedPractice: RouteData;\n PracticeTrustCompliance: RouteData;\n ExternalExaminer: RouteData;\n ExternalExaminerDashboard: RouteData;\n}\n\nexport const RouteN: RouteName = {\n NoAccess: { n: 'no-access', p: '/no-access' },\n KitchenSink: { n: 'kitchen-sink', p: '/kitchen-sink' },\n KitchenSink2: { n: 'kitchen-sink2', p: '/kitchen-sink2' },\n KitchenSink3: { n: 'kitchen-sink3', p: '/kitchen-sink3' },\n TA: {\n Home: { n: 'Home', p: '/home' },\n TrustData: {\n n: 'trustdata',\n p: '/trust-data',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n TrustDataPractices: {\n n: 'trustdata-practices',\n p: '/trust-data/practices',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n TrustDataAccountingSoftware: {\n n: 'trustdata-accounting-software',\n p: '/trust-data/accounting-software',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin\n ]\n },\n TrustDataInvestigationType: {\n n: 'trustdata-investigation-type',\n p: '/trust-data/investigation-type',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin\n ]\n },\n TrustDataInvestigators: {\n n: 'trustdata-investigators',\n p: '/trust-data/investigators',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin\n ]\n },\n TrustDataBanks: {\n n: 'trustdata-banks',\n p: '/trust-data/banks',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin\n ]\n },\n TrustDataTrustTeam: {\n n: 'trustdata-trust-team',\n p: '/trust-data/trust-team',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustSectionLeader,\n RoleType.TrustManager\n ]\n },\n TrustDataExternalExaminer: {\n n: 'trustdata-external-examiner',\n p: '/trust-data/external-examiner',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustSectionLeader,\n RoleType.TrustManager\n ]\n },\n TrustDataExternalExaminerApproval: {\n n: 'trustdata-external-examiner-approval',\n p: '/trust-data/external-examiner-approval',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustSectionLeader,\n RoleType.TrustManager\n ]\n },\n TrustDataExternalExaminerSignUpApproval: {\n n: 'trustdata-external-examiner-sign-up-approval',\n p: '/trust-data/external-examiner-sign-up-approval',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustSectionLeader,\n RoleType.TrustManager\n ]\n },\n TrustDataPageSettings: {\n n: 'trustdata-page-settings',\n p: '/trust-data/page-settings',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustSectionLeader,\n RoleType.TrustManager\n ]\n },\n LoginPage: { n: 'login', p: '/check-auth' },\n LogoutPage: { n: 'logout', p: '/signout' },\n Main: {\n n: 'ta-home',\n p: '/',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n Investigations: {\n n: 'investigations-main',\n p: '/investigations',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n Routines: {\n n: 'routines',\n p: '/routines',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n FollowUp: {\n n: 'follow-up',\n p: '/follow-up',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n TimesheetApproval: {\n n: 'timesheet-approval',\n p: '/timesheet-approval',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n Investigator: {\n n: 'investigator-main',\n p: '/investigator',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n InvestigatorDashboard: {\n n: 'investigator-dashboard',\n p: '/investigator/dashboard',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n InvestigatorCalendar: {\n n: 'investigator-calendar',\n p: '/investigator/calendar',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n InvestigatorInvestigations: {\n n: 'investigator-investigation',\n p: '/investigator/investigations',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n InvestigatorTimesheets: {\n n: 'investigator-timesheets',\n p: '/investigator/timesheets',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n Practice: {\n n: 'practice-main',\n p: '/practice',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n PracticeDashboard: {\n n: 'practice-dashboard',\n p: '/practice/dashboard',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n PracticeInvestigationDetails: {\n n: 'practice-investigation-details',\n p: '/practice/investigation-details',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n PracticeBank: {\n n: 'practice-bank',\n p: '/practice/bank',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n PracticeAccountingDetails: {\n n: 'practice-accounting-details',\n p: '/practice/accounting-details',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n PracticeNotes: {\n n: 'practice-notes',\n p: '/practice/notes',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n PracticePeople: {\n n: 'practice-people',\n p: '/practice/people',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n PracticeCorrespondence: {\n n: 'practice-correspondence',\n p: '/practice/correspondence',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n PracticeLinkedPractice: {\n n: 'practice-linked-practice',\n p: '/practice/linked-practice',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n PracticeTrustCompliance: {\n n: 'practice-trust-compliance',\n p: '/practice/trust-compliance',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n ExternalExaminer: {\n n: 'external-examiner-main',\n p: '/external-examiner',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n ExternalExaminerDashboard: {\n n: 'external-examiner-dashboard',\n p: '/external-examiner/dashboard',\n r: [\n RoleType.TrustAdmin,\n RoleType.TrustSuperAdmin,\n RoleType.TrustManager,\n RoleType.TrustSectionLeader\n ]\n },\n }\n};\n","export class Token {\n constructor(\n public clientId: number | null = null,\n public tokenStr: string | null = null,\n public userId: number | null = null\n ) {\n }\n}\n","export type AuthenticationStatus = AuthenticationStatusType.Unknown | AuthenticationStatusType.NotLogin |\n AuthenticationStatusType.LoggedIn | AuthenticationStatusType.AppAccessPermitted |\n AuthenticationStatusType.AppAccessDenied;\n\nexport enum AuthenticationStatusType {\n Unknown,\n NotLogin,\n LoggedIn,\n AppAccessDenied,\n AppAccessPermitted,\n}\n","export class Session {\n\n constructor(\n public issued: number = 0,\n public expires: number = 0,\n ) {}\n\n public hasExpired(): boolean {\n return Math.round(new Date().getTime() / 1000) >= this.expires;\n }\n}\n","import { User } from './user'\nimport { Token } from './token'\nimport { AuthenticationStatus, AuthenticationStatusType } from '../modules/authentication/authentication-status'\nimport { Session } from './session'\n\nexport class AuthorizedUser {\n constructor(\n public user: User = new User(),\n public token: Token = new Token(),\n public session: Session = new Session(),\n public authenticationStatus: AuthenticationStatus = AuthenticationStatusType.Unknown\n ) { }\n}","import { TrustTeamMemberView } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { Module } from \"vuex\";\n\nconst trustMemberStoreModule: Module = {\n state: {\n selectedTrustTeamMember: {},\n },\n mutations: {\n setSelectedTrustTeamMember(state, i: TrustTeamMemberView) {\n state.selectedTrustTeamMember = i;\n }\n },\n actions: {\n setSelectedTrustTeamMember({ commit }, i: TrustTeamMemberView) {\n commit('setSelectedTrustTeamMember', i);\n }\n },\n getters: {\n getSelectedTrustTeamMember: (state) => state.selectedTrustTeamMember,\n }\n}\nexport default trustMemberStoreModule;","import { PracticeView } from \"@/shared/modules/typescript-trustapi-client/models/practice-view\";\nimport { Module } from \"vuex\";\n\nconst practiceStoreModule: Module = {\n state: {\n selectedPractice: {},\n },\n mutations: {\n setSelectedPractice(state, i: PracticeView) {\n state.selectedPractice = i;\n }\n },\n actions: {\n setSelectedPractice({ commit }, i: PracticeView) {\n commit('setSelectedPractice', i);\n }\n },\n getters: {\n getSelectedPractice: (state) => state.selectedPractice,\n }\n}\nexport default practiceStoreModule;","import { ExternalExaminer } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { Module } from \"vuex\";\n\nconst externalExaminerStoreModule: Module = {\n state: {\n selectedEE: {},\n },\n mutations: {\n setSelectedEE(state, i: ExternalExaminer) {\n state.selectedEE = i;\n }\n },\n actions: {\n setSelectedEE({ commit }, i: ExternalExaminer) {\n commit('setSelectedEE', i);\n }\n },\n getters: {\n getSelectedEE: (state) => state.selectedEE,\n }\n}\nexport default externalExaminerStoreModule;","import { createStore } from 'vuex';\nimport { EventEmitter } from 'events';\nimport { AuthorizedUser } from '../models/authorized-user';\nimport snackBarStoreModule from '@/shared/components/snackbar/snack-bar-store-module';\nimport trustMemberStoreModule from './trust-member-store.module';\nimport practiceStoreModule from './practice-store-module';\nimport externalExaminerStoreModule from './external-examiner-store-module';\n\nexport default createStore({\n modules: {\n practiceStoreModule,\n trustMemberStoreModule,\n snackBarStoreModule,\n externalExaminerStoreModule,\n },\n state: {\n authorizedUser: new AuthorizedUser(),\n eventController: new EventEmitter(),\n },\n mutations: {\n setUserAccount(state, authorizedUser: AuthorizedUser) {\n state.authorizedUser = authorizedUser;\n },\n },\n actions: { // store.dispatch\n setUserAccount({ commit }, authorizedUser: AuthorizedUser) {\n commit('setAuthorizedUser', authorizedUser);\n }\n },\n getters: {\n getUserAccount: (state) => state.authorizedUser,\n getEventController: (state) => state.eventController,\n }\n})\n","import { createElementVNode as _createElementVNode, vShow as _vShow, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4c12f6a1\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"app-menu\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"   Logout\", -1))\nconst _hoisted_3 = [\n _hoisted_2\n]\n\nexport function render(_ctx, _cache) {\n return _withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"ul\", null, [\n _createElementVNode(\"li\", null, [\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = $event => (_ctx.logout()))\n }, _hoisted_3)\n ])\n ])\n ], 512)), [\n [_vShow, _ctx.show]\n ])\n}","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, withKeys as _withKeys, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createElementBlock as _createElementBlock, renderList as _renderList, Fragment as _Fragment, withModifiers as _withModifiers, normalizeClass as _normalizeClass, vShow as _vShow, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-672a0a60\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"ta-dashboard\" }\nconst _hoisted_2 = { class: \"search-section\" }\nconst _hoisted_3 = { class: \"autocomplete\" }\nconst _hoisted_4 = { class: \"icon-hm\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"fal fa-spinner fa-spin fa-lg\"\n}\nconst _hoisted_6 = {\n key: 1,\n class: \"fal fa-search fa-lg\"\n}\nconst _hoisted_7 = {\n id: \"autocomplete-results\",\n class: \"autocomplete-results ml-2\"\n}\nconst _hoisted_8 = [\"innerHTML\", \"onClick\"]\nconst _hoisted_9 = {\n class: \"ma-4\",\n style: {\"display\":\"flex\",\"align-items\":\"center\"}\n}\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"ma-0\" }, [\n /*#__PURE__*/_createElementVNode(\"h3\", { style: {\"display\":\"inline\"} }, \"Investigations\")\n], -1))\nconst _hoisted_11 = {\n key: 0,\n class: \"ml-3 mt-2 badge\"\n}\nconst _hoisted_12 = {\n key: 1,\n class: \"contents ma-4\"\n}\nconst _hoisted_13 = { key: 0 }\nconst _hoisted_14 = { class: \"left-side\" }\nconst _hoisted_15 = { class: \"score-card\" }\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"inv-type\" }, \"No investigator assigned\", -1))\nconst _hoisted_17 = { class: \"small-boxes\" }\nconst _hoisted_18 = { class: \"small-box\" }\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"Routine\", -1))\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"Cause driven\", -1))\nconst _hoisted_21 = { class: \"score-card\" }\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"inv-type\" }, \"Ongoing\", -1))\nconst _hoisted_23 = { class: \"small-boxes\" }\nconst _hoisted_24 = { class: \"small-box\" }\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"Routine\", -1))\nconst _hoisted_26 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"Cause driven\", -1))\nconst _hoisted_27 = { class: \"score-card\" }\nconst _hoisted_28 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"inv-type\" }, \"Reply required\", -1))\nconst _hoisted_29 = { class: \"small-boxes\" }\nconst _hoisted_30 = { class: \"small-box\" }\nconst _hoisted_31 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"Routine\", -1))\nconst _hoisted_32 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"Cause driven\", -1))\nconst _hoisted_33 = { class: \"mt-4 inserted\" }\nconst _hoisted_34 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"table-header\" }, [\n /*#__PURE__*/_createElementVNode(\"h2\", { style: {\"display\":\"inline\"} }, \"Investigators\")\n], -1))\nconst _hoisted_35 = { class: \"ls-table\" }\nconst _hoisted_36 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"thead\", null, [\n /*#__PURE__*/_createElementVNode(\"tr\", null, [\n /*#__PURE__*/_createElementVNode(\"th\", null, \"Name\"),\n /*#__PURE__*/_createElementVNode(\"th\", null, \"No. of Routine\"),\n /*#__PURE__*/_createElementVNode(\"th\", null, \"No. of Cause Driven\")\n ])\n], -1))\nconst _hoisted_37 = { style: {\"text-align\":\"right\"} }\nconst _hoisted_38 = { key: 0 }\nconst _hoisted_39 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"ma-4\",\n style: {\"display\":\"flex\",\"align-items\":\"center\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"ma-0\" }, [\n /*#__PURE__*/_createElementVNode(\"h3\", { style: {\"display\":\"inline\"} }, \"ATCS Reports\")\n ])\n], -1))\nconst _hoisted_40 = {\n key: 0,\n class: \"left-side\"\n}\nconst _hoisted_41 = { class: \"score-card unapproved-form\" }\nconst _hoisted_42 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"short-description\" }, \"Unapproved forms\", -1))\nconst _hoisted_43 = { class: \"small-boxes\" }\nconst _hoisted_44 = { class: \"small-box\" }\nconst _hoisted_45 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"External Examiner Sign ups\", -1))\nconst _hoisted_46 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"Appointing of External Examiner\", -1))\nconst _hoisted_47 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"Termination of External Examiner\", -1))\nconst _hoisted_48 = { class: \"score-card practice-without-tc\" }\nconst _hoisted_49 = { class: \"last-update-date\" }\nconst _hoisted_50 = { class: \"ma-2\" }\nconst _hoisted_51 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"short-description\" }, \"Practices without Trust Coordinator\", -1))\nconst _hoisted_52 = { class: \"score-card non-compliant-forms\" }\nconst _hoisted_53 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"short-description\" }, \"Non-compliant forms\", -1))\nconst _hoisted_54 = { class: \"small-boxes\" }\nconst _hoisted_55 = { class: \"small-box\" }\nconst _hoisted_56 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"Part A\", -1))\nconst _hoisted_57 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"Part B\", -1))\nconst _hoisted_58 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"EER\", -1))\nconst _hoisted_59 = { class: \"score-card partb-sub-noEE\" }\nconst _hoisted_60 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"short-description\" }, \"Part B submitted without an External Examiner\", -1))\nconst _hoisted_61 = { class: \"right-side\" }\nconst _hoisted_62 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"table-header\" }, [\n /*#__PURE__*/_createElementVNode(\"h2\", { style: {\"display\":\"inline\"} }, \"Investigators\")\n], -1))\nconst _hoisted_63 = { class: \"ls-table\" }\nconst _hoisted_64 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"thead\", null, [\n /*#__PURE__*/_createElementVNode(\"tr\", null, [\n /*#__PURE__*/_createElementVNode(\"th\", null, \"Name\"),\n /*#__PURE__*/_createElementVNode(\"th\", null, \"No. of Routine\"),\n /*#__PURE__*/_createElementVNode(\"th\", null, \"No. of Cause Driven\")\n ])\n], -1))\nconst _hoisted_65 = { style: {\"text-align\":\"right\"} }\n\nexport function render(_ctx, _cache) {\n const _component_LoadingSpinner = _resolveComponent(\"LoadingSpinner\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (_ctx.loadingDataSet)\n ? (_openBlock(), _createBlock(_component_LoadingSpinner, { key: 0 }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _withDirectives(_createElementVNode(\"input\", {\n onKeydown: [\n _cache[0] || (_cache[0] = _withKeys((...args) => (_ctx.onArrowDown && _ctx.onArrowDown(...args)), [\"down\"])),\n _cache[1] || (_cache[1] = _withKeys((...args) => (_ctx.onArrowUp && _ctx.onArrowUp(...args)), [\"up\"])),\n _cache[2] || (_cache[2] = _withKeys((...args) => (_ctx.onEnter && _ctx.onEnter(...args)), [\"enter\"]))\n ],\n class: \"searchField\",\n type: \"text\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => ((_ctx.search) = $event)),\n placeholder: \"Search practice name or ID\"\n }, null, 544), [\n [_vModelText, _ctx.search]\n ]),\n _withDirectives(_createElementVNode(\"input\", {\n type: \"hidden\",\n id: \"practice\",\n name: \"practice\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.currentSelectedPractice) = $event))\n }, null, 512), [\n [_vModelText, _ctx.currentSelectedPractice]\n ]),\n _createElementVNode(\"span\", _hoisted_4, [\n (_ctx.isSearching)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_5))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_6))\n ]),\n _withDirectives(_createElementVNode(\"ul\", _hoisted_7, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.practiceList, (practice, i) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: i,\n class: _normalizeClass([\"autocomplete-result\", { 'is-active': i === _ctx.arrowCounter }]),\n innerHTML: _ctx.highlightWord(_ctx.formatPracticeText(practice)),\n onClick: _withModifiers($event => (_ctx.selectPractice(practice)), [\"prevent\"])\n }, null, 10, _hoisted_8))\n }), 128))\n ], 512), [\n [_vShow, _ctx.isOpen]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _hoisted_10,\n (!_ctx.loadingDataSet)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, _toDisplayString(_ctx.numberOfInvestigations.numberOfCreatedRoutines + _ctx.numberOfInvestigations.numberOfCreatedCauseDrivens +\n _ctx.numberOfInvestigations.numberOfOngoingRoutines + _ctx.numberOfInvestigations.numberOfOngoingCauseDrivens +\n _ctx.numberOfInvestigations.numberOfCompletedRoutines + _ctx.numberOfInvestigations.numberOfCompletedCauseDrivens), 1))\n : _createCommentVNode(\"\", true)\n ]),\n (!_ctx.loadingDataSet)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n (_ctx.numberOfInvestigations)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.numberOfInvestigations.numberOfCreatedRoutines + _ctx.numberOfInvestigations.numberOfCreatedCauseDrivens), 1),\n _hoisted_16,\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", _hoisted_18, [\n _hoisted_19,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.numberOfInvestigations.numberOfCreatedRoutines), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_20,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.numberOfInvestigations.numberOfCreatedCauseDrivens), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.numberOfInvestigations.numberOfOngoingRoutines + _ctx.numberOfInvestigations.numberOfOngoingCauseDrivens), 1),\n _hoisted_22,\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"div\", _hoisted_24, [\n _hoisted_25,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.numberOfInvestigations.numberOfOngoingRoutines), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_26,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.numberOfInvestigations.numberOfOngoingCauseDrivens), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_27, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.numberOfInvestigations.numberOfCompletedRoutines +\n _ctx.numberOfInvestigations.numberOfCompletedCauseDrivens), 1),\n _hoisted_28,\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"div\", _hoisted_30, [\n _hoisted_31,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.numberOfInvestigations.numberOfCompletedRoutines), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_32,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.numberOfInvestigations.numberOfCompletedCauseDrivens), 1)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_33, [\n _hoisted_34,\n _createElementVNode(\"table\", _hoisted_35, [\n _hoisted_36,\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.numberOfInvestigationsPerInvestigator, (i) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", null, _toDisplayString(i.trustTeamMember?.displayName), 1),\n _createElementVNode(\"td\", null, _toDisplayString(i.numberOfRoutines), 1),\n _createElementVNode(\"td\", null, _toDisplayString(i.numberOfCauseDrivens), 1)\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_37, [\n _createElementVNode(\"button\", {\n class: \"btn btn-primary sml mt-4\",\n onClick: _cache[5] || (_cache[5] = $event => (_ctx.goToTrustTeam()))\n }, \"Go to Trust Team\")\n ])\n ]),\n (!_ctx.loadingDataSet)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_38, [\n _hoisted_39,\n (_ctx.numberOfInvestigations)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_40, [\n _createElementVNode(\"div\", _hoisted_41, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.totalNumberOfUnapprovedForms.eeSignUpForms + _ctx.totalNumberOfUnapprovedForms.appointEeRequestForms +\n _ctx.totalNumberOfUnapprovedForms.terminateEeRequestForms), 1),\n _hoisted_42,\n _createElementVNode(\"div\", _hoisted_43, [\n _createElementVNode(\"div\", _hoisted_44, [\n _hoisted_45,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.totalNumberOfUnapprovedForms.eeSignUpForms), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_46,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.totalNumberOfUnapprovedForms.appointEeRequestForms), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_47,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.totalNumberOfUnapprovedForms.terminateEeRequestForms), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_48, [\n _createElementVNode(\"div\", _hoisted_49, [\n _createTextVNode(\"Data as of: \"),\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.totalNumberOfPracticeWithoutTC.updatedOn), 1)\n ]),\n _createElementVNode(\"h3\", _hoisted_50, _toDisplayString(_ctx.totalNumberOfPracticeWithoutTC.practiceWithoutTrustCoordinator), 1),\n _hoisted_51\n ]),\n _createElementVNode(\"div\", _hoisted_52, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.totalNumberOfComplaintForms.nonCompliantPartA + _ctx.totalNumberOfComplaintForms.nonCompliantPartB +\n _ctx.totalNumberOfComplaintForms.nonCompliantEeReport), 1),\n _hoisted_53,\n _createElementVNode(\"div\", _hoisted_54, [\n _createElementVNode(\"div\", _hoisted_55, [\n _hoisted_56,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.totalNumberOfComplaintForms.nonCompliantPartA), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_57,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.totalNumberOfComplaintForms.nonCompliantPartB), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_58,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.totalNumberOfComplaintForms.nonCompliantEeReport), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_59, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.totalNumberOfComplaintForms.partBSubmittedNoExternalExaminer), 1),\n _hoisted_60\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_61, [\n _hoisted_62,\n _createElementVNode(\"table\", _hoisted_63, [\n _hoisted_64,\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.numberOfInvestigationsPerInvestigator, (i) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", null, _toDisplayString(i.trustTeamMember?.displayName), 1),\n _createElementVNode(\"td\", null, _toDisplayString(i.numberOfRoutines), 1),\n _createElementVNode(\"td\", null, _toDisplayString(i.numberOfCauseDrivens), 1)\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_65, [\n _createElementVNode(\"button\", {\n class: \"btn btn-primary sml mt-4\",\n onClick: _cache[6] || (_cache[6] = $event => (_ctx.goToTrustTeam()))\n }, \"Go to Trust Team\")\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}","export function localUrl(): string {\n const result = window.location.href.split('/');\n return result[0] + '//' + result[2] + '/';\n}\n\nexport const APP_INSIGHT_CS: string = process.env.VUE_APP_INSIGHT_CS as string;\nexport const TOKEN_URL: string = process.env.VUE_APP_TOKEN_URL as string;\nexport const API_URL: string = process.env.VUE_APP_API_URL as string;\nexport const IDLE_TIMEOUT: number = parseInt(process.env.VUE_APP_IDLE_TIMEOUT, 10);\nexport const TOKEN_REFRESH_TIME: number = parseInt(process.env.VUE_APP_TOKEN_REFRESH_TIME, 10);\nexport const SELF_URL: string = localUrl();\n","import { ApplicationInsights } from '@microsoft/applicationinsights-web'\nimport { APP_INSIGHT_CS} from '@/trust-admin-app/config/config'\n\nconst appInsights = new ApplicationInsights({\n config: {\n connectionString: APP_INSIGHT_CS,\n enableAutoRouteTracking: true,\n /* ...Other Configuration Options... */\n // https://docs.microsoft.com/en-us/azure/azure-monitor/app/javascript\n }\n});\n\n// https://github.com/microsoft/ApplicationInsights-JS#readme\nexport class AppInsights {\n\n public loadAppInsights(): void {\n appInsights.loadAppInsights();\n }\n\n public trackPageView(): void {\n appInsights.trackPageView();\n }\n\n public trackEvent(eventString: string): void {\n appInsights.trackEvent({ name: eventString })\n }\n\n // public trackPageViewPerformance() {\n // appInsights.trackPageViewPerformance({name : 'somepage', url: 'some url'});\n // }\n\n public trackException(err: string): void {\n appInsights.trackException({ exception: new Error(err) });\n }\n\n public trackTrace(msg: string): void {\n appInsights.trackTrace({ message: msg });\n }\n\n public trackMetric(n: string, avg: number): void {\n appInsights.trackMetric({ name: n, average: avg });\n }\n\n\n // public trackDependencyData(absUrl: string, resCode: number, method: string, id: string) {\n // appInsights.trackDependencyData({ absoluteUrl: absUrl, responseCode: resCode, method: method, id: id });\n // }\n\n public startTrackPage(pageName: string): void {\n appInsights.startTrackPage(pageName);\n }\n\n\n public stopTrackPage(pageName: string, url: string, props: any): void {\n // appInsights.stopTrackPage(\"pageName\", null, { customProp1: \"some value\" });\n appInsights.stopTrackPage(pageName, url, props);\n }\n\n public startTrackEvent(et: any): void {\n appInsights.startTrackEvent(et);\n }\n\n\n // public stopTrackEvent(et: any, url: string, props: any) {\n // // appInsights.stopTrackEvent(\"event\", null, { customProp1: \"some value\" });\n // }\n\n\n public flush(): void {\n appInsights.flush();\n }\n\n\n}\n","import { Options, Vue } from 'vue-class-component';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport { Inject, Watch } from 'vue-property-decorator';\nimport { AppInsights } from '@/trust-admin-app/appInsights';\nimport { EventEmitter } from 'events';\nimport store from '@/trust-admin-app/store';\nimport { RouteN } from '@/trust-admin-app/constants/router-name';\nimport { FirmSearchRequest, NumberOfCompliantForms, NumberOfPracticeWithoutTrustCoordinator, NumberOfUnapprovedForm, PracticeView } from '@/shared/modules/typescript-trustapi-client/models';\nimport { debounce } from 'lodash';\nimport LoadingSpinner from '@/shared/components/loading-spinner/index.vue';\nimport moment from 'moment';\n\n@Options({\n components: {\n LoadingSpinner\n }\n})\nexport default class TrustAdminDashboard extends Vue {\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private loadingDataSet = true;\n private errorLoadingDataSet = false;\n\n private numberOfInvestigations = {};\n private numberOfInvestigationsPerInvestigator = [];\n\n private isOpen = false;\n private arrowCounter = -1;\n private practiceList: PracticeView[] = [];\n private search = '';\n private isSearching = false;\n private srchDebounced: any = null;\n private currentSelectedPractice: PracticeView = null as any;\n\n private totalNumberOfUnapprovedForms: NumberOfUnapprovedForm = {\n eeSignUpForms: 0,\n appointEeRequestForms: 0,\n terminateEeRequestForms: 0\n\n };\n private totalNumberOfPracticeWithoutTC: NumberOfPracticeWithoutTrustCoordinator = {\n practiceWithoutTrustCoordinator: 0,\n updatedOn: ''\n };\n private totalNumberOfComplaintForms: NumberOfCompliantForms = {\n nonCompliantPartA: 0,\n nonCompliantPartB: 0,\n nonCompliantEeReport: 0,\n partBWithoutExternalExaminer: 0,\n partBSubmittedNoExternalExaminer: 0\n };\n\n @Watch('search')\n private onKeywordChange(): void {\n if (this.search.length > 2 && this.practiceList.filter(x => x.name == this.search).length == 0) {\n this.currentSelectedPractice = null as any;\n setTimeout(this.srchDebounced.cancel, 0);\n setTimeout(this.srchDebounced, 0);\n }\n }\n\n @Watch('currentSelectedPractice')\n private onCurrentSelectedPracticeChange() {\n if (this.currentSelectedPractice.id) {\n this.$router.push({ name: RouteN.TA.Practice.n, query: { pId: this.currentSelectedPractice.id } });\n }\n }\n\n mounted(): void {\n this.preloadData();\n window.addEventListener('click', this.handleClickOutside);\n this.srchDebounced = debounce(() => {\n this.searchPractice();\n }, 1000);\n }\n\n beforeUnmount(): void {\n window.removeEventListener('click', this.handleClickOutside);\n }\n private async preloadData(): Promise {\n try {\n this.loadingDataSet = true;\n this.errorLoadingDataSet = false;\n const resp: any[] = await Promise.all([\n this.apiService.InvestigationApi?.apiV2InvestigationGetNumberOfInvestigationsGet(),\n this.apiService.InvestigationApi?.apiV2InvestigationGetNumerOfInvestigationsPerInvestigatorGet(),\n this.apiService.PeopleAtcsApi?.apiV2AtcsPeopleAdminDashboardGetNumberOfUnapprovedFormsGet(),\n this.apiService.PeopleAtcsApi?.apiV2AtcsPeopleAdminDashboardGetNumberOfPracticeWithoutTrustCoordinatorGet(),\n this.apiService.ComplianceFormApi?.apiV2ComplianceFormAdminDashboardGetNumberOfCompliantFormsGet()\n ]);\n this.numberOfInvestigations = resp[0].data.data;\n this.numberOfInvestigationsPerInvestigator = resp[1].data.data;\n this.totalNumberOfUnapprovedForms = resp[2].data;\n this.totalNumberOfPracticeWithoutTC = {\n practiceWithoutTrustCoordinator: resp[3].data.practiceWithoutTrustCoordinator,\n updatedOn: moment(resp[3].data.updatedOn).format('DD MMM YYYY, hh:mm A')\n };\n this.totalNumberOfComplaintForms = resp[4].data;\n } catch (err) {\n this.errorLoadingDataSet = true;\n this.ai.trackException('Error, Unable to preload data: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to preload data');\n } finally {\n this.loadingDataSet = false;\n }\n }\n\n private goToTrustTeam() {\n this.$router.push({ name: RouteN.TA.TrustDataTrustTeam.n });\n }\n\n private async searchPractice(): Promise {\n const _body: FirmSearchRequest = {\n keyword: this.search,\n isExactMatch: false\n }\n try {\n this.isSearching = true;\n\n const resp: any = await this.apiService.PracticeApi?.apiV2PracticeSearchPracticePost(_body);\n this.practiceList = resp.data.data as PracticeView[];\n this.isOpen = this.practiceList.length > 0;\n } catch (err) {\n this.isOpen = false;\n } finally {\n this.isSearching = false;\n }\n }\n\n private selectPractice(p: PracticeView): void {\n this.isOpen = false;\n this.search = p.name;\n this.currentSelectedPractice = p;\n }\n\n private onArrowDown(evt: any) {\n if (this.arrowCounter < this.practiceList.length) {\n this.arrowCounter = this.arrowCounter + 1;\n }\n }\n\n private onArrowUp(): void {\n if (this.arrowCounter > 0) {\n this.arrowCounter = this.arrowCounter - 1;\n }\n }\n\n private onEnter() {\n if (this.practiceList.length > 0) {\n this.selectPractice(\n this.practiceList[this.arrowCounter === -1 ? 0 : this.arrowCounter]\n );\n }\n this.isOpen = false;\n }\n\n private handleClickOutside(evt: any): void {\n if (this.$el === (evt.target)) {\n this.isOpen = false;\n this.arrowCounter = -1;\n }\n }\n\n private highlightWord(word: string): string {\n try {\n const regex = new RegExp('(' + this.search + ')', 'ig');\n return word.replace(regex, '$1');\n } catch (err) {\n return word;\n }\n }\n\n private formatPracticeText(p: PracticeView): string {\n if (p.branchId) {\n return p.firmId + ' - ' + p.branchId + ' | ' + p.name + ' - ' + p.tradingName;\n } else {\n return p.firmId + ' | ' + p.name;\n }\n }\n\n}\n\n\n","import { render } from \"./dashboard.html?vue&type=template&id=672a0a60&scoped=true&ts=true&external\"\nimport script from \"./dashboard.ts?vue&type=script&lang=ts&external\"\nexport * from \"./dashboard.ts?vue&type=script&lang=ts&external\"\n\nimport \"./dashboard.scss?vue&type=style&index=0&id=672a0a60&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-672a0a60\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, createSlots as _createSlots, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, createBlock as _createBlock, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-9bff0fdc\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"server-date\"\n}\nconst _hoisted_2 = { class: \"buttons\" }\n\nexport function render(_ctx, _cache) {\n const _component_AccountInfoPanel = _resolveComponent(\"AccountInfoPanel\")\n const _component_PageHeader = _resolveComponent(\"PageHeader\")\n const _component_NavigationBar = _resolveComponent(\"NavigationBar\")\n const _component_AddEditInvestigationModal = _resolveComponent(\"AddEditInvestigationModal\")\n const _component_AddEventModal = _resolveComponent(\"AddEventModal\")\n const _component_AddEditMemberModal = _resolveComponent(\"AddEditMemberModal\")\n const _component_InvestigationDetailsModal = _resolveComponent(\"InvestigationDetailsModal\")\n const _component_LoadingSpinner = _resolveComponent(\"LoadingSpinner\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_router_view = _resolveComponent(\"router-view\")\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", {\n class: _normalizeClass(_ctx.isFixHeader ? 'fixed-header' : '')\n }, [\n _createVNode(_component_PageHeader, { appName: 'TRUST ADMIN' }, _createSlots({ _: 2 }, [\n (_ctx.showRHSHeader)\n ? {\n name: \"rhs-header\",\n fn: _withCtx(() => [\n _createVNode(_component_AccountInfoPanel)\n ]),\n key: \"0\"\n }\n : undefined\n ]), 1024),\n (this.env.length > 0 && !_ctx.isToday && _ctx.showDateTip)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createTextVNode(_toDisplayString(_ctx.$formatDate(_ctx.displayDate)) + \" \", 1),\n _createElementVNode(\"i\", {\n class: \"fal fa-times ml-3\",\n onClick: _cache[0] || (_cache[0] = $event => (_ctx.showDateTip = false)),\n style: {\"cursor\":\"pointer\"}\n })\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_NavigationBar, {\n navItems: _ctx.errorLoadingData || _ctx.loadingData ? [] : _ctx.navItems\n }, _createSlots({ _: 2 }, [\n (!_ctx.errorLoadingData && !_ctx.loadingData)\n ? {\n name: \"right-side-buttons\",\n fn: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"button\", {\n class: \"btn sml btn-outline\",\n onClick: _cache[1] || (_cache[1] = _withModifiers($event => (_ctx.openAddEditInvestigationModal()), [\"prevent\",\"stop\"]))\n }, \" Add investigation/routine \")\n ])\n ]),\n key: \"0\"\n }\n : undefined\n ]), 1032, [\"navItems\"])\n ], 2),\n (_ctx.showAddEditInvestigationModal)\n ? (_openBlock(), _createBlock(_component_AddEditInvestigationModal, {\n key: 0,\n investigation: _ctx.selectedInvestigation,\n isFromRoutine: _ctx.isFromRoutine,\n routineId: _ctx.routineId,\n onCloseAddEditInvestigationModal: _cache[2] || (_cache[2] = $event => (_ctx.closeAddEditInvestigationModal()))\n }, null, 8, [\"investigation\", \"isFromRoutine\", \"routineId\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showAddEditEventModal)\n ? (_openBlock(), _createBlock(_component_AddEventModal, {\n key: 1,\n eventFormData: _ctx.selectedEventFormData,\n onCloseAddEventModal: _cache[3] || (_cache[3] = $event => (_ctx.closeAddEditEventModalBox()))\n }, null, 8, [\"eventFormData\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showAddEditMemberModal)\n ? (_openBlock(), _createBlock(_component_AddEditMemberModal, {\n key: 2,\n teamMember: _ctx.selectedTrustTeamMember,\n onCloseAddEditMemberModal: _cache[4] || (_cache[4] = $event => (_ctx.closeAddEditMemberModal()))\n }, null, 8, [\"teamMember\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showInvestigationDetailsModal)\n ? (_openBlock(), _createBlock(_component_InvestigationDetailsModal, {\n key: 3,\n investigation: _ctx.selectedInvestigation,\n onCloseModal: _cache[5] || (_cache[5] = $event => (_ctx.closeInvestigationDetailsModal()))\n }, null, 8, [\"investigation\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.loadingData)\n ? (_openBlock(), _createBlock(_component_LoadingSpinner, { key: 4 }))\n : (_ctx.errorLoadingData)\n ? (_openBlock(), _createBlock(_component_ErrorIndicator, { key: 5 }))\n : (!_ctx.loadingData && !_ctx.errorLoadingData)\n ? (_openBlock(), _createBlock(_component_router_view, {\n key: 6,\n class: _normalizeClass(_ctx.isFixHeader? 'content-container' : '')\n }, null, 8, [\"class\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","import { TimeEntryView } from \"@/shared/modules/typescript-trustapi-client/models/time-entry-view\";\nimport { Role } from \"@/trust-admin-app/models/user\";\nimport { EventInput } from '@fullcalendar/core';\nimport { floor } from \"lodash\";\nimport moment from \"moment\";\n\nexport function accessPermitted(userRoles: Role[], allowedRoles: Role[] = []): boolean {\n let accessAllowed = false;\n userRoles.forEach((x) => {\n if (allowedRoles.filter(y => y == x).length > 0) {\n accessAllowed = true;\n }\n });\n return accessAllowed;\n}\n\nlet eventGuid = 0;\nexport function createEventId(): number {\n return eventGuid++;\n}\n\nexport function m2h(min: number): string {\n return `${min / 60 ^ 0}`.slice(-2) + ':' + ('0' + min % 60).slice(-2)\n}\n\nexport function eventTransform(event: any[]): EventInput[] {\n return event.map(x => {\n return {\n id: floor(Math.random() * 10000) as any,\n title: formatEventTitle(x),\n start: x.startDateTime,\n end: x.endDateTime,\n display: 'block',\n allDay: x.isAllDayEvent,\n backgroundColor: getEventBGColour(x),\n borderColor: getEventBorderColour(x),\n textColor: getEventTextColour(x),\n eventItem: x,\n }\n });\n}\n\nexport function eventPublicHolidayTransform(event: any[]): EventInput[] {\n return event.map(x => {\n return {\n id: floor(Math.random() * 10000) as any,\n title: x.name,\n allDay: true,\n start: x.date,\n backgroundColor: '#638886',\n borderColor: '#638886',\n textColor: '#ffffff',\n publicHoliday: x,\n }\n });\n}\n\nexport function formatEventTitle(event: any): string {\n if(!event.eventType) {\n return event.title;\n } else if(event.eventType.id == 3) {\n return event.title;\n } else {\n return moment(event.startDateTime).format('HH:mm') +\n ' - ' + moment(event.endDateTime).format('HH:mm') + ' ' + event.title;\n }\n}\n\nexport function getEventBGColour(event: any): string {\n if(!event.eventType) {\n return 'rgba(242, 101, 34, 0.1)';\n } else if(event.eventType.id == 2) {\n return '#D8CFBC';\n } else if(event.eventType.id == 1 && event.timeEntryActivity.id == 1) {\n return '#394F5A';\n } else if(event.eventType.id == 1) {\n return '#9EA5AB';\n } else if(event.eventType.id == 3) {\n return '#638886';\n } else {\n return 'red';\n }\n}\n\nexport function getEventBorderColour(event: any): string {\n if(!event.eventType) {\n return 'rgba(242, 101, 34, 0.1)';\n } else if(event.eventType.id == 2) {\n return '#D8CFBC';\n } else if(event.eventType.id == 1 && event.timeEntryActivity.id == 1) {\n return '#394F5A';\n } else if(event.eventType.id == 1) {\n return '#9EA5AB';\n } else if(event.eventType.id == 3) {\n return '#638886';\n } else {\n return 'red';\n }\n}\n\nexport function getEventTextColour(event: any): string {\n if(!event.eventType) {\n return 'rgb(240, 100, 35)';\n } else if(event.eventType.id == 2) {\n return '#000000';\n } else if(event.eventType.id == 1 && event.timeEntryActivity.id == 1) {\n return '#FFFFFF';\n } else if(event.eventType.id == 1) {\n return '#FFFFFF';\n } else if(event.eventType.id == 3) {\n return '#ffffff';\n } else {\n return '#000000';\n }\n}\n\nexport function escapeString(x: string) {\n try {\n return '\"' + x.replace(/\"/g, '\"\"') + '\"';\n } catch (error) {\n return '';\n }\n}\n\nexport function createCSV(filename: string, data: string) {\n const exportedFilenmae = filename + '.csv';\n const blob = new Blob(['\\ufeff' + data], { type: 'text/csv;charset=utf-8;' });\n const link = document.createElement('a');\n if (link.download !== undefined) { // feature detection\n // Browsers that support HTML5 download attribute\n const url = URL.createObjectURL(blob);\n link.setAttribute('href', url);\n link.setAttribute('download', exportedFilenmae);\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n}","import { Role, RoleType } from \"@/trust-admin-app/models/user\";\nimport { accessPermitted } from \"../components/helpers\";\n\ndeclare module '@vue/runtime-core' {\n export interface ComponentCustomProperties {\n $accessPermitted: (userRoles: Role[], allowedRoles: Role[] | undefined) => boolean,\n $roleType: () => typeof RoleType\n }\n}\n\nexport default {\n methods: {\n $accessPermitted(userRoles: Role[], allowedRoles: Role[] = []): boolean {\n return accessPermitted(userRoles, allowedRoles);\n },\n $roleType(): typeof RoleType {\n return RoleType\n }\n },\n};\n","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, renderSlot as _renderSlot, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-00b3e63d\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container\" }\nconst _hoisted_2 = { class: \"nav-main\" }\nconst _hoisted_3 = { class: \"m-items\" }\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = [\"onClick\"]\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", {\n class: _normalizeClass(['navigation-bar', _ctx.transparent ? 'transparent' : ''])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_ctx.navItems)\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_4, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.navItems, (s) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (s.visible)\n ? (_openBlock(), _createElementBlock(\"li\", {\n key: 0,\n class: _normalizeClass([s.status, _ctx.transparent ? 'transparent' : '']),\n onClick: $event => {_ctx.navigate(s);}\n }, _toDisplayString(s.name), 11, _hoisted_5))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _renderSlot(_ctx.$slots, \"right-side-buttons\", {}, undefined, true)\n ])\n ])\n ], 2))\n}","export enum NavItemStatusID {\n Unknown = 'unknown',\n NotDone = 'not-done',\n Done = 'done',\n NotCurrent = 'not-current',\n Current = 'current',\n Disabled = 'disabled',\n }\n\n export enum NavItemTypeID {\n InternalLink = '1',\n ExternalLink = '2',\n }\n \n export class NavItem {\n constructor(\n public name: string = '',\n public routeSecName: string = '',\n public routeQuery?: any,\n public visible: boolean = true,\n public status: NavItemStatus = NavItemStatusID.Unknown,\n public type: NavItemType = NavItemTypeID.InternalLink,\n public externalLink: string = ''\n ) {\n }\n }\n\n export type NavItemType = NavItemTypeID.InternalLink | NavItemTypeID.ExternalLink;\n export type NavItemStatus = NavItemStatusID.Unknown | NavItemStatusID.NotDone |\n NavItemStatusID.Done | NavItemStatusID.NotCurrent | NavItemStatusID.Current | NavItemStatusID.Disabled;\n \n ","import { Options, Vue } from 'vue-class-component';\nimport { Prop } from 'vue-property-decorator';\nimport { NavItem, NavItemStatusID, NavItemTypeID } from './navigation-item';\n\ndeclare function openNewBrowserUrl(url: string): boolean;\n@Options({\n props: {\n navItems: {}\n },\n components: {}\n})\nexport default class NavigationBar extends Vue {\n\n @Prop({default: false})\n public transparent!: boolean;\n\n @Prop()\n public navItems!: NavItem[];\n\n @Prop({default: false})\n public pageNav!: boolean;\n\n @Prop({ default: 'section'})\n public sectionTag!: string;\n\n public navigate(s: NavItem): void {\n if(s.type == NavItemTypeID.ExternalLink && s.status !== NavItemStatusID.Disabled) {\n if (typeof openNewBrowserUrl === 'function') {\n openNewBrowserUrl(s.externalLink);\n } else {\n window.open(s.externalLink, '_blank');\n }\n } else if (s.type == NavItemTypeID.InternalLink && s.status !== NavItemStatusID.Disabled &&\n !!s.routeSecName && (s.status === NavItemStatusID.Done || s.status === NavItemStatusID.NotCurrent)) {\n this.$router.push({ name: s.routeSecName, query: s.routeQuery });\n }\n this.$emit('clickedNavItem', s);\n }\n}","import { render } from \"./navigation-bar.html?vue&type=template&id=00b3e63d&scoped=true&ts=true&external\"\nimport script from \"./navigation-bar.ts?vue&type=script&lang=ts&external\"\nexport * from \"./navigation-bar.ts?vue&type=script&lang=ts&external\"\n\nimport \"./navigation-bar.scss?vue&type=style&index=0&id=00b3e63d&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-00b3e63d\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-245aff65\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"page-header-main\" }\nconst _hoisted_2 = { class: \"page-header\" }\nconst _hoisted_3 = { class: \"app-name\" }\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.appName), 1)\n ]),\n _renderSlot(_ctx.$slots, \"rhs-header\", {}, undefined, true)\n ]))\n}","import { Vue } from 'vue-class-component';\nimport { Options, Prop } from 'vue-property-decorator';\n\n@Options({})\nexport default class PageHeader extends Vue {\n\n @Prop({ default: 'App Logo'})\n private appName!: string;\n\n}\n","import { render } from \"./page-header.html?vue&type=template&id=245aff65&scoped=true&ts=true&external\"\nimport script from \"./page-header.ts?vue&type=script&lang=ts&external\"\nexport * from \"./page-header.ts?vue&type=script&lang=ts&external\"\n\nimport \"./page-header.scss?vue&type=style&index=0&id=245aff65&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-245aff65\"]])\n\nexport default __exports__","export class Session {\n\n constructor(\n public issued: number = 0,\n public expires: number = 0,\n ) {}\n\n public hasExpired(): boolean {\n return Math.round(new Date().getTime() / 1000) >= this.expires;\n }\n}\n","import { Session } from './session';\nimport { IDLE_TIMEOUT } from '../../config/config';\n\nexport class IDLESessionManager {\n\n public checkInterval = 1000;\n private workerID = -1;\n private session: Session = new Session();\n private timeoutCallBack: () => void;\n\n constructor(idle_timeout: number = IDLE_TIMEOUT\n ) {\n this.session = new Session(\n Math.round(new Date().getTime() / 1000),\n Math.round(new Date().getTime() / 1000) + idle_timeout\n );\n this.timeoutCallBack = null as any;\n this.setup();\n }\n\n public run(cb: () => void): void {\n this.timeoutCallBack = cb;\n this.workerID = setInterval(() => {\n this.doCheckSession();\n }, this.checkInterval);\n }\n\n public stop(): void {\n clearInterval(this.workerID);\n window.removeEventListener('mousemove', this.resetTimer, false);\n window.removeEventListener('mousedown', this.resetTimer, false);\n window.removeEventListener('keypress', this.resetTimer, false);\n window.removeEventListener('DOMMouseScroll', this.resetTimer, false);\n window.removeEventListener('mousewheel', this.resetTimer, false);\n window.removeEventListener('touchmove', this.resetTimer, false);\n window.removeEventListener('MSPointerMove', this.resetTimer, false);\n }\n\n public resetTimer: () => void = () => {\n if (Math.round(new Date().getTime() / 1000) - this.session.issued >= 5) {\n this.doCheckSession(); // do another check;\n this.session.issued = Math.round(new Date().getTime() / 1000);\n this.session.expires = Math.round(new Date().getTime() / 1000) + IDLE_TIMEOUT;\n }\n }\n\n private doCheckSession(): void {\n if (this.session.hasExpired()) {\n this.timeoutCallBack();\n this.stop();\n }\n }\n\n private setup(): void {\n window.addEventListener('mousemove', this.resetTimer, false);\n window.addEventListener('mousedown', this.resetTimer, false);\n window.addEventListener('keypress', this.resetTimer, false);\n window.addEventListener('DOMMouseScroll', this.resetTimer, false);\n window.addEventListener('mousewheel', this.resetTimer, false);\n window.addEventListener('touchmove', this.resetTimer, false);\n window.addEventListener('MSPointerMove', this.resetTimer, false);\n }\n\n}\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, withKeys as _withKeys, vModelText as _vModelText, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, withModifiers as _withModifiers, normalizeClass as _normalizeClass, vShow as _vShow, createTextVNode as _createTextVNode, vModelSelect as _vModelSelect, vModelRadio as _vModelRadio, createBlock as _createBlock, resolveDirective as _resolveDirective, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4cd7c8c0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"add-edit-investigation\" }\nconst _hoisted_2 = { class: \"heading-text\" }\nconst _hoisted_3 = { class: \"line1\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"line2\" }, \"Investigation\", -1))\nconst _hoisted_5 = {\n key: 0,\n class: \"body-main has-indicator\"\n}\nconst _hoisted_6 = {\n key: 1,\n class: \"body-main has-indicator\"\n}\nconst _hoisted_7 = {\n key: 0,\n class: \"body-main\"\n}\nconst _hoisted_8 = { class: \"investigation-form\" }\nconst _hoisted_9 = { class: \"ls-form\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"legend\", null, [\n /*#__PURE__*/_createElementVNode(\"h2\", null, \"New investigation\")\n], -1))\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Select practice *\", -1))\nconst _hoisted_12 = {\n class: \"autocomplete\",\n style: {\"flex\":\"0 0 100%\"}\n}\nconst _hoisted_13 = [\"disabled\"]\nconst _hoisted_14 = { class: \"icon-hm\" }\nconst _hoisted_15 = {\n key: 0,\n class: \"fal fa-spinner fa-spin fa-lg\"\n}\nconst _hoisted_16 = {\n key: 1,\n class: \"fal fa-search fa-lg\"\n}\nconst _hoisted_17 = {\n id: \"autocomplete-results\",\n class: \"autocomplete-results\"\n}\nconst _hoisted_18 = [\"innerHTML\", \"onClick\"]\nconst _hoisted_19 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Type of investigation *\", -1))\nconst _hoisted_22 = { class: \"select-wrapper\" }\nconst _hoisted_23 = { class: \"select\" }\nconst _hoisted_24 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: null }, \"Select type\", -1))\nconst _hoisted_25 = [\"value\"]\nconst _hoisted_26 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_27 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_28 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Investigation category *\", -1))\nconst _hoisted_29 = { class: \"radio-group\" }\nconst _hoisted_30 = { class: \"radio\" }\nconst _hoisted_31 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"Routine\")\n], -1))\nconst _hoisted_32 = { class: \"radio\" }\nconst _hoisted_33 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text nowrap\" }, \"Cause driven\")\n], -1))\nconst _hoisted_34 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Commencement date *\", -1))\nconst _hoisted_35 = { class: \"date-picker\" }\nconst _hoisted_36 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-calendar-check\" }, null, -1))\nconst _hoisted_37 = {\n key: 1,\n class: \"validation-msg\"\n}\nconst _hoisted_38 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_39 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Select Investigator\", -1))\nconst _hoisted_40 = { class: \"select-wrapper\" }\nconst _hoisted_41 = { class: \"select\" }\nconst _hoisted_42 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: null }, \"Select investigator\", -1))\nconst _hoisted_43 = [\"value\"]\nconst _hoisted_44 = { class: \"controls mt-4\" }\nconst _hoisted_45 = [\"disabled\"]\nconst _hoisted_46 = [\"disabled\"]\nconst _hoisted_47 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-right\" })\n], -1))\nconst _hoisted_48 = {\n key: 0,\n class: \"investigation-availability\"\n}\nconst _hoisted_49 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Availability\", -1))\nconst _hoisted_50 = { class: \"ls-table\" }\nconst _hoisted_51 = { key: 0 }\nconst _hoisted_52 = [\"colspan\"]\nconst _hoisted_53 = { key: 1 }\nconst _hoisted_54 = [\"colspan\"]\nconst _hoisted_55 = { key: 2 }\nconst _hoisted_56 = [\"colspan\"]\nconst _hoisted_57 = { \"data-label\": \"Name\" }\nconst _hoisted_58 = {\n key: 0,\n class: \"far fa-history pa-1\"\n}\nconst _hoisted_59 = { \"data-label\": \"Routine Investigations\" }\nconst _hoisted_60 = { \"data-label\": \"Cause Driven Investigations\" }\nconst _hoisted_61 = { \"data-label\": \"Actions\" }\nconst _hoisted_62 = [\"onClick\"]\nconst _hoisted_63 = {\n key: 1,\n class: \"body-main grey-bg\"\n}\nconst _hoisted_64 = { class: \"top-panel\" }\nconst _hoisted_65 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Availability\", -1))\nconst _hoisted_66 = { class: \"form-ctrl\" }\nconst _hoisted_67 = { class: \"select\" }\nconst _hoisted_68 = [\"value\"]\nconst _hoisted_69 = { class: \"buttons\" }\nconst _hoisted_70 = { class: \"bottom-panel\" }\nconst _hoisted_71 = {\n key: 0,\n class: \"ls-table\"\n}\nconst _hoisted_72 = { key: 0 }\nconst _hoisted_73 = [\"colspan\"]\nconst _hoisted_74 = { key: 1 }\nconst _hoisted_75 = [\"colspan\"]\nconst _hoisted_76 = { key: 2 }\nconst _hoisted_77 = [\"colspan\"]\nconst _hoisted_78 = { \"data-label\": \"Practice name\" }\nconst _hoisted_79 = { \"data-label\": \"Commencement date\" }\nconst _hoisted_80 = { \"data-label\": \"Type\" }\nconst _hoisted_81 = { \"data-label\": \"Status\" }\nconst _hoisted_82 = {\n key: 0,\n style: {\"float\":\"right\"}\n}\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_v3_date_picker = _resolveComponent(\"v3-date-picker\")\n const _component_NavigationBar = _resolveComponent(\"NavigationBar\")\n const _component_CalendarView = _resolveComponent(\"CalendarView\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n const _directive_tippy = _resolveDirective(\"tippy\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n onClose: _cache[16] || (_cache[16] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(!_ctx.editMode ? 'Add new investigation' : 'Finalize investigation'), 1),\n _hoisted_4\n ])\n ]),\n body: _withCtx(() => [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createVNode(_component_LoadingIndicator)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(_component_ErrorIndicator)\n ]))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 2 }, [\n (!(_ctx.selectedDetailedInvestigator?.id > 0))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"form\", _hoisted_9, [\n _createElementVNode(\"fieldset\", null, [\n _hoisted_10,\n _hoisted_11,\n _createElementVNode(\"div\", _hoisted_12, [\n _withDirectives(_createElementVNode(\"input\", {\n onKeydown: [\n _cache[0] || (_cache[0] = _withKeys((...args) => (_ctx.onArrowDown && _ctx.onArrowDown(...args)), [\"down\"])),\n _cache[1] || (_cache[1] = _withKeys((...args) => (_ctx.onArrowUp && _ctx.onArrowUp(...args)), [\"up\"])),\n _cache[2] || (_cache[2] = _withKeys((...args) => (_ctx.onEnter && _ctx.onEnter(...args)), [\"enter\"]))\n ],\n disabled: _ctx.editMode || _ctx.isFromRoutine,\n class: \"searchField\",\n type: \"text\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => ((_ctx.search) = $event)),\n placeholder: \"Search practice name or ID\"\n }, null, 40, _hoisted_13), [\n [_vModelText, _ctx.search]\n ]),\n _withDirectives(_createElementVNode(\"input\", {\n type: \"hidden\",\n id: \"practice\",\n name: \"practice\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.currentSelectedPractice) = $event))\n }, null, 512), [\n [_vModelText, _ctx.currentSelectedPractice]\n ]),\n _createElementVNode(\"span\", _hoisted_14, [\n (_ctx.isSearching)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_15))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_16))\n ]),\n _withDirectives(_createElementVNode(\"ul\", _hoisted_17, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.practiceList, (practice, i) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: i,\n class: _normalizeClass([\"autocomplete-result\", { 'is-active': i === _ctx.arrowCounter }]),\n innerHTML: _ctx.highlightWord(_ctx.formatPracticeText(practice)),\n onClick: _withModifiers($event => (_ctx.selectPractice(practice)), [\"prevent\"])\n }, null, 10, _hoisted_18))\n }), 128))\n ], 512), [\n [_vShow, _ctx.isOpen]\n ]),\n (!_ctx.currentSelectedPractice)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_19, [\n _hoisted_20,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _hoisted_21,\n _createElementVNode(\"div\", _hoisted_22, [\n _createElementVNode(\"div\", _hoisted_23, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => ((_ctx.formData.investigationType.id) = $event)),\n onChange: _cache[6] || (_cache[6] = $event => (_ctx.selectInvestigationType(_ctx.formData.investigationType.id)))\n }, [\n _hoisted_24,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.investigationTypes, (iT) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: iT.id\n }, _toDisplayString(iT.name), 9, _hoisted_25))\n }), 256))\n ], 544), [\n [_vModelSelect, _ctx.formData.investigationType.id]\n ])\n ])\n ]),\n (!_ctx.formData.investigationType.id)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [\n _hoisted_27,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_28,\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"label\", _hoisted_30, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n id: \"investigation-category\",\n value: 1,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => ((this.formData.investigationCategory.id) = $event)),\n name: \"investigation-category\"\n }, null, 512), [\n [_vModelRadio, this.formData.investigationCategory.id]\n ]),\n _hoisted_31\n ]),\n _createElementVNode(\"label\", _hoisted_32, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n id: \"investigation-category\",\n value: 2,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => ((this.formData.investigationCategory.id) = $event)),\n name: \"investigation-category\"\n }, null, 512), [\n [_vModelRadio, this.formData.investigationCategory.id]\n ]),\n _hoisted_33\n ])\n ]),\n _hoisted_34,\n _createElementVNode(\"div\", _hoisted_35, [\n _createVNode(_component_v3_date_picker, {\n class: \"v3-date-picker\",\n modelValue: _ctx.commencementDate,\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = $event => ((_ctx.commencementDate) = $event)),\n style: {\"padding\":\"1em\"},\n inputFormat: \"dd-MM-yyyy\",\n lowerLimit: _ctx.disabledDates\n }, null, 8, [\"modelValue\", \"lowerLimit\"]),\n _hoisted_36\n ]),\n (!_ctx.commencementDate)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_37, [\n _hoisted_38,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_39,\n _createElementVNode(\"div\", _hoisted_40, [\n _createElementVNode(\"div\", _hoisted_41, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = $event => ((_ctx.formData.trustTeamMember.id) = $event))\n }, [\n _hoisted_42,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.investigators, (i) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: i.id\n }, _toDisplayString(i.firstName) + \" \" + _toDisplayString(i.lastName), 9, _hoisted_43))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.formData.trustTeamMember.id]\n ])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_44, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default\",\n disabled: _ctx.submitting,\n onClick: _cache[11] || (_cache[11] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\",\"stop\"]))\n }, \"Back\", 8, _hoisted_45),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n disabled: _ctx.submitting || !(_ctx.isFormDirty && _ctx.validForm),\n onClick: _cache[12] || (_cache[12] = _withModifiers($event => (_ctx.saveInvestigation()), [\"prevent\",\"stop\"]))\n }, [\n _createTextVNode(_toDisplayString(_ctx.editMode ? 'Save investigation' : 'Save new investigation'), 1),\n _hoisted_47\n ], 8, _hoisted_46),\n (_ctx.submitting)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n (_ctx.commencementDate && _ctx.currentSelectedPractice)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_48, [\n _hoisted_49,\n _createElementVNode(\"table\", _hoisted_50, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", null, [\n _createElementVNode(\"p\", null, _toDisplayString(h.text), 1)\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingTrustTeamMemberHistory)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_51, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_52)\n ]))\n : (_ctx.errorLoadingTrustTeamMemberHistory)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_53, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_54)\n ]))\n : (_ctx.investigators.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_55, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, \"No Records\", 8, _hoisted_56)\n ]))\n : (_ctx.investigators.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.investigators, (aI) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_57, [\n _createTextVNode(_toDisplayString(aI.firstName) + \" \" + _toDisplayString(aI.lastName) + \" \", 1),\n (_ctx.investigatedPracticePreviously(aI))\n ? _withDirectives((_openBlock(), _createElementBlock(\"i\", _hoisted_58, null, 512)), [\n [_directive_tippy, { content: 'Investigated practice in the last 2 years' }]\n ])\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"td\", _hoisted_59, _toDisplayString(aI.totalRoutines), 1),\n _createElementVNode(\"td\", _hoisted_60, _toDisplayString(aI.totalCauseDrivens), 1),\n _createElementVNode(\"td\", _hoisted_61, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default transparent sml\",\n onClick: $event => (_ctx.viewDetailedInvestigator(aI))\n }, \"View\", 8, _hoisted_62)\n ])\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_63, [\n _createElementVNode(\"div\", _hoisted_64, [\n _hoisted_65,\n _createElementVNode(\"div\", _hoisted_66, [\n _createElementVNode(\"div\", _hoisted_67, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[13] || (_cache[13] = $event => ((_ctx.selectedDetailedInvestigator) = $event))\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.investigators, (i) => {\n return (_openBlock(), _createElementBlock(\"option\", { value: i }, _toDisplayString(i.firstName) + \" \" + _toDisplayString(i.lastName), 9, _hoisted_68))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.selectedDetailedInvestigator]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_69, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default transparent mr-2\",\n onClick: _cache[14] || (_cache[14] = $event => (_ctx.selectedDetailedInvestigator = {}))\n }, \"Back to investigation\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n onClick: _cache[15] || (_cache[15] = $event => (_ctx.assignInvestigator(_ctx.selectedDetailedInvestigator)))\n }, \"Assign investigator\")\n ])\n ])\n ]),\n _createVNode(_component_NavigationBar, {\n transparent: true,\n navItems: _ctx.navItems,\n onClickedNavItem: _ctx.clickedNavItem\n }, null, 8, [\"navItems\", \"onClickedNavItem\"]),\n _createElementVNode(\"div\", _hoisted_70, [\n (_ctx.selectedSection == 'Investigation list')\n ? (_openBlock(), _createElementBlock(\"table\", _hoisted_71, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings2, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", null, [\n _createElementVNode(\"p\", null, _toDisplayString(h.text), 1)\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingAvailabilityContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_72, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings2.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_73)\n ]))\n : (_ctx.errorLoadingAvailabilityContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_74, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings2.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_75)\n ]))\n : (_ctx.investigations.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_76, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings2.length\n }, \"No Records\", 8, _hoisted_77)\n ]))\n : (_ctx.investigations.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.investigations, (i) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_78, _toDisplayString(i.latestPracticeLogData?.branchId == null ? i.latestPracticeLogData?.name : (i.latestPracticeLogData?.name\n + ' - ' + i.latestPracticeLogData?.tradingName)), 1),\n _createElementVNode(\"td\", _hoisted_79, _toDisplayString(_ctx.$formatDate(i.commencementDate)), 1),\n _createElementVNode(\"td\", _hoisted_80, _toDisplayString(i.investigationType?.name), 1),\n _createElementVNode(\"td\", _hoisted_81, _toDisplayString(i.investigationStatus?.name), 1)\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.selectedSection == 'Calendar view')\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n (_ctx.errorLoadingTimeEntries)\n ? (_openBlock(), _createBlock(_component_ErrorIndicator, { key: 0 }))\n : (_openBlock(), _createBlock(_component_CalendarView, {\n key: 1,\n eventData: _ctx.eventData,\n viewSelector: true,\n todayButton: true,\n defaultView: \"M\",\n onUiDateTimeRangeChanged: _ctx.uiDateTimeRangeChanged\n }, {\n buttons: _withCtx(() => [\n (_ctx.loadingTimeEntries)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_82, [\n _createVNode(_component_LoadingIndicator, { showLoadingText: false })\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"eventData\", \"onUiDateTimeRangeChanged\"]))\n ], 64))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n ], 64))\n ]),\n _: 1\n })\n ]))\n}","import { renderSlot as _renderSlot, withModifiers as _withModifiers, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, vShow as _vShow, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"modal-box\" }\nconst _hoisted_2 = { class: \"modal-mask\" }\nconst _hoisted_3 = { class: \"modal-wrapper\" }\nconst _hoisted_4 = { class: \"modal-header\" }\nconst _hoisted_5 = { class: \"controls\" }\nconst _hoisted_6 = { class: \"modal-footer\" }\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: _normalizeClass(['modal-container', _ctx.halfScreen ? 'half-screen' : _ctx.fullScreen ? 'full-screen' : _ctx.mostScreen ? 'most-screen' : ''])\n }, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", {\n class: _normalizeClass(['row1', _ctx.halfScreen ? 'half-screen' : _ctx.fullScreen ? 'full-screen' : _ctx.mostScreen ? 'most-screen' : ''])\n }, [\n _renderSlot(_ctx.$slots, \"header-text\"),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"i\", {\n class: \"fal fa-times-circle close-icon\",\n onClick: _cache[0] || (_cache[0] = _withModifiers($event => (_ctx.$emit('close')), [\"prevent\",\"stop\"]))\n })\n ])\n ], 2),\n _withDirectives(_createElementVNode(\"div\", {\n class: _normalizeClass(['row2', _ctx.halfScreen ? 'half-screen' : _ctx.fullScreen ? 'full-screen' : _ctx.mostScreen ? 'most-screen' : ''])\n }, [\n _renderSlot(_ctx.$slots, \"stepper-bar\")\n ], 2), [\n [_vShow, _ctx.showStepper]\n ])\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass(['modal-body', _ctx.showStepper ? 'hasStepperBar' : ''])\n }, [\n _renderSlot(_ctx.$slots, \"body\")\n ], 2),\n _createElementVNode(\"div\", _hoisted_6, [\n _renderSlot(_ctx.$slots, \"footer\")\n ])\n ], 2)\n ])\n ])\n ]))\n}","import { Options, Vue } from 'vue-class-component';\nimport { Prop } from 'vue-property-decorator';\n\n@Options({})\nexport default class ModalBox extends Vue {\n\n @Prop()\n private showStepper?: boolean;\n\n @Prop()\n private halfScreen?: boolean;\n\n @Prop()\n private fullScreen?: boolean;\n\n @Prop()\n private mostScreen?: boolean;\n\n mounted(): void {\n document.body.classList.add('modal-open');\n }\n\n unmounted(): void {\n document.body.classList.remove('modal-open');\n }\n\n}\n\n","import { render } from \"./modal-box.component.html?vue&type=template&id=2b97f15a&ts=true&external\"\nimport script from \"./modal-box.component.ts?vue&type=script&lang=ts&external\"\nexport * from \"./modal-box.component.ts?vue&type=script&lang=ts&external\"\n\nimport \"./modal-box.component.scss?vue&type=style&index=0&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-d91030aa\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"loading-indicator\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-spinner fa-spin fa-2x\" })\n], -1))\nconst _hoisted_3 = { key: 0 }\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", null, [\n _hoisted_2,\n (_ctx.showLoadingText)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_3, _toDisplayString(_ctx.loadingText), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}","import { Options, Prop, Vue } from \"vue-property-decorator\";\n\n@Options({})\nexport default class LoadingIndicator extends Vue {\n\n @Prop({default: true})\n public showLoadingText!: boolean;\n\n @Prop({default: 'Loading'})\n public loadingText!: string;\n}\n","import { render } from \"./loading-indicator.html?vue&type=template&id=d91030aa&scoped=true&ts=true&external\"\nimport script from \"./loading-indicator.ts?vue&type=script&lang=ts&external\"\nexport * from \"./loading-indicator.ts?vue&type=script&lang=ts&external\"\n\nimport \"./loading-indicator.scss?vue&type=style&index=0&id=d91030aa&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-d91030aa\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6ffd0983\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"error-indicator\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"far fa-exclamation-circle fa-2x\" })\n], -1))\nconst _hoisted_3 = { key: 0 }\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", null, [\n _hoisted_2,\n (_ctx.showErrorText)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_3, _toDisplayString(_ctx.errorText), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}","import { Options, Prop, Vue } from \"vue-property-decorator\";\n\n\n@Options({})\nexport default class ErrorIndicator extends Vue {\n\n @Prop({default: true})\n public showErrorText!: boolean;\n\n @Prop({default: 'Error'})\n public errorText!: string;\n}\n","import { render } from \"./error-indicator.html?vue&type=template&id=6ffd0983&scoped=true&ts=true&external\"\nimport script from \"./error-indicator.ts?vue&type=script&lang=ts&external\"\nexport * from \"./error-indicator.ts?vue&type=script&lang=ts&external\"\n\nimport \"./error-indicator.scss?vue&type=style&index=0&id=6ffd0983&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6ffd0983\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, vModelSelect as _vModelSelect, withDirectives as _withDirectives, renderSlot as _renderSlot, resolveComponent as _resolveComponent, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6a4afd00\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"calendar-view\" }\nconst _hoisted_2 = { class: \"section-heading\" }\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = { class: \"options\" }\nconst _hoisted_5 = {\n class: \"left-controls\",\n style: {\"width\":\"70%\",\"display\":\"flex\"}\n}\nconst _hoisted_6 = {\n key: 0,\n class: \"select\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: \"1\" }, \"Day\", -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: \"2\" }, \"Week\", -1))\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: \"3\" }, \"Month\", -1))\nconst _hoisted_10 = [\n _hoisted_7,\n _hoisted_8,\n _hoisted_9\n]\nconst _hoisted_11 = { class: \"month-selection\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fal fa-angle-left\",\n title: \"Previous month\"\n}, null, -1))\nconst _hoisted_13 = [\n _hoisted_12\n]\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fal fa-angle-right\",\n title: \"Next month\"\n}, null, -1))\nconst _hoisted_15 = [\n _hoisted_14\n]\nconst _hoisted_16 = { class: \"month-label ml-3\" }\nconst _hoisted_17 = { class: \"right-btn\" }\nconst _hoisted_18 = { class: \"full-calendar-view ma-4\" }\n\nexport function render(_ctx, _cache) {\n const _component_FullCalendar = _resolveComponent(\"FullCalendar\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (!!_ctx.header)\n ? (_openBlock(), _createElementBlock(\"h2\", _hoisted_3, _toDisplayString(_ctx.header), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n (_ctx.viewSelector)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.calendarView) = $event))\n }, _hoisted_10, 512), [\n [_vModelSelect, _ctx.calendarView]\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.todayButton)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-default ml-2 today-btn\",\n onClick: _cache[1] || (_cache[1] = $event => (_ctx.today()))\n }, \" Today \"))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"button\", {\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.prev())),\n class: \"btn-no-border\"\n }, _hoisted_13),\n _createElementVNode(\"button\", {\n onClick: _cache[3] || (_cache[3] = $event => (_ctx.next())),\n class: \"btn-no-border\"\n }, _hoisted_15),\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.currentDateDisplay), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_17, [\n _renderSlot(_ctx.$slots, \"buttons\", {}, undefined, true)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_18, [\n _createVNode(_component_FullCalendar, {\n options: _ctx.calendarOptions,\n ref: \"fullCalendar\"\n }, null, 8, [\"options\"])\n ])\n ]))\n}","\nimport { Options, Vue, Watch } from \"vue-property-decorator\";\nimport FullCalendar, { Calendar, CalendarOptions, EventInput } from '@fullcalendar/vue3';\nimport '@fullcalendar/core/vdom';\nimport dayGridPlugin from '@fullcalendar/daygrid';\nimport timeGridPlugin from '@fullcalendar/timegrid'\nimport interactionPlugin from '@fullcalendar/interaction';\nimport moment from \"moment\";\n\n@Options({\n props: {\n eventData: Array,\n viewSelector: Boolean,\n todayButton: Boolean,\n defaultView: String,\n header: String,\n },\n components: {\n FullCalendar,\n }\n})\nexport default class CalendarView extends Vue {\n\n\n eventData?: EventInput[];\n viewSelector!: boolean;\n todayButton!: boolean;\n defaultView!: string;\n header?: string;\n\n private calendarOptions: CalendarOptions = null as any;\n\n private calendarApi: Calendar | undefined;\n // private currentDate = moment(new Date);\n private currentDateDisplay = moment(new Date).format('MMMM YYYY');\n private calendarView = '3';\n\n @Watch('eventData')\n private onEventDataChanged(): void {\n this.calendarApi?.removeAllEventSources();\n this.calendarApi?.addEventSource({ events: this.eventData });\n this.$nextTick(() => {\n this.calendarApi?.refetchEvents();\n });\n }\n\n created(): void {\n this.calendarOptions = {\n plugins: [dayGridPlugin, interactionPlugin, timeGridPlugin],\n initialView: 'dayGridMonth',\n headerToolbar: false,\n // headerToolbar: {\n // left: 'prev,next today',\n // center: 'title',\n // right: 'dayGridMonth,timeGridWeek,timeGridDay'\n // },\n eventTimeFormat: {\n hour: 'numeric',\n minute: '2-digit',\n meridiem: 'narrow',\n },\n dayHeaderFormat: function (d) {\n return moment(d.date).format('ddd');\n },\n firstDay: 1,\n // initialEvents: INITIAL_EVENTS, // alternatively, use the `events` setting to fetch from a feed\n editable: false,\n selectable: true,\n selectMirror: true,\n dayMaxEvents: true,\n displayEventTime: false,\n weekends: true,\n // select: this.handleDateSelect,\n eventClick: this.handleEventClick,\n // eventsSet: this.handleEvents\n /* you can update a remote database when these fire:\n eventAdd:\n eventChange:\n eventRemove:\n */\n }\n this.$nextTick(() => {\n this.calendarApi = (this.$refs.fullCalendar as InstanceType).getApi();\n this.$emit('uiDateTimeRangeChanged', this.calendarApi?.view);\n });\n }\n\n private handleEventClick(info: any): void {\n info.jsEvent.preventDefault();\n this.$emit('eventItemClicked', info);\n }\n\n private prev() {\n if (this.calendarApi)\n this.calendarApi.prev();\n this.updateDisplay();\n }\n\n private next() {\n if (this.calendarApi)\n this.calendarApi.next();\n this.updateDisplay();\n }\n\n private today() {\n if (this.calendarApi)\n this.calendarApi.today();\n this.updateDisplay();\n }\n\n @Watch('calendarView')\n onCalendarViewChanged(): void {\n this.updateDisplay();\n }\n\n private updateDisplay() {\n const _from_date = moment(this.calendarApi?.getDate()).startOf('week');\n const _to_date = moment(this.calendarApi?.getDate()).endOf('week');\n switch (this.calendarView) {\n case '1':\n this.calendarApi?.changeView('timeGridDay');\n this.calendarApi?.setOption('dayHeaderFormat', (d) => moment(d.date).format('dddd DD/MM'));\n this.currentDateDisplay = moment(this.calendarApi?.getDate()).format('DD MMM YYYY');\n break;\n case '2':\n this.calendarApi?.changeView('timeGridWeek');\n this.calendarApi?.setOption('dayHeaderFormat', (d) => moment(d.date).format('ddd DD/MM'));\n this.currentDateDisplay = _from_date.format('DD MMM') + ' - ' + _to_date.format('DD MMM YYYY');\n break;\n case '3':\n this.calendarApi?.changeView('dayGridMonth');\n this.calendarApi?.setOption('dayHeaderFormat', (d) => moment(d.date).format('ddd'));\n this.currentDateDisplay = moment(this.calendarApi?.getDate()).format('MMMM YYYY');\n break;\n }\n\n this.$emit('uiDateTimeRangeChanged', this.calendarApi?.view);\n }\n\n}","import { render } from \"./calendar-view.html?vue&type=template&id=6a4afd00&scoped=true&ts=true&external\"\nimport script from \"./calendar-view?vue&type=script&lang=ts&external\"\nexport * from \"./calendar-view?vue&type=script&lang=ts&external\"\n\nimport \"./calendar-view.scss?vue&type=style&index=0&id=6a4afd00&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6a4afd00\"]])\n\nexport default __exports__","\nimport { Options, Vue } from 'vue-class-component';\nimport ModalBox from '@/shared/components/modal-box/index.vue';\nimport { Inject, Prop, Watch } from 'vue-property-decorator';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { EventEmitter } from 'events';\nimport store from '@/trust-admin-app/store';\nimport V3DatePicker from 'vue3-datepicker';\nimport {\n FirmSearchRequest,\n InvestigationCategory,\n InvestigationRequest,\n InvestigationTypeView,\n InvestigationView,\n PracticeView,\n TrustTeamMemberView\n} from '@/shared/modules/typescript-trustapi-client/models';\nimport NavigationBar from '@/shared/components/navigation-bar/index.vue';\nimport { NavItem, NavItemStatusID } from '@/shared/components/navigation-bar/navigation-item';\nimport debounce from 'lodash/debounce';\nimport moment from 'moment';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport CalendarView from '@/shared/components/calendar-view/index.vue';\nimport { EventInput, ViewApi } from '@fullcalendar/core';\nimport FormateDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { eventTransform } from '@/shared/components/helpers';\nimport { orderBy } from 'lodash';\n\n@Options({\n components: {\n ModalBox,\n V3DatePicker,\n NavigationBar,\n LoadingIndicator,\n ErrorIndicator,\n CalendarView\n },\n mixins: [FormateDateTimeMixin]\n})\nexport default class AddEditInvestigationModal extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Inject({ from: 'investigationCategory', default: [] })\n private investigationCategory!: InvestigationCategory[];\n\n @Prop({ default: {} })\n private investigation!: InvestigationView;\n\n @Prop({ default: false})\n private isFromRoutine!: boolean;\n\n @Prop({ default: null})\n private routineId!: any;\n \n private formData: InvestigationView = {};\n\n private tableHeadings = [\n { text: 'Name', value: 'name', sortable: false },\n { text: '# Routine Investigations', value: 'routineInvestigations', sortable: false },\n { text: '# Cause driven Investigations', value: 'causeDriveInvestigations', sortable: false },\n { text: '', sortable: false },\n ];\n\n private tableHeadings2 = [\n { text: 'Practice (Trading name)', value: 'name', sortable: true },\n { text: 'Commencement date', value: 'date', sortable: true },\n { text: 'Type', value: 'type', sortable: true },\n { text: 'status', value: 'status', sortable: true }\n ];\n\n private submitting = false;\n private loadingContent = false;\n private errorLoadingContent = false;\n private loadingAvailabilityContent = false;\n private errorLoadingAvailabilityContent = false;\n private loadingTimeEntries = false;\n private errorLoadingTimeEntries = false;\n private showCancelAlert = false;\n\n private isOpen = false;\n private arrowCounter = -1;\n private practiceList: PracticeView[] = [];\n private search = '';\n private isSearching = false;\n private srchDebounced: any = null;\n\n private investigators: TrustTeamMemberView[] = [];\n private investigationTypes: InvestigationTypeView[] = [];\n private commencementDate: Date = null as any;\n\n private selectedDetailedInvestigator: TrustTeamMemberView = {};\n private investigations: InvestigationView[] = [];\n\n private selectedSection = 'Investigation list';\n private eventData: EventInput[] = [];\n private currentCalendarView: ViewApi = null as any;\n\n private disabledDates = new Date(moment(new Date()).add(1, 'day').toISOString());\n\n private investigatorOfPractice: TrustTeamMemberView[] = [];\n private loadingTrustTeamMemberHistory = false;\n private errorLoadingTrustTeamMemberHistory = false;\n\n private currentSelectedPractice: PracticeView = null as any;\n\n private navItems: NavItem[] = [\n new NavItem('Investigation list', '', null, true, NavItemStatusID.NotCurrent),\n new NavItem('Calendar view', '', null, true, NavItemStatusID.NotCurrent),\n ];\n\n @Watch('search')\n private onKeywordChange(): void {\n if (this.search.length > 2 && this.practiceList.filter(x => x.name == this.search).length == 0) {\n this.currentSelectedPractice = null as any;\n setTimeout(this.srchDebounced.cancel, 0);\n setTimeout(this.srchDebounced, 0);\n }\n }\n\n @Watch('selectedDetailedInvestigator')\n private onSelectedInvestigatorChanged(): void {\n if (this.selectedDetailedInvestigator?.id > 0) {\n if (this.selectedSection == 'Investigation list') {\n this.loadInvestigations();\n } else if (this.selectedSection == 'Calendar view') {\n this.loadTimeEntries(this.currentCalendarView);\n }\n }\n }\n\n @Watch('commencementDate')\n private onCommencementDateChaged(): void {\n this.getInvestigators();\n }\n\n @Watch('currentSelectedPractice')\n private onPracticeSelection(): void {\n this.getInvestigators();\n }\n\n private async searchPractice(): Promise {\n const _body: FirmSearchRequest = {\n keyword: this.search,\n isExactMatch: false\n }\n try {\n this.isSearching = true;\n\n const resp: any = await this.apiService.PracticeApi?.apiV2PracticeSearchPracticePost(_body);\n this.practiceList = resp.data.data as PracticeView[];\n this.isOpen = this.practiceList.length > 0;\n } catch (err) {\n this.isOpen = false;\n } finally {\n this.isSearching = false;\n }\n }\n\n\n created(): void {\n this.init();\n this.updateNavItem();\n }\n\n mounted(): void {\n window.addEventListener('click', this.handleClickOutside);\n this.srchDebounced = debounce(() => {\n this.searchPractice();\n }, 1000);\n }\n\n beforeUnmount(): void {\n window.removeEventListener('click', this.handleClickOutside);\n }\n\n private async init(): Promise {\n try {\n this.loadingContent = true;\n this.errorLoadingContent = false;\n this.practiceList = [];\n\n await this.preloadData();\n\n this.formData = JSON.parse(JSON.stringify(this.investigation));\n\n this.formData.id = this.formData.id ?? 0;\n this.formData.trustTeamMember = this.formData.trustTeamMember ?? {\n id: null\n };\n this.formData.latestPracticeLogData = this.formData.latestPracticeLogData ?? null;\n this.commencementDate = this.commencementDate ?? null;\n\n this.formData.investigationType = this.formData.investigationType ?? {\n id: null\n }\n\n this.formData.investigationCategory = this.formData.investigationCategory ?? {\n id: 1\n }\n\n if (this.formData.latestPracticeLogData) {\n\n const resp2: any = await this.apiService.PracticeApi?.apiV2PracticeGetPracticeByIdPracticeIdGet(\n this.formData?.latestPracticeLogData.practiceId\n );\n\n\n this.currentSelectedPractice = resp2.data.data ?? null;\n\n this.practiceList.push(this.currentSelectedPractice);\n this.search = this.currentSelectedPractice.name;\n }\n\n if (this.editMode) {\n this.commencementDate = new Date(\n moment(this.formData.commencementDate).format('YYYY-MM-DD 00:00:00')\n );\n }\n\n } catch (err) {\n console.log(err);\n this.errorLoadingContent = true;\n } finally {\n this.loadingContent = false;\n }\n }\n\n private selectInvestigationType(i: number): void {\n this.formData.investigationCategory.id = this.investigationTypes.filter(\n x => x.id == i\n )[0].defaultInvestigationCategoryId;\n }\n\n private updateNavItem(): void {\n this.navItems.forEach((x, i) => {\n this.navItems[i].status = NavItemStatusID.NotCurrent;\n if (x.name == this.selectedSection) {\n this.navItems[i].status = NavItemStatusID.Current;\n }\n });\n }\n\n private clickedNavItem(item: NavItem): void {\n this.selectedSection = item.name;\n this.updateNavItem();\n if (this.selectedSection == 'Investigation list') {\n this.loadInvestigations();\n }\n }\n\n private async saveInvestigation(): Promise {\n try {\n if (!this.validForm && !this.isFormDirty) {\n throw new Error('Invalid Data Filled');\n }\n this.submitting = true;\n console.log(this.formData);\n const invReq: InvestigationRequest = {\n id: this.formData.id,\n investigationTypeId: this.formData.investigationType.id,\n practiceId: this.currentSelectedPractice.id,\n trustTeamMemberId: this.formData.trustTeamMember?.id,\n investigationCategoryId: this.formData.investigationCategory.id,\n commencementDate: new Date(this.commencementDate).toISOString(),\n routineId: this.routineId,\n };\n const resp: any =\n await this.apiService.InvestigationApi?.apiV2InvestigationSaveInvestigationPost(invReq);\n\n if (invReq.id == 0) {\n this.eventCtrl.emit('show-snackbar', 'success', 'Investigation added successfully');\n } else {\n this.eventCtrl.emit('show-snackbar', 'success', 'Investigation updated successfully');\n }\n this.eventCtrl.emit('reload-investigation-data');\n this.closeModal();\n } catch (err: any) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to add/ save investigation: ' + (err?.response?.data?.message || 'Unknown Error'));\n } finally {\n this.submitting = false;\n }\n }\n\n private async loadInvestigations(): Promise {\n try {\n this.loadingAvailabilityContent = true;\n this.errorLoadingAvailabilityContent = false;\n this.investigations = [];\n const resp: any =\n await this.apiService.InvestigationApi?.apiV2InvestigationGetInvestigationsByTrustTeamMemberIdPost({\n trustTeamMemberId: this.selectedDetailedInvestigator.id,\n showActiveOnly: true\n });\n\n this.investigations = resp.data.data as InvestigationView[];\n\n } catch (err) {\n console.log(err);\n this.errorLoadingAvailabilityContent = true;\n } finally {\n this.loadingAvailabilityContent = false;\n }\n }\n\n private async loadTimeEntries(view: ViewApi): Promise {\n try {\n this.loadingTimeEntries = true;\n this.errorLoadingTimeEntries = false;\n const resp: any = await this.apiService.CalendarApi?.apiV2CalendarGetEventsByTrustTeamMemberIdPost({\n trustTeamMemberId: this.selectedDetailedInvestigator.id,\n startDate: new Date(view.activeStart),\n endDate: new Date(view.activeEnd),\n showMissingTime: false\n });\n this.eventData = eventTransform(resp.data.data);\n } catch (err) {\n console.log(err);\n this.errorLoadingTimeEntries = true;\n } finally {\n this.loadingTimeEntries = false;\n }\n }\n\n\n private uiDateTimeRangeChanged(view: ViewApi): void {\n this.currentCalendarView = view;\n this.loadTimeEntries(view);\n }\n\n private investigatedPracticePreviously(i: TrustTeamMemberView): boolean {\n return this.investigatorOfPractice.filter(\n x => x.externalId == i.externalId\n ).length > 0;\n }\n\n private async getInvestigators(): Promise {\n try {\n\n if (this.currentSelectedPractice.id > 0 && this.commencementDate) {\n this.loadingTrustTeamMemberHistory = true;\n this.errorLoadingTrustTeamMemberHistory = false;\n const resp: any = await this.apiService.TrustTeamMemberApi?.apiV2TrustTeamMemberGetTrustTeamMemberByPracticeIdPost(\n {\n practiceId: this.currentSelectedPractice.id,\n commencementDate: this.commencementDate\n }\n );\n this.investigatorOfPractice = resp.data.data as TrustTeamMemberView[];\n }\n\n } catch (err) {\n this.errorLoadingTrustTeamMemberHistory = true;\n } finally {\n this.loadingTrustTeamMemberHistory = false;\n }\n }\n\n\n get validForm(): boolean {\n try {\n return !!this.currentSelectedPractice &&\n !!this.commencementDate &&\n !!this.formData.investigationType?.id &&\n !!this.formData.investigationCategory?.id;\n } catch {\n return false;\n }\n }\n\n get isFormDirty(): boolean {\n if (this.editMode) {\n const c_InvestigationType = this.investigation.investigationType?.id !==\n this.formData.investigationType.id;\n const c_InvestgationCategory = this.investigation.investigationCategory?.id !==\n this.formData.investigationCategory.id;\n const c_Investigator = this.investigation.trustTeamMember?.id !==\n this.formData.trustTeamMember.id;\n const c_CommencementDate = moment(this.investigation.commencementDate).unix() !==\n moment(new Date(this.commencementDate).toISOString()).unix();\n\n return c_InvestigationType || c_Investigator ||\n c_InvestgationCategory || c_CommencementDate;\n } else {\n return !!this.currentSelectedPractice;\n }\n }\n\n private async preloadData(): Promise {\n try {\n const resp: any[] = await Promise.all([\n this.apiService.TrustTeamMemberApi?.apiV2TrustTeamMemberGetTrustTeamMembersPost(),\n this.apiService.ConfigTrustApi?.apiV2ConfigTrustGetInvestigationTypesPost()\n ]);\n this.investigationTypes = resp[1].data.data as InvestigationTypeView[];\n this.investigators = orderBy(\n resp[0].data.data as TrustTeamMemberView[],\n [data => data.displayName.toLowerCase()],\n 'asc'\n );\n this.investigators = this.investigators.filter(x => [2, 3, 5].includes(x.userGroup?.id));\n return Promise.resolve(false);\n } catch (err) {\n return Promise.reject(true);\n }\n }\n\n private viewDetailedInvestigator(i: TrustTeamMemberView): void {\n this.selectedDetailedInvestigator = i;\n }\n\n private assignInvestigator(i: TrustTeamMemberView): void {\n this.formData.trustTeamMember.id = i.id;\n this.selectedDetailedInvestigator = {};\n }\n\n private closeModal() {\n this.$emit('closeAddEditInvestigationModal');\n }\n\n get editMode(): boolean {\n try {\n return this.investigation.id > 0;\n } catch {\n return false;\n }\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private selectPractice(p: PracticeView): void {\n this.isOpen = false;\n this.search = p.name;\n this.currentSelectedPractice = p;\n }\n\n private onArrowDown(evt: any) {\n if (this.arrowCounter < this.practiceList.length) {\n this.arrowCounter = this.arrowCounter + 1;\n }\n }\n\n private onArrowUp(): void {\n if (this.arrowCounter > 0) {\n this.arrowCounter = this.arrowCounter - 1;\n }\n }\n\n private onEnter() {\n if (this.practiceList.length > 0) {\n this.selectPractice(\n this.practiceList[this.arrowCounter === -1 ? 0 : this.arrowCounter]\n );\n }\n this.isOpen = false;\n }\n\n private handleClickOutside(evt: any): void {\n if (this.$el === (evt.target)) {\n this.isOpen = false;\n this.arrowCounter = -1;\n }\n }\n\n private highlightWord(word: string): string {\n try {\n const regex = new RegExp('(' + this.search + ')', 'ig');\n return word.replace(regex, '$1');\n } catch (err) {\n return word;\n }\n }\n\n private formatPracticeText(p: PracticeView): string {\n if (p.branchId) {\n return p.firmId + ' - ' + p.branchId + ' | ' + p.name + ' - ' + p.tradingName;\n } else {\n return p.firmId + ' | ' + p.name;\n }\n }\n\n}\n\n","import { render } from \"./add-edit-investigation-modal.html?vue&type=template&id=4cd7c8c0&scoped=true&ts=true&external\"\nimport script from \"./add-edit-investigation-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./add-edit-investigation-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./add-edit-investigation-modal.scss?vue&type=style&index=0&id=4cd7c8c0&scoped=true&lang=sccs&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4cd7c8c0\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, vModelRadio as _vModelRadio, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, vModelSelect as _vModelSelect, createTextVNode as _createTextVNode, vModelText as _vModelText, createVNode as _createVNode, withModifiers as _withModifiers, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-66f81476\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"add-event-modal\" }\nconst _hoisted_2 = { class: \"heading-text\" }\nconst _hoisted_3 = { class: \"line1\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"line2\" }, \"Time entry\", -1))\nconst _hoisted_5 = { class: \"body-main\" }\nconst _hoisted_6 = { class: \"event-form\" }\nconst _hoisted_7 = { class: \"ls-form\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Type\", -1))\nconst _hoisted_9 = { class: \"radio-group\" }\nconst _hoisted_10 = { class: \"radio\" }\nconst _hoisted_11 = [\"disabled\"]\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"Time entry\")\n], -1))\nconst _hoisted_13 = { class: \"radio\" }\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text nowrap\" }, \"Leave\")\n], -1))\nconst _hoisted_16 = {\n key: 0,\n class: \"ls-form\"\n}\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Select Investigator *\", -1))\nconst _hoisted_18 = { class: \"select-wrapper\" }\nconst _hoisted_19 = { class: \"select\" }\nconst _hoisted_20 = [\"disabled\"]\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", {\n value: null,\n disabled: \"\",\n selected: \"\"\n}, \" -- Select investigator -- \", -1))\nconst _hoisted_22 = [\"value\"]\nconst _hoisted_23 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_24 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Activity *\", -1))\nconst _hoisted_26 = { class: \"select-wrapper\" }\nconst _hoisted_27 = { class: \"select\" }\nconst _hoisted_28 = [\"disabled\"]\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", {\n value: null,\n disabled: \"\",\n selected: \"\"\n}, \"-- Select activity --\", -1))\nconst _hoisted_30 = [\"value\"]\nconst _hoisted_31 = {\n key: 1,\n class: \"validation-msg\"\n}\nconst _hoisted_32 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_33 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"If Other, please specify *\", -1))\nconst _hoisted_34 = { class: \"input-box\" }\nconst _hoisted_35 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_36 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_37 = { class: \"select-wrapper\" }\nconst _hoisted_38 = { class: \"select\" }\nconst _hoisted_39 = [\"disabled\"]\nconst _hoisted_40 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", {\n value: null,\n disabled: \"\",\n selected: \"\"\n}, \"-- Select investigation --\", -1))\nconst _hoisted_41 = [\"value\"]\nconst _hoisted_42 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_43 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_44 = {\n key: 4,\n class: \"row mt-4 mb-1\"\n}\nconst _hoisted_45 = { class: \"colone\" }\nconst _hoisted_46 = { class: \"info-wrapper\" }\nconst _hoisted_47 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Branch ID\", -1))\nconst _hoisted_48 = { class: \"fielddata\" }\nconst _hoisted_49 = { class: \"info-wrapper\" }\nconst _hoisted_50 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Address\", -1))\nconst _hoisted_51 = { class: \"fielddata\" }\nconst _hoisted_52 = { class: \"coltwo\" }\nconst _hoisted_53 = { class: \"info-wrapper\" }\nconst _hoisted_54 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Business phone\", -1))\nconst _hoisted_55 = { class: \"fielddata\" }\nconst _hoisted_56 = { class: \"info-wrapper\" }\nconst _hoisted_57 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Email\", -1))\nconst _hoisted_58 = { class: \"fielddata\" }\nconst _hoisted_59 = { class: \"info-wrapper\" }\nconst _hoisted_60 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Investigation type\", -1))\nconst _hoisted_61 = { class: \"fielddata\" }\nconst _hoisted_62 = { class: \"row\" }\nconst _hoisted_63 = { class: \"colone mr-1\" }\nconst _hoisted_64 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Date *\", -1))\nconst _hoisted_65 = { class: \"date-picker\" }\nconst _hoisted_66 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-calendar-check\" }, null, -1))\nconst _hoisted_67 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_68 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_69 = { class: \"coltwo\" }\nconst _hoisted_70 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Start time *\", -1))\nconst _hoisted_71 = { class: \"input\" }\nconst _hoisted_72 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_73 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_74 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"End time *\", -1))\nconst _hoisted_75 = { class: \"input\" }\nconst _hoisted_76 = {\n key: 1,\n class: \"validation-msg\"\n}\nconst _hoisted_77 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_78 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Break duration (in min) *\", -1))\nconst _hoisted_79 = { class: \"input-box\" }\nconst _hoisted_80 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_81 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_82 = {\n key: 1,\n class: \"validation-msg\"\n}\nconst _hoisted_83 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_84 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Notes\", -1))\nconst _hoisted_85 = {\n key: 1,\n class: \"ls-form\"\n}\nconst _hoisted_86 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Select Investigator *\", -1))\nconst _hoisted_87 = { class: \"select-wrapper\" }\nconst _hoisted_88 = { class: \"select\" }\nconst _hoisted_89 = [\"disabled\"]\nconst _hoisted_90 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", {\n value: \"null\",\n disabled: \"\",\n selected: \"\"\n}, \" -- Select investigator -- \", -1))\nconst _hoisted_91 = [\"value\"]\nconst _hoisted_92 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_93 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_94 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Leave Type *\", -1))\nconst _hoisted_95 = { class: \"select-wrapper\" }\nconst _hoisted_96 = { class: \"select\" }\nconst _hoisted_97 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", {\n value: null,\n selected: \"\",\n disabled: \"\"\n}, \" -- Select type -- \", -1))\nconst _hoisted_98 = [\"value\"]\nconst _hoisted_99 = {\n key: 1,\n class: \"validation-msg\"\n}\nconst _hoisted_100 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_101 = { class: \"datetime-wrapper\" }\nconst _hoisted_102 = { class: \"date-wrapper\" }\nconst _hoisted_103 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Start date *\", -1))\nconst _hoisted_104 = { class: \"date-picker\" }\nconst _hoisted_105 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-calendar-check\" }, null, -1))\nconst _hoisted_106 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_107 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_108 = { class: \"time-wrapper\" }\nconst _hoisted_109 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Start time *\", -1))\nconst _hoisted_110 = { class: \"input\" }\nconst _hoisted_111 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_112 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_113 = { class: \"datetime-wrapper\" }\nconst _hoisted_114 = { class: \"date-wrapper\" }\nconst _hoisted_115 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"End date *\", -1))\nconst _hoisted_116 = { class: \"date-picker\" }\nconst _hoisted_117 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-calendar-check\" }, null, -1))\nconst _hoisted_118 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_119 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_120 = { class: \"time-wrapper\" }\nconst _hoisted_121 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"End time *\", -1))\nconst _hoisted_122 = { class: \"input\" }\nconst _hoisted_123 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_124 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_125 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Notes\", -1))\nconst _hoisted_126 = { class: \"controls mt-4\" }\nconst _hoisted_127 = [\"disabled\"]\nconst _hoisted_128 = [\"disabled\"]\nconst _hoisted_129 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-right\" })\n], -1))\nconst _hoisted_130 = {\n key: 2,\n class: \"delete-event\"\n}\nconst _hoisted_131 = { class: \"calendar\" }\nconst _hoisted_132 = {\n key: 0,\n class: \"loading-events\"\n}\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_v3_date_picker = _resolveComponent(\"v3-date-picker\")\n const _component_CalendarView = _resolveComponent(\"CalendarView\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n onClose: _cache[22] || (_cache[22] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.editMode ? 'Edit event' : 'Add new event'), 1),\n _hoisted_4\n ])\n ]),\n body: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n (_ctx.loadingDataSet)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, { key: 0 }))\n : (_ctx.errorLoadingDataSet)\n ? (_openBlock(), _createBlock(_component_ErrorIndicator, { key: 1 }))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 2 }, [\n _createElementVNode(\"form\", _hoisted_7, [\n _createElementVNode(\"fieldset\", null, [\n _hoisted_8,\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"label\", _hoisted_10, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"event-type\",\n disabled: _ctx.editMode,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.formData.eventTypeId) = $event)),\n value: 1\n }, null, 8, _hoisted_11), [\n [_vModelRadio, _ctx.formData.eventTypeId]\n ]),\n _hoisted_12\n ]),\n _createElementVNode(\"label\", _hoisted_13, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"event-type\",\n disabled: _ctx.editMode,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.formData.eventTypeId) = $event)),\n value: 2\n }, null, 8, _hoisted_14), [\n [_vModelRadio, _ctx.formData.eventTypeId]\n ]),\n _hoisted_15\n ])\n ])\n ])\n ]),\n (_ctx.formData.eventTypeId == 1)\n ? (_openBlock(), _createElementBlock(\"form\", _hoisted_16, [\n _createElementVNode(\"fieldset\", null, [\n _hoisted_17,\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"div\", _hoisted_19, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.formData.trustTeamMemberId) = $event)),\n disabled: _ctx.editMode\n }, [\n _hoisted_21,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.investigators, (i) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: i.id\n }, _toDisplayString(i.displayName), 9, _hoisted_22))\n }), 256))\n ], 8, _hoisted_20), [\n [_vModelSelect, _ctx.formData.trustTeamMemberId]\n ])\n ])\n ]),\n (!_ctx.formData.trustTeamMemberId)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_23, [\n _hoisted_24,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_25,\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"div\", _hoisted_27, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => ((_ctx.formData.activityType) = $event)),\n disabled: _ctx.editMode\n }, [\n _hoisted_29,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.timeEntryActivity, (activity) => {\n return (_openBlock(), _createElementBlock(\"option\", { value: activity }, _toDisplayString(activity.name), 9, _hoisted_30))\n }), 256))\n ], 8, _hoisted_28), [\n [_vModelSelect, _ctx.formData.activityType]\n ])\n ])\n ]),\n (!_ctx.formData.activityType)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_31, [\n _hoisted_32,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true),\n ([11].includes(_ctx.formData.activityType?.id))\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 2 }, [\n _hoisted_33,\n _createElementVNode(\"div\", _hoisted_34, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.formData.description) = $event)),\n maxlength: \"200\"\n }, null, 512), [\n [_vModelText, _ctx.formData.description]\n ])\n ]),\n (!_ctx.formData.description)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_35, [\n _hoisted_36,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true),\n (_ctx.formData.activityType?.isInvestigation)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 3 }, [\n _createElementVNode(\"label\", null, \"Investigation \" + _toDisplayString(_ctx.formData.activityType?.isInvestigation ? '*' : ''), 1),\n _createElementVNode(\"div\", _hoisted_37, [\n _createElementVNode(\"div\", _hoisted_38, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => ((_ctx.formData.investigation.id) = $event)),\n disabled: !_ctx.formData.trustTeamMemberId || !_ctx.formData.activityType?.isInvestigation\n }, [\n _hoisted_40,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.filteredInvestigationList, (i) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: i.id\n }, _toDisplayString(i.id) + \" - \" + _toDisplayString(i.latestPracticeLogData?.name) + \" \" + _toDisplayString(i.latestPracticeLogData.branchId ? ' - ' + i.latestPracticeLogData.tradingName : ''), 9, _hoisted_41))\n }), 256))\n ], 8, _hoisted_39), [\n [_vModelSelect, _ctx.formData.investigation.id]\n ])\n ])\n ]),\n (!_ctx.formData.investigation?.id && _ctx.formData.activityType?.isInvestigation)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_42, [\n _hoisted_43,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true),\n (_ctx.formData.investigation?.id > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_44, [\n _createElementVNode(\"div\", _hoisted_45, [\n _createElementVNode(\"div\", _hoisted_46, [\n _hoisted_47,\n _createElementVNode(\"span\", _hoisted_48, _toDisplayString(_ctx.selectedInvestigation.practice?.branchId), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_49, [\n _hoisted_50,\n _createElementVNode(\"span\", _hoisted_51, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.selectedInvestigation.practice?.branchAddress), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_52, [\n _createElementVNode(\"div\", _hoisted_53, [\n _hoisted_54,\n _createElementVNode(\"span\", _hoisted_55, _toDisplayString(_ctx.selectedInvestigation.practice?.businessPhone ?? ''), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_56, [\n _hoisted_57,\n _createElementVNode(\"span\", _hoisted_58, _toDisplayString(_ctx.selectedInvestigation.practice?.email ?? ''), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_59, [\n _hoisted_60,\n _createElementVNode(\"span\", _hoisted_61, _toDisplayString(_ctx.selectedInvestigation.investigationType?.name), 1)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_62, [\n _createElementVNode(\"div\", _hoisted_63, [\n _hoisted_64,\n _createElementVNode(\"div\", _hoisted_65, [\n _createVNode(_component_v3_date_picker, {\n class: \"v3-date-picker\",\n modelValue: _ctx.startDate,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => ((_ctx.startDate) = $event)),\n style: {\"padding\":\"1em\"},\n inputFormat: \"dd-MM-yyyy\"\n }, null, 8, [\"modelValue\"]),\n _hoisted_66\n ]),\n (!_ctx.startDate)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_67, [\n _hoisted_68,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_69, [\n _hoisted_70,\n _createElementVNode(\"div\", _hoisted_71, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"time\",\n step: \"900\",\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => ((_ctx.startTime) = $event))\n }, null, 512), [\n [_vModelText, _ctx.startTime]\n ])\n ]),\n (!_ctx.startTime)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_72, [\n _hoisted_73,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_74,\n _createElementVNode(\"div\", _hoisted_75, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"time\",\n step: \"900\",\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => ((_ctx.endTime) = $event))\n }, null, 512), [\n [_vModelText, _ctx.endTime]\n ])\n ]),\n (!_ctx.endTime)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_76, [\n _hoisted_77,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _hoisted_78,\n _createElementVNode(\"div\", _hoisted_79, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"number\",\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = $event => ((_ctx.formData.breakDuration) = $event))\n }, null, 512), [\n [_vModelText, _ctx.formData.breakDuration]\n ]),\n (_ctx.formData.breakDuration == null || isNaN(_ctx.formData.breakDuration))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_80, [\n _hoisted_81,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.validBreakDuration && _ctx.formData.breakDuration)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_82, [\n _hoisted_83,\n _createTextVNode(\" Break duration is larger than the work duration \")\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _hoisted_84,\n _withDirectives(_createElementVNode(\"textarea\", {\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = $event => ((_ctx.formData.notes) = $event)),\n style: {\"resize\":\"vertical\",\"width\":\"100%\"}\n }, null, 512), [\n [_vModelText, _ctx.formData.notes]\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.formData.eventTypeId == 2)\n ? (_openBlock(), _createElementBlock(\"form\", _hoisted_85, [\n _createElementVNode(\"fieldset\", null, [\n _hoisted_86,\n _createElementVNode(\"div\", _hoisted_87, [\n _createElementVNode(\"div\", _hoisted_88, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[11] || (_cache[11] = $event => ((_ctx.formData.trustTeamMemberId) = $event)),\n disabled: _ctx.editMode\n }, [\n _hoisted_90,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.investigators, (i) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: i.id\n }, _toDisplayString(i.displayName), 9, _hoisted_91))\n }), 256))\n ], 8, _hoisted_89), [\n [_vModelSelect, _ctx.formData.trustTeamMemberId]\n ])\n ])\n ]),\n (!_ctx.formData.trustTeamMemberId)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_92, [\n _hoisted_93,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_94,\n _createElementVNode(\"div\", _hoisted_95, [\n _createElementVNode(\"div\", _hoisted_96, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[12] || (_cache[12] = $event => ((_ctx.formData.leaveTypeId) = $event))\n }, [\n _hoisted_97,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.leaveType, (l) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: l.id\n }, _toDisplayString(l.name), 9, _hoisted_98))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.formData.leaveTypeId]\n ])\n ])\n ]),\n (!_ctx.formData.leaveTypeId)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_99, [\n _hoisted_100,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_101, [\n _createElementVNode(\"div\", _hoisted_102, [\n _hoisted_103,\n _createElementVNode(\"div\", _hoisted_104, [\n _createVNode(_component_v3_date_picker, {\n class: \"v3-date-picker\",\n modelValue: _ctx.startDate,\n \"onUpdate:modelValue\": _cache[13] || (_cache[13] = $event => ((_ctx.startDate) = $event)),\n style: {\"padding\":\"1em\"},\n inputFormat: \"dd-MM-yyyy\"\n }, null, 8, [\"modelValue\"]),\n _hoisted_105\n ]),\n (!_ctx.startDate)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_106, [\n _hoisted_107,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_108, [\n _hoisted_109,\n _createElementVNode(\"div\", _hoisted_110, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"time\",\n step: \"900\",\n \"onUpdate:modelValue\": _cache[14] || (_cache[14] = $event => ((_ctx.startTime) = $event))\n }, null, 512), [\n [_vModelText, _ctx.startTime]\n ])\n ]),\n (!_ctx.startTime)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_111, [\n _hoisted_112,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_113, [\n _createElementVNode(\"div\", _hoisted_114, [\n _hoisted_115,\n _createElementVNode(\"div\", _hoisted_116, [\n _createVNode(_component_v3_date_picker, {\n class: \"v3-date-picker\",\n modelValue: _ctx.endDate,\n \"onUpdate:modelValue\": _cache[15] || (_cache[15] = $event => ((_ctx.endDate) = $event)),\n style: {\"padding\":\"1em\"},\n inputFormat: \"dd-MM-yyyy\",\n lowerLimit: _ctx.startDate\n }, null, 8, [\"modelValue\", \"lowerLimit\"]),\n _hoisted_117\n ]),\n (!_ctx.endDate)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_118, [\n _hoisted_119,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_120, [\n _hoisted_121,\n _createElementVNode(\"div\", _hoisted_122, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"time\",\n step: \"900\",\n \"onUpdate:modelValue\": _cache[16] || (_cache[16] = $event => ((_ctx.endTime) = $event))\n }, null, 512), [\n [_vModelText, _ctx.endTime]\n ])\n ]),\n (!_ctx.endTime)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_123, [\n _hoisted_124,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _hoisted_125,\n _withDirectives(_createElementVNode(\"textarea\", {\n \"onUpdate:modelValue\": _cache[17] || (_cache[17] = $event => ((_ctx.formData.notes) = $event)),\n style: {\"resize\":\"vertical\",\"width\":\"100%\"}\n }, null, 512), [\n [_vModelText, _ctx.formData.notes]\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_126, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default\",\n disabled: _ctx.submitting,\n onClick: _cache[18] || (_cache[18] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\",\"stop\"]))\n }, \" Back \", 8, _hoisted_127),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n disabled: _ctx.submitting || !(_ctx.isFormDirty && _ctx.validForm),\n onClick: _cache[19] || (_cache[19] = _withModifiers($event => (_ctx.saveEvent()), [\"prevent\",\"stop\"]))\n }, [\n _createTextVNode(\" Save time entry\"),\n _hoisted_129\n ], 8, _hoisted_128),\n (_ctx.submitting)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.editMode)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_130, [\n _createTextVNode(\" Or \"),\n _createElementVNode(\"a\", {\n class: \"link2\",\n onClick: _cache[20] || (_cache[20] = $event => (_ctx.deleteEvent()))\n }, \"delete event\")\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n ]),\n _createElementVNode(\"div\", _hoisted_131, [\n _createVNode(_component_CalendarView, {\n eventData: _ctx.eventData,\n \"onUpdate:eventData\": _cache[21] || (_cache[21] = $event => ((_ctx.eventData) = $event)),\n viewSelector: true,\n todayButton: true,\n onUiDateTimeRangeChanged: _ctx.uiDateTimeRangeChanged,\n defaultView: \"M\",\n header: \"Calendar\"\n }, {\n buttons: _withCtx(() => [\n (_ctx.loadingEvents)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_132, [\n _createVNode(_component_LoadingIndicator, { showLoadingText: false })\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"eventData\", \"onUiDateTimeRangeChanged\"])\n ])\n ])\n ]),\n _: 1\n })\n ]))\n}","\nimport { Options, Vue } from 'vue-class-component';\nimport ModalBox from '@/shared/components/modal-box/index.vue';\nimport { Inject, Prop, Watch } from 'vue-property-decorator';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { EventEmitter } from 'events';\nimport store from '@/trust-admin-app/store';\nimport V3DatePicker from 'vue3-datepicker';\nimport { InvestigationView, LeaveEntryRequest, LeaveType, TimeEntryActivity, TimeEntryRequest, TimeEntryType, TimeEntryView, TrustTeamMemberView } from '@/shared/modules/typescript-trustapi-client/models';\nimport CalendarView from '@/shared/components/calendar-view/index.vue';\nimport moment from 'moment';\nimport { EventInput, ViewApi } from '@fullcalendar/core';\nimport { AppInsights } from '@/trust-admin-app/appInsights';\nimport { eventPublicHolidayTransform, eventTransform } from '@/shared/components/helpers';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport { orderBy } from 'lodash';\nimport { EventForm } from './event-form';\n\n@Options({\n components: {\n ModalBox,\n V3DatePicker,\n LoadingIndicator,\n ErrorIndicator,\n CalendarView,\n },\n mixins: [FormatDateTimeMixin]\n})\nexport default class AddEventModal extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Inject({ from: 'leaveType', default: [] })\n private leaveType!: LeaveType[];\n\n @Inject({ from: 'timeEntryType', default: [] })\n private timeEntryType!: TimeEntryType[];\n\n @Inject({ from: 'timeEntryActivity', default: [] })\n private timeEntryActivity!: TimeEntryActivity[];\n\n @Prop({ default: { id: 0, eventTypeId: 1 } })\n private eventFormData!: EventForm;\n\n private ai = new AppInsights;\n\n private currentCalendarView: ViewApi = null as any;\n private loadingEvents = false;\n\n private submitting = false;\n private loadingContent = false;\n private errorLoadingContent = false;\n private showCancelAlert = false;\n\n private loadingDataSet = false;\n private errorLoadingDataSet = false;\n\n private startDate = new Date();\n private startTime = '';\n private endDate = new Date();\n private endTime = '';\n\n private investigators: TrustTeamMemberView[] = [];\n private investigationList: InvestigationView[] = [];\n private eventData: EventInput[] = [];\n\n private formData: EventForm = {};\n\n @Watch('formData.trustTeamMemberId')\n onTrustTeamMemberChanged(): void {\n if (this.currentCalendarView) {\n this.getEvents(this.currentCalendarView);\n }\n }\n\n @Watch('formData.activityType')\n onActivityTypeChanged(): void {\n this.formData.investigation = this.formData.activityType?.isInvestigation ? this.formData?.investigation : { id: null };\n }\n\n created(): void {\n this.init();\n }\n\n mounted(): void {\n this.preloadData();\n }\n\n private init(): void {\n this.formData = JSON.parse(JSON.stringify(this.eventFormData));\n\n this.formData.id = this.formData.id ?? 0;\n this.formData.trustTeamMemberId = this.formData.trustTeamMemberId ?? null as any;\n this.formData.eventTypeId = this.formData.eventTypeId ?? 2;\n this.formData.activityType = this.formData.activityType ?? null as any;\n this.formData.investigation = this.formData.investigation ?? { id: null };\n this.formData.leaveTypeId = this.formData.leaveTypeId ?? null as any;\n\n this.startDate = this.formData.startDateTime ? new Date(this.formData.startDateTime) : new Date();\n this.startTime = moment(this.startDate).format('HH:mm');\n\n\n if (!this.editMode && this.formData.eventTypeId == 2) {\n this.endDate = this.formData.startDateTime ? new Date(this.formData.startDateTime) : new Date();\n this.endTime = moment(this.endDate).format('HH:mm');\n } else {\n this.endDate = this.formData.endDateTime ? new Date(this.formData.endDateTime) : new Date();\n this.endTime = moment(this.endDate).format('HH:mm');\n }\n // console.log(this.formData);\n }\n\n private saveEvent(): void {\n if (this.formData.eventTypeId == 1) {\n this.saveTimeEntry();\n } else {\n this.saveLeaveTimeEntry();\n }\n }\n\n private async saveLeaveTimeEntry(): Promise {\n try {\n if (!this.validForm && !this.isFormDirty) {\n throw new Error('Invalid Data Filled');\n }\n this.submitting = true;\n const leaveEntryReq: LeaveEntryRequest = {\n id: this.formData.id,\n trustTeamMemberId: this.formData.trustTeamMemberId,\n leaveTypeId: this.formData.leaveTypeId,\n startDateTime: this.localToUTCString(this.startDate, this.startTime),\n endDateTime: this.localToUTCString(this.endDate, this.endTime),\n notes: this.formData.notes\n };\n const resp: any =\n await this.apiService.TimeEntryApi?.apiV2TimeEntrySaveLeaveTimeEntryPost(leaveEntryReq);\n this.eventCtrl.emit('show-snackbar', 'success', 'Updated Successfully');\n this.eventCtrl.emit('reload-events-data');\n this.closeModal();\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to process request');\n } finally {\n this.submitting = false;\n }\n }\n\n private async saveTimeEntry(): Promise {\n try {\n if (!this.validForm && !this.isFormDirty) {\n throw new Error('Invalid Data Filled');\n }\n this.submitting = true;\n const timeEntryReq: TimeEntryRequest = {\n id: this.formData.id,\n trustTeamMemberId: this.formData.trustTeamMemberId,\n breakDuration: this.formData.breakDuration,\n investigationId: this.formData.activityType?.isInvestigation ? this.formData.investigation?.id : null,\n timeEntryActivityId: this.formData.activityType?.id ?? null,\n startDateTime: this.localToUTCString(this.startDate, this.startTime),\n endDateTime: this.localToUTCString(this.startDate, this.endTime),\n notes: this.formData.notes,\n description: [11].includes(this.formData.activityType?.id) ? this.formData.description : null\n };\n const resp: any =\n await this.apiService.TimeEntryApi?.apiV2TimeEntrySaveTimeEntryPost(timeEntryReq);\n this.eventCtrl.emit('show-snackbar', 'success', 'Updated Successfully');\n this.eventCtrl.emit('reload-events-data');\n this.closeModal();\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to process request');\n } finally {\n this.submitting = false;\n }\n }\n\n private async deleteEvent(): Promise {\n try {\n this.submitting = true;\n await this.apiService.TimeEntryApi?.apiV2TimeEntryDeleteTimeEntryTimeEntryIdDelete(this.formData.id);\n this.eventCtrl.emit('show-snackbar', 'success', 'Event deleted successfully');\n this.eventCtrl.emit('reload-events-data');\n this.closeModal();\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to delete event');\n } finally {\n this.submitting = false;\n }\n }\n\n get validBreakDuration(): boolean {\n const startDateTime = this.localToUTCString(this.startDate, this.startTime);\n const endDateTime = this.localToUTCString(this.startDate, this.endTime);\n return (this.formData.breakDuration as any) < moment(endDateTime).diff(moment(startDateTime), 'minutes');\n }\n\n get validForm(): boolean {\n const chk1 = !!this.formData.trustTeamMemberId && this.formData.trustTeamMemberId > 0;\n const chk2 = !!this.formData.leaveTypeId && this.formData.leaveTypeId > 0;\n const chk3 = !!this.startDate;\n const chk4 = !!this.startTime;\n const chk5 = !!this.endDate;\n const chk6 = !!this.endTime;\n const chk7 = !!this.formData.activityType;\n const chk8 = this.formData.activityType?.isInvestigation &&\n !!this.formData.investigation && this.formData.investigation.id > 0;\n const chk9 = [11].includes(this.formData.activityType?.id) &&\n !!this.formData.description && this.formData.description.length > 0;\n const chk10 = ![11].includes(this.formData.activityType?.id) &&\n !this.formData.activityType?.isInvestigation && this.formData.investigation?.id == null;\n const chk11 = !isNaN(this.formData.breakDuration as any) && parseInt(this.formData.breakDuration as any) >= 0;\n const startDateTime = this.localToUTCString(this.startDate, this.startTime);\n\n if (this.formData.eventTypeId == 1) {\n const endDateTime = this.localToUTCString(this.startDate, this.endTime);\n const dateTimeCheck = endDateTime > startDateTime;\n const breakDurationCheck = (this.formData.breakDuration as any) > moment(endDateTime).diff(moment(startDateTime), 'minutes');\n return chk1 && chk3 && chk4 && chk6 && chk7 && (chk8 || chk9 || chk10) && chk11 && dateTimeCheck && !breakDurationCheck;\n } else if (this.formData.eventTypeId == 2) {\n const endDateTime = this.localToUTCString(this.endDate, this.endTime);\n const dateTimeCheck = endDateTime > startDateTime;\n return chk1 && chk2 && chk3 && chk4 && chk5 && chk6 && dateTimeCheck;\n } else {\n return false;\n }\n }\n\n get isFormDirty(): boolean {\n const chk1 = this.eventFormData.trustTeamMemberId != this.formData.trustTeamMemberId;\n const chk2 = this.eventFormData.leaveTypeId != this.formData.leaveTypeId;\n\n const chk3 = moment(this.formData.startDateTime ?? this.startDate).unix() !=\n moment(moment(this.startDate).format('YYYY-MM-DD'))\n .add(parseInt(this.startTime.split(':')[0]), 'h')\n .add(parseInt(this.startTime.split(':')[1]), 'm').unix();\n\n const chk4 = moment(this.formData.endDateTime ?? this.endDate).unix() !=\n moment(moment(this.formData.eventTypeId == 1 ? this.startDate : this.endDate).format('YYYY-MM-DD'))\n .add(parseInt(this.endTime.split(':')[0]), 'h')\n .add(parseInt(this.endTime.split(':')[1]), 'm').unix();\n\n const chk5 = this.eventFormData.breakDuration != this.formData.breakDuration;\n const chk6 = this.eventFormData.notes != this.formData.notes;\n const chk7 = this.eventFormData.activityType?.id != this.formData.activityType?.id;\n const chk8 = this.formData.activityType?.isInvestigation && this.eventFormData.investigation?.id != this.formData.investigation?.id;\n const chk9 = [11].includes(this.formData.activityType?.id) && this.eventFormData.description != this.formData.description; \n\n if (this.formData.eventTypeId == 1) {\n return chk1 || chk3 || chk4 || chk5 || chk6 || chk7 || chk8 || chk9;\n } else if (this.formData.eventTypeId == 2) {\n return chk1 || chk2 || chk3 || chk4 || chk6;\n } else {\n return chk1 || chk2 || chk3 || chk4 || chk5 || chk6 || chk7 || chk8 || chk9;\n }\n }\n\n private async getEvents(view: ViewApi): Promise {\n try {\n this.loadingEvents = true;\n const resp: any = await this.apiService.CalendarApi?.apiV2CalendarGetEventsByTrustTeamMemberIdPost({\n trustTeamMemberId: this.formData.trustTeamMemberId,\n startDate: new Date(view.activeStart),\n endDate: new Date(view.activeEnd),\n showMissingTime: false\n });\n this.eventData = [...eventTransform(resp.data.data)];\n } catch (error) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to get time events');\n this.ai.trackException('Error getting investigations: ' + error);\n } finally {\n this.loadingEvents = false;\n }\n }\n\n\n\n private async preloadData(): Promise {\n try {\n this.loadingDataSet = true;\n this.errorLoadingDataSet = false;\n const resp: any[] = await Promise.all([\n this.apiService.InvestigationApi?.apiV2InvestigationGetInvestigationsPost(),\n this.apiService.TrustTeamMemberApi?.apiV2TrustTeamMemberGetTrustTeamMembersPost()\n ]);\n this.investigationList = resp[0].data.data as InvestigationView[];\n this.investigators = orderBy(\n resp[1].data.data as TrustTeamMemberView[],\n [data => data.displayName.toLowerCase()],\n 'asc'\n );\n if (!this.editMode) {\n this.investigators = this.investigators.filter(x => [2, 3, 5].includes(x.userGroup?.id));\n }\n } catch (err) {\n this.errorLoadingDataSet = true;\n } finally {\n this.loadingDataSet = false;\n }\n }\n\n private localToUTCString(date: Date, timeString: string) {\n const _localTime: string = moment(date).local().format('YYYY-MM-DD') + ' ' + timeString;\n return moment(_localTime).utc().format();\n }\n\n private closeModal() {\n this.$emit('closeAddEventModal');\n }\n\n private uiDateTimeRangeChanged(view: ViewApi): void {\n this.currentCalendarView = view;\n if (!!this.formData.trustTeamMemberId && this.formData.trustTeamMemberId > 0) {\n this.getEvents(view);\n }\n }\n\n get selectedInvestigation(): InvestigationView {\n if (this.editMode && this.formData.investigation) {\n return this.formData.investigation;\n } else {\n try {\n console.log(this.filteredInvestigationList.filter(\n x => x.id == this.formData.investigation?.id\n )[0]);\n return this.filteredInvestigationList.filter(\n x => x.id == this.formData.investigation?.id\n )[0];\n } catch {\n return null as any;\n }\n }\n }\n\n get filteredInvestigationList(): InvestigationView[] {\n return this.investigationList.filter(\n x => x.trustTeamMember?.id == this.formData.trustTeamMemberId\n );\n }\n\n get editMode(): boolean {\n return this.eventFormData?.id > 0;\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n get selectedTrustTeamMember(): TrustTeamMemberView {\n return store.getters.getSelectedTrustTeamMember;\n }\n\n}\n\n","import { render } from \"./add-event-modal.html?vue&type=template&id=66f81476&scoped=true&ts=true&external\"\nimport script from \"./add-event-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./add-event-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./add-event-modal.scss?vue&type=style&index=0&id=66f81476&scoped=true&lang=sccs&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-66f81476\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, withKeys as _withKeys, vModelText as _vModelText, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, withModifiers as _withModifiers, normalizeClass as _normalizeClass, vShow as _vShow, createTextVNode as _createTextVNode, vModelSelect as _vModelSelect, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-9a436aca\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"add-edit-member-modal\" }\nconst _hoisted_2 = { class: \"heading-text\" }\nconst _hoisted_3 = { class: \"line1\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"line2\" }, \"Investigation team\", -1))\nconst _hoisted_5 = {\n key: 0,\n class: \"body-main has-indicator\"\n}\nconst _hoisted_6 = {\n key: 1,\n class: \"body-main has-indicator\"\n}\nconst _hoisted_7 = {\n key: 2,\n class: \"body-main\"\n}\nconst _hoisted_8 = { class: \"user-form\" }\nconst _hoisted_9 = { class: \"ls-form\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Search user *\", -1))\nconst _hoisted_11 = { class: \"autocomplete search-user-input\" }\nconst _hoisted_12 = { class: \"icon-hm\" }\nconst _hoisted_13 = {\n key: 0,\n class: \"fal fa-spinner fa-spin fa-lg\"\n}\nconst _hoisted_14 = {\n key: 1,\n class: \"fal fa-search fa-lg\"\n}\nconst _hoisted_15 = {\n id: \"autocomplete-results\",\n class: \"autocomplete-results\"\n}\nconst _hoisted_16 = [\"innerHTML\", \"onClick\"]\nconst _hoisted_17 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_19 = { class: \"aad-user-info mt-4 mb-4\" }\nconst _hoisted_20 = { class: \"form-col\" }\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Name\", -1))\nconst _hoisted_22 = { class: \"form-col\" }\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Email\", -1))\nconst _hoisted_24 = { class: \"form-col\" }\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Security group/s\", -1))\nconst _hoisted_26 = { class: \"onerow-twocol-wrapper\" }\nconst _hoisted_27 = { class: \"colone\" }\nconst _hoisted_28 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Role *\", -1))\nconst _hoisted_29 = { class: \"select-wrapper\" }\nconst _hoisted_30 = { class: \"select\" }\nconst _hoisted_31 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", {\n value: null,\n disabled: \"\",\n selected: \"\"\n}, \"-- Select role --\", -1))\nconst _hoisted_32 = [\"value\"]\nconst _hoisted_33 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_34 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_35 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Charge amount *\", -1))\nconst _hoisted_36 = { class: \"input-box\" }\nconst _hoisted_37 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_38 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_39 = { class: \"coltwo\" }\nconst _hoisted_40 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Supervisor\", -1))\nconst _hoisted_41 = { class: \"select-wrapper\" }\nconst _hoisted_42 = { class: \"select\" }\nconst _hoisted_43 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", {\n value: undefined,\n disabled: \"\",\n selected: \"\"\n}, \"-- Select supervisor --\", -1))\nconst _hoisted_44 = [\"value\"]\nconst _hoisted_45 = {\n key: 0,\n class: \"onerow-twocol-wrapper\"\n}\nconst _hoisted_46 = { class: \"colone\" }\nconst _hoisted_47 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Start date (for timesheets) *\", -1))\nconst _hoisted_48 = { class: \"date-picker\" }\nconst _hoisted_49 = {\n key: 0,\n class: \"fal fa-calendar-check\"\n}\nconst _hoisted_50 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_51 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_52 = { class: \"coltwo\" }\nconst _hoisted_53 = { class: \"date-picker\" }\nconst _hoisted_54 = {\n key: 0,\n class: \"custom-icon fal fa-calendar-check\"\n}\nconst _hoisted_55 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_56 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_57 = { class: \"controls mt-4\" }\nconst _hoisted_58 = [\"disabled\"]\nconst _hoisted_59 = [\"disabled\"]\nconst _hoisted_60 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-right\" })\n], -1))\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_v3_date_picker = _resolveComponent(\"v3-date-picker\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n onClose: _cache[14] || (_cache[14] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.editMode ? 'Edit ' + _ctx.teamMember.displayName : 'Add new user'), 1),\n _hoisted_4\n ])\n ]),\n body: _withCtx(() => [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createVNode(_component_LoadingIndicator)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(_component_ErrorIndicator)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"form\", _hoisted_9, [\n _createElementVNode(\"fieldset\", null, [\n (!_ctx.editMode)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_10,\n _createElementVNode(\"div\", _hoisted_11, [\n _withDirectives(_createElementVNode(\"input\", {\n onKeydown: [\n _cache[0] || (_cache[0] = _withKeys((...args) => (_ctx.onArrowDown && _ctx.onArrowDown(...args)), [\"down\"])),\n _cache[1] || (_cache[1] = _withKeys((...args) => (_ctx.onArrowUp && _ctx.onArrowUp(...args)), [\"up\"])),\n _cache[2] || (_cache[2] = _withKeys((...args) => (_ctx.onEnter && _ctx.onEnter(...args)), [\"enter\"]))\n ],\n class: \"searchField\",\n type: \"text\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => ((_ctx.search) = $event)),\n placeholder: \"Search by Name or Email\"\n }, null, 544), [\n [_vModelText, _ctx.search]\n ]),\n _withDirectives(_createElementVNode(\"input\", {\n type: \"hidden\",\n id: \"member\",\n name: \"member\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.formData.externalId) = $event))\n }, null, 512), [\n [_vModelText, _ctx.formData.externalId]\n ]),\n _createElementVNode(\"span\", _hoisted_12, [\n (_ctx.isSearching)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_13))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_14))\n ]),\n _withDirectives(_createElementVNode(\"ul\", _hoisted_15, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.memberList, (member, i) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: i,\n class: _normalizeClass([\"autocomplete-result\", { 'is-active': i === _ctx.arrowCounter }]),\n innerHTML: _ctx.highlightWord(member.displayName + ' | ' + member.email),\n onClick: _withModifiers($event => (_ctx.selectMember(member)), [\"prevent\"])\n }, null, 10, _hoisted_16))\n }), 128))\n ], 512), [\n [_vShow, _ctx.isOpen]\n ]),\n (!_ctx.formData.externalId)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _hoisted_18,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ], 64))\n : _createCommentVNode(\"\", true),\n (!!_ctx.formData.externalId)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _hoisted_21,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.formData.displayName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_22, [\n _hoisted_23,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.formData.email), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_24, [\n _hoisted_25,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.formData.securityGroups), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"div\", _hoisted_27, [\n _hoisted_28,\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"div\", _hoisted_30, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => ((_ctx.formData.userGroup.id) = $event))\n }, [\n _hoisted_31,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.userGroups, (ug) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: ug.id\n }, _toDisplayString(ug.name), 9, _hoisted_32))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.formData.userGroup.id]\n ])\n ])\n ]),\n (!_ctx.formData.userGroup.id)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_33, [\n _hoisted_34,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true),\n (!!_ctx.formData.userGroup?.id && _ctx.formData.userGroup?.id !== 1)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _hoisted_35,\n _createElementVNode(\"div\", _hoisted_36, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"number\",\n placeholder: \"0.00\",\n min: \"0\",\n step: \".01\",\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => ((_ctx.formData.chargeAmount) = $event))\n }, null, 512), [\n [_vModelText, _ctx.formData.chargeAmount]\n ]),\n (_ctx.formData.chargeAmount === null || isNaN(_ctx.formData.chargeAmount))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_37, [\n _hoisted_38,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ], 64))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_39, [\n (!!_ctx.formData.userGroup?.id && _ctx.formData.userGroup?.id !== 1)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_40,\n _createElementVNode(\"div\", _hoisted_41, [\n _createElementVNode(\"div\", _hoisted_42, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => ((_ctx.formData.supervisor.id) = $event))\n }, [\n _hoisted_43,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.supervisorList, (s) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: s.id\n }, _toDisplayString(s.displayName), 9, _hoisted_44))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.formData.supervisor.id]\n ])\n ])\n ])\n ], 64))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n ((!!_ctx.formData.userGroup?.id && _ctx.formData.userGroup?.id !== 1) || (_ctx.teamMember.userGroup?.id > 1 && _ctx.formData.userGroup?.id == 1))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_45, [\n _createElementVNode(\"div\", _hoisted_46, [\n _hoisted_47,\n _createElementVNode(\"div\", _hoisted_48, [\n _createVNode(_component_v3_date_picker, {\n class: \"v3-date-picker\",\n modelValue: _ctx.startDateForTimesheet,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => ((_ctx.startDateForTimesheet) = $event)),\n style: {\"padding\":\"1em\"},\n inputFormat: \"dd-MM-yyyy\",\n upperLimit: _ctx.endDateForTimesheet\n }, null, 8, [\"modelValue\", \"upperLimit\"]),\n (!_ctx.startDateForTimesheet)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_49))\n : (_openBlock(), _createElementBlock(\"i\", {\n key: 1,\n class: \"fal fa-times clearBtn\",\n onClick: _cache[9] || (_cache[9] = $event => (_ctx.startDateForTimesheet = null))\n }))\n ]),\n (!_ctx.startDateForTimesheet)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_50, [\n _hoisted_51,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_52, [\n (_ctx.editMode)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createElementVNode(\"label\", null, \"End date (for timesheets) \" + _toDisplayString((_ctx.teamMember.userGroup?.id > 1 && _ctx.formData.userGroup?.id == 1) ? '*' : ''), 1),\n _createElementVNode(\"div\", _hoisted_53, [\n _createVNode(_component_v3_date_picker, {\n class: \"v3-date-picker\",\n modelValue: _ctx.endDateForTimesheet,\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = $event => ((_ctx.endDateForTimesheet) = $event)),\n style: {\"padding\":\"1em\"},\n inputFormat: \"dd-MM-yyyy\",\n lowerLimit: _ctx.startDateForTimesheet\n }, null, 8, [\"modelValue\", \"lowerLimit\"]),\n (!_ctx.endDateForTimesheet)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_54))\n : (_openBlock(), _createElementBlock(\"i\", {\n key: 1,\n class: \"fal fa-times clearBtn\",\n onClick: _cache[11] || (_cache[11] = $event => (_ctx.endDateForTimesheet = null))\n }))\n ]),\n (_ctx.teamMember.userGroup?.id > 1 && _ctx.formData.userGroup?.id == 1 && !_ctx.endDateForTimesheet)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_55, [\n _hoisted_56,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_57, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default ml-1\",\n disabled: _ctx.submitting,\n onClick: _cache[12] || (_cache[12] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\",\"stop\"]))\n }, \"Back\", 8, _hoisted_58),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n disabled: _ctx.submitting || !(_ctx.isFormDirty && _ctx.validForm),\n onClick: _cache[13] || (_cache[13] = _withModifiers($event => (_ctx.saveTrustTeamMember()), [\"prevent\",\"stop\"]))\n }, [\n _createTextVNode(_toDisplayString(_ctx.editMode ? 'Save changes' : 'Add user'), 1),\n _hoisted_60\n ], 8, _hoisted_59),\n (_ctx.submitting)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n ]),\n _: 1\n })\n ]))\n}","declare module '@vue/runtime-core' {\n export interface ComponentCustomProperties {\n $convertToDollarValue: (v: number) => string,\n }\n}\n\nexport default {\n methods: {\n $convertToDollarValue(v: number): string {\n try {\n const formatter = new Intl.NumberFormat('en-AU', {\n style: 'currency',\n currency: 'AUD',\n minimumFractionDigits: 2\n });\n return formatter.format(v);\n } catch (err) {\n return '0.00';\n }\n }\n },\n};\n","import LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport ModalBox from \"@/shared/components/modal-box/index.vue\";\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport { AppInsights } from '@/trust-admin-app/appInsights';\nimport store from '@/trust-admin-app/store';\nimport { EventEmitter } from 'events';\nimport { Inject, Options, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport debounce from 'lodash/debounce';\nimport V3DatePicker from 'vue3-datepicker';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport moment from 'moment';\nimport NumberFormattingMixin from '@/shared/mixins/number-formatting';\nimport { SecurityGroupMemberView, Supervisor, TrustTeamMemberRequest, TrustTeamMemberView, UserGroup } from '@/shared/modules/typescript-trustapi-client/models';\n\n@Options({\n components: {\n ModalBox,\n V3DatePicker,\n LoadingIndicator,\n ErrorIndicator\n },\n mixins: [NumberFormattingMixin]\n})\nexport default class AddEditMemberModal extends Vue {\n private ai = new AppInsights;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Inject({ from: 'userGroups', default: [] })\n private userGroups!: UserGroup[];\n\n @Prop({ default: null })\n teamMember!: TrustTeamMemberView;\n\n private loadingContent = false;\n private errorLoadingContent = false;\n private submitting = false;\n private isOpen = false;\n private arrowCounter = -1;\n private search = '';\n private isSearching = false;\n private srchDebounced: any = null;\n\n private memberList: SecurityGroupMemberView[] = [];\n private supervisorList: Supervisor[] = [];\n private formData: TrustTeamMemberView = {};\n\n private startDateForTimesheet: Date = null as any;\n private endDateForTimesheet: Date = null as any;\n\n @Watch('search')\n private onKeywordChange(): void {\n if (this.memberList.filter(x => x.displayName == this.search).length == 0) {\n this.formData.id = 0;\n setTimeout(this.srchDebounced.cancel, 0);\n setTimeout(this.srchDebounced, 0);\n }\n }\n\n mounted(): void {\n window.addEventListener('click', this.handleClickOutside);\n this.srchDebounced = debounce(() => {\n this.searchUser();\n }, 1000);\n }\n\n beforeUnmount(): void {\n window.removeEventListener('click', this.handleClickOutside);\n }\n\n created(): void {\n this.init();\n }\n\n private async init(): Promise {\n try {\n this.loadingContent = true;\n this.errorLoadingContent = false;\n this.memberList = [];\n\n await this.preloadData();\n\n this.formData = JSON.parse(JSON.stringify(this.teamMember));\n\n this.formData.id = this.formData.id ?? 0;\n this.formData.userGroup = this.formData.userGroup ?? {\n id: null\n };\n this.formData.supervisor = this.formData.supervisor ?? {\n id: undefined\n };\n\n if (this.editMode) {\n this.startDateForTimesheet = this.formData.startDate ? new Date(\n moment(this.formData.startDate).format('YYYY-MM-DD 00:00:00')\n ) : null as any;\n this.endDateForTimesheet = this.formData.endDate ? new Date(\n moment(this.formData.endDate).format('YYYY-MM-DD 00:00:00')\n ) : null as any;\n }\n\n } catch (err) {\n this.errorLoadingContent = true;\n } finally {\n this.loadingContent = false;\n }\n }\n\n private async saveTrustTeamMember(): Promise {\n try {\n if (!this.validForm && !this.isFormDirty) {\n throw new Error('Invalid Data Filled');\n }\n this.submitting = true;\n const memReq: TrustTeamMemberRequest = {\n id: this.formData.id,\n externalId: this.formData.externalId ?? null,\n firstName: this.formData.firstName,\n lastName: this.formData.lastName,\n displayName: this.formData.displayName,\n email: this.formData.email,\n mobilePhone: this.formData.mobilePhone,\n securityGroups: this.formData.securityGroups,\n userGroupId: this.formData.userGroup.id,\n startDate: this.startDateForTimesheet ? new Date(this.startDateForTimesheet).toISOString() : null,\n endDate: this.endDateForTimesheet ? new Date(this.endDateForTimesheet).toISOString() : null,\n supervisorId: this.formData.supervisor?.id ?? null,\n chargeAmount: this.formData.chargeAmount\n };\n const resp: any =\n await this.apiService.TrustTeamMemberApi?.apiV2TrustTeamMemberSaveTrustTeamMemberPost(memReq);\n\n if (memReq.id == 0) {\n this.eventCtrl.emit('show-snackbar', 'success', 'Member added successfully');\n this.eventCtrl.emit('reload-trust-team');\n } else {\n this.$emit('detailsUpdated');\n this.eventCtrl.emit('show-snackbar', 'success', 'Member updated successfully');\n this.eventCtrl.emit('reload-investigator-dashboard');\n }\n this.closeModal();\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to process request');\n } finally {\n this.submitting = false;\n }\n }\n\n private async preloadData(): Promise {\n try {\n const resp: any[] = await Promise.all([\n this.apiService.TrustTeamMemberApi?.apiV2TrustTeamMemberGetSupervisorsGet(),\n ]);\n this.supervisorList = resp[0].data.data as Supervisor[];\n return Promise.resolve(false);\n } catch (err) {\n return Promise.reject(true);\n }\n }\n\n private closeModal() {\n this.$emit('closeAddEditMemberModal');\n }\n\n private async searchUser(): Promise {\n try {\n this.isSearching = true;\n const resp: any = await this.apiService.TrustTeamMemberApi?.apiV2TrustTeamMemberSearchSecurityGroupMembersGet(\n this.search,\n true\n );\n this.memberList = resp.data.data as SecurityGroupMemberView[];\n this.isOpen = this.memberList.length > 0;\n } catch (err) {\n this.isOpen = false;\n } finally {\n this.isSearching = false;\n }\n }\n\n private selectMember(m: SecurityGroupMemberView): void {\n this.isOpen = false;\n this.search = m.displayName;\n\n if (!this.editMode) {\n this.formData.externalId = m.id;\n this.formData.displayName = m.displayName;\n this.formData.firstName = m.givenName;\n this.formData.lastName = m.surname;\n this.formData.email = m.email;\n this.formData.mobilePhone = m.mobilePhone;\n this.formData.securityGroups = m.securityGroups;\n }\n }\n\n private onArrowDown(evt: any) {\n if (this.arrowCounter < this.memberList.length) {\n this.arrowCounter = this.arrowCounter + 1;\n }\n }\n\n private onArrowUp(): void {\n if (this.arrowCounter > 0) {\n this.arrowCounter = this.arrowCounter - 1;\n }\n }\n\n private onEnter() {\n if (this.memberList.length > 0) {\n this.selectMember(\n this.memberList[this.arrowCounter === -1 ? 0 : this.arrowCounter]\n );\n }\n this.isOpen = false;\n }\n\n private handleClickOutside(evt: any): void {\n if (this.$el === (evt.target)) {\n this.isOpen = false;\n this.arrowCounter = -1;\n }\n }\n\n private highlightWord(word: string): string {\n try {\n const regex = new RegExp('(' + this.search + ')', 'ig');\n return word.replace(regex, '$1');\n } catch (err) {\n return word;\n }\n }\n\n get validForm(): boolean {\n\n const chk1 = !!this.formData.externalId;\n const chk2 = !!this.formData.userGroup?.id;\n const chk3 = this.formData.userGroup.id == 1 ||\n (this.formData.userGroup.id > 1 &&\n !isNaN(this.formData.chargeAmount) &&\n this.formData.chargeAmount >= 0 &&\n !!this.startDateForTimesheet\n );\n const chk4 = !!this.endDateForTimesheet;\n try {\n if (this.teamMember.userGroup?.id > 1 && this.formData.userGroup?.id == 1) {\n return chk1 && chk2 && chk3 && chk4;\n } else {\n return chk1 && chk2 && chk3;\n }\n\n } catch {\n return false;\n }\n }\n\n get isFormDirty(): boolean {\n if (this.editMode) {\n\n const c_Role = this.teamMember.userGroup.id !== this.formData.userGroup.id;\n const c_ChargeAmount = this.teamMember.chargeAmount !== this.formData.chargeAmount;\n const c_Supervisor = this.teamMember.supervisor?.id !== this.formData.supervisor.id;\n const c_StartDate = moment(this.teamMember?.startDate).unix() !==\n moment(new Date(this.startDateForTimesheet).toISOString()).unix();\n const c_EndDate = moment(this.teamMember?.endDate).unix() !==\n moment(new Date(this.endDateForTimesheet).toISOString()).unix();\n\n // console.log(this.teamMember?.endDate, this.endDateForTimesheet);\n\n if (this.teamMember.userGroup?.id > 1 && this.formData.userGroup?.id == 1) {\n return c_Role || c_StartDate || c_EndDate;\n } else {\n return c_Role || c_ChargeAmount || c_Supervisor || c_StartDate || c_EndDate;\n }\n\n } else {\n return !!this.formData.externalId;\n }\n }\n\n get editMode(): boolean {\n try {\n return this.teamMember.id > 0;\n } catch {\n return false;\n }\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n}\n\n","import { render } from \"./add-edit-member-modal.html?vue&type=template&id=9a436aca&scoped=true&ts=true&external\"\nimport script from \"./add-edit-member-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./add-edit-member-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./add-edit-member-modal.scss?vue&type=style&index=0&id=9a436aca&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-9a436aca\"]])\n\nexport default __exports__","export interface Url {\n Token: string;\n Login: string;\n Logout: string;\n PowerBIComplaints: string;\n PowerBIInhabitRedflag: string;\n PowerBIHestoricalInvestigation: string;\n}\n\nexport const Url: Url = {\n Token: 'token',\n Login: 'login',\n Logout: 'logout',\n PowerBIComplaints: 'https://app.powerbi.com/groups/me/apps/b8c80efa-f778-43ac-8962-12c49b4ac7fd/instances/5233054',\n PowerBIInhabitRedflag: 'https://app.powerbi.com/groups/me/apps/b8c80efa-f778-43ac-8962-12c49b4ac7fd/instances/5233054',\n PowerBIHestoricalInvestigation: 'https://app.powerbi.com/groups/me/apps/b8c80efa-f778-43ac-8962-12c49b4ac7fd/instances/5233054'\n};\n","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, renderList as _renderList, Fragment as _Fragment, vModelSelect as _vModelSelect, withDirectives as _withDirectives, createTextVNode as _createTextVNode, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2f4d8d94\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"investigation-details-modal\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"heading-text\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"line1\" }, \"Investigation details\")\n], -1))\nconst _hoisted_3 = { class: \"columns mt-3\" }\nconst _hoisted_4 = { class: \"column\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Trust account INV ID\", -1))\nconst _hoisted_6 = { class: \"fielddata\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Commencement date\", -1))\nconst _hoisted_8 = {\n key: 1,\n class: \"fielddata\"\n}\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Allocation date\", -1))\nconst _hoisted_10 = { class: \"fielddata\" }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Investigation type\", -1))\nconst _hoisted_12 = [\"value\"]\nconst _hoisted_13 = {\n key: 1,\n class: \"fielddata\"\n}\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Investigator\", -1))\nconst _hoisted_15 = [\"value\"]\nconst _hoisted_16 = {\n key: 1,\n class: \"fielddata\"\n}\nconst _hoisted_17 = { class: \"column\" }\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Satisfactory reply received\", -1))\nconst _hoisted_19 = { class: \"fielddata\" }\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Re-inspection ordered within 18 months\", -1))\nconst _hoisted_21 = { class: \"fielddata\" }\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Was S165 report to PSD issued\", -1))\nconst _hoisted_23 = { class: \"fielddata\" }\nconst _hoisted_24 = { class: \"column\" }\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Result of Report\", -1))\nconst _hoisted_26 = [\"value\"]\nconst _hoisted_27 = {\n key: 1,\n class: \"fielddata\"\n}\nconst _hoisted_28 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Reply required\", -1))\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: true }, \"Yes\", -1))\nconst _hoisted_30 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: false }, \"No\", -1))\nconst _hoisted_31 = [\n _hoisted_29,\n _hoisted_30\n]\nconst _hoisted_32 = { key: 1 }\nconst _hoisted_33 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Status\", -1))\nconst _hoisted_34 = { style: {\"display\":\"flex\",\"justify-content\":\"flex-end\"} }\nconst _hoisted_35 = [\"disabled\"]\nconst _hoisted_36 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_37 = { class: \"columns\" }\nconst _hoisted_38 = { class: \"column\" }\nconst _hoisted_39 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Trust accounting system\", -1))\nconst _hoisted_40 = { class: \"column\" }\nconst _hoisted_41 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"CM accounting system\", -1))\nconst _hoisted_42 = { class: \"column\" }\nconst _hoisted_43 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"PM accounting system\", -1))\nconst _hoisted_44 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_45 = { class: \"breaches\" }\nconst _hoisted_46 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Breaches\", -1))\nconst _hoisted_47 = { key: 1 }\nconst _hoisted_48 = {\n style: {\"display\":\"flex\"},\n class: \"mb-3\"\n}\nconst _hoisted_49 = {\n style: {\"min-width\":\"4em\"},\n class: \"breach-code\"\n}\nconst _hoisted_50 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_51 = { class: \"iwps\" }\nconst _hoisted_52 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"IWP\", -1))\nconst _hoisted_53 = { class: \"iwp-item\" }\nconst _hoisted_54 = { style: {\"display\":\"flex\",\"justify-content\":\"space-between\"} }\nconst _hoisted_55 = { class: \"mb-2 mr-2\" }\nconst _hoisted_56 = { style: {\"text-align\":\"right\"} }\nconst _hoisted_57 = [\"onClick\"]\nconst _hoisted_58 = [\"onClick\"]\nconst _hoisted_59 = { style: {\"text-align\":\"right\"} }\nconst _hoisted_60 = [\"disabled\"]\nconst _hoisted_61 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_62 = { class: \"notes\" }\nconst _hoisted_63 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Investigator notes\", -1))\nconst _hoisted_64 = { class: \"mb-2\" }\nconst _hoisted_65 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_66 = { class: \"row mt-4\" }\nconst _hoisted_67 = [\"disabled\"]\nconst _hoisted_68 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", null, \"Finalisation\", -1))\nconst _hoisted_69 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"Any working papers you need to update before proceeding? This will lock the IWP and set the status to ‘Closed’.\\\"\", -1))\n\nexport function render(_ctx, _cache) {\n const _component_date_picker = _resolveComponent(\"date-picker\")\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n const _component_AddeditIWPModal = _resolveComponent(\"AddeditIWPModal\")\n const _component_FilePreview = _resolveComponent(\"FilePreview\")\n const _component_AlertBox = _resolveComponent(\"AlertBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n onClose: _cache[13] || (_cache[13] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _hoisted_2\n ]),\n body: _withCtx(() => [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", null, [\n _hoisted_5,\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(this.investigation.id), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_7,\n (_ctx.status == 2)\n ? (_openBlock(), _createBlock(_component_date_picker, {\n key: 0,\n class: \"fieldname\",\n value: _ctx.commencementDate,\n \"onUpdate:value\": _cache[0] || (_cache[0] = $event => ((_ctx.commencementDate) = $event)),\n format: \"DD/MM/YYYY\",\n \"input-class\": \"narrow\",\n onChange: _cache[1] || (_cache[1] = $event => (_ctx.checkCanSubmit()))\n }, null, 8, [\"value\"]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_8, _toDisplayString(_ctx.$formatDate(this.investigation.commencementDate)), 1))\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_9,\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$formatDate(this.investigation.dateOfAllocation)), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_11,\n (_ctx.status == 2)\n ? _withDirectives((_openBlock(), _createElementBlock(\"select\", {\n key: 0,\n class: \"fielddata\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((this.investigation.investigationType.id) = $event)),\n style: {\"width\":\"100%\"},\n onChange: _cache[3] || (_cache[3] = $event => (_ctx.checkCanSubmit()))\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(this.investigationTypes, (t) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: t.id\n }, _toDisplayString(t.name), 9, _hoisted_12))\n }), 256))\n ], 544)), [\n [_vModelSelect, this.investigation.investigationType.id]\n ])\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_13, _toDisplayString(this.investigation.investigationType.name), 1))\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_14,\n (_ctx.status == 2)\n ? _withDirectives((_openBlock(), _createElementBlock(\"select\", {\n key: 0,\n class: \"fielddata\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((this.investigation.trustTeamMember.id) = $event)),\n style: {\"width\":\"100%\"},\n onChange: _cache[5] || (_cache[5] = $event => (_ctx.checkCanSubmit()))\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(this.investigators, (t) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: t.id\n }, _toDisplayString(t.displayName), 9, _hoisted_15))\n }), 256))\n ], 544)), [\n [_vModelSelect, this.investigation.trustTeamMember.id]\n ])\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_16, _toDisplayString(this.investigation.trustTeamMember?.displayName), 1))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", null, [\n _hoisted_18,\n _createElementVNode(\"span\", _hoisted_19, _toDisplayString(this.investigation.isSatisfactoryReplyReceived ? 'Yes' : 'No'), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_20,\n _createElementVNode(\"span\", _hoisted_21, _toDisplayString(this.investigationDetails.isReInspectionOrderedWithin18Months ? 'Yes' :\n 'No'), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_22,\n _createElementVNode(\"span\", _hoisted_23, _toDisplayString(this.investigation.isS165reportIssued ? 'Yes' : 'No'), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"div\", null, [\n _hoisted_25,\n (_ctx.status > 2 && this.investigation.reportResult)\n ? _withDirectives((_openBlock(), _createElementBlock(\"select\", {\n key: 0,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => ((this.investigation.reportResult.id) = $event)),\n class: \"fielddata\",\n onChange: _cache[7] || (_cache[7] = $event => (_ctx.checkCanSubmit())),\n style: {\"width\":\"100%\"}\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.reportResults, (r) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: r.id\n }, _toDisplayString(r.name), 9, _hoisted_26))\n }), 256))\n ], 544)), [\n [_vModelSelect, this.investigation.reportResult.id]\n ])\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_27, _toDisplayString(this.investigation.reportResult?.name), 1))\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_28,\n (_ctx.status == 3)\n ? _withDirectives((_openBlock(), _createElementBlock(\"select\", {\n key: 0,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => ((this.investigation.isReplyRequired) = $event)),\n class: \"fielddata\",\n onChange: _cache[9] || (_cache[9] = $event => (_ctx.checkCanSubmit())),\n style: {\"width\":\"100%\"}\n }, _hoisted_31, 544)), [\n [_vModelSelect, this.investigation.isReplyRequired]\n ])\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_32, _toDisplayString(this.investigation.isReplyRequired ? 'Yes' : 'No'), 1))\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_33,\n _createElementVNode(\"span\", null, _toDisplayString(this.investigation.investigationStatus.name), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_34, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n style: {\"width\":\"200px\"}\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary sml mb-3\",\n disabled: !_ctx.canSubmit,\n onClick: _cache[10] || (_cache[10] = $event => (_ctx.submitChanges()))\n }, \"Save\", 8, _hoisted_35)\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_36,\n _createElementVNode(\"div\", _hoisted_37, [\n _createElementVNode(\"div\", _hoisted_38, [\n _hoisted_39,\n (_ctx.loadingContent && !!this.accountingApps)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n style: {\"width\":\"200px\"}\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", null, _toDisplayString(this.accountingApps?.trustAccountingApp?.name), 1),\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.$formatMMYYYY(this.accountingApps?.trustMonthYear)), 1),\n _createElementVNode(\"div\", null, _toDisplayString(this.accountingApps?.trustAmount ? '$ ' +this.accountingApps?.trustAmount: ''), 1),\n _createElementVNode(\"div\", null, _toDisplayString(this.accountingApps?.trustAccountNumber), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_40, [\n _hoisted_41,\n _createElementVNode(\"div\", null, _toDisplayString(this.accountingApps?.controlMoneyAccountingApp?.name), 1),\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.$formatMMYYYY(this.accountingApps?.controlMoneyMonthYear)), 1),\n _createElementVNode(\"div\", null, _toDisplayString(this.accountingApps?.controlMoneyAmount ? '$ ' + this.accountingApps?.controlMoneyAmount : ''), 1),\n _createElementVNode(\"div\", null, _toDisplayString(this.accountingApps?.controlMoneyAccountNumber), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_42, [\n _hoisted_43,\n _createElementVNode(\"div\", null, _toDisplayString(this.accountingApps?.powerMoneyAccountingApp?.name), 1),\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.$formatMMYYYY(this.accountingApps?.powerMoneyMonthYear)), 1),\n _createElementVNode(\"div\", null, _toDisplayString(this.accountingApps?.powerMoneyAmount ? '$ ' + this.accountingApps?.powerMoneyAmount : ''), 1),\n _createElementVNode(\"div\", null, _toDisplayString(this.accountingApps?.powerMoneyAccountNumber), 1)\n ])\n ])\n ]),\n _hoisted_44,\n _createElementVNode(\"div\", _hoisted_45, [\n _hoisted_46,\n (_ctx.loadingContent && !!this.breaches)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n style: {\"width\":\"200px\"}\n }))\n : _createCommentVNode(\"\", true),\n (this.breaches && !_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_47, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(this.breaches, (b) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_48, [\n _createElementVNode(\"h4\", _hoisted_49, _toDisplayString(b.breachCode), 1),\n _createElementVNode(\"span\", null, _toDisplayString(b.description), 1)\n ]))\n }), 256))\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _hoisted_50,\n _createElementVNode(\"div\", _hoisted_51, [\n _hoisted_52,\n (_ctx.loadingContent || _ctx.loadingIWPList)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n style: {\"width\":\"200px\"}\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.workingPapers, (w) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_53, [\n _createElementVNode(\"div\", _hoisted_54, [\n _createElementVNode(\"div\", _hoisted_55, [\n _createElementVNode(\"strong\", null, _toDisplayString(w.file?.fileName), 1),\n _createElementVNode(\"div\", null, _toDisplayString(w.information), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_56, [\n (_ctx.status == 3)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn btn-default sml mr-1\",\n onClick: $event => (_ctx.openAddEditIWPModal(w))\n }, \"Edit\", 8, _hoisted_57))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml\",\n onClick: $event => (_ctx.getFileStream(w))\n }, \"View\", 8, _hoisted_58)\n ])\n ])\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_59, [\n (_ctx.status == 3)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n disabled: _ctx.loadingContent || _ctx.loadingIWPList,\n class: \"btn btn-default sml mt-4\",\n onClick: _cache[11] || (_cache[11] = $event => (_ctx.openAddEditIWPModal({})))\n }, \"Add\", 8, _hoisted_60))\n : _createCommentVNode(\"\", true)\n ]),\n _hoisted_61,\n _createElementVNode(\"div\", _hoisted_62, [\n _hoisted_63,\n _createElementVNode(\"div\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.notes, (n) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_64, [\n _createElementVNode(\"i\", null, [\n _createElementVNode(\"b\", null, _toDisplayString(n.notesType?.description), 1),\n _createTextVNode(\", - \" + _toDisplayString(n.trustTeamMember?.displayName) + \" \" + _toDisplayString(_ctx.$formatDateTimeTypeA(n.createdOn)), 1)\n ]),\n _createElementVNode(\"div\", null, _toDisplayString(n.content), 1)\n ]))\n }), 256))\n ])\n ]),\n _hoisted_65,\n _createElementVNode(\"div\", _hoisted_66, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default\",\n onClick: _cache[12] || (_cache[12] = $event => (_ctx.closeModal())),\n disabled: _ctx.loadingContent\n }, \"Back\", 8, _hoisted_67)\n ])\n ]),\n _: 1\n }),\n (_ctx.showAddEditIWPModal)\n ? (_openBlock(), _createBlock(_component_AddeditIWPModal, {\n key: 0,\n iWP: _ctx.selectedIWP,\n onCloseModal: _cache[14] || (_cache[14] = $event => {_ctx.showAddEditIWPModal = false;})\n }, null, 8, [\"iWP\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_FilePreview, {\n showPreview: _ctx.showFilePreview,\n previewFile: _ctx.selectedFileForPreview,\n state: _ctx.filePreviewState,\n disableBackgroundScroll: true,\n onCloseFilePreview: _cache[15] || (_cache[15] = $event => (_ctx.closeFilePreview()))\n }, null, 8, [\"showPreview\", \"previewFile\", \"state\"]),\n (_ctx.showFinalisationAlert)\n ? (_openBlock(), _createBlock(_component_AlertBox, {\n key: 1,\n onClose: _cache[18] || (_cache[18] = $event => (_ctx.showFinalisationAlert = false))\n }, {\n header: _withCtx(() => [\n _hoisted_68\n ]),\n body: _withCtx(() => [\n _hoisted_69\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: _cache[16] || (_cache[16] = $event => (_ctx.cancelFinalisation()))\n }, \"Update\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-tertiary sml\",\n onClick: _cache[17] || (_cache[17] = $event => (_ctx.updateCompletedInvestigation()))\n }, \"Continue\")\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vModelText as _vModelText, withDirectives as _withDirectives, vModelCheckbox as _vModelCheckbox, withModifiers as _withModifiers, createTextVNode as _createTextVNode, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3ae58798\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"add-edit-iwp-modal\" }\nconst _hoisted_2 = { class: \"heading-text\" }\nconst _hoisted_3 = { class: \"line1\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"line2\" }, \"Working papers\", -1))\nconst _hoisted_5 = { class: \"body-main\" }\nconst _hoisted_6 = { class: \"ls-form\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"small\", null, \"Max file size: 50MB\", -1))\nconst _hoisted_8 = { class: \"ma-1\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Information \", -1))\nconst _hoisted_10 = { class: \"checkbox-button\" }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"checkbox-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Required for final report\")\n], -1))\nconst _hoisted_12 = { class: \"checkbox-button\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"checkbox-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Tag this file as evidence?\")\n], -1))\nconst _hoisted_14 = { class: \"controls mt-4\" }\nconst _hoisted_15 = [\"disabled\"]\nconst _hoisted_16 = [\"disabled\"]\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-right\" })\n], -1))\nconst _hoisted_18 = {\n key: 0,\n class: \"delete-file\"\n}\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", null, \"DELETE FILE\", -1))\n\nexport function render(_ctx, _cache) {\n const _component_FileDragAndDrop = _resolveComponent(\"FileDragAndDrop\")\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n const _component_AlertBox = _resolveComponent(\"AlertBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n onClose: _cache[6] || (_cache[6] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.editMode ? 'Edit ' : 'Add new file'), 1),\n _hoisted_4\n ])\n ]),\n body: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"form\", _hoisted_6, [\n _createElementVNode(\"fieldset\", null, [\n (!_ctx.editMode)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createVNode(_component_FileDragAndDrop, {\n disabled: false,\n ref: \"fileDropAndDrop\",\n onFileInputChanged: _ctx.fileListChanged,\n numFileLimit: 1,\n fileSizeLimit: 50\n }, null, 8, [\"onFileInputChanged\"]),\n _hoisted_7\n ], 64))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_8, [\n _hoisted_9,\n _withDirectives(_createElementVNode(\"textarea\", {\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.formData.information) = $event)),\n style: {\"border\":\"1px solid #aaa\",\"resize\":\"vertical\",\"width\":\"100%\",\"height\":\"250px\"}\n }, null, 512), [\n [_vModelText, _ctx.formData.information]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_10, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.formData.requiredFinalReport) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.formData.requiredFinalReport]\n ]),\n _hoisted_11\n ]),\n _createElementVNode(\"label\", _hoisted_12, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.formData.taggedAsEvidence) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.formData.taggedAsEvidence]\n ]),\n _hoisted_13\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default\",\n disabled: _ctx.submitting,\n onClick: _cache[3] || (_cache[3] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\",\"stop\"]))\n }, \" Back \", 8, _hoisted_15),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n disabled: _ctx.submitting || !(_ctx.isFormDirty && _ctx.validForm),\n onClick: _cache[4] || (_cache[4] = _withModifiers($event => (_ctx.addNewIWP()), [\"prevent\",\"stop\"]))\n }, [\n _createTextVNode(_toDisplayString(_ctx.editMode ? 'Save changes' : 'Add file'), 1),\n _hoisted_17\n ], 8, _hoisted_16),\n (_ctx.submitting)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.editMode)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_18, [\n _createTextVNode(\" Or \"),\n _createElementVNode(\"a\", {\n class: \"link2\",\n onClick: _cache[5] || (_cache[5] = $event => (_ctx.showDeleteAlert = true))\n }, \"delete file\")\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n }),\n (_ctx.showDeleteAlert)\n ? (_openBlock(), _createBlock(_component_AlertBox, {\n key: 0,\n onClose: _cache[9] || (_cache[9] = $event => (_ctx.showDeleteAlert = false))\n }, {\n header: _withCtx(() => [\n _hoisted_19\n ]),\n body: _withCtx(() => [\n _createElementVNode(\"div\", null, \"Are you sure you want to delete \" + _toDisplayString(this.formData.file.name) + \"?\", 1)\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"btn btn-tertiary\",\n onClick: _cache[7] || (_cache[7] = $event => (_ctx.showDeleteAlert = false))\n }, \"Cancel\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary\",\n onClick: _cache[8] || (_cache[8] = (...args) => (_ctx.yesDeleteClicked && _ctx.yesDeleteClicked(...args)))\n }, \"Delete\")\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, Fragment as _Fragment, renderSlot as _renderSlot, toDisplayString as _toDisplayString, withModifiers as _withModifiers, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-09e64137\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"accept\", \"name\", \"id\", \"disabled\"]\nconst _hoisted_2 = {\n key: 0,\n class: \"drop-icon\"\n}\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-sign-in fa-rotate-90 fa-6x\" }, null, -1))\nconst _hoisted_4 = [\n _hoisted_3\n]\nconst _hoisted_5 = {\n key: 1,\n class: \"control\"\n}\nconst _hoisted_6 = { key: 0 }\nconst _hoisted_7 = { key: 1 }\nconst _hoisted_8 = { key: 2 }\nconst _hoisted_9 = { class: \"status\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-spinner fa-spin fa-2x\" }, null, -1))\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-2x error\" }, null, -1))\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass(['file-drag-and-drop', _ctx.disabled ? 'disabled' : '']),\n onDragover: _cache[7] || (_cache[7] = _withModifiers(() => {}, [\"prevent\"])),\n onDrop: _cache[8] || (_cache[8] = _withModifiers(() => {}, [\"prevent\"]))\n }, [\n _createElementVNode(\"div\", {\n class: \"drop-panel\",\n onDrop: _cache[4] || (_cache[4] = (...args) => (_ctx.droppedFiles && _ctx.droppedFiles(...args))),\n onDragover: _cache[5] || (_cache[5] = (...args) => (_ctx.dragover && _ctx.dragover(...args))),\n onDragleave: _cache[6] || (_cache[6] = (...args) => (_ctx.dragleave && _ctx.dragleave(...args)))\n }, [\n _createElementVNode(\"input\", {\n type: \"file\",\n style: {\"display\":\"none\"},\n ref: \"fileSelector\",\n multiple: \"\",\n accept: _ctx.acceptedFileTypesOnInput,\n name: 'file-input'+_ctx.id,\n id: 'file-input'+_ctx.id,\n onChange: _cache[0] || (_cache[0] = (...args) => (_ctx.onFileSelected && _ctx.onFileSelected(...args))),\n disabled: _ctx.disabled\n }, null, 40, _hoisted_1),\n (!_ctx.error && !_ctx.uploading)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _hoisted_4))\n : _createCommentVNode(\"\", true),\n (!_ctx.error && !_ctx.uploading)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n (!_ctx.uploading && !_ctx.error && _ctx.selectedFiles.length == 0)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createElementVNode(\"span\", {\n class: \"text-btn\",\n onClick: _cache[1] || (_cache[1] = (...args) => (_ctx.selectFile && _ctx.selectFile(...args))),\n tabindex: \"0\"\n }, \"Choose a file\"),\n _createTextVNode(\" \"),\n (_ctx.dragAndDropCapable)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_6, \"or drag it here.\"))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true),\n (_ctx.disabled)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_7, [\n _renderSlot(_ctx.$slots, \"disabled-message\", {}, undefined, true)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.selectedFiles.length)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.selectedFiles.length) + \" file(s) selected \", 1),\n _createElementVNode(\"span\", {\n style: {\"flex\":\"1 100%\"},\n class: \"text-btn\",\n onClick: _cache[2] || (_cache[2] = (...args) => (_ctx.tryAgain && _ctx.tryAgain(...args))),\n tabindex: \"0\"\n }, \"Clear\")\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_9, [\n (_ctx.uploading)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_10,\n _createTextVNode(\"  Uploading... \")\n ], 64))\n : _createCommentVNode(\"\", true),\n (_ctx.error)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _hoisted_11,\n _createTextVNode(\"  \" + _toDisplayString(_ctx.errorMsg.join(' | ')) + \" \", 1),\n _createElementVNode(\"span\", {\n style: {\"flex\":\"1 100%\"},\n class: \"text-btn\",\n onClick: _cache[3] || (_cache[3] = (...args) => (_ctx.tryAgain && _ctx.tryAgain(...args))),\n tabindex: \"0\"\n }, \"Try Again\")\n ], 64))\n : _createCommentVNode(\"\", true)\n ])\n ], 32)\n ], 34))\n}","\nimport { Vue } from 'vue-class-component';\nimport { Ref, Prop } from 'vue-property-decorator';\n\nexport default class FileDragAndDrop extends Vue {\n\n @Prop({ default: null }) fileInput!: Array;\n @Prop({ default: false }) disabled!: boolean;\n @Prop({ default: false }) uploading!: boolean;\n @Prop({ default: null }) numFileLimit!: number;\n @Prop({ default: 20 }) fileSizeLimit!: number;\n @Prop({ default: false }) acceptAnyFileTypes!: boolean;\n\n @Ref('fileSelector') readonly fileSelector!: HTMLElement;\n\n id: string = this.$guid();\n dragAndDropCapable = false;\n selectedFiles: Array = [];\n error = false;\n errorMsg: Array = [];\n\n private acceptedFileTypesOnInput = \".PDF, .DOC, .DOCX, .XLS, .XLSX, .RTF, .JPG, .PNG\";\n private acceptedFileMineTypeArray = [\n 'application/pdf',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'image/jpg', 'image/jpeg',\n 'image/png'\n ];\n\n mounted(): void {\n this.dragAndDropCapable = this.determineDragAndDropCapable();\n this.acceptedFileTypesOnInput = this.acceptAnyFileTypes ? \"*.*\" : \".PDF, .DOC, .DOCX, .XLS, .XLSX, .RTF, .JPG, .PNG\";\n }\n\n private droppedFiles(e: any) {\n e.preventDefault();\n if (!this.disabled) {\n e.currentTarget.classList.remove('drag-over');\n this.selectedFiles = Object.values(e.dataTransfer.files);\n this.checkSelectedFiles(this.selectedFiles);\n this.error = this.errorMsg.length > 0;\n if (!this.error) {\n this.$emit('file-input-changed', this.selectedFiles);\n // this.selectedFiles = [];\n }\n }\n }\n\n private dragover(e: any) {\n e.preventDefault();\n if (!this.disabled) {\n e.currentTarget.classList.add('drag-over');\n }\n }\n\n private dragleave(e: any) {\n e.preventDefault();\n e.currentTarget.classList.remove('drag-over');\n }\n\n private selectFile(e: any) {\n e.target.blur();\n const elm: HTMLElement = this.fileSelector as HTMLElement;\n elm.click();\n }\n\n private tryAgain(): void {\n this.error = false;\n this.selectedFiles = [];\n this.$emit('file-input-changed', this.selectedFiles);\n }\n\n private onFileSelected(event: any) {\n if (!this.disabled) {\n this.selectedFiles = Object.values(event.target.files);\n this.checkSelectedFiles(this.selectedFiles);\n this.error = this.errorMsg.length > 0;\n if (!this.error) {\n this.$emit('file-input-changed', this.selectedFiles);\n // this.selectedFiles = [];\n const elm: any = this.fileSelector;\n elm.value = null;\n }\n }\n }\n\n checkSelectedFiles(fileList: Array): void {\n this.errorMsg = [];\n if (this.numFileLimit && fileList.length > this.numFileLimit) {\n this.errorMsg.push('Too many files selected');\n }\n\n if (this.hasOverSizedFile(fileList, this.fileSizeLimit)) {\n this.errorMsg.push('Document(s) are too large to upload');\n }\n\n if (!this.acceptAnyFileTypes && this.hasProhibitedFileType(fileList, this.acceptedFileMineTypeArray)) {\n this.errorMsg.push('File types allowed to upload: PDF, DOC, DOCX, XLS, XLSX, RTF, JPG, PNG');\n }\n }\n\n private hasOverSizedFile(fileList: Array, sizeLimit: number): boolean {\n return [...fileList].filter(x => (x.size / 1024000) > sizeLimit).length > 0;\n }\n\n private hasProhibitedFileType(fileList: Array, allowedFileType: Array): boolean {\n return [...fileList].filter(x => !allowedFileType.includes(x.type)).length > 0;\n }\n\n public $guid() {\n const S4 = () => {\n // tslint:disable-next-line: no-bitwise\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n };\n // then to call it, plus stitch in '4' in the third group\n // tslint:disable-next-line: max-line-length\n return (S4() + S4() + '-' + S4() + '-4' + S4().substr(0, 3) + '-' + S4() + '-' + S4() + S4() + S4()).toLowerCase();\n }\n\n private determineDragAndDropCapable() {\n\n const div: any = document.createElement('div');\n\n return (('draggable' in div)\n || ('ondragstart' in div && 'ondrop' in div))\n && 'FormData' in window\n && 'FileReader' in window;\n }\n\n}\n","import { render } from \"./file-drag-and-drop.html?vue&type=template&id=09e64137&scoped=true&ts=true&external\"\nimport script from \"./file-drag-and-drop.ts?vue&type=script&lang=ts&external\"\nexport * from \"./file-drag-and-drop.ts?vue&type=script&lang=ts&external\"\n\nimport \"./file-drag-and-drop.scss?vue&type=style&index=0&id=09e64137&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-09e64137\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, createVNode as _createVNode, vShow as _vShow, withDirectives as _withDirectives, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-c26a583a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"file-preview-box\" }\nconst _hoisted_2 = { class: \"modal-mask\" }\nconst _hoisted_3 = { class: \"modal-wrapper\" }\nconst _hoisted_4 = { style: {\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\",\"width\":\"calc(100vw - 100px)\"} }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"strong\", null, \"File Name: \", -1))\nconst _hoisted_6 = { class: \"file-name\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"modal-body hide-scroll\"\n}\nconst _hoisted_8 = [\"type\", \"src\"]\nconst _hoisted_9 = {\n key: 1,\n class: \"modal-body\"\n}\nconst _hoisted_10 = { class: \"imagePreview\" }\nconst _hoisted_11 = [\"src\"]\nconst _hoisted_12 = {\n key: 2,\n class: \"modal-body\"\n}\nconst _hoisted_13 = { class: \"body-wrapper\" }\nconst _hoisted_14 = {\n key: 3,\n class: \"modal-body\"\n}\nconst _hoisted_15 = { class: \"body-wrapper\" }\nconst _hoisted_16 = {\n key: 0,\n class: \"loading-wrapper\"\n}\nconst _hoisted_17 = {\n key: 1,\n class: \"error-wrapper\"\n}\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n\n return _withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: _normalizeClass(['modal-container', _ctx.viewMode == 3 || _ctx.showDownloadButton || _ctx.state == 3 ? 'alertbox-size' : ''])\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass(['modal-header', _ctx.viewMode == 3 || _ctx.showDownloadButton || _ctx.state == 3 ? 'alertbox-size' : ''])\n }, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"small\", null, [\n _hoisted_5,\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_ctx.viewingFile.FileName ? _ctx.viewingFile.FileName : '---'), 1)\n ]),\n (!(_ctx.viewMode === 3 || _ctx.showDownloadButton) && _ctx.viewMode !== -1)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn btn-default sml\",\n onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.download && _ctx.download(...args)))\n }, \" Download this file \"))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"i\", {\n class: \"close-button far fa-times-circle close-icon fa-2x\",\n onClick: _cache[1] || (_cache[1] = _withModifiers($event => (_ctx.$emit('closeFilePreview')), [\"stop\"]))\n })\n ])\n ], 2),\n (_ctx.viewMode === 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createElementVNode(\"iframe\", {\n class: \"previewPDF\",\n type: _ctx.previewFile.ContentType,\n width: \"100%\",\n src: _ctx.documentURL\n }, null, 8, _hoisted_8)\n ]))\n : (_ctx.viewMode === 2)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"img\", { src: _ctx.documentURL }, null, 8, _hoisted_11)\n ])\n ]))\n : ((_ctx.viewMode === 3 || _ctx.showDownloadButton) && _ctx.state == 2)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"button\", {\n class: \"btn btn-tertiary mt-4\",\n onClick: _cache[2] || (_cache[2] = (...args) => (_ctx.download && _ctx.download(...args)))\n }, \"Download this file\")\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, [\n (_ctx.state == 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [\n _createVNode(_component_LoadingIndicator)\n ]))\n : (_ctx.state == 3)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createVNode(_component_ErrorIndicator)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n ], 2)\n ])\n ])\n ], 512)), [\n [_vShow, _ctx.showPreview]\n ])\n}","export class FilePreviewData {\n constructor(\n public FileName?: string,\n public FileExtension?: string,\n public FileStream?: any,\n public ContentType?: string,\n ) {}\n}\n","import { Options, Vue } from 'vue-class-component';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport { Prop, Watch } from 'vue-property-decorator';\nimport { FilePreviewData } from './file-preview-data';\n\n@Options({\n components: {\n ErrorIndicator,\n LoadingIndicator,\n },\n})\nexport default class FilePreview extends Vue {\n private blob: any;\n private documentURL: string = null as any;\n private dataLoaded = false;\n\n @Prop({ required: true, default: -1 })\n private state!: number;\n\n @Prop({ required: true, default: false })\n private showPreview!: boolean;\n\n @Prop()\n private previewFile!: FilePreviewData;\n\n @Prop({ default: false })\n private disableBackgroundScroll!: boolean;\n\n @Watch('previewFile')\n private onPreviewFileChanged(): void {\n this.createBlob();\n }\n\n created(): void {\n if (this.disableBackgroundScroll) {\n const el: HTMLElement = document.body;\n el.classList.add('disableScroll');\n }\n }\n\n beforeUnmount(): void {\n if (this.disableBackgroundScroll) {\n const el: HTMLElement = document.body;\n el.classList.remove('disableScroll');\n }\n\n try {\n window.URL.revokeObjectURL(this.documentURL);\n } catch (err) {\n console.log(err);\n }\n }\n\n private createBlob(): void {\n this.blob = new Blob([this.previewFile.FileStream], {\n type: this.previewFile.ContentType,\n });\n this.documentURL = window.URL.createObjectURL(this.blob);\n }\n\n private download() {\n const downloadLink = document.createElement('a');\n const fileName = this.viewingFile.FileName;\n\n downloadLink.href = this.documentURL;\n downloadLink.download = fileName as string;\n downloadLink.click();\n }\n\n private closePreview() {\n this.$emit('closePreview');\n }\n\n private osType(): string {\n const userAgent = window.navigator.userAgent;\n const platform = window.navigator.platform;\n const macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'];\n const windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'];\n const iosPlatforms = ['iPhone', 'iPad', 'iPod'];\n let os = '';\n\n if (macosPlatforms.indexOf(platform) !== -1) {\n os = 'Mac OS';\n } else if (iosPlatforms.indexOf(platform) !== -1) {\n os = 'iOS';\n } else if (windowsPlatforms.indexOf(platform) !== -1) {\n os = 'Windows';\n } else if (/Android/.test(userAgent)) {\n os = 'Android';\n } else if (!os && /Linux/.test(platform)) {\n os = 'Linux';\n }\n\n return os;\n }\n\n private detectIE() {\n const ua = window.navigator.userAgent;\n\n const msie = ua.indexOf('MSIE ');\n if (msie > 0) {\n // IE 10 or older => return version number\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n }\n\n const trident = ua.indexOf('Trident/');\n if (trident > 0) {\n // IE 11 => return version number\n const rv = ua.indexOf('rv:');\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n }\n\n const edge = ua.indexOf('Edge/');\n if (edge > 0) {\n // Edge (IE 12+) => return version number\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n }\n\n // other browser\n return false;\n }\n\n private isIOS(): boolean {\n return this.osType() === 'iOS';\n }\n\n get showDownloadButton(): boolean {\n const isIE = this.detectIE();\n if (typeof isIE === 'number' && isIE >= 12) {\n return true;\n } else if (isIE) {\n return true;\n } else if (this.osType() === 'iOS') {\n return true;\n } else {\n return false;\n }\n }\n\n get viewingFile(): FilePreviewData {\n return this.previewFile ? this.previewFile : new FilePreviewData();\n }\n\n get viewMode(): number {\n try {\n if (this.previewFile.FileExtension?.toLocaleLowerCase() === 'pdf') {\n return 1;\n } else {\n const fileType: string[] = ['png', 'jpg', 'bmp', 'jpeg'];\n const fileExtension = this.previewFile.FileExtension?.toLocaleLowerCase() || '';\n return fileType.indexOf(fileExtension) >= 0 ? 2 : 3;\n }\n } catch (e) {\n return -1;\n }\n }\n}\n","import { render } from \"./file-preview.html?vue&type=template&id=c26a583a&scoped=true&ts=true&external\"\nimport script from \"./file-preview.ts?vue&type=script&lang=ts&external\"\nexport * from \"./file-preview.ts?vue&type=script&lang=ts&external\"\n\nimport \"./file-preview.scss?vue&type=style&index=0&id=c26a583a&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c26a583a\"]])\n\nexport default __exports__","import { Inject, Options, Prop, Vue } from \"vue-property-decorator\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport ModalBox from \"@/shared/components/modal-box/index.vue\";\nimport { EventEmitter } from \"events\";\nimport ErrorIndicator from \"@/shared/components/error-indicator/index.vue\";\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport store from \"@/trust-admin-app/store\";\nimport { InvestigatorWorkingPaperView } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport FileDragAndDrop from \"@/shared/components/file-drag-and-drop/index.vue\";\nimport AlertBox from '@/shared/components/alert-box/index.vue';\nimport { FilePreviewData } from \"@/shared/components/file-preview/file-preview-data\";\nimport FilePreview from \"@/shared/components/file-preview/index.vue\";\n\n@Options({\n components: {\n ModalBox,\n LoadingSpinner,\n LoadingIndicator,\n ErrorIndicator,\n FileDragAndDrop,\n FilePreview,\n AlertBox\n }\n})\nexport default class AddeditIWPModal extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop()\n private iWP!: InvestigatorWorkingPaperView;\n\n private formData: InvestigatorWorkingPaperView = null as any;\n private submitting = false;\n private fileList: Array = [];\n private showDeleteAlert = false;\n\n created() : void {\n this.init();\n }\n\n private init(): void {\n this.formData = JSON.parse(JSON.stringify(this.iWP));\n this.formData.id = this.formData.id ?? 0;\n }\n\n private async addNewIWP(): Promise {\n try {\n this.submitting = true;\n if (this.editMode) {\n const resp: any = await this.apiService.InvestigatorWorkingPaperApi?.apiV2InvestigatorWorkingPaperSaveInvestigatorWorkingPaperPost(\n {\n id: this.formData.id,\n order: this.formData.order,\n investigationId: this.formData.investigationId,\n information: this.formData.information,\n requiredFinalReport: this.formData.requiredFinalReport,\n taggedAsEvidence: this.formData.taggedAsEvidence,\n // source: this.formData.source,\n // matterDesc: this.formData.matterDesc,\n // name: this.formData.name,\n // wpRef: this.formData.wpRef\n }\n );\n this.eventCtrl.emit('show-snackbar', 'success', 'IWP updated successfully');\n } else {\n const fileStr = await this.fileToString(this.fileList[0]);\n const resp: any = await this.apiService.InvestigatorWorkingPaperApi?.apiV2InvestigatorWorkingPaperSaveInvestigatorWorkingPaperPost(\n {\n id: 0,\n investigationId: this.formData.investigationId,\n information: this.formData.information,\n requiredFinalReport: this.formData.requiredFinalReport,\n taggedAsEvidence: this.formData.taggedAsEvidence,\n fileName: this.fileList[0].name,\n fileExtension: '.' + this.fileList[0].name.substring(this.fileList[0].name.indexOf('.') + 1),\n fileDataUrl: fileStr\n }\n );\n this.eventCtrl.emit('show-snackbar', 'success', 'IWP added successfully');\n }\n this.eventCtrl.emit('load-iwp-list');\n this.closeModal();\n } catch(error) {\n if (this.editMode) {\n console.log(error);\n this.eventCtrl.emit('show-snackbar', 'error', 'Problem updating IWP');\n }\n } finally {\n this.submitting = false;\n }\n }\n\n private fileListChanged(fileList: Array): void {\n this.fileList = fileList;\n }\n\n private fileToString(file: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n return resolve(reader.result as string);\n };\n\n reader.onabort = () => {\n return reject();\n }\n\n reader.onerror = () => {\n return reject();\n }\n });\n }\n\n private yesDeleteClicked(): void {\n this.deleteIWP();\n }\n\n private async deleteIWP(): Promise {\n try {\n this.submitting = true;\n await this.apiService.InvestigatorWorkingPaperApi?.apiV2InvestigatorWorkingPaperDeleteInvestigatorWorkingPaperInvestigatorWorkingPaperIdDelete(\n this.formData.id\n );\n this.eventCtrl.emit('load-iwp-list');\n this.closeModal();\n\n } catch {\n this.eventCtrl.emit('show-snackbar', 'error', 'Problem deleting file');\n this.submitting = false;\n }\n }\n\n private closeModal(): void {\n this.$emit('closeModal');\n }\n\n\n\n get isFormDirty(): boolean {\n if (this.editMode) {\n return this.formData.information != this.iWP.information ||\n this.formData.requiredFinalReport != this.iWP.requiredFinalReport ||\n this.formData.taggedAsEvidence != this.iWP.taggedAsEvidence;\n } else {\n return this.fileList.length > 0;\n }\n }\n\n get validForm(): boolean {\n return this.formData.file || this.fileList.length > 0;\n }\n\n get editMode(): boolean {\n return this.iWP?.id > 0;\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n}\n\n","import { render } from \"./add-edit-iwp-modal.html?vue&type=template&id=3ae58798&scoped=true&ts=true&external\"\nimport script from \"./add-edit-iwp-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./add-edit-iwp-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./add-edit-iwp-modal.scss?vue&type=style&index=0&id=3ae58798&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3ae58798\"]])\n\nexport default __exports__","import { Inject, Options, Vue } from \"vue-property-decorator\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport ModalBox from \"@/shared/components/modal-box/index.vue\";\nimport { EventEmitter } from \"events\";\nimport ErrorIndicator from \"@/shared/components/error-indicator/index.vue\";\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AccountingAppView, BreachView, ClosedInvestigationDetails, CompletedInvestigationDetails, InvestigationDetailsRequest, InvestigationNoteView, InvestigationTypeView, InvestigationView, InvestigatorWorkingPaperView, NoteView, ReportResult, TrustTeamMemberView } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { AppInsights } from \"@/trust-admin-app/appInsights\";\nimport store from \"@/trust-admin-app/store\";\nimport DatePicker from 'vue-datepicker-next';\nimport 'vue-datepicker-next/index.css';\nimport AddeditIWPModal from \"../add-edit-iwp-modal/index.vue\";\nimport { FilePreviewData } from \"@/shared/components/file-preview/file-preview-data\";\nimport FilePreview from \"@/shared/components/file-preview/index.vue\";\nimport AlertBox from \"@/shared/components/alert-box/index.vue\";\nimport TimesheetHeader from \"@/shared/components/timesheet-header/timesheet-header\";\n\n@Options({\n props: {\n investigation: {},\n },\n components: {\n ModalBox,\n AlertBox,\n LoadingSpinner,\n LoadingIndicator,\n ErrorIndicator,\n DatePicker,\n AddeditIWPModal,\n FilePreview\n },\n mixins: [\n FormatDateTimeMixin,\n ]\n})\nexport default class InvestigationDetailsModal extends Vue {\n private investigation!: InvestigationView;\n\n private ai = new AppInsights;\n private selectedFileForPreview: FilePreviewData = new FilePreviewData();\n private filePreviewState = 1;\n private showFilePreview = false;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private closeModal(): void {\n this.$emit('closeModal');\n }\n\n private loadingContent = false;\n private errorLoadingDataSet = false;\n private loadingIWPList = false;\n private errorLoadingIWPList = false;\n private investigators: TrustTeamMemberView[] = [];\n private accountingApps: AccountingAppView = {};\n private reportResults: ReportResult[] = [];\n private breaches: BreachView[] = [];\n private investigationTypes: InvestigationTypeView[] = [];\n private investigationDetails: InvestigationView[] = [];\n private notes: NoteView[] = [];\n private status = 0;\n private commencementDate = new Date();\n private canSubmit = false;\n private workingPapers: InvestigatorWorkingPaperView[] = [];\n private showAddEditIWPModal = false;\n private selectedIWP: InvestigatorWorkingPaperView = null as any;\n private showFinalisationAlert = false;\n\n\n mounted(): void {\n this.preloadData();\n this.eventCtrl.on('load-iwp-list', this.loadIWPList);\n this.status = this.investigation.investigationStatus.id;\n this.commencementDate = new Date(this.investigation.commencementDate);\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('load-iwp-list', this.loadIWPList);\n }\n\n private async preloadData(): Promise {\n try {\n const _memberId: any = parseInt(this.$route.query.memberId as string, 10) || '';\n this.loadingContent = true;\n this.errorLoadingDataSet = false;\n const resp: any[] = await Promise.all([\n this.apiService.TrustTeamMemberApi?.apiV2TrustTeamMemberGetTrustTeamMembersPost({}),\n this.apiService.ConfigTrustApi?.apiV2ConfigTrustGetInvestigationTypesPost(),\n this.apiService.CodeApi?.apiV2CodeGetReportResultsGet(),\n this.apiService.InvestigationApi?.apiV2InvestigationGetInvestigationAccountingAppsByIdInvestigationIdGet(this.investigation.id),\n this.apiService.InvestigationApi?.apiV2InvestigationGetInvestigationBreachesByIdInvestigationIdGet(this.investigation.id),\n this.apiService.InvestigationApi?.apiV2InvestigationGetInvestigationDetailsByIdInvestigationIdGet(this.investigation.id),\n this.apiService.NotesApi?.apiV2NotesGetNotesByInvestigationIdInvestigationIdGet(this.investigation.id),\n this.apiService.InvestigatorWorkingPaperApi?.apiV2InvestigatorWorkingPaperGetInvestigatorWorkingPapersByIdInvestigationIdGet(this.investigation.id),\n ]);\n this.investigators = resp[0].data.data;\n this.investigationTypes = resp[1].data.data;\n this.reportResults = resp[2].data.data;\n this.accountingApps = resp[3].data.data;\n this.breaches = resp[4].data.data;\n this.investigationDetails = resp[5].data.data;\n this.notes = resp[6].data.data;\n this.workingPapers = resp[7].data.data;\n } catch (err) {\n this.errorLoadingDataSet = true;\n this.loadingContent = false;\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to load investigation data: ' + err);\n this.ai.trackException('Error, Unable to load investigation data: ' + err);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private checkCanSubmit() {\n if (this.commencementDate) {\n this.canSubmit = true;\n }\n }\n\n private submitChanges() {\n if (this.canSubmit) {\n switch (this.status) {\n case 2:\n this.updateInvestigationDetails();\n break;\n case 3:\n if (!this.investigation.isReplyRequired) {\n this.showFinalisationAlert = true;\n } else {\n this.updateCompletedInvestigationDetails();\n }\n break;\n case 4:\n this.updateClosedInvestigationDetails();\n break;\n }\n }\n this.canSubmit = false;\n }\n\n private cancelFinalisation() {\n this.investigation.isReplyRequired = true;\n this.showFinalisationAlert = false;\n }\n\n private updateCompletedInvestigation() {\n this.showFinalisationAlert = false;\n this.updateCompletedInvestigationDetails(true);\n }\n\n private updateInvestigationDetails() {\n this.loadingContent = true;\n const _body: InvestigationDetailsRequest = {\n id: this.investigation.id,\n commencementDate: this.commencementDate,\n investigationTypeId: this.investigation.investigationType.id,\n trustTeamMemberId: this.investigation.trustTeamMember.id,\n }\n\n this.apiService.InvestigationApi?.apiV2InvestigationUpdateInvestigationDetailsPost(_body)\n .then(res => {\n this.loadingContent = false;\n this.eventCtrl.emit('reload-investigation-data');\n this.eventCtrl.emit('show-snackbar', 'success', 'Investigation details updated');\n })\n .catch(err => {\n this.loadingContent = false;\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to update investigation');\n this.ai.trackException('Error, Unable to update investigation: ' + err);\n })\n }\n\n private updateCompletedInvestigationDetails(closeAfterUpdate?: boolean) {\n const _body: CompletedInvestigationDetails = {\n id: this.investigation.id,\n reportResultId: this.investigation.reportResult.id,\n isReplyRequired: this.investigation.isReplyRequired,\n }\n this.apiService.InvestigationApi?.apiV2InvestigationUpdateCompletedInvestigationDetailsPost(_body)\n .then(res => {\n this.loadingContent = false;\n this.eventCtrl.emit('reload-investigation-data');\n this.eventCtrl.emit('show-snackbar', 'success', 'Investigation details updated');\n if (closeAfterUpdate) {\n this.closeModal();\n }\n })\n .catch(err => {\n this.loadingContent = false;\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to update investigation');\n this.ai.trackException('Error, Unable to update investigation: ' + err);\n })\n }\n\n private updateClosedInvestigationDetails() {\n const _body: ClosedInvestigationDetails = {\n id: this.investigation.id,\n reportResultId: this.investigation.reportResult.id,\n }\n this.apiService.InvestigationApi?.apiV2InvestigationUpdateClosedInvestigationDetailsPost(_body)\n .then(res => {\n this.loadingContent = false;\n this.eventCtrl.emit('reload-investigation-data');\n this.eventCtrl.emit('show-snackbar', 'success', 'Investigation details updated');\n })\n .catch(err => {\n this.loadingContent = false;\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to update investigation');\n this.ai.trackException('Error, Unable to update investigation: ' + err);\n })\n }\n\n private openAddEditIWPModal(iwp: InvestigatorWorkingPaperView): void {\n this.selectedIWP = iwp;\n this.selectedIWP.investigationId = this.investigation.id;\n this.showAddEditIWPModal = true;\n }\n\n private async loadIWPList(): Promise {\n try {\n this.loadingIWPList = true;\n this.errorLoadingIWPList = false;\n const resp: any = await this.apiService.InvestigatorWorkingPaperApi?.apiV2InvestigatorWorkingPaperGetInvestigatorWorkingPapersByIdInvestigationIdGet(this.investigation.id);\n this.workingPapers = resp.data.data;\n } catch (error) {\n this.errorLoadingIWPList = true;\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to load IWP');\n } finally {\n this.loadingIWPList = false;\n }\n }\n\n private async getFileStream(file: InvestigatorWorkingPaperView): Promise {\n\n try {\n this.filePreviewState = 1;\n const resp: any = await this.apiService.InvestigatorWorkingPaperApi?.apiV2InvestigatorWorkingPaperGetFileStreamByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(\n file.id,\n { responseType: 'blob' }\n );\n this.selectedFileForPreview = new FilePreviewData(\n file.file.fileName,\n file.file.fileExtension.substring(1),\n resp.data,\n resp.headers['content-type']\n );\n this.openFilePreviewer(this.selectedFileForPreview);\n this.filePreviewState = 2;\n } catch (error) {\n this.filePreviewState = 3;\n console.log(error);\n }\n\n }\n\n private openFilePreviewer(file: FilePreviewData): void {\n this.selectedFileForPreview = file;\n this.showFilePreview = true;\n }\n\n private changeFilePreviewState(state: number) {\n this.filePreviewState = state;\n }\n\n private closeFilePreview(): void {\n this.showFilePreview = !this.showFilePreview;\n this.selectedFileForPreview = new FilePreviewData();\n }\n\n}\n\n","import { render } from \"./investigation-details-modal.html?vue&type=template&id=2f4d8d94&scoped=true&ts=true&external\"\nimport script from \"./investigation-details-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./investigation-details-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./investigation-details-modal.scss?vue&type=style&index=0&id=2f4d8d94&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2f4d8d94\"]])\n\nexport default __exports__","import AccessValidation from '@/shared/mixins/access-validation';\nimport NavigationBar from '@/shared/components/navigation-bar/index.vue';\nimport { NavItem, NavItemStatusID, NavItemTypeID } from '@/shared/components/navigation-bar/navigation-item';\nimport PageHeader from '@/shared/components/page-header/index.vue';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport { CorrespondenceDescription, CorrespondenceType, InvestigationCategory, InvestigationView, LeaveType, NotesType, PracticeRisk, PracticeRiskIndicator, PracticeView, Priority, SolelyJointly, Status, TimeEntryActivity, TimeEntryType, TimeEntryView, TrustAccountStatus, TrustTeamMemberView, UserGroup } from '@/shared/modules/typescript-trustapi-client/models';\nimport { AuthorizedUser } from '@/trust-admin-app/models/authorized-user';\nimport { AuthenticationStatusType } from '@/trust-admin-app/modules/authentication/authentication-status';\nimport { IDLESessionManager } from '@/trust-admin-app/modules/session/idle-session-manager';\nimport { Options, Vue } from 'vue-class-component';\nimport { Inject, Provide, Watch } from 'vue-property-decorator';\nimport { NavigationGuardNext, RouteLocationNormalized } from 'vue-router';\nimport { RouteN } from '../../constants/router-name';\nimport store from '../../store';\nimport AddEditInvestigationModal from '../investigations-main/add-edit-investigation-modal/index.vue';\nimport AccountInfoPanel from '../trust-admin-rhs-header/account-info-panel/index.vue';\nimport LoadingSpinner from '@/shared/components/loading-spinner/index.vue';\nimport AddEventModal from '../add-event-modal/index.vue';\nimport { EventEmitter } from 'events';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport AddEditMemberModal from '../trust-data-trust-team/add-edit-member-modal/index.vue';\nimport { EventForm } from '@/trust-investigator-app/components/add-event-modal/event-form';\nimport { Url } from '@/trust-admin-app/config/url';\nimport InvestigationDetailsModal from \"../investigation-details-modal/index.vue\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\n\n\nVue.registerHooks(['beforeRouteEnter']);\n@Options({\n components: {\n PageHeader,\n AccountInfoPanel,\n NavigationBar,\n AddEditInvestigationModal,\n LoadingSpinner,\n ErrorIndicator,\n AddEventModal,\n AddEditMemberModal,\n InvestigationDetailsModal,\n },\n mixins: [AccessValidation, FormatDateTimeMixin]\n})\nexport default class TrustAdminMain extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Provide({ to: 'statusType', reactive: true })\n private statusType!: Status[];\n\n @Provide({ to: 'leaveType', reactive: true })\n private leaveType!: LeaveType[];\n\n @Provide({ to: 'investigationCategory', reactive: true })\n private investigationCategory!: InvestigationCategory[];\n\n @Provide({ to: 'timeEntryType', reactive: true })\n private timeEntryType!: TimeEntryType[];\n\n @Provide({ to: 'userGroups', reactive: true })\n private userGroups!: UserGroup[];\n\n @Provide({ to: 'timeEntryActivity', reactive: true })\n private timeEntryActivity!: TimeEntryActivity[];\n\n @Provide({ to: 'priorities', reactive: true })\n private priorities!: Priority[];\n\n @Provide({ to: 'trustAccountStatus', reactive: true })\n private trustAccountStatus!: TrustAccountStatus[];\n\n @Provide({ to: 'noteType', reactive: true })\n private noteType!: NotesType[];\n\n @Provide({ to: 'practiceRisks', reactive: true })\n private practiceRisks!: PracticeRisk[];\n\n @Provide({ to: 'practiceRiskIndicators', reactive: true })\n private practiceRiskIndicators!: PracticeRiskIndicator[];\n\n @Provide({ to: 'correspondenceType', reactive: true })\n private correspondenceType!: CorrespondenceType[];\n\n @Provide({ to: 'correspondenceDescriptions', reactive: true })\n private correspondenceDescriptions!: CorrespondenceDescription[];\n\n @Provide({ to: 'solelyJointlyType', reactive: true })\n private solelyJointlyType!: SolelyJointly[];\n\n\n private showRHSHeader = true;\n private showAddEditInvestigationModal = false;\n private showAddEditEventModal = false;\n private showAddEditMemberModal = false;\n private showInvestigationDetailsModal = false;\n\n private idleSessionMgr: IDLESessionManager = new IDLESessionManager();\n\n private selectedInvestigation: InvestigationView = {};\n private selectedTrustTeamMember: TrustTeamMemberView = {};\n private selectedEventFormData: EventForm = null as any;\n\n private navItems: NavItem[] = [];\n\n private loadingData = false;\n private errorLoadingData = false;\n\n private isFromRoutine = false;\n private routineId: any = null;\n\n @Watch('$route.name')\n public onRouteChanged(): void {\n this.populateNavItems();\n this.updateNavItems();\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n beforeRouteEnter(to: RouteLocationNormalized, from: RouteLocationNormalized, next: NavigationGuardNext) {\n const c1: boolean = to.matched.some((record) => record.meta.requiresAuth);\n const c2: boolean = (store.getters.getUserAccount as AuthorizedUser)\n .authenticationStatus === AuthenticationStatusType.AppAccessPermitted;\n c1 && !c2 ? next({ name: RouteN.TA.LoginPage.n, query: { redirect: to.fullPath } }) : next();\n }\n\n created(): void {\n this.populateNavItems();\n this.updateNavItems();\n this.loadDataType();\n this.idleSessionMgr.run(this.idleSessionTimeoutCallback);\n }\n\n mounted(): void {\n this.eventCtrl.on('showAddEditEventModal', this.openAddEditEventModalBox);\n this.eventCtrl.on('showAddEditInvestigationModal', this.openAddEditInvestigationModal);\n this.eventCtrl.on('showAddEditMemberModal', this.openAddEditMemberModal);\n this.eventCtrl.on('showInvestigationDetailsModal', this.openInvestigationDetailsModal);\n this.getSystemDate();\n if (this.env.length > 0) {\n setInterval(() => {\n this.getSystemDate();\n }, 10000);\n }\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('showAddEditInvestigationModal', this.openAddEditInvestigationModal);\n this.eventCtrl.removeListener('showAddEditEventModal', this.openAddEditEventModalBox);\n this.eventCtrl.removeListener('showAddEditMemberModal', this.openAddEditMemberModal);\n this.eventCtrl.removeListener('showInvestigationDetailsModal', this.openInvestigationDetailsModal);\n\n this.idleSessionMgr.stop();\n }\n\n private openInvestigationDetailsModal(i: InvestigationView) {\n this.selectedInvestigation = i;\n this.showInvestigationDetailsModal = true;\n }\n\n private closeInvestigationDetailsModal(i: InvestigationView) {\n this.showInvestigationDetailsModal = false;\n }\n\n private openAddEditEventModalBox(event: EventForm = { eventTypeId: 1 }): void {\n this.selectedEventFormData = event;\n // console.log(this.selectedEventFormData);\n this.showAddEditEventModal = true;\n }\n\n private closeAddEditEventModalBox(): void {\n this.selectedEventFormData = null as any;\n this.showAddEditEventModal = false;\n }\n\n private eventsUpdated() {\n this.eventCtrl.emit('reload-events-data');\n }\n\n private openAddEditInvestigationModal(investigation: InvestigationView = null as any, isFromRoutine: boolean, routineId?: number): void {\n const secondLevelRouteName = this.$route.matched[1]?.name ?? null;\n this.routineId = routineId ?? null;\n this.isFromRoutine = isFromRoutine;\n if (!investigation && secondLevelRouteName == RouteN.TA.Practice.n) {\n this.selectedInvestigation = {\n id: 0,\n latestPracticeLogData: this.selectedPractice\n }\n this.selectedInvestigation.latestPracticeLogData.practiceId = this.selectedPractice.id;\n } else if (investigation) {\n this.selectedInvestigation = investigation;\n }\n this.showAddEditInvestigationModal = !this.showAddEditInvestigationModal;\n }\n\n private closeAddEditInvestigationModal(): void {\n this.selectedInvestigation = {};\n this.showAddEditInvestigationModal = !this.showAddEditInvestigationModal;\n }\n\n private openAddEditMemberModal(member: TrustTeamMemberView = null as any): void {\n const secondLevelRouteName = this.$route.matched[1]?.name ?? null;\n if (!member && secondLevelRouteName == RouteN.TA.Investigator.n) {\n this.selectedTrustTeamMember = {\n id: 0\n }\n } else if (member) {\n this.selectedTrustTeamMember = member;\n }\n this.showAddEditMemberModal = !this.showAddEditMemberModal;\n }\n\n private closeAddEditMemberModal(): void {\n this.selectedTrustTeamMember = {};\n this.showAddEditMemberModal = !this.showAddEditMemberModal;\n }\n\n private updateNavItems(): void {\n this.navItems.forEach((navItem) => {\n navItem.status = NavItemStatusID.NotCurrent;\n if (navItem.routeSecName === this.$route.name || this.$route.matched[1].name == navItem.routeSecName) {\n navItem.status = NavItemStatusID.Current;\n }\n });\n }\n\n private idleSessionTimeoutCallback(): void {\n this.$router.push({ name: RouteN.TA.LogoutPage.n });\n }\n\n private async loadDataType(): Promise {\n try {\n this.loadingData = true;\n this.errorLoadingData = false;\n const resp: any[] = await Promise.all([\n this.apiService.CodeApi?.apiV2CodeGetStatusGet(),\n this.apiService.CodeApi?.apiV2CodeGetLeaveTypesGet(),\n this.apiService.CodeApi?.apiV2CodeGetInvestigationCategoryGet(),\n this.apiService.CodeApi?.apiV2CodeGetTimeEntryTypesGet(),\n this.apiService.CodeApi?.apiV2CodeGetUserGroupsGet(),\n this.apiService.CodeApi?.apiV2CodeGetTimeEntryActivitiesGet(),\n this.apiService.CodeApi?.apiV2CodeGetPrioritiesGet(),\n this.apiService.CodeApi?.apiV2CodeGetTrustAccountStatusesGet(),\n this.apiService.CodeApi?.apiV2CodeGetNoteTypesGet(),\n this.apiService.CodeApi?.apiV2CodeGetPracticeRisksGet(),\n this.apiService.CodeApi?.apiV2CodeGetPracticeRiskIndicatorsGet(),\n this.apiService.CodeApi?.apiV2CodeGetCorrespondenceTypesGet(),\n this.apiService.CodeApi?.apiV2CodeGetSolelyJointliesGet(),\n this.apiService.CodeApi?.apiV2CodeGetAccountTypesGet(),\n this.apiService.CodeApi?.apiV2CodeGetCorrespondenceDescriptionsGet()\n ]);\n\n this.statusType = resp[0].data.data as Status[];\n this.leaveType = resp[1].data.data as LeaveType[];\n this.investigationCategory = resp[2].data.data as InvestigationCategory[];\n this.timeEntryType = resp[3].data.data as TimeEntryType[];\n this.userGroups = resp[4].data.data as UserGroup[];\n this.timeEntryActivity = resp[5].data.data as TimeEntryActivity[];\n this.priorities = resp[6].data.data as Priority[];\n this.trustAccountStatus = resp[7].data.data as TrustAccountStatus[];\n this.noteType = resp[8].data.data as NotesType[];\n this.practiceRisks = resp[9].data.data as PracticeRisk[];\n this.practiceRiskIndicators = resp[10].data.data as PracticeRiskIndicator[];\n this.correspondenceType = resp[11].data.data as CorrespondenceType[];\n this.solelyJointlyType = resp[12].data.data as SolelyJointly[];\n this.correspondenceDescriptions = resp[14].data.data as CorrespondenceDescription[];\n\n } catch (err) {\n this.errorLoadingData = true;\n console.log(err);\n } finally {\n this.loadingData = false;\n }\n }\n\n get isFixHeader(): boolean {\n // switch (this.$route.name) {\n // case RouteN.TA.Home.n:\n // return true;\n // default:\n // return true;\n // }\n return true;\n }\n\n get usrAcct(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n\n private populateNavItems(): void {\n\n const pagesWithMainNav: string[] = [\n RouteN.TA.Home.n,\n RouteN.TA.Investigations.n,\n RouteN.TA.Routines.n,\n RouteN.TA.FollowUp.n,\n RouteN.TA.TimesheetApproval.n,\n RouteN.TA.TrustData.n,\n RouteN.TA.TrustDataPractices.n,\n RouteN.TA.TrustDataTrustTeam.n,\n RouteN.TA.TrustDataInvestigationType.n,\n RouteN.TA.TrustDataBanks.n,\n RouteN.TA.TrustDataAccountingSoftware.n,\n RouteN.TA.TrustDataExternalExaminer.n,\n RouteN.TA.TrustDataExternalExaminerApproval.n,\n RouteN.TA.TrustDataExternalExaminerSignUpApproval.n,\n RouteN.TA.TrustDataPageSettings.n,\n ];\n\n const pagesWithInvestigatorNav: string[] = [\n RouteN.TA.Investigator.n,\n RouteN.TA.InvestigatorDashboard.n,\n RouteN.TA.InvestigatorInvestigations.n,\n RouteN.TA.InvestigatorCalendar.n,\n RouteN.TA.InvestigatorTimesheets.n\n ];\n\n const pagesWithPracticeNav: string[] = [\n RouteN.TA.Practice.n,\n RouteN.TA.PracticeDashboard.n,\n RouteN.TA.PracticeInvestigationDetails.n,\n RouteN.TA.PracticeBank.n,\n RouteN.TA.PracticeAccountingDetails.n,\n RouteN.TA.PracticeNotes.n,\n RouteN.TA.PracticePeople.n,\n RouteN.TA.PracticeCorrespondence.n,\n RouteN.TA.PracticeLinkedPractice.n,\n RouteN.TA.PracticeTrustCompliance.n,\n ];\n\n const pagesWithExternalExaminerNav: string[] = [\n RouteN.TA.ExternalExaminer.n,\n RouteN.TA.ExternalExaminerDashboard.n,\n ];\n\n const v1 = pagesWithMainNav.filter(x => x == this.$route.name).length > 0;\n const v2 = pagesWithInvestigatorNav.filter(x => x == this.$route.name).length > 0;\n const v3 = pagesWithPracticeNav.filter(x => x == this.$route.name).length > 0;\n const v4 = pagesWithExternalExaminerNav.filter(x => x == this.$route.name).length > 0;\n // console.log(v1, v2, v3, v4);\n if (v1) {\n this.navItems = this.mainNavigationBarItems;\n } else if (v2) {\n this.navItems = this.investigatorNavigationBarItems;\n } else if (v3) {\n this.navItems = this.practiceNavigationBarItems;\n } else if (v4) {\n this.navItems = this.externalExaminerNavigationBarItems;\n } else {\n this.navItems = [];\n }\n\n }\n\n get mainNavigationBarItems(): NavItem[] {\n return [\n new NavItem('Home', RouteN.TA.Home.n, undefined, true, NavItemStatusID.Current),\n new NavItem(\n 'Investigations',\n RouteN.TA.Investigations.n,\n undefined,\n this.$accessPermitted(this.usrAcct.user.roles, RouteN.TA.Investigations.r),\n NavItemStatusID.NotCurrent\n ),\n new NavItem(\n 'Routines',\n RouteN.TA.Routines.n,\n undefined,\n this.$accessPermitted(this.usrAcct.user.roles, RouteN.TA.Routines.r),\n NavItemStatusID.NotCurrent\n ),\n new NavItem(\n 'Follow Up',\n RouteN.TA.FollowUp.n,\n undefined,\n this.$accessPermitted(this.usrAcct.user.roles, RouteN.TA.FollowUp.r),\n NavItemStatusID.NotCurrent\n ),\n new NavItem(\n 'Timesheet',\n RouteN.TA.TimesheetApproval.n,\n undefined,\n this.$accessPermitted(this.usrAcct.user.roles, RouteN.TA.TimesheetApproval.r),\n NavItemStatusID.NotCurrent\n ),\n new NavItem(\n 'Maintain Trust Data',\n RouteN.TA.TrustData.n,\n undefined,\n this.$accessPermitted(this.usrAcct.user.roles, RouteN.TA.TrustData.r),\n NavItemStatusID.NotCurrent\n ),\n new NavItem(\n 'Complaints',\n '',\n this.$route.query,\n true,\n NavItemStatusID.NotCurrent,\n NavItemTypeID.ExternalLink,\n Url.PowerBIComplaints\n ),\n new NavItem(\n 'Historical Investigation',\n '',\n this.$route.query,\n true,\n NavItemStatusID.NotCurrent,\n NavItemTypeID.ExternalLink,\n Url.PowerBIHestoricalInvestigation\n ),\n ];\n }\n\n get investigatorNavigationBarItems(): NavItem[] {\n return [\n new NavItem(\n 'Home',\n RouteN.TA.InvestigatorDashboard.n,\n this.$route.query,\n this.$accessPermitted(this.usrAcct.user.roles, RouteN.TA.InvestigatorDashboard.r),\n NavItemStatusID.NotCurrent\n ),\n new NavItem(\n 'Investigations',\n RouteN.TA.InvestigatorInvestigations.n,\n this.$route.query,\n this.$accessPermitted(this.usrAcct.user.roles, RouteN.TA.InvestigatorInvestigations.r),\n NavItemStatusID.NotCurrent\n ),\n new NavItem(\n 'Calendar',\n RouteN.TA.InvestigatorCalendar.n,\n this.$route.query,\n this.$accessPermitted(this.usrAcct.user.roles, RouteN.TA.InvestigatorCalendar.r),\n NavItemStatusID.NotCurrent\n ),\n new NavItem(\n 'Timesheets',\n RouteN.TA.InvestigatorTimesheets.n,\n this.$route.query,\n this.$accessPermitted(this.usrAcct.user.roles, RouteN.TA.InvestigatorTimesheets.r),\n NavItemStatusID.NotCurrent\n ),\n ];\n }\n\n get practiceNavigationBarItems(): NavItem[] {\n return [\n new NavItem(\n 'Home',\n RouteN.TA.PracticeDashboard.n,\n this.$route.query,\n this.$accessPermitted(this.usrAcct.user.roles, RouteN.TA.PracticeDashboard.r),\n NavItemStatusID.NotCurrent\n ),\n new NavItem(\n 'Investigations',\n RouteN.TA.PracticeInvestigationDetails.n,\n this.$route.query,\n this.$accessPermitted(this.usrAcct.user.roles, RouteN.TA.PracticeInvestigationDetails.r),\n NavItemStatusID.NotCurrent\n ),\n new NavItem(\n 'Bank',\n RouteN.TA.PracticeBank.n,\n this.$route.query,\n this.$accessPermitted(this.usrAcct.user.roles, RouteN.TA.PracticeBank.r),\n NavItemStatusID.NotCurrent\n ),\n new NavItem(\n 'Accounting',\n RouteN.TA.PracticeAccountingDetails.n,\n this.$route.query,\n this.$accessPermitted(this.usrAcct.user.roles, RouteN.TA.PracticeAccountingDetails.r),\n NavItemStatusID.NotCurrent\n ),\n new NavItem(\n 'Notes',\n RouteN.TA.PracticeNotes.n,\n this.$route.query,\n this.$accessPermitted(this.usrAcct.user.roles, RouteN.TA.PracticeNotes.r),\n NavItemStatusID.NotCurrent\n ),\n new NavItem(\n 'People',\n RouteN.TA.PracticePeople.n,\n this.$route.query,\n this.$accessPermitted(this.usrAcct.user.roles, RouteN.TA.PracticePeople.r),\n NavItemStatusID.NotCurrent\n ),\n new NavItem(\n 'Correspondence',\n RouteN.TA.PracticeCorrespondence.n,\n this.$route.query,\n this.$accessPermitted(this.usrAcct.user.roles, RouteN.TA.PracticeCorrespondence.r),\n NavItemStatusID.NotCurrent\n ),\n new NavItem(\n 'Linked practices',\n RouteN.TA.PracticeLinkedPractice.n,\n this.$route.query,\n this.$accessPermitted(this.usrAcct.user.roles, RouteN.TA.PracticeLinkedPractice.r),\n NavItemStatusID.NotCurrent\n ),\n new NavItem(\n 'Trust Compliance',\n RouteN.TA.PracticeTrustCompliance.n,\n this.$route.query,\n this.$accessPermitted(this.usrAcct.user.roles, RouteN.TA.PracticeTrustCompliance.r),\n NavItemStatusID.NotCurrent\n )\n ];\n }\n\n get externalExaminerNavigationBarItems(): NavItem[] {\n return [\n new NavItem(\n 'Home',\n RouteN.TA.ExternalExaminerDashboard.n,\n this.$route.query,\n this.$accessPermitted(this.usrAcct.user.roles, RouteN.TA.PracticeDashboard.r),\n NavItemStatusID.NotCurrent\n )\n ];\n }\n\n private displayDate = new Date();\n private isToday = false;\n private showDateTip = true;\n\n get env(): string {\n const local = window.location.href.indexOf('localhost') > 0 ? 'DEV' : '';\n const dev = window.location.href.indexOf('-dev') > 0 ? 'DEV' : '';\n const sit = window.location.href.indexOf('-sit') > 0 ? 'SIT' : '';\n return local + dev + sit;\n }\n\n private isDateToday(dateString: string) {\n // Parse the date string into a Date object\n const date = new Date(dateString);\n\n // Get today's date\n const today = new Date();\n\n // Compare years, months, and days\n return (\n date.getFullYear() === today.getFullYear() &&\n date.getMonth() === today.getMonth() &&\n date.getDate() === today.getDate()\n );\n }\n\n private getSystemDate(): void {\n if (this.showDateTip) {\n this.apiService?.DateApi.apiV2DateGetBaseDateGet()\n .then((res: any) => {\n this.displayDate = new Date(res.data);\n this.isToday = this.isDateToday((this.displayDate.toISOString()));\n })\n .catch((err: any) => {\n console.log('get date failed: ', err);\n })\n }\n }\n\n}\n\n\n","import { render } from \"./trust-admin-main.html?vue&type=template&id=9bff0fdc&scoped=true&ts=true&external\"\nimport script from \"./trust-admin-main.ts?vue&type=script&lang=ts&external\"\nexport * from \"./trust-admin-main.ts?vue&type=script&lang=ts&external\"\n\nimport \"./trust-admin-main.scss?vue&type=style&index=0&id=9bff0fdc&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-9bff0fdc\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, createTextVNode as _createTextVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createStaticVNode as _createStaticVNode, Fragment as _Fragment, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-21171d86\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"kitchensink\" }\nconst _hoisted_2 = { class: \"fixed-header\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"buttons\" }, [\n /*#__PURE__*/_createElementVNode(\"button\", { class: \"btn btn-outline sml\" }, \"Add investigation/routine\")\n], -1))\nconst _hoisted_4 = { class: \"page\" }\nconst _hoisted_5 = { style: {\"position\":\"relative\"} }\nconst _hoisted_6 = { class: \"page-container\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"home\" }, [\n /*#__PURE__*/_createElementVNode(\"h2\", null, \"Kitchen Sink Page\")\n], -1))\nconst _hoisted_8 = { class: \"hello\" }\nconst _hoisted_9 = /*#__PURE__*/_createStaticVNode(\"

Buttons





\", 14)\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_24 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Notification bar\", -1))\nconst _hoisted_25 = /*#__PURE__*/_createStaticVNode(\"

Checkboxes

Checkbox only

Checkbox with label


Radio buttons


Select

Normal selection box
Small selection box
\", 15)\nconst _hoisted_40 = { class: \"mt-4\" }\nconst _hoisted_41 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Date Range\", -1))\nconst _hoisted_42 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", null, \"CANCEL ALERT\", -1))\nconst _hoisted_43 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"Do you want to cancel this task?\", -1))\nconst _hoisted_44 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"button\", { class: \"btn btn-secondary sml\" }, \"Yes\", -1))\n\nexport function render(_ctx, _cache) {\n const _component_PageHeader = _resolveComponent(\"PageHeader\")\n const _component_NavigationBar = _resolveComponent(\"NavigationBar\")\n const _component_SideMenu = _resolveComponent(\"SideMenu\")\n const _component_date_picker = _resolveComponent(\"date-picker\")\n const _component_AlertBox = _resolveComponent(\"AlertBox\")\n const _component_KitchensinkModal = _resolveComponent(\"KitchensinkModal\")\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_PageHeader),\n _createVNode(_component_NavigationBar, { navItems: _ctx.navItems }, {\n \"right-side-buttons\": _withCtx(() => [\n _hoisted_3\n ]),\n _: 1\n }, 8, [\"navItems\"])\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createVNode(_component_SideMenu, {\n menuItems: _ctx.demoMenuItems,\n \"onUpdate:menuItems\": _cache[0] || (_cache[0] = $event => ((_ctx.demoMenuItems) = $event)),\n onMenuSelected: _ctx.menuAction\n }, null, 8, [\"menuItems\", \"onMenuSelected\"])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _hoisted_7,\n _createElementVNode(\"div\", _hoisted_8, [\n _hoisted_9,\n _createElementVNode(\"button\", {\n class: \"btn btn-primary sml mr-2\",\n onClick: _cache[1] || (_cache[1] = $event => (_ctx.showSaveAlertBox = true))\n }, \"Show alert\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary sml mr-2\",\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.showKitchensinkModal = true))\n }, \"Show modal\"),\n _hoisted_23,\n _hoisted_24,\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml mr-2\",\n onClick: _cache[3] || (_cache[3] = (...args) => (_ctx.showSnackbarError && _ctx.showSnackbarError(...args)))\n }, \"Error\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml mr-2\",\n onClick: _cache[4] || (_cache[4] = (...args) => (_ctx.showSnackbarInfo && _ctx.showSnackbarInfo(...args)))\n }, \"Info\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml mr-2\",\n onClick: _cache[5] || (_cache[5] = (...args) => (_ctx.showSnackbarWarning && _ctx.showSnackbarWarning(...args)))\n }, \"Warning\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml mr-2\",\n onClick: _cache[6] || (_cache[6] = (...args) => (_ctx.showSnackbarSuccess && _ctx.showSnackbarSuccess(...args)))\n }, \"Success\"),\n _hoisted_25,\n _createElementVNode(\"div\", _hoisted_40, [\n _hoisted_41,\n _createVNode(_component_date_picker, {\n value: _ctx.dateRange,\n \"onUpdate:value\": _cache[7] || (_cache[7] = $event => ((_ctx.dateRange) = $event)),\n range: \"\",\n format: \"DD/MM/YYYY\",\n \"input-class\": \"narrow\"\n }, null, 8, [\"value\"])\n ]),\n _createTextVNode(\" \" + _toDisplayString(_ctx.dateRange), 1)\n ])\n ])\n ])\n ]),\n (_ctx.showSaveAlertBox)\n ? (_openBlock(), _createBlock(_component_AlertBox, {\n key: 0,\n onClose: _cache[9] || (_cache[9] = $event => (_ctx.showSaveAlertBox = false))\n }, {\n header: _withCtx(() => [\n _hoisted_42\n ]),\n body: _withCtx(() => [\n _hoisted_43\n ]),\n footer: _withCtx(() => [\n _hoisted_44,\n _createElementVNode(\"button\", {\n class: \"btn btn-tertiary sml\",\n onClick: _cache[8] || (_cache[8] = $event => (_ctx.showSaveAlertBox = false))\n }, \"No\")\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.showKitchensinkModal)\n ? (_openBlock(), _createBlock(_component_KitchensinkModal, {\n key: 1,\n onCloseModal: _cache[10] || (_cache[10] = $event => (_ctx.showKitchensinkModal = false))\n }))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, vShow as _vShow, normalizeClass as _normalizeClass, withDirectives as _withDirectives, TransitionGroup as _TransitionGroup, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0b723c9e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"hide-options\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"icon\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-right\" })\n], -1))\nconst _hoisted_3 = {\n key: 0,\n class: \"text\",\n style: {\"text-align\":\"left\"}\n}\nconst _hoisted_4 = {\n key: 0,\n class: \"show-options\"\n}\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_6 = { class: \"navigation-links\" }\nconst _hoisted_7 = [\"onClick\"]\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"side-menu\", { show: _ctx.showSidebar }])\n }, [\n _createElementVNode(\"div\", {\n class: \"control\",\n onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.showNav && _ctx.showNav(...args))),\n title: \"Toggle options menu\"\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _hoisted_2,\n (_ctx.showLink)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, \"Hide Options\"))\n : _createCommentVNode(\"\", true)\n ]),\n (!_ctx.showSidebar)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createTextVNode(\" Show\"),\n _hoisted_5,\n _createTextVNode(\"Options \")\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_TransitionGroup, { name: \"fade\" }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.menuItems, (m) => {\n return _withDirectives((_openBlock(), _createElementBlock(\"div\", {\n key: \"m.idx\",\n class: _normalizeClass({ active: m.current }),\n onClick: $event => (_ctx.menuClicked(m.idx))\n }, [\n _createElementVNode(\"span\", null, _toDisplayString(m.name), 1)\n ], 10, _hoisted_7)), [\n [_vShow, _ctx.showLink && m.show]\n ])\n }), 128))\n ]),\n _: 1\n })\n ])\n ], 2))\n}","\nimport { Options, Vue } from \"vue-property-decorator\";\n\nexport interface MenuItem {\n idx: number;\n name: string;\n path: string;\n show: boolean;\n current?: boolean;\n}\n\n@Options({\n props: {\n menuItems: Object,\n },\n})\nexport default class SideMenu extends Vue {\n private menuItems!: MenuItem[];\n private menuWidth!: number;\n\n private showSidebar = true;\n private showLink = true;\n\n mounted(): void {\n // initialise menuItem state\n // get current state\n const _currentItem: MenuItem[] = this.menuItems.filter(m => {\n return m.current;\n });\n // preset all states to false\n for (let i = 0; i < this.menuItems.length; i++) {\n this.menuItems[i].current = false;\n }\n // check if currentItem defined\n if (_currentItem.length > 0) {\n this.menuItems[_currentItem[0].idx].current = true;\n } else {\n // set the first item as current\n this.menuItems[0].current = true;\n }\n\n }\n\n private menuClicked(key: number) {\n for (let i = 0; i < this.menuItems.length; i++) {\n this.menuItems[i].current = false;\n }\n this.menuItems[key].current = true;\n this.$emit('menuSelected', key);\n }\n\n private showNav() {\n if (this.showSidebar) {\n this.showLink = false;\n setTimeout(() => {\n this.showSidebar = false;\n this.menuWidth = 94;\n this.$emit('menuClosed', this.menuWidth);\n }, 250);\n } else {\n this.showSidebar = true;\n setTimeout(() => {\n this.menuWidth = 230;\n this.$emit('menuClosed', this.menuWidth);\n this.showLink = true;\n }, 250);\n }\n }\n\n}\n\n\n","import { render } from \"./side-menu.html?vue&type=template&id=0b723c9e&scoped=true&ts=true&external\"\nimport script from \"./side-menu.ts?vue&type=script&lang=ts&external\"\nexport * from \"./side-menu.ts?vue&type=script&lang=ts&external\"\n\nimport \"./side-menu.scss?vue&type=style&index=0&id=0b723c9e&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0b723c9e\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-fa0af186\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"kitchensink-modal\" }\nconst _hoisted_2 = { class: \"heading-text\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"line1\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"line2\"\n}\nconst _hoisted_5 = { class: \"input-box\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"Item name *\", -1))\nconst _hoisted_7 = [\"disabled\"]\nconst _hoisted_8 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_10 = { class: \"input-box\" }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"Item description *\", -1))\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_15 = { class: \"row mt-4\" }\nconst _hoisted_16 = [\"disabled\"]\nconst _hoisted_17 = [\"disabled\"]\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-right\" })\n], -1))\n\nexport function render(_ctx, _cache) {\n const _component_LoadingSpinner = _resolveComponent(\"LoadingSpinner\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (_ctx.isLoadingData)\n ? (_openBlock(), _createBlock(_component_LoadingSpinner, { key: 0 }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_ModalBox, {\n show: _ctx.show,\n \"onUpdate:show\": _cache[6] || (_cache[6] = $event => ((_ctx.show) = $event)),\n onClose: _cache[7] || (_cache[7] = $event => (_ctx.cancelClicked()))\n }, {\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n true\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_3, \"Add new item\"))\n : _createCommentVNode(\"\", true),\n true\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, \"Row 2\"))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n body: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_5, [\n _hoisted_6,\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.mockData.name) = $event)),\n disabled: _ctx.isLoadingData,\n placeholder: \"Placeholder text here\",\n maxlength: \"199\",\n onInput: _cache[1] || (_cache[1] = $event => (_ctx.mandatoryCheck())),\n maxLength: \"20\"\n }, null, 40, _hoisted_7), [\n [_vModelText, _ctx.mockData.name]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [ _ctx.mockData.name.length === 20 ? 'full' : '']])\n }, _toDisplayString(_ctx.mockData.name.length) + \"/20 characters \", 3),\n (_ctx.mockData.name === '')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _hoisted_9,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _hoisted_11,\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.mockData.desc) = $event)),\n disabled: _ctx.isLoadingData,\n placeholder: \"Placeholder text here\",\n maxlength: \"199\",\n onInput: _cache[3] || (_cache[3] = $event => (_ctx.mandatoryCheck())),\n maxLength: \"75\"\n }, null, 40, _hoisted_12), [\n [_vModelText, _ctx.mockData.desc]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [ _ctx.mockData.desc.length === 75 ? 'full' : '']])\n }, _toDisplayString(_ctx.mockData.desc.length) + \"/75 characters \", 3),\n (_ctx.mockData.desc === '')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _hoisted_14,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"button\", {\n class: \"btn\",\n onClick: _cache[4] || (_cache[4] = $event => (_ctx.cancelClicked())),\n disabled: _ctx.isLoadingData\n }, \"Cancel\", 8, _hoisted_16),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary ml-2\",\n disabled: !_ctx.canSubmit || _ctx.isLoadingData,\n onClick: _cache[5] || (_cache[5] = $event => (_ctx.submit()))\n }, [\n _createTextVNode(\"Update \"),\n _hoisted_18\n ], 8, _hoisted_17)\n ])\n ]),\n _: 1\n }, 8, [\"show\"])\n ]))\n}","\nimport { Options, Vue } from \"vue-property-decorator\";\nimport LoadingSpinner from \"../loading-spinner/index.vue\";\nimport ModalBox from \"../modal-box/index.vue\";\n\n@Options({\n props: {\n },\n components: {\n ModalBox,\n LoadingSpinner,\n }\n})\nexport default class KitchensinkModal extends Vue {\n showKitchensinkModal!: boolean;\n\n private canSubmit = false;\n\n private showFullScreenFileViewer = false;\n private showStepper = false;\n private halfScreen = false;\n private show = false;\n private isLoadingData = false;\n\n private mandatoryCheck() {\n // put some logic here\n this.canSubmit = true;\n }\n\n private mockData = {\n name: '',\n desc: ''\n }\n\n mounted(): void {\n this.show = this.showKitchensinkModal;\n }\n\n private cancelClicked() {\n // if (this.isFormDirty && !this.isReadonly) {\n // this.showCancelAlert = true;\n // } else {\n this.closeModal();\n }\n\n // private yesCancel() {\n // this.closeModal();\n // }\n\n private closeModal() {\n this.$emit('closeModal');\n }\n\n private submit() {\n this.isLoadingData = true;\n setTimeout(() => {\n this.isLoadingData = false;\n this.closeModal();\n }, 1000)\n\n }\n\n\n}\n\n","import { render } from \"./kitchensink-modal.html?vue&type=template&id=fa0af186&scoped=true&ts=true&external\"\nimport script from \"./kitchensink-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./kitchensink-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./kitchensink-modal.scss?vue&type=style&index=0&id=fa0af186&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-fa0af186\"]])\n\nexport default __exports__","import { Options, Vue } from \"vue-class-component\";\nimport SideMenu from \"../side-menu/index.vue\";\nimport { MenuItem } from \"../side-menu/side-menu\";\nimport { Watch } from \"vue-property-decorator\";\nimport { RouteLocationNormalized } from \"vue-router\";\nimport NavigationBar from \"../navigation-bar/index.vue\";\nimport { NavItem, NavItemStatusID } from \"../navigation-bar/navigation-item\";\nimport PageHeader from \"../page-header/index.vue\";\nimport AlertBox from \"../alert-box/index.vue\";\nimport KitchensinkModal from \"../kitchensink-modal/index.vue\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-admin-app/store\";\nimport DatePicker from 'vue-datepicker-next';\nimport 'vue-datepicker-next/index.css';\n\n@Options({\n components: {\n SideMenu,\n NavigationBar,\n PageHeader,\n AlertBox,\n KitchensinkModal,\n DatePicker,\n }\n})\nexport default class KitchenSink extends Vue {\n\n private dateRange = null;\n\n // menu items for side-menu\n private demoMenuItems: MenuItem[] = [\n { idx: 0, name: 'Practices', path: '', show: true },\n { idx: 1, name: 'Investigators', path: '', show: true },\n { idx: 2, name: 'Authorised signatures', path: '', show: true },\n { idx: 3, name: 'Investigation types', path: '', show: true },\n { idx: 4, name: 'Banks', path: '', show: true },\n { idx: 5, name: 'Accounting software', path: '', show: true },\n ];\n\n // dummy action \n private menuAction(idx: number): void {\n console.log('Side menu: ', this.demoMenuItems[idx]);\n }\n @Watch('$route')\n public onRouteChanged(to: RouteLocationNormalized, from: RouteLocationNormalized): void {\n this.updateNavItems();\n }\n\n mounted(): void {\n this.updateNavItems();\n }\n\n private updateNavItems(): void {\n this.navItems.forEach((navItem) => {\n navItem.status = NavItemStatusID.NotCurrent;\n if (navItem.routeSecName === this.$route.name) {\n console.log(navItem.name, navItem.status);\n navItem.status = NavItemStatusID.Current;\n }\n });\n }\n\n private navItems: NavItem[] = [\n new NavItem('Home', 'home', null, true, NavItemStatusID.NotCurrent),\n new NavItem('KitchenSink', 'kitchen-sink', null, true, NavItemStatusID.Current),\n new NavItem('KitchenSink2', 'kitchen-sink2', null, true, NavItemStatusID.NotCurrent),\n new NavItem('KitchenSink3', 'kitchen-sink3', null, true, NavItemStatusID.NotCurrent),\n ];\n\n private showSaveAlertBox = false;\n private showKitchensinkModal = false;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n // error\n // background-color #f44336\n // warning\n // background-color #ff9800\n // info\n // background-color #2196f3\n // success\n // background-color #4caf50\n\n private showSnackbarError(): void {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error message here');\n }\n\n private showSnackbarInfo(): void {\n this.eventCtrl.emit('show-snackbar', 'info', 'Info message');\n }\n\n private showSnackbarWarning(): void {\n this.eventCtrl.emit('show-snackbar', 'warning', 'Warning message here');\n }\n\n private showSnackbarSuccess(): void {\n this.eventCtrl.emit('show-snackbar', 'success', 'Success message here');\n }\n\n}","import { render } from \"./kitchensink.html?vue&type=template&id=21171d86&scoped=true&ts=true&external\"\nimport script from \"./kitchensink.ts?vue&type=script&lang=ts&external\"\nexport * from \"./kitchensink.ts?vue&type=script&lang=ts&external\"\n\nimport \"./kitchensink.scss?vue&type=style&index=0&id=21171d86&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-21171d86\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-06112896\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"trust-data\" }\nconst _hoisted_2 = { class: \"side-menu\" }\n\nexport function render(_ctx, _cache) {\n const _component_SideMenu = _resolveComponent(\"SideMenu\")\n const _component_router_view = _resolveComponent(\"router-view\")\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_SideMenu, {\n menuItems: _ctx.menuItems,\n \"onUpdate:menuItems\": _cache[0] || (_cache[0] = $event => ((_ctx.menuItems) = $event)),\n onMenuSelected: _ctx.menuAction,\n onMenuClosed: _ctx.menuClosed\n }, null, 8, [\"menuItems\", \"onMenuSelected\", \"onMenuClosed\"])\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"page-container\", _ctx.menuWidth < 100? 'menuClosed' : ''])\n }, [\n _createVNode(_component_router_view)\n ], 2)\n ]))\n}","import { Options, Vue } from 'vue-class-component';\nimport SideMenu from '@/shared/components/side-menu/index.vue';\nimport { MenuItem } from '@/shared/components/side-menu/side-menu';\nimport { RouteN } from '@/trust-admin-app/constants/router-name';\nimport { accessPermitted } from '@/shared/components/helpers';\nimport { AuthorizedUser } from '@/trust-admin-app/models/authorized-user';\nimport store from '@/trust-admin-app/store';\nimport { Watch } from 'vue-property-decorator';\n\n@Options({\n components: {\n SideMenu,\n }\n})\nexport default class TrustDataMain extends Vue {\n\n private menuWidth = 230;\n\n private menuItems: MenuItem[] = [\n {\n idx: 0,\n name: 'Practices',\n path: RouteN.TA.TrustDataPractices.p,\n show: true\n },\n {\n idx: 1,\n name: 'Trust team',\n path: RouteN.TA.TrustDataTrustTeam.p,\n show: accessPermitted(this.usrAcct.user.roles, RouteN.TA.TrustDataTrustTeam.r)\n },\n {\n idx: 2,\n name: 'Investigation types',\n path: RouteN.TA.TrustDataInvestigationType.p,\n show: accessPermitted(this.usrAcct.user.roles, RouteN.TA.TrustDataInvestigationType.r)\n },\n {\n idx: 3,\n name: 'Banks',\n path: RouteN.TA.TrustDataBanks.p,\n show: accessPermitted(this.usrAcct.user.roles, RouteN.TA.TrustDataBanks.r)\n },\n {\n idx: 4,\n name: 'Accounting software',\n path: RouteN.TA.TrustDataAccountingSoftware.p,\n show: accessPermitted(this.usrAcct.user.roles, RouteN.TA.TrustDataAccountingSoftware.r)\n },\n {\n idx: 5,\n name: 'External Examiner',\n path: RouteN.TA.TrustDataExternalExaminer.p,\n show: accessPermitted(this.usrAcct.user.roles, RouteN.TA.TrustDataExternalExaminer.r)\n },\n {\n idx: 6,\n name: 'External Examiner Approval',\n path: RouteN.TA.TrustDataExternalExaminerApproval.p,\n show: accessPermitted(this.usrAcct.user.roles, RouteN.TA.TrustDataExternalExaminerApproval.r)\n },\n {\n idx: 7,\n name: 'External Examiner Sign-up approval',\n path: RouteN.TA.TrustDataExternalExaminerSignUpApproval.p,\n show: accessPermitted(this.usrAcct.user.roles, RouteN.TA.TrustDataExternalExaminerSignUpApproval.r)\n },{\n idx: 8,\n name: 'ATCS Help and Info',\n path: RouteN.TA.TrustDataPageSettings.p,\n show: accessPermitted(this.usrAcct.user.roles, RouteN.TA.TrustDataPageSettings.r)\n },\n ];\n\n private menuAction(idx: number): void {\n this.$router.push({ path: this.menuItems[idx].path });\n }\n\n private menuClosed(num: number) {\n this.menuWidth = num;\n }\n\n @Watch('$route')\n public onRouteChanged(newValue: any, oldValue: any): void {\n this.setCurrentMenuItem();\n }\n\n created(): void {\n this.menuWidth = 230;\n }\n\n mounted(): void {\n this.menuItems.forEach(m => {\n m.current = false;\n if (m.path === this.$route.path) {\n m.current = true;\n }\n });\n }\n\n private setCurrentMenuItem() {\n this.menuItems.forEach(m => m.current = false);\n const _currentItem = this.menuItems.filter(m => {\n return m.path == this.$route.path;\n });\n if (_currentItem.length > 0) {\n this.menuItems[_currentItem[0].idx].current = true;\n }\n }\n\n get usrAcct(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n\n}\n\n","import { render } from \"./trust-data-main.html?vue&type=template&id=06112896&scoped=true&ts=true&external\"\nimport script from \"./trust-data-main.ts?vue&type=script&lang=ts&external\"\nexport * from \"./trust-data-main.ts?vue&type=script&lang=ts&external\"\n\nimport \"./trust-data-main.scss?vue&type=style&index=0&id=06112896&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-06112896\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport function render(_ctx, _cache) {\n const _component_PageHeader = _resolveComponent(\"PageHeader\")\n const _component_LoadingSpinner = _resolveComponent(\"LoadingSpinner\")\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_PageHeader, { appName: 'TRUST ADMIN' }),\n _createVNode(_component_LoadingSpinner)\n ], 64))\n}","import { AuthorizedUser } from '../../models/authorized-user';\nimport globalAxios, { AxiosInstance, AxiosResponse } from 'axios';\nimport * as HttpStatus from 'http-status-codes';\nimport { AuthenticationStatus, AuthenticationStatusType } from './authentication-status';\nimport { SELF_URL } from '../../config/config';\nimport { Url } from '../../config/url'\n\nexport default class AuthenticationService {\n\n private options = {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n };\n\n constructor(\n public authedUser: AuthorizedUser = new AuthorizedUser(),\n public axios: AxiosInstance = globalAxios\n ) { }\n\n public async checkAuthentication(): Promise {\n console.log('checking authentication .................')\n let tokenResp: AxiosResponse;\n\n try {\n tokenResp = await this.axios.get(SELF_URL + Url.Token);\n\n try {\n this.authedUser.token.tokenStr = tokenResp.data.token;\n this.authedUser.token.clientId = tokenResp.data.clientId;\n this.authedUser.token.userId = tokenResp.data.userId;\n this.authedUser.user.email = tokenResp.data.user.email;\n this.authedUser.user.externalId = tokenResp.data.user.externalId;\n this.authedUser.user.firstName = tokenResp.data.user.firstName;\n this.authedUser.user.lastName = tokenResp.data.user.lastName;\n this.authedUser.user.lawId = tokenResp.data.user.lawId;\n this.authedUser.user.userName = tokenResp.data.user.lawId;\n this.authedUser.user.title = tokenResp.data.user.title;\n this.authedUser.user.isMember = tokenResp.data.user.isMember;\n this.authedUser.user.isPcHolder = tokenResp.data.user.isPcHolder;\n this.authedUser.user.roles = tokenResp.data.user.roles;\n this.authedUser.session.issued = Math.round(new Date(tokenResp.data['issued']).getTime() / 1000);\n this.authedUser.session.expires = Math.round(new Date(tokenResp.data['expires']).getTime() / 1000);\n\n if (tokenResp.data.token) {\n this.authedUser.authenticationStatus = AuthenticationStatusType.LoggedIn;\n return Promise.resolve(AuthenticationStatusType.LoggedIn);\n } else {\n this.authedUser.authenticationStatus = AuthenticationStatusType.Unknown;\n return Promise.reject(AuthenticationStatusType.Unknown);\n }\n } catch (err) {\n this.authedUser.authenticationStatus = AuthenticationStatusType.Unknown;\n return Promise.reject(AuthenticationStatusType.Unknown);\n }\n\n } catch (err: any) {\n if (err.response.status === HttpStatus.UNAUTHORIZED ||\n err.response.status === HttpStatus.FORBIDDEN) {\n this.authedUser.authenticationStatus = AuthenticationStatusType.NotLogin;\n return Promise.reject(AuthenticationStatusType.NotLogin);\n } else {\n this.authedUser.authenticationStatus = AuthenticationStatusType.Unknown;\n return Promise.reject(AuthenticationStatusType.Unknown);\n }\n }\n }\n}\n","import { AuthorizedUser } from '../../models/authorized-user';\nimport AuthenticationService from './authentication.service';\nimport { AuthenticationStatusType, AuthenticationStatus } from './authentication-status';\n\nexport class Authentication {\n\n private authService: AuthenticationService;\n private loginCallback: (x: AuthenticationStatusType) => void;\n\n constructor(\n public authorizedUser: AuthorizedUser\n ) {\n this.authService = new AuthenticationService(this.authorizedUser);\n this.loginCallback = null as any;\n }\n\n public runAuthCheck(cb: () => void): void {\n this.loginCallback = cb;\n this.productionAuth();\n }\n\n public logout(cb: () => void): void {\n this.clearBrowserStorages();\n this.deleteAllCookies();\n\n if (typeof cb === 'function') {\n cb();\n }\n }\n\n private clearBrowserStorages(): void {\n try {\n localStorage.clear();\n sessionStorage.clear();\n } catch (err) {\n console.log(err);\n }\n }\n\n\n private deleteAllCookies() {\n const cookies: string[] = document.cookie.split(';');\n for (const cookie of cookies) {\n const eqPos: number = cookie.indexOf('=');\n const name: string = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;\n document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:00 GMT';\n }\n }\n\n\n private productionAuth(): void {\n this.authService.checkAuthentication()\n .then((res: any) => {\n this.productionVerify();\n })\n .catch((err: any) => {\n this.productionVerify();\n });\n }\n\n private productionVerify(): void {\n // const v1: ClientType = this.userAccount.clientType;\n const v2: AuthenticationStatus = this.authorizedUser.authenticationStatus;\n // const c1: boolean = v1 === ClientTypeID.DesktopApp;\n const c2: boolean = v2 === AuthenticationStatusType.LoggedIn;\n const c3: boolean = v2 === AuthenticationStatusType.NotLogin;\n\n this.authorizedUser.authenticationStatus = c2 ? AuthenticationStatusType.AppAccessPermitted : AuthenticationStatusType.NotLogin;\n\n if (typeof this.loginCallback === 'function') {\n this.loginCallback(this.authorizedUser.authenticationStatus);\n }\n }\n}\n","import { Options, Vue } from \"vue-class-component\";\nimport { Authentication } from '../../modules/authentication/authentication';\nimport { SELF_URL } from '../../config/config';\nimport { Url } from '../../config/url';\nimport { AuthenticationStatusType, AuthenticationStatus } from '../../modules/authentication/authentication-status';\nimport { RouteN } from '../../constants/router-name';\nimport { AuthorizedUser } from \"../../models/authorized-user\";\nimport store from '../../store/index';\nimport PageHeader from \"@/shared/components/page-header/index.vue\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\n\n@Options({\n components: {\n PageHeader,\n LoadingSpinner\n }\n})\nexport default class AutoLogin extends Vue {\n\n private authentication: Authentication = new Authentication(\n this.userAccount\n );\n\n created() {\n this.authentication.runAuthCheck(this.authCheckCallBack);\n }\n\n private authCheckCallBack(status: AuthenticationStatus = AuthenticationStatusType.NotLogin): void {\n const redirect: string = this.$route.query.redirect as string;\n switch (status) {\n case AuthenticationStatusType.AppAccessPermitted:\n setTimeout(() => {\n this.$router.push(\n redirect ? redirect : { name: RouteN.TA.Main.n }\n );\n }, 0);\n break;\n case AuthenticationStatusType.AppAccessDenied:\n setTimeout(() => { this.$router.push({ name: RouteN.NoAccess.n }); }, 0);\n break;\n case AuthenticationStatusType.NotLogin:\n setTimeout(() => { document.location.href = SELF_URL + Url.Login; }, 0);\n break;\n default:\n setTimeout(() => { document.location.href = SELF_URL + Url.Logout; }, 0);\n break;\n }\n }\n\n get userAccount(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n}\n","import { render } from \"./auto-login.html?vue&type=template&id=564590f4&scoped=true&ts=true&external\"\nimport script from \"./auto-login.ts?vue&type=script&lang=ts&external\"\nexport * from \"./auto-login.ts?vue&type=script&lang=ts&external\"\n\nimport \"./auto-login.scss?vue&type=style&index=0&id=564590f4&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-564590f4\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport function render(_ctx, _cache) {\n const _component_PageHeader = _resolveComponent(\"PageHeader\")\n const _component_LoadingSpinner = _resolveComponent(\"LoadingSpinner\")\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_PageHeader, { appName: 'TRUST ADMIN' }),\n _createVNode(_component_LoadingSpinner)\n ], 64))\n}","import { Options, Vue } from \"vue-class-component\";\nimport { Authentication } from '../../modules/authentication/authentication';\nimport { AuthorizedUser } from '../../models/authorized-user';\nimport { SELF_URL } from '../../config/config';\nimport { Url } from '../../config/url';\nimport store from '../../store';\nimport PageHeader from \"@/shared/components/page-header/index.vue\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\n@Options({\n components: {\n PageHeader,\n LoadingSpinner\n }\n})\nexport default class Logout extends Vue {\n\n private authentication: Authentication = new Authentication(\n this.userAccount);\n\n created() {\n this.authentication.logout(this.logoutCallBack);\n }\n\n private logoutCallBack(): void {\n setTimeout( () => { document.location.href = SELF_URL + Url.Logout; }, 0);\n }\n\n get userAccount(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n}\n","import { render } from \"./logout.html?vue&type=template&id=4f140954&scoped=true&ts=true&external\"\nimport script from \"./logout.ts?vue&type=script&lang=ts&external\"\nexport * from \"./logout.ts?vue&type=script&lang=ts&external\"\n\nimport \"./logout.scss?vue&type=style&index=0&id=4f140954&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4f140954\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-fe27d3f0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"section\", { class: \"no-access\" }, [\n /*#__PURE__*/_createElementVNode(\"h1\", null, \"No Access\"),\n /*#__PURE__*/_createElementVNode(\"span\", null, \"You do not have access to this application.\")\n], -1))\n\nexport function render(_ctx, _cache) {\n const _component_PageHeader = _resolveComponent(\"PageHeader\")\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_PageHeader, { appName: 'TRUST ADMIN' }),\n _hoisted_1\n ], 64))\n}","import { Options, Vue } from 'vue-class-component';\nimport PageHeader from '@/shared/components/page-header/index.vue';\n@Options({\n components:{\n PageHeader\n }\n})\nexport default class NoAccess extends Vue {\n\n}\n","import { render } from \"./no-access.html?vue&type=template&id=fe27d3f0&scoped=true&ts=true&external\"\nimport script from \"./no-access.ts?vue&type=script&lang=ts&external\"\nexport * from \"./no-access.ts?vue&type=script&lang=ts&external\"\n\nimport \"./no-access.scss?vue&type=style&index=0&id=fe27d3f0&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-fe27d3f0\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, vModelCheckbox as _vModelCheckbox, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-9450af10\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"trust-data-banks\" }\nconst _hoisted_2 = { class: \"section-heading\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Maintain trust data\", -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Banks\", -1))\nconst _hoisted_5 = { class: \"search\" }\nconst _hoisted_6 = { class: \"search-inputs\" }\nconst _hoisted_7 = { class: \"search-bar\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-hm\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-search fa-lg\" })\n], -1))\nconst _hoisted_9 = { class: \"checkbox-button ml-2\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Show active only\")\n], -1))\nconst _hoisted_11 = { class: \"accounting-software\" }\nconst _hoisted_12 = { class: \"ls-table\" }\nconst _hoisted_13 = { key: 0 }\nconst _hoisted_14 = [\"colspan\"]\nconst _hoisted_15 = { key: 1 }\nconst _hoisted_16 = [\"colspan\"]\nconst _hoisted_17 = { key: 2 }\nconst _hoisted_18 = [\"colspan\"]\nconst _hoisted_19 = { \"data-label\": \"Name\" }\nconst _hoisted_20 = { \"data-label\": \"Status\" }\nconst _hoisted_21 = { \"data-label\": \"Actions\" }\nconst _hoisted_22 = [\"onClick\"]\nconst _hoisted_23 = [\"onClick\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_AddEditBankModal = _resolveComponent(\"AddEditBankModal\")\n const _component_BankAuditTrailModal = _resolveComponent(\"BankAuditTrailModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.searchKeyword) = $event)),\n placeholder: \"Search bank name\"\n }, null, 512), [\n [_vModelText, _ctx.searchKeyword]\n ]),\n _hoisted_8\n ]),\n _createElementVNode(\"label\", _hoisted_9, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.showActiveOnly) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.showActiveOnly]\n ]),\n _hoisted_10\n ])\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary mr-2\",\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.addBank()))\n }, \"Add new bank\")\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"table\", _hoisted_12, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", null, [\n _createElementVNode(\"div\", null, _toDisplayString(h.text), 1)\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_13, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_14)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_15, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_16)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.filteredBankList.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_17, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, \"No Records\", 8, _hoisted_18)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.filteredBankList.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.filteredBankList, (a) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_19, _toDisplayString(a.name), 1),\n _createElementVNode(\"td\", _hoisted_20, _toDisplayString(a.status.name), 1),\n _createElementVNode(\"td\", _hoisted_21, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml mr-2\",\n onClick: $event => (_ctx.editBank(a))\n }, \"Edit\", 8, _hoisted_22),\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml\",\n onClick: $event => (_ctx.viewBankAuditTrail(a))\n }, \"Audit Trail\", 8, _hoisted_23)\n ])\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary sml mt-2\",\n onClick: _cache[3] || (_cache[3] = $event => (_ctx.addBank()))\n }, \"Add new bank\")\n ]),\n (_ctx.showAddEditModal)\n ? (_openBlock(), _createBlock(_component_AddEditBankModal, {\n key: 0,\n bank: _ctx.selectedBank,\n onCloseAddEditBankModal: _cache[4] || (_cache[4] = $event => {_ctx.showAddEditModal = false;})\n }, null, 8, [\"bank\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showAuditTrailModal)\n ? (_openBlock(), _createBlock(_component_BankAuditTrailModal, {\n key: 1,\n bank: _ctx.selectedBank,\n onCloseAuditTrailModal: _cache[5] || (_cache[5] = $event => {_ctx.showAuditTrailModal = false;})\n }, null, 8, [\"bank\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7b485364\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"bank-audit-trail-modal\" }\n\nexport function render(_ctx, _cache) {\n const _component_AuditTrailModal = _resolveComponent(\"AuditTrailModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_AuditTrailModal, {\n applicationName: _ctx.bank.name,\n applicationTypeName: 'Banks',\n auditTrailData: _ctx.auditTrail,\n loadingContent: _ctx.loadingContent,\n errorLoadingContent: _ctx.errorLoadingContent,\n onCloseAuditTrailModal: _cache[0] || (_cache[0] = $event => (_ctx.closeModal()))\n }, null, 8, [\"applicationName\", \"auditTrailData\", \"loadingContent\", \"errorLoadingContent\"])\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createVNode as _createVNode, createCommentVNode as _createCommentVNode, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-17d0bbac\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"audit-trail-modal\" }\nconst _hoisted_2 = { class: \"heading-text\" }\nconst _hoisted_3 = { class: \"line1\" }\nconst _hoisted_4 = { class: \"line2\" }\nconst _hoisted_5 = { class: \"body-main\" }\nconst _hoisted_6 = { class: \"ls-table\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = [\"colspan\"]\nconst _hoisted_9 = { key: 1 }\nconst _hoisted_10 = [\"colspan\"]\nconst _hoisted_11 = { key: 2 }\nconst _hoisted_12 = [\"colspan\"]\nconst _hoisted_13 = { \"data-label\": \"Date\" }\nconst _hoisted_14 = { \"data-label\": \"Change\" }\nconst _hoisted_15 = { \"data-label\": \"Changed By\" }\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n onClose: _cache[0] || (_cache[0] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, \"Audit trail \" + _toDisplayString(_ctx.applicationName), 1),\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.applicationTypeName), 1)\n ])\n ]),\n body: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"table\", _hoisted_6, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", null, [\n _createElementVNode(\"p\", null, _toDisplayString(h.text), 1)\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_7, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_8)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_9, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_10)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.auditTrailData.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_11, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, \"No Records\", 8, _hoisted_12)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.auditTrailData.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.auditTrailData, (aT) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_13, _toDisplayString(_ctx.$formatDateTimeTypeA(aT.date)), 1),\n _createElementVNode(\"td\", _hoisted_14, _toDisplayString(aT.change), 1),\n _createElementVNode(\"td\", _hoisted_15, _toDisplayString(aT.changeBy), 1)\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ]),\n _: 1\n })\n ]))\n}","\nimport { Options, Vue } from 'vue-class-component';\nimport ModalBox from '@/shared/components/modal-box/index.vue';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { AuditTrailView } from '@/shared/modules/typescript-trustapi-client/models';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport { Prop } from 'vue-property-decorator';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\n\n@Options({\n components: {\n ModalBox,\n LoadingIndicator,\n ErrorIndicator\n },\n mixins: [FormatDateTimeMixin]\n})\nexport default class AuditTrailModal extends Vue {\n\n @Prop({ default: ''})\n private applicationName!: string;\n\n @Prop({ default: ''})\n private applicationTypeName!: string;\n\n @Prop({ default: []})\n private auditTrailData!: AuditTrailView[];\n\n @Prop({ default: false})\n private loadingContent!: boolean;\n\n @Prop({ default: false})\n private errorLoadingContent!: boolean;\n\n\n private tableHeadings = [\n { text: 'Date', value: 'data', sortable: false },\n { text: 'Change', value: 'change', sortable: false },\n { text: 'Changed by', value: ',changedBy', sortable: false },\n ];\n\n private closeModal(): void {\n this.$emit('closeAuditTrailModal');\n }\n\n}\n\n","import { render } from \"./audit-trail-modal.html?vue&type=template&id=17d0bbac&scoped=true&ts=true&external\"\nimport script from \"./audit-trail-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./audit-trail-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./audit-trail-modal.scss?vue&type=style&index=0&id=17d0bbac&scoped=true&lang=sccs&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-17d0bbac\"]])\n\nexport default __exports__","\nimport { Options, Vue } from 'vue-class-component';\nimport { Inject, Prop } from 'vue-property-decorator';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport { AuditTrailView, BankView } from '@/shared/modules/typescript-trustapi-client/models';\nimport AuditTrailModal from '../../audit-trail-modal/index.vue';\nimport { orderBy } from 'lodash';\n\n@Options({\n components: {\n AuditTrailModal\n }\n})\nexport default class BankAuditTrailModal extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop({ default: {}})\n private bank!: BankView;\n\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private auditTrail: AuditTrailView[] = [];\n\n created(): void {\n this.loadAuditTrail();\n }\n\n private closeModal(): void {\n this.$emit('closeAuditTrailModal');\n }\n\n private async loadAuditTrail(): Promise {\n try {\n this.errorLoadingContent = false;\n this.loadingContent = true;\n const resp: any =\n await this.apiService.ConfigTrustApi?.apiV2ConfigTrustGetBankAuditTrailsBankIdGet(\n this.bank.id\n );\n this.auditTrail = resp.data.data as AuditTrailView[];\n this.auditTrail = orderBy(\n this.auditTrail,\n ['date'],\n ['desc']\n );\n } catch (err) {\n this.errorLoadingContent = true;\n } finally {\n this.loadingContent = false;\n }\n }\n\n}\n\n","import { render } from \"./bank-audit-trail-modal.html?vue&type=template&id=7b485364&scoped=true&ts=true&external\"\nimport script from \"./bank-audit-trail-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./bank-audit-trail-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./bank-audit-trail-modal.scss?vue&type=style&index=0&id=7b485364&scoped=true&lang=sccs&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7b485364\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vModelRadio as _vModelRadio, withModifiers as _withModifiers, resolveComponent as _resolveComponent, createBlock as _createBlock, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ed8f28d8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"add-edit-bank\" }\nconst _hoisted_2 = { class: \"heading-text\" }\nconst _hoisted_3 = { class: \"line1\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"line2\" }, \"Banks\", -1))\nconst _hoisted_5 = { class: \"body-main\" }\nconst _hoisted_6 = { class: \"row\" }\nconst _hoisted_7 = { class: \"input-box ma-1\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"field-name\" }, \"Name of bank *\", -1))\nconst _hoisted_9 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"field-name\" }, \"Status\", -1))\nconst _hoisted_12 = { class: \"row\" }\nconst _hoisted_13 = {\n class: \"mr-2\",\n style: {\"width\":\"150px\"}\n}\nconst _hoisted_14 = { class: \"radio\" }\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"Active\")\n], -1))\nconst _hoisted_16 = { style: {\"float\":\"left\"} }\nconst _hoisted_17 = { class: \"radio\" }\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"Inactive\")\n], -1))\nconst _hoisted_19 = { class: \"controls\" }\nconst _hoisted_20 = [\"disabled\"]\nconst _hoisted_21 = [\"disabled\"]\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-right\" })\n], -1))\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n onClose: _cache[5] || (_cache[5] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(!_ctx.editMode ? 'Add new bank' : 'Edit ' + _ctx.formData.name), 1),\n _hoisted_4\n ])\n ]),\n body: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _hoisted_8,\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.formData.name) = $event)),\n maxlength: \"200\"\n }, null, 512), [\n [_vModelText, _ctx.formData.name]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [ _ctx.formData.name.length === 200 ? 'full' : '']])\n }, _toDisplayString(_ctx.formData.name.length) + \"/200 characters \", 3),\n (_ctx.formData.name === '')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _hoisted_10,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _hoisted_11,\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"label\", _hoisted_14, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"status\",\n id: \"status\",\n value: 1,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.status) = $event))\n }, null, 512), [\n [_vModelRadio, _ctx.status]\n ]),\n _hoisted_15\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"label\", _hoisted_17, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"status\",\n id: \"status\",\n value: 2,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.status) = $event))\n }, null, 512), [\n [_vModelRadio, _ctx.status]\n ]),\n _hoisted_18\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default ml-1\",\n disabled: _ctx.submitting,\n onClick: _cache[3] || (_cache[3] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\",\"stop\"]))\n }, \"Back\", 8, _hoisted_20),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n disabled: _ctx.submitting || !_ctx.isFormDirty,\n onClick: _cache[4] || (_cache[4] = _withModifiers($event => (_ctx.saveBank()), [\"prevent\",\"stop\"]))\n }, [\n _createTextVNode(_toDisplayString(!_ctx.editMode ? 'Add' : 'Save changes'), 1),\n _hoisted_22\n ], 8, _hoisted_21),\n (_ctx.submitting)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n })\n ]))\n}","\nimport { Options, Vue } from 'vue-class-component';\nimport ModalBox from '@/shared/components/modal-box/index.vue';\nimport { Inject, Prop } from 'vue-property-decorator';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { EventEmitter } from 'events';\nimport store from '../../../store';\nimport { BankRequest, BankView, Status } from '@/shared/modules/typescript-trustapi-client/models';\n\n@Options({\n components: {\n ModalBox,\n LoadingIndicator,\n }\n})\nexport default class AddEditBankModal extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Inject({ from: 'statusType', default: [] })\n private statusType!: Status[];\n\n @Prop({ default: {}})\n private bank!: BankView;\n private formData: BankView = {};\n\n private status = 1;\n private submitting = false;\n private loadingContent = false;\n private errorLoadingContent = false;\n private showCancelAlert = false;\n\n\n created(): void {\n this.formData = JSON.parse(JSON.stringify(this.bank));\n\n if (this.editMode) {\n this.status = this.formData.status.id;\n } else {\n this.formData.status = {\n id: 1\n }\n }\n }\n\n private async saveBank(): Promise {\n try {\n if (!this.validForm && !this.isFormDirty) {\n throw new Error('Invalid Data Filled');\n } \n this.submitting = true;\n this.formData.status = {\n id: this.status\n }\n const bankReq: BankRequest = {\n id: this.formData.id,\n name: this.formData.name,\n description: this.formData.description,\n statusId: this.formData.status?.id\n };\n const resp: any =\n await this.apiService.ConfigTrustApi?.apiV2ConfigTrustSaveBankPost(bankReq);\n this.eventCtrl.emit('reload-banks');\n\n if(bankReq.id == 0) {\n this.eventCtrl.emit('show-snackbar', 'success', 'Added Successfully');\n } else {\n this.eventCtrl.emit('show-snackbar', 'success', 'Updated Successfully');\n }\n \n this.closeModal();\n } catch(err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to process request');\n } finally {\n this.submitting = false;\n }\n }\n\n private closeModal() {\n this.$emit('closeAddEditBankModal');\n }\n\n get validForm(): boolean {\n try {\n return this.formData.name.trim() &&\n this.formData.name.trim().length <= 200 &&\n this.status;\n } catch {\n return false;\n }\n }\n\n get isFormDirty(): boolean {\n if (this.editMode) {\n const modifiedAppName = this.bank.name !== this.formData.name;\n const modifiedStatus = this.bank.status.id !== this.status;\n return modifiedAppName || modifiedStatus;\n } else {\n return !!this.formData.name && this.formData.name.length > 0;\n }\n }\n\n get editMode(): boolean {\n return this.bank?.id > 0;\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n}\n\n","import { render } from \"./add-edit-modal.html?vue&type=template&id=ed8f28d8&scoped=true&ts=true&external\"\nimport script from \"./add-edit-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./add-edit-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./add-edit-modal.scss?vue&type=style&index=0&id=ed8f28d8&scoped=true&lang=sccs&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ed8f28d8\"]])\n\nexport default __exports__","import { TrustAPI } from '@/shared/modules/trust-api';\nimport { BankView } from '@/shared/modules/typescript-trustapi-client/models';\nimport { Options, Vue } from 'vue-class-component';\nimport { Inject } from 'vue-property-decorator';\nimport { orderBy } from \"lodash\";\nimport { EventEmitter } from 'events';\nimport store from '@/trust-admin-app/store';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport BankAuditTrailModal from './bank-audit-trail-modal/index.vue';\nimport AddEditBankModal from './add-edit-modal/index.vue';\n@Options({\n components: {\n AddEditBankModal,\n BankAuditTrailModal,\n LoadingIndicator,\n ErrorIndicator\n }\n})\nexport default class TrustDataBank extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private tableHeadings = [\n { text: 'Name', value: 'name', sortable: false },\n { text: 'Status', value: 'status', sortable: false },\n { text: 'Actions', value: 'actions', sortable: false },\n ];\n\n private selectedBank: BankView = {\n id: null,\n name: null,\n description: null,\n status: null\n };\n\n private searchKeyword = '';\n private showActiveOnly = true;\n private showAddEditModal = false;\n private showAuditTrailModal = false;\n private loadingContent = false;\n private errorLoadingContent = false;\n\n\n private bankList: BankView[] = [];\n\n created(): void {\n this.loadBankList();\n }\n\n mounted() {\n this.eventCtrl.on('reload-banks', this.loadBankList);\n }\n\n beforeUnmount() {\n this.eventCtrl.off('reload-banks', this.loadBankList);\n }\n\n private async loadBankList(): Promise {\n try {\n this.loadingContent = true;\n this.errorLoadingContent = false;\n \n const resp: any =\n await this.apiService.ConfigTrustApi?.apiV2ConfigTrustGetBanksPost({}, false);\n this.bankList = resp.data.data as BankView[];\n this.bankList = orderBy(\n this.bankList,\n [data => data.name.toLowerCase()],\n ['asc']\n );\n } catch (err) {\n this.errorLoadingContent = true;\n console.log(err);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private editBank(bank: BankView): void {\n this.selectedBank = bank;\n this.showAddEditModal = true;\n }\n\n private addBank(): void {\n this.selectedBank = {\n id: 0,\n name: '',\n description: null,\n status: null\n };\n\n this.showAddEditModal = true;\n }\n \n private viewBankAuditTrail(bank: BankView): void {\n this.selectedBank = bank;\n this.showAuditTrailModal = true;\n }\n\n get filteredBankList(): BankView[] {\n let bankListTemp: BankView[] = this.bankList;\n if (this.showActiveOnly) {\n bankListTemp = this.bankList.filter(\n x => x.status.name == 'Active'\n );\n }\n\n if (this.searchKeyword.trim()) {\n bankListTemp = this.bankList.filter(\n x => x.name.toLocaleLowerCase().includes(this.searchKeyword.toLocaleLowerCase())\n );\n }\n\n return bankListTemp;\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n}\n","import { render } from \"./trust-data-banks.html?vue&type=template&id=9450af10&scoped=true&ts=true&external\"\nimport script from \"./trust-data-banks.ts?vue&type=script&lang=ts&external\"\nexport * from \"./trust-data-banks.ts?vue&type=script&lang=ts&external\"\n\nimport \"./trust-data-banks.scss?vue&type=style&index=0&id=9450af10&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-9450af10\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1cffcfd6\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"trust-data-practices\" }\nconst _hoisted_2 = { class: \"section-heading\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Maintain trust data\", -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Practices\", -1))\nconst _hoisted_5 = { class: \"search\" }\nconst _hoisted_6 = { class: \"search-inputs\" }\nconst _hoisted_7 = { class: \"search-bar\" }\nconst _hoisted_8 = { class: \"icon-hm\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"fal fa-spinner fa-spin fa-lg\"\n}\nconst _hoisted_10 = {\n key: 1,\n class: \"fal fa-search fa-lg\"\n}\nconst _hoisted_11 = {\n class: \"bottom-half\",\n style: {\"width\":\"100%\",\"overflow\":\"auto\"}\n}\nconst _hoisted_12 = { class: \"ls-table practice-table\" }\nconst _hoisted_13 = [\"onClick\"]\nconst _hoisted_14 = { class: \"text\" }\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-up\" }, null, -1))\nconst _hoisted_16 = [\n _hoisted_15\n]\nconst _hoisted_17 = { key: 0 }\nconst _hoisted_18 = [\"colspan\"]\nconst _hoisted_19 = { key: 1 }\nconst _hoisted_20 = [\"colspan\"]\nconst _hoisted_21 = { key: 2 }\nconst _hoisted_22 = [\"colspan\"]\nconst _hoisted_23 = [\"title\"]\nconst _hoisted_24 = { \"data-label\": \"Practice - Branch ID\" }\nconst _hoisted_25 = [\"title\"]\nconst _hoisted_26 = { \"data-label\": \"Practice status\" }\nconst _hoisted_27 = { \"data-label\": \"Trust account status\" }\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_router_link = _resolveComponent(\"router-link\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n placeholder: \"Search name\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.search) = $event))\n }, null, 512), [\n [_vModelText, _ctx.search]\n ]),\n _createElementVNode(\"span\", _hoisted_8, [\n (_ctx.isSearching)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_9))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_10))\n ])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"table\", _hoisted_12, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", {\n class: _normalizeClass([ h.sortable ? 'sortable' : '']),\n onClick: $event => (_ctx.sortTableColumn(index, h.sortable))\n }, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(h.text), 1),\n (h.sortable)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([ _ctx.activeSortHeader === index ? 'active' : '', h.sortMethod])\n }, _hoisted_16, 2))\n : _createCommentVNode(\"\", true)\n ])\n ], 10, _hoisted_13))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_17, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_18)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_19, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_20)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.practices.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_21, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, \"No Records\", 8, _hoisted_22)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.practices.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.practices, (p) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", {\n \"data-label\": \"Practice (Trading name)\",\n title: p.branchId == null ? p.name : p.name + ' - ' + p.tradingName\n }, [\n _createVNode(_component_router_link, {\n to: { name: _ctx.RouteN.TA.Practice.n, query: { pId: p.id } },\n class: \"link\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(p.branchId == null ? p.name : p.name + ' - ' + p.tradingName), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ], 8, _hoisted_23),\n _createElementVNode(\"td\", _hoisted_24, _toDisplayString(p.branchId == null ? p.firmId : p.firmId + ' - ' + p.branchId), 1),\n _createElementVNode(\"td\", {\n \"data-label\": \"Branch address\",\n title: p.address\n }, _toDisplayString(p.address ?? ''), 9, _hoisted_25),\n _createElementVNode(\"td\", _hoisted_26, _toDisplayString(p.statusDescription ?? ''), 1),\n _createElementVNode(\"td\", _hoisted_27, _toDisplayString(p.trustAccountStatus?.name ?? ''), 1)\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ]))\n}","\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { FirmSearchRequest, PracticeView } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport debounce from \"lodash/debounce\";\nimport { Inject, Options, Vue, Watch } from \"vue-property-decorator\";\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { RouteN } from \"@/trust-admin-app/constants/router-name\";\nimport { AppInsights } from \"@/trust-admin-app/appInsights\";\nimport store from \"@/trust-admin-app/store\";\nimport { EventEmitter } from \"events\";\n@Options({\n components: {\n LoadingIndicator,\n ErrorIndicator,\n },\n})\nexport default class TrustDataPractices extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n\n private search = '';\n private isSearching = false;\n private srchDebounced: any = null;\n\n private loadingContent = false;\n private errorLoadingContent = false;\n\n\n private tableHeadings = [\n { text: 'Practice (Trading name)', value: 'name', sortMethod: 'asc', sortable: false, activeSort: false },\n { text: 'Practice - Branch ID', value: 'email', sortMehod: 'asc', sortable: false, activeSort: false },\n { text: 'Branch address', value: 'role', sortMethod: 'asc', sortable: false, activeSort: false },\n { text: 'Practice status', value: 'supervisor', sortMethod: 'asc', sortable: false, activeSort: false },\n { text: 'Trust account status', value: 'chargeAmount', sortMethod: 'asc', sortable: false, activeSort: false }\n ];\n\n private practices: PracticeView[] = [];\n\n\n @Watch('search')\n private onKeywordChange(): void {\n setTimeout(this.srchDebounced.cancel, 0);\n setTimeout(this.srchDebounced, 0);\n }\n\n // created(): void {\n // this.searchPractice();\n // }\n\n mounted(): void {\n this.srchDebounced = debounce(() => {\n this.searchPractice();\n }, 1000);\n }\n\n private async searchPractice(): Promise {\n if (this.search.length > 2) {\n const _body: FirmSearchRequest = {\n keyword: this.search,\n // take: 100,\n }\n try {\n this.isSearching = true;\n this.loadingContent = true;\n const resp: any = await this.apiService.PracticeApi?.apiV2PracticeSearchPracticePost(_body);\n this.practices = resp.data.data as PracticeView[];\n } catch (err: any) {\n this.errorLoadingContent = true;\n this.ai.trackException('Error getting Practices data: ' + JSON.stringify(err));\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting Practices data: ' + (err.response ? err.response.status.toString() : ''));\n } finally {\n this.isSearching = false;\n this.loadingContent = false;\n }\n }\n\n }\n\n get RouteN(): typeof RouteN {\n return RouteN;\n }\n\n}\n\n","import { render } from \"./trust-data-practices.html?vue&type=template&id=1cffcfd6&scoped=true&ts=true&external\"\nimport script from \"./trust-data-practices.ts?vue&type=script&lang=ts&external\"\nexport * from \"./trust-data-practices.ts?vue&type=script&lang=ts&external\"\n\nimport \"./trust-data-practices.scss?vue&type=style&index=0&id=1cffcfd6&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1cffcfd6\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, vModelCheckbox as _vModelCheckbox, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0b2debaa\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"maintain-investigation-types\" }\nconst _hoisted_2 = { class: \"section-heading\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Maintain trust data\", -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Investigation types\", -1))\nconst _hoisted_5 = { class: \"search\" }\nconst _hoisted_6 = { class: \"search-inputs\" }\nconst _hoisted_7 = { class: \"search-bar\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-hm\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-search fa-lg\" })\n], -1))\nconst _hoisted_9 = { class: \"checkbox-button\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Show active only\")\n], -1))\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"space-filler\",\n style: {\"flex-grow\":\"1\"}\n}, null, -1))\nconst _hoisted_12 = { class: \"investigation-types\" }\nconst _hoisted_13 = { class: \"ls-table\" }\nconst _hoisted_14 = { key: 0 }\nconst _hoisted_15 = [\"colspan\"]\nconst _hoisted_16 = { key: 1 }\nconst _hoisted_17 = [\"colspan\"]\nconst _hoisted_18 = { key: 2 }\nconst _hoisted_19 = [\"colspan\"]\nconst _hoisted_20 = { \"data-label\": \"Name\" }\nconst _hoisted_21 = { \"data-label\": \"Expected duration\" }\nconst _hoisted_22 = { \"data-label\": \"Investigation Categoty\" }\nconst _hoisted_23 = { \"data-label\": \"Status\" }\nconst _hoisted_24 = { \"data-label\": \"Actions\" }\nconst _hoisted_25 = [\"onClick\"]\nconst _hoisted_26 = [\"onClick\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_AddEditModal = _resolveComponent(\"AddEditModal\")\n const _component_AuditTrail = _resolveComponent(\"AuditTrail\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.searchKeyword) = $event)),\n placeholder: \"Search investigation type names\"\n }, null, 512), [\n [_vModelText, _ctx.searchKeyword]\n ]),\n _hoisted_8\n ]),\n _createElementVNode(\"label\", _hoisted_9, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.showActiveOnly) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.showActiveOnly]\n ]),\n _hoisted_10\n ]),\n _hoisted_11,\n _createElementVNode(\"button\", {\n class: \"btn btn-primary mr-2\",\n onClick: _cache[2] || (_cache[2] = (...args) => (_ctx.openAdd && _ctx.openAdd(...args)))\n }, \" Add new investigation type \")\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"table\", _hoisted_13, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", null, [\n _createElementVNode(\"div\", null, _toDisplayString(h.text), 1)\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_14, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_15)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_16, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_17)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.investigationTypesTable.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_18, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, \"No Records\", 8, _hoisted_19)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.investigationTypesTable.length > 0)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 3 }, [], 64))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.investigationTypesTable, (t) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_20, _toDisplayString(t.name), 1),\n _createElementVNode(\"td\", _hoisted_21, _toDisplayString(t.expectedDuration) + \" days\", 1),\n _createElementVNode(\"td\", _hoisted_22, _toDisplayString(t.defaultInvestigationCategory.name), 1),\n _createElementVNode(\"td\", _hoisted_23, _toDisplayString(t.status.name), 1),\n _createElementVNode(\"td\", _hoisted_24, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml mr-2\",\n onClick: $event => (_ctx.openEdit(t))\n }, \" Edit \", 8, _hoisted_25),\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml\",\n onClick: $event => (_ctx.openAuditTrail(t.name, t.id))\n }, \" Audit Trail \", 8, _hoisted_26)\n ])\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary sml mt-2\",\n onClick: _cache[3] || (_cache[3] = (...args) => (_ctx.openAdd && _ctx.openAdd(...args)))\n }, \" Add new investigation type \")\n ]),\n (_ctx.showAddEditModal)\n ? (_openBlock(), _createBlock(_component_AddEditModal, {\n key: 0,\n onCloseModal: _cache[4] || (_cache[4] = $event => (_ctx.showAddEditModal = false)),\n chosenInvestigationType: _ctx.chosenInvestigationType,\n onUpdateData: _ctx.getInvestigationTypes\n }, null, 8, [\"chosenInvestigationType\", \"onUpdateData\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showAuditTrailModal)\n ? (_openBlock(), _createBlock(_component_AuditTrail, {\n key: 1,\n onCloseAuditTrailModal: _cache[5] || (_cache[5] = $event => {_ctx.showAuditTrailModal = false;}),\n investigationId: _ctx.chosenInvestigationId,\n investigationName: _ctx.chosenInvestigationName\n }, null, 8, [\"investigationId\", \"investigationName\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, vModelText as _vModelText, withDirectives as _withDirectives, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, vModelSelect as _vModelSelect, vModelRadio as _vModelRadio, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-17e1379d\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"add-edit-investigation-modal\" }\nconst _hoisted_2 = { class: \"heading-text\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"line1\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"line1\"\n}\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"line2\" }, \"Investigation types\", -1))\nconst _hoisted_6 = {\n key: 0,\n class: \"body-main has-indicator\"\n}\nconst _hoisted_7 = {\n key: 1,\n class: \"body-main has-indicator\"\n}\nconst _hoisted_8 = {\n key: 2,\n class: \"modal-body\"\n}\nconst _hoisted_9 = { class: \"ls-form\" }\nconst _hoisted_10 = { class: \"body-line-1\" }\nconst _hoisted_11 = { class: \"input-box-1\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Name of investigation type *\", -1))\nconst _hoisted_13 = [\"disabled\"]\nconst _hoisted_14 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_16 = { class: \"input-box-2\" }\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Expected duration (in days) *\", -1))\nconst _hoisted_18 = [\"disabled\"]\nconst _hoisted_19 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_21 = { class: \"body-line-2\" }\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Investigation category\", -1))\nconst _hoisted_23 = { class: \"input-box\" }\nconst _hoisted_24 = { class: \"select mb-4\" }\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", {\n disabled: \"\",\n value: \"0\"\n}, \"- Please select -\", -1))\nconst _hoisted_26 = [\"value\"]\nconst _hoisted_27 = { class: \"radio-buttons\" }\nconst _hoisted_28 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Status\", -1))\nconst _hoisted_29 = { style: {\"display\":\"flex\"} }\nconst _hoisted_30 = { style: {\"float\":\"left\"} }\nconst _hoisted_31 = { class: \"radio\" }\nconst _hoisted_32 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"Active\")\n], -1))\nconst _hoisted_33 = {\n class: \"ml-4\",\n style: {\"float\":\"left\"}\n}\nconst _hoisted_34 = { class: \"radio\" }\nconst _hoisted_35 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"Inactive\")\n], -1))\nconst _hoisted_36 = { class: \"row mt-4 ml-1\" }\nconst _hoisted_37 = [\"disabled\"]\nconst _hoisted_38 = [\"disabled\"]\nconst _hoisted_39 = [\"disabled\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n show: _ctx.show,\n \"onUpdate:show\": _cache[13] || (_cache[13] = $event => ((_ctx.show) = $event)),\n onClose: _cache[14] || (_cache[14] = $event => (_ctx.cancelClicked())),\n mostScreen: true\n }, {\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.isEdit)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_3, \"Edit \" + _toDisplayString(_ctx.formData.name), 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_4, \"Add new investigation type\")),\n _hoisted_5\n ])\n ]),\n body: _withCtx(() => [\n (_ctx.isLoadingData)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(_component_LoadingIndicator)\n ]))\n : (_ctx.errorLoadingData)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createVNode(_component_ErrorIndicator)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"form\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"fieldset\", _hoisted_11, [\n _hoisted_12,\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.formData.name) = $event)),\n disabled: _ctx.isLoadingData,\n onInput: _cache[1] || (_cache[1] = $event => (_ctx.mandatoryCheck())),\n maxlength: \"200\"\n }, null, 40, _hoisted_13), [\n [_vModelText, _ctx.formData.name]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [ _ctx.formData.name.length === 200 ? 'full' : '']])\n }, _toDisplayString(_ctx.formData.name.length) + \"/200 characters \", 3),\n (_ctx.formData.name === '')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _hoisted_15,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"fieldset\", _hoisted_16, [\n _hoisted_17,\n _withDirectives(_createElementVNode(\"input\", {\n type: \"number\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.formData.expectedDuration) = $event)),\n disabled: _ctx.isLoadingData,\n maxlength: \"199\",\n onInput: _cache[3] || (_cache[3] = $event => (_ctx.mandatoryCheck()))\n }, null, 40, _hoisted_18), [\n [_vModelText, _ctx.formData.expectedDuration]\n ]),\n (_ctx.formData.expectedDuration < 0.25)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_19, [\n _hoisted_20,\n _createTextVNode(\" Number must be 0.25 or more \")\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"fieldset\", null, [\n _hoisted_22,\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"div\", _hoisted_24, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.formData.defaultInvestigationCategory.id) = $event)),\n onChange: _cache[5] || (_cache[5] = $event => (_ctx.mandatoryCheck()))\n }, [\n _hoisted_25,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.investigationCategory, (iC) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: iC.id\n }, _toDisplayString(iC.name), 9, _hoisted_26))\n }), 256))\n ], 544), [\n [_vModelSelect, _ctx.formData.defaultInvestigationCategory.id]\n ])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"fieldset\", _hoisted_27, [\n _hoisted_28,\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"div\", _hoisted_30, [\n _createElementVNode(\"label\", _hoisted_31, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => ((_ctx.formData.status.id) = $event)),\n name: \"active\",\n value: 1,\n onChange: _cache[7] || (_cache[7] = $event => (_ctx.mandatoryCheck()))\n }, null, 544), [\n [_vModelRadio, _ctx.formData.status.id]\n ]),\n _hoisted_32\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_33, [\n _createElementVNode(\"label\", _hoisted_34, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => ((_ctx.formData.status.id) = $event)),\n name: \"active\",\n value: 2,\n onChange: _cache[9] || (_cache[9] = $event => (_ctx.mandatoryCheck()))\n }, null, 544), [\n [_vModelRadio, _ctx.formData.status.id]\n ]),\n _hoisted_35\n ])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_36, [\n _createElementVNode(\"button\", {\n class: \"btn\",\n onClick: _cache[10] || (_cache[10] = $event => (_ctx.cancelClicked())),\n disabled: _ctx.isLoadingData\n }, \" Back \", 8, _hoisted_37),\n (_ctx.isEdit)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn btn-primary ml-2\",\n disabled: !_ctx.canSubmit || _ctx.isLoadingData,\n onClick: _cache[11] || (_cache[11] = $event => (_ctx.submit()))\n }, \" Save changes \", 8, _hoisted_38))\n : (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-primary ml-2\",\n disabled: !_ctx.canSubmit || _ctx.isLoadingData,\n onClick: _cache[12] || (_cache[12] = $event => (_ctx.submit()))\n }, \" Add \", 8, _hoisted_39)),\n (_ctx.submitting)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 2,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n ]),\n _: 1\n }, 8, [\"show\"])\n ]))\n}","import { Options, Prop, Vue } from \"vue-property-decorator\";\n\n\n@Options({})\nexport default class ErrorIndicator extends Vue {\n\n @Prop({default: true})\n public showErrorText!: boolean;\n\n @Prop({default: 'Error'})\n public errorText!: string;\n}\n","import { Inject, Options, Vue } from \"vue-property-decorator\";\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport ModalBox from \"@/shared/components/modal-box/index.vue\";\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport store from '@/trust-admin-app/store';\nimport { EventEmitter } from \"events\";\nimport { AppInsights } from '@/trust-admin-app/appInsights';\nimport { InvestigationCategory, InvestigationTypeView } from '@/shared/modules/typescript-trustapi-client/models';\nimport ErrorIndicator from '@/shared/components/error-indicator/error-indicator';\n\n@Options({\n props: {\n chosenInvestigationType: {},\n },\n components: {\n ModalBox,\n LoadingIndicator,\n ErrorIndicator\n }\n})\nexport default class AddEditModal extends Vue {\n private chosenInvestigationType!: InvestigationTypeView;\n\n private ai = new AppInsights;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Inject({ from: 'investigationCategory', default: [] })\n private investigationCategory!: InvestigationCategory[];\n\n private formData: InvestigationTypeView = {};\n\n showAddEditModal!: boolean;\n\n private show = false;\n private isLoadingData = true;\n private errorLoadingData = false;\n private canSubmit = false;\n private submitting = false;\n private isEdit = false;\n\n mounted(): void {\n this.show = this.showAddEditModal;\n this.isEdit = this.chosenInvestigationType?.id > 0;\n this.init();\n }\n\n private init(): void {\n try {\n this.isLoadingData = true;\n this.errorLoadingData = false;\n this.formData = JSON.parse(JSON.stringify(this.chosenInvestigationType));\n } catch (error) {\n this.errorLoadingData = true;\n } finally {\n this.isLoadingData = false;\n }\n }\n\n private cancelClicked() {\n this.closeModal();\n }\n\n private closeModal() {\n this.$emit('closeModal');\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private async submit() {\n this.isLoadingData = true;\n this.submitting = true;\n const investigationTypeRequest = {\n id: this.formData.id,\n defaultInvestigationCategoryId: this.formData.defaultInvestigationCategory.id,\n name: this.formData.name,\n expectedDuration: this.formData.expectedDuration,\n statusId: this.formData.status.id\n }\n await this.apiService.ConfigTrustApi?.apiV2ConfigTrustSaveInvestigationTypePost(investigationTypeRequest)\n .then(res => {\n if (this.isEdit) {\n this.eventCtrl.emit('show-snackbar', 'success', 'Updated Successfully');\n } else {\n this.eventCtrl.emit('show-snackbar', 'success', 'Added Successfully');\n }\n this.$emit(\"updateData\");\n this.isLoadingData = false;\n this.submitting = false;\n this.closeModal();\n })\n .catch(error => {\n this.isLoadingData = false;\n this.submitting = false;\n this.eventCtrl.emit('show-snackbar', 'error', error);\n this.ai.trackException('Error getting investigation type: ' + error);\n });\n }\n\n private mandatoryCheck() {\n if (this.formData.name !== '' && this.formData.expectedDuration > 0) {\n this.canSubmit = true;\n } else {\n this.canSubmit = false;\n }\n }\n}\n\n","import { render } from \"./add-edit-modal.html?vue&type=template&id=17e1379d&scoped=true&ts=true&external\"\nimport script from \"./add-edit-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./add-edit-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./add-edit-modal.scss?vue&type=style&index=0&id=17e1379d&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-17e1379d\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-769fa3a2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"investigation-type-audit-trail-modal\" }\n\nexport function render(_ctx, _cache) {\n const _component_AuditTrailModal = _resolveComponent(\"AuditTrailModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_AuditTrailModal, {\n applicationName: _ctx.investigationName,\n applicationTypeName: 'Investigation types',\n auditTrailData: _ctx.auditTrail,\n loadingContent: _ctx.loadingContent,\n errorLoadingContent: _ctx.errorLoadingContent,\n onCloseAuditTrailModal: _cache[0] || (_cache[0] = $event => (_ctx.closeModal()))\n }, null, 8, [\"applicationName\", \"auditTrailData\", \"loadingContent\", \"errorLoadingContent\"])\n ]))\n}","import { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { Inject, Options, Prop, Vue } from \"vue-property-decorator\";\nimport { AuditTrailView } from '@/shared/modules/typescript-trustapi-client/models';\nimport AuditTrailModal from '../../audit-trail-modal/index.vue';\nimport { AppInsights } from \"@/trust-admin-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-admin-app/store\";\nimport { orderBy } from \"lodash\";\n\n@Options({\n components: {\n AuditTrailModal\n }\n})\nexport default class AuditTrail extends Vue {\n private ai = new AppInsights;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop()\n private investigationName! : string;\n \n @Prop()\n private investigationId!: number;\n \n private loadingContent = false;\n private errorLoadingContent = false;\n\n private auditTrail: AuditTrailView[] = [];\n\n created(): void {\n this.loadAuditTrail(this.investigationId);\n }\n\n private closeModal(): void {\n this.$emit('closeAuditTrailModal');\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private async loadAuditTrail(inspectionId: number): Promise {\n try {\n this.errorLoadingContent = false;\n this.loadingContent = true;\n const resp: any =\n await this.apiService.ConfigTrustApi?.apiV2ConfigTrustGetInvestigationTypeAuditTrailsInvestigationTypeIdGet(inspectionId)\n this.auditTrail = resp.data.data as AuditTrailView[];\n this.auditTrail = orderBy(\n this.auditTrail,\n ['date'],\n ['desc']\n );\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', err);\n this.ai.trackException('Error getting investigation type audit trail: ' + err);\n } finally {\n this.loadingContent = false;\n }\n }\n\n}\n\n","import { render } from \"./audit-trail.html?vue&type=template&id=769fa3a2&scoped=true&ts=true&external\"\nimport script from \"./audit-trail.ts?vue&type=script&lang=ts&external\"\nexport * from \"./audit-trail.ts?vue&type=script&lang=ts&external\"\n\nimport \"./audit-trail.scss?vue&type=style&index=0&id=769fa3a2&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-769fa3a2\"]])\n\nexport default __exports__","import { Options, Vue } from 'vue-class-component';\nimport { Inject, Watch } from 'vue-property-decorator';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport NavigationBar from '@/shared/components/navigation-bar/index.vue';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport AddEditModal from './add-edit-modal/index.vue';\nimport AuditTrail from './audit-trail/index.vue';\nimport { InvestigationTypeView, InvestigationCategory } from '@/shared/modules/typescript-trustapi-client/models';\nimport { AppInsights } from '@/trust-admin-app/appInsights';\nimport store from '@/trust-admin-app/store';\nimport { EventEmitter } from 'events';\n\n\n// Vue.registerHooks(['beforeRouteEnter']);\n@Options({\n components: {\n NavigationBar,\n AddEditModal,\n AuditTrail,\n LoadingIndicator,\n ErrorIndicator\n }\n})\nexport default class TrustDataInvestigationTypes extends Vue {\n private ai = new AppInsights;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private showActiveOnly = true;\n private showAddEditModal = false;\n private showAuditTrailModal = false;\n private loadingContent = true;\n private errorLoadingContent = false;\n private clickedEdit = false;\n private chosenInvestigationId = 0;\n private chosenInvestigationName = '';\n private searchKeyword = '';\n\n private investigationTypes: InvestigationTypeView[] = [];\n private investigationTypesTable: InvestigationTypeView[] = [];\n\n private chosenInvestigationType: InvestigationTypeView = {};\n\n private tableHeadings = [\n { text: 'Name', value: 'name', sortable: false },\n { text: 'Expected duration', value: 'expectedDuration', sortable: false },\n { text: 'Investigation Category', value: 'investigationCategory', sortable: false },\n { text: 'Status', value: 'status', sortable: false },\n { text: 'Actions', value: 'actions', sortable: false },\n ]\n\n mounted() {\n this.getInvestigationTypes();\n }\n\n @Watch('showActiveOnly')\n onShowActiveChanged() {\n this.getInvestigationTypes();\n }\n\n @Watch('searchKeyword')\n onSearchChanged() {\n this.investigationTypesTable = this.investigationTypes.filter(x => {\n return x.name.toLocaleLowerCase().includes(this.searchKeyword.toLocaleLowerCase())\n })\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n\n private getInvestigationTypes(): void {\n this.apiService.ConfigTrustApi?.apiV2ConfigTrustGetInvestigationTypesPost({}, false)\n .then(res => {\n this.loadingContent = false;\n this.errorLoadingContent = false;\n this.investigationTypes = res.data.data;\n\n if (this.showActiveOnly) {\n this.investigationTypesTable = this.investigationTypes.filter(x => {\n return x.status.name === \"Active\";\n })\n } else {\n this.investigationTypesTable = this.investigationTypes;\n }\n })\n .catch(error => {\n this.loadingContent = false;\n this.errorLoadingContent = true\n this.eventCtrl.emit('show-snackbar', 'error', error);\n this.ai.trackException('Error getting investigation types: ' + error);\n });\n }\n\n private openAdd(): void {\n this.clickedEdit = false;\n this.chosenInvestigationType = {\n name: '',\n expectedDuration: 0,\n status: { id: 1 },\n defaultInvestigationCategory: { id: 1 }\n }\n this.showAddEditModal = true;\n }\n\n private openEdit(t: InvestigationTypeView): void {\n this.chosenInvestigationType.status = {};\n this.clickedEdit = true;\n this.chosenInvestigationType = { ...t };\n this.showAddEditModal = true;\n }\n\n private openAuditTrail(investigationName: string, investigationId: number): void {\n this.chosenInvestigationName = investigationName;\n this.chosenInvestigationId = investigationId;\n this.showAuditTrailModal = true;\n }\n}","import { render } from \"./trust-data-investigation-types.html?vue&type=template&id=0b2debaa&scoped=true&ts=true&external\"\nimport script from \"./trust-data-investigation-types.ts?vue&type=script&lang=ts&external\"\nexport * from \"./trust-data-investigation-types.ts?vue&type=script&lang=ts&external\"\n\nimport \"./trust-data-investigation-types.scss?vue&type=style&index=0&id=0b2debaa&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0b2debaa\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, vModelSelect as _vModelSelect, withDirectives as _withDirectives, vShow as _vShow, normalizeClass as _normalizeClass, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-20134d2e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"reporting-main\" }\nconst _hoisted_2 = { class: \"section-heading\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Timesheet Approval\", -1))\nconst _hoisted_4 = { style: {\"display\":\"flex\",\"justify-content\":\"space-between\"} }\nconst _hoisted_5 = {\n key: 0,\n class: \"fal fa-angle-up\"\n}\nconst _hoisted_6 = {\n key: 1,\n class: \"fal fa-angle-down\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", { class: \"seperator\" }, null, -1))\nconst _hoisted_8 = { class: \"filter\" }\nconst _hoisted_9 = { class: \"form-col\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Practice name\", -1))\nconst _hoisted_11 = { class: \"sml-select\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: null }, \"All\", -1))\nconst _hoisted_13 = [\"value\"]\nconst _hoisted_14 = { class: \"form-col\" }\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Activity type\", -1))\nconst _hoisted_16 = { class: \"sml-select\" }\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: null }, \"All\", -1))\nconst _hoisted_18 = [\"value\"]\nconst _hoisted_19 = { class: \"form-col\" }\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Investigator\", -1))\nconst _hoisted_21 = { class: \"sml-select\" }\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: null }, \"All\", -1))\nconst _hoisted_23 = [\"value\"]\nconst _hoisted_24 = { class: \"form-col\" }\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Supervisor\", -1))\nconst _hoisted_26 = { class: \"sml-select\" }\nconst _hoisted_27 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: null }, \"All\", -1))\nconst _hoisted_28 = [\"value\"]\nconst _hoisted_29 = { class: \"form-col\" }\nconst _hoisted_30 = {\n key: 0,\n class: \"reset-filter\"\n}\nconst _hoisted_31 = {\n class: \"bottom-half\",\n style: {\"width\":\"100%\",\"overflow\":\"auto\"}\n}\nconst _hoisted_32 = { class: \"approval-list-items\" }\nconst _hoisted_33 = { class: \"approval-list-heading\" }\nconst _hoisted_34 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Investigator stats\", -1))\nconst _hoisted_35 = {\n key: 0,\n class: \"fal fa-exclamation-triangle fa-lg mr-2\"\n}\nconst _hoisted_36 = { key: 1 }\nconst _hoisted_37 = { key: 2 }\nconst _hoisted_38 = { class: \"hide-button\" }\nconst _hoisted_39 = {\n key: 0,\n class: \"fal fa-angle-up\"\n}\nconst _hoisted_40 = {\n key: 1,\n class: \"fal fa-angle-down\"\n}\nconst _hoisted_41 = { class: \"timesheet-approval-table\" }\nconst _hoisted_42 = { class: \"ls-table\" }\nconst _hoisted_43 = { \"data-label\": \"Investigator\" }\nconst _hoisted_44 = { \"data-label\": \"Complete time\" }\nconst _hoisted_45 = { \"data-label\": \"Missing time\" }\nconst _hoisted_46 = {\n key: 0,\n class: \"ml-2 warning fal fa-exclamation-triangle fa-lg\"\n}\nconst _hoisted_47 = { \"data-label\": \"Annual/Personal Leave\" }\nconst _hoisted_48 = { \"data-label\": \"Public holidays\" }\nconst _hoisted_49 = {\n class: \"actions\",\n \"data-label\": \"Actions\"\n}\nconst _hoisted_50 = { class: \"approved mr-2\" }\nconst _hoisted_51 = {\n key: 0,\n class: \"approved-label\"\n}\nconst _hoisted_52 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Approved\", -1))\nconst _hoisted_53 = [\n _hoisted_52\n]\nconst _hoisted_54 = {\n key: 1,\n class: \"resolve-label\"\n}\nconst _hoisted_55 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Resolve underclaimed hours\", -1))\nconst _hoisted_56 = [\n _hoisted_55\n]\nconst _hoisted_57 = {\n key: 2,\n class: \"approve-button\"\n}\nconst _hoisted_58 = [\"onClick\"]\nconst _hoisted_59 = [\"onClick\"]\nconst _hoisted_60 = { class: \"timesheet-table mt-2\" }\nconst _hoisted_61 = { class: \"ls-table\" }\nconst _hoisted_62 = { key: 0 }\nconst _hoisted_63 = [\"colspan\"]\nconst _hoisted_64 = { key: 1 }\nconst _hoisted_65 = [\"colspan\"]\nconst _hoisted_66 = { key: 2 }\nconst _hoisted_67 = [\"colspan\"]\nconst _hoisted_68 = { \"data-label\": \"Date\" }\nconst _hoisted_69 = { \"data-label\": \"Investigator\" }\nconst _hoisted_70 = { \"data-label\": \"Name\" }\nconst _hoisted_71 = { \"data-label\": \"Details\" }\nconst _hoisted_72 = { \"data-label\": \"Practice name\" }\nconst _hoisted_73 = { \"data-label\": \"Reference\" }\nconst _hoisted_74 = { \"data-label\": \"Break\" }\nconst _hoisted_75 = { \"data-label\": \"Work hours\" }\nconst _hoisted_76 = { \"data-label\": \"Actions\" }\nconst _hoisted_77 = [\"disabled\", \"onClick\"]\n\nexport function render(_ctx, _cache) {\n const _component_DateController = _resolveComponent(\"DateController\")\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_router_link = _resolveComponent(\"router-link\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_component_DateController, {\n style: {\"min-width\":\"550px\"},\n onGetTimePeriod: _ctx.getTimePeriod,\n onPrev: _ctx.prev,\n onNext: _ctx.next,\n onToday: _ctx.today,\n onUpdate: _ctx.updateDisplay\n }, null, 8, [\"onGetTimePeriod\", \"onPrev\", \"onNext\", \"onToday\", \"onUpdate\"]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default mr-2\",\n onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.showHideAdvFilter && _ctx.showHideAdvFilter(...args)))\n }, [\n _createElementVNode(\"span\", null, [\n _createTextVNode(\"Advanced Filter \"),\n (_ctx.showAdvFilter)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_5))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_6))\n ])\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary mr-2\",\n onClick: _cache[1] || (_cache[1] = $event => (_ctx.addEntry()))\n }, \"Add time\")\n ])\n ]),\n (_ctx.showAdvFilter)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_7,\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _hoisted_10,\n _createElementVNode(\"div\", _hoisted_11, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.filters.practiceName) = $event))\n }, [\n _hoisted_12,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.practices, (p, idx) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: p.firmName\n }, _toDisplayString(p.firmName), 9, _hoisted_13))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.filters.practiceName]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _hoisted_15,\n _createElementVNode(\"div\", _hoisted_16, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => ((_ctx.filters.timeEntryActivityId) = $event))\n }, [\n _hoisted_17,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.timeEntryActivity, (i) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: i.id\n }, _toDisplayString(i.name), 9, _hoisted_18))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.filters.timeEntryActivityId]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _hoisted_20,\n _createElementVNode(\"div\", _hoisted_21, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.filters.trustTeamMemberId) = $event))\n }, [\n _hoisted_22,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.investigators, (i) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: i.id\n }, _toDisplayString(i.displayName), 9, _hoisted_23))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.filters.trustTeamMemberId]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_24, [\n _hoisted_25,\n _createElementVNode(\"div\", _hoisted_26, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => ((_ctx.filters.supervisorId) = $event))\n }, [\n _hoisted_27,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.supervisors, (i) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: i.id\n }, _toDisplayString(i.displayName), 9, _hoisted_28))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.filters.supervisorId]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: _cache[6] || (_cache[6] = $event => (_ctx.applyFilter()))\n }, \" Apply filter \")\n ])\n ]),\n (_ctx.filterApplied)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_30, [\n _createTextVNode(\" Or \"),\n _createElementVNode(\"a\", {\n class: \"link2\",\n onClick: _cache[7] || (_cache[7] = $event => {_ctx.resetFilter();})\n }, \"reset all\")\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_31, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"approval-list\", _ctx.investigatorsWithUnderclaimedHours === 0 ? 'timesheet-approved' : 'timesheet-not-approved'])\n }, [\n _createElementVNode(\"div\", _hoisted_32, [\n _createElementVNode(\"div\", _hoisted_33, [\n _hoisted_34,\n _createElementVNode(\"span\", null, [\n (_ctx.investigatorsWithUnderclaimedHours !== 0)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_35))\n : _createCommentVNode(\"\", true),\n (_ctx.investigatorsWithUnderclaimedHours === 0)\n ? (_openBlock(), _createElementBlock(\"h4\", _hoisted_36, \"No underclaimed hours, no leave upcoming\"))\n : (_openBlock(), _createElementBlock(\"h4\", _hoisted_37, _toDisplayString(_ctx.investigatorsWithUnderclaimedHours) + \" Investigators with underclaimed hours\", 1))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_38, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml mr-2\",\n onClick: _cache[8] || (_cache[8] = (...args) => (_ctx.showHideTSApproval && _ctx.showHideTSApproval(...args)))\n }, [\n _createElementVNode(\"span\", null, [\n _createTextVNode(_toDisplayString(_ctx.showTimesheetApproval ? 'Hide' : 'Show'), 1),\n (_ctx.showTimesheetApproval)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_39))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_40))\n ])\n ])\n ])\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_41, [\n _createElementVNode(\"table\", _hoisted_42, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.timesheetApprovalHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", null, [\n _createElementVNode(\"p\", null, _toDisplayString(h.text), 1)\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.filteredTimesheetApprovals, (t) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_43, _toDisplayString(t.trustTeamMember.displayName), 1),\n _createElementVNode(\"td\", _hoisted_44, _toDisplayString(_ctx.$calculateHours(t.completeTime)), 1),\n _createElementVNode(\"td\", _hoisted_45, [\n _createTextVNode(_toDisplayString(_ctx.$calculateHours(t.missingTime)) + \" \", 1),\n (!t.missingTime/60 === 0)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_46))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"td\", _hoisted_47, _toDisplayString(_ctx.$calculateHours(t.annualLeaveTime + t.personalLeaveTime)), 1),\n _createElementVNode(\"td\", _hoisted_48, _toDisplayString(_ctx.$calculateHours(t.publicHolidayTime)), 1),\n _createElementVNode(\"td\", _hoisted_49, [\n _createElementVNode(\"div\", _hoisted_50, [\n (t.timesheetStatus.id === 3)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_51, _hoisted_53))\n : _createCommentVNode(\"\", true),\n (t.timesheetStatus.id === 1)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_54, _hoisted_56))\n : _createCommentVNode(\"\", true),\n (t.timesheetStatus.id === 2)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_57, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml ma-1\",\n onClick: $event => (_ctx.approveTimeEntries(t.trustTeamMember))\n }, \"Approve\", 8, _hoisted_58)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml ma-1\",\n onClick: $event => (_ctx.viewInvestigator(t.trustTeamMember))\n }, \"View\", 8, _hoisted_59)\n ])\n ]))\n }), 256))\n ])\n ])\n ], 512), [\n [_vShow, _ctx.showTimesheetApproval]\n ])\n ], 2),\n _createElementVNode(\"div\", _hoisted_60, [\n _createElementVNode(\"table\", _hoisted_61, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.timesheetEntryHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", null, [\n _createElementVNode(\"p\", null, _toDisplayString(h.text), 1)\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingTimeEntries)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_62, [\n _createElementVNode(\"td\", {\n colspan: _ctx.timesheetEntryHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_63)\n ]))\n : (_ctx.errorLoadingTimeEntries)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_64, [\n _createElementVNode(\"td\", {\n colspan: _ctx.timesheetEntryHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_65)\n ]))\n : (!_ctx.loadingTimeEntries && !_ctx.errorLoadingTimeEntries && _ctx.filterTimeSheetEntries.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_66, [\n _createElementVNode(\"td\", {\n colspan: _ctx.filterTimeSheetEntries.length\n }, \"No Records\", 8, _hoisted_67)\n ]))\n : (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.filterTimeSheetEntries, (t) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_68, _toDisplayString(_ctx.$formatDateTimeTypeA(t.startDateTime)) + \" - \" + _toDisplayString(_ctx.$formatDateTimeTypeA(t.endDateTime)), 1),\n _createElementVNode(\"td\", _hoisted_69, [\n _createVNode(_component_router_link, {\n to: {name: _ctx.RouteN.TA.InvestigatorDashboard.n, query: { memberId: t.trustTeamMember.id } },\n class: \"link\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(t.trustTeamMember.displayName), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ]),\n _createElementVNode(\"td\", _hoisted_70, _toDisplayString(_ctx.$getTimeEntryTypeName(t.timeEntryType.id, _ctx.timeEntryType)), 1),\n _createElementVNode(\"td\", _hoisted_71, _toDisplayString(_ctx.$getDetails(t)), 1),\n _createElementVNode(\"td\", _hoisted_72, _toDisplayString(_ctx.$getFirmName(t)), 1),\n _createElementVNode(\"td\", _hoisted_73, _toDisplayString(_ctx.$getReference(t)), 1),\n _createElementVNode(\"td\", _hoisted_74, _toDisplayString(_ctx.$getBreakHours(t)), 1),\n _createElementVNode(\"td\", _hoisted_75, _toDisplayString(_ctx.$getWorkHours(t)), 1),\n _createElementVNode(\"td\", _hoisted_76, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml ma-1\",\n disabled: _ctx.$getFirmName(t) == null,\n onClick: $event => (_ctx.editTimesheet(t))\n }, \"Edit\", 8, _hoisted_77)\n ])\n ]))\n }), 256))\n ])\n ])\n ])\n ])\n ]))\n}","import { TimeEntryType, TimeEntryView } from \"../modules/typescript-trustapi-client/models\";\nimport moment from 'moment';\n\ndeclare module '@vue/runtime-core' {\n export interface ComponentCustomProperties {\n $getTimeEntryTypeName: (timeEntryTypeId: number, timeEntryType: TimeEntryType[]) => string,\n $getDetails: (timeEntry: TimeEntryView) => string,\n $getFirmName: (timeEntry: TimeEntryView) => string,\n $getReference: (timeEntry: TimeEntryView) => string,\n $getWorkHours: (timeEntry: TimeEntryView) => string,\n $getBreakHours: (timeEntry: TimeEntryView) => string,\n $calculateHours: (minutes: number) => string,\n $calculateHoursMins: (minutes: number) => string,\n }\n}\n\nexport default {\n methods: {\n $getTimeEntryTypeName(timeEntryTypeId: number, timeEntryType: TimeEntryType[]): string {\n const singleTimeEntryType = timeEntryType.find(x => x.id === timeEntryTypeId)\n if (!singleTimeEntryType) {\n return \"\"\n }\n return singleTimeEntryType.name\n },\n $getDetails(timeEntry: TimeEntryView): string {\n if (timeEntry.timeEntryType.id === 1) {\n return timeEntry.timeEntryActivity.name;\n } else if (timeEntry.timeEntryType.id === 2) {\n return timeEntry.leaveType.name;\n } else {\n return \"\"\n }\n },\n $getFirmName(timeEntry: TimeEntryView): string {\n if (timeEntry.timeEntryType.id === 1 && timeEntry.investigation?.latestPracticeLogData) {\n return timeEntry.investigation?.latestPracticeLogData.firmName;\n } else {\n return \"\"\n }\n },\n $getReference(timeEntry: TimeEntryView): string {\n if (timeEntry.timeEntryType?.id === 1) {\n return timeEntry.investigation?.id;\n } else {\n return \"\"\n }\n },\n $getWorkHours(timeEntry: TimeEntryView): string {\n if (timeEntry.id === 0) {\n return \"\"\n } else if (timeEntry.timeEntryType.id === 1) {\n if (timeEntry.id === 0) {\n return \"\"\n } else if (timeEntry.workHours === 60) {\n return \"1 Hour\"\n } else {\n return this.$calculateHours(timeEntry.workHours);\n }\n\n } else if (timeEntry.timeEntryType.id === 2) {\n if (timeEntry.id === 0) {\n return \"\"\n } else if (timeEntry.leaveDuration === 60) {\n return \"1 Hour\"\n } else {\n return this.$calculateHours(timeEntry.leaveDuration);\n }\n } else {\n return \"\"\n }\n },\n $getBreakHours(timeEntry: TimeEntryView): string {\n if (timeEntry.id === 0) {\n return \"\"\n } else if (timeEntry.timeEntryType.id === 2) {\n return \"00:00\"\n } else {\n if (timeEntry.breakDuration === 60) {\n return \"1 Hour\"\n } else if (timeEntry.breakDuration === 0) {\n return \"00:00\"\n } else {\n return this.$calculateHours(timeEntry.breakDuration);\n }\n }\n },\n $calculateHours(minutes: number): string {\n if (minutes % 60 === 0) {\n if (minutes === 60) {\n return \"1 Hour\"\n } else {\n return minutes / 60 + \" Hours\"\n }\n } else {\n const duration = moment.duration(minutes, 'minutes');\n const hh = (duration.years() * (365 * 24)) + (duration.months() * (30 * 24)) + (duration.days() * 24) + (duration.hours());\n const mm = duration.minutes();\n if (hh === 0) {\n if (mm === 1) {\n return \"1 Minute\"\n }\n return mm + \" Minutes\";\n } else {\n if (hh === 1) {\n return hh + \" Hour \" + mm + \" Minutes \";\n }\n return hh + \" Hours \" + mm + \" Minutes \";\n }\n }\n },\n $calculateHoursMins(minutes: number): string {\n const numOfHrs = Math.floor(minutes / 60);\n const numOfMinsInDec = minutes % 60;\n return [\n (numOfHrs < 10 ? '0'+ numOfHrs : numOfHrs),\n (numOfMinsInDec < 10 ? '0'+ numOfMinsInDec : numOfMinsInDec)\n ].join(':');\n }\n }\n};\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, vModelSelect as _vModelSelect, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"timesheet-header\" }\nconst _hoisted_2 = { class: \"section-heading\" }\nconst _hoisted_3 = { class: \"options\" }\nconst _hoisted_4 = { class: \"select\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"option\", { value: \"1\" }, \"Day\", -1)\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"option\", { value: \"2\" }, \"Week\", -1)\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"option\", { value: \"3\" }, \"Month\", -1)\nconst _hoisted_8 = [\n _hoisted_5,\n _hoisted_6,\n _hoisted_7\n]\nconst _hoisted_9 = { class: \"month-selection\" }\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fal fa-angle-left\",\n title: \"Previous month\"\n}, null, -1)\nconst _hoisted_11 = [\n _hoisted_10\n]\nconst _hoisted_12 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fal fa-angle-right\",\n title: \"Next month\"\n}, null, -1)\nconst _hoisted_13 = [\n _hoisted_12\n]\nconst _hoisted_14 = { class: \"month-label ml-3\" }\nconst _hoisted_15 = { class: \"right-btn\" }\nconst _hoisted_16 = {\n key: 0,\n class: \"fal fa-angle-up\"\n}\nconst _hoisted_17 = {\n key: 1,\n class: \"fal fa-angle-down\"\n}\nconst _hoisted_18 = /*#__PURE__*/_createElementVNode(\"button\", { class: \"btn btn-primary mr-2\" }, \"Export\", -1)\nconst _hoisted_19 = /*#__PURE__*/_createElementVNode(\"hr\", { class: \"seperator\" }, null, -1)\nconst _hoisted_20 = { class: \"filter\" }\nconst _hoisted_21 = { class: \"form-col\" }\nconst _hoisted_22 = /*#__PURE__*/_createElementVNode(\"label\", null, \"Practice name\", -1)\nconst _hoisted_23 = { class: \"sml-select\" }\nconst _hoisted_24 = /*#__PURE__*/_createElementVNode(\"option\", { value: null }, \"All\", -1)\nconst _hoisted_25 = [\"value\"]\nconst _hoisted_26 = { class: \"form-col\" }\nconst _hoisted_27 = /*#__PURE__*/_createElementVNode(\"label\", null, \"Activity type\", -1)\nconst _hoisted_28 = { class: \"sml-select\" }\nconst _hoisted_29 = /*#__PURE__*/_createElementVNode(\"option\", { value: null }, \"All\", -1)\nconst _hoisted_30 = [\"value\"]\nconst _hoisted_31 = { class: \"form-col\" }\nconst _hoisted_32 = /*#__PURE__*/_createElementVNode(\"label\", null, \"Investigator\", -1)\nconst _hoisted_33 = { class: \"sml-select\" }\nconst _hoisted_34 = /*#__PURE__*/_createElementVNode(\"option\", { value: null }, \"All\", -1)\nconst _hoisted_35 = [\"value\"]\nconst _hoisted_36 = { class: \"form-col\" }\nconst _hoisted_37 = /*#__PURE__*/_createElementVNode(\"label\", null, \"Supervisor\", -1)\nconst _hoisted_38 = { class: \"sml-select\" }\nconst _hoisted_39 = /*#__PURE__*/_createElementVNode(\"option\", { value: null }, \"All\", -1)\nconst _hoisted_40 = [\"value\"]\nconst _hoisted_41 = { class: \"form-col\" }\nconst _hoisted_42 = {\n key: 0,\n class: \"reset-filter\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"h2\", null, _toDisplayString(_ctx.headerTitle), 1),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.calendarView) = $event))\n }, _hoisted_8, 512), [\n [_vModelSelect, _ctx.calendarView]\n ])\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-default ml-2 today-btn\",\n onClick: _cache[1] || (_cache[1] = $event => (_ctx.today()))\n }, \" Today \"),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"button\", {\n class: \"btn-no-border\",\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.prev()))\n }, _hoisted_11),\n _createElementVNode(\"button\", {\n class: \"btn-no-border\",\n onClick: _cache[3] || (_cache[3] = $event => (_ctx.next()))\n }, _hoisted_13),\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.currentDateDisplay), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n (_ctx.showAdvFilterButton)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn btn-default mr-2\",\n onClick: _cache[4] || (_cache[4] = (...args) => (_ctx.showHideAdvFilter && _ctx.showHideAdvFilter(...args)))\n }, [\n _createElementVNode(\"span\", null, [\n _createTextVNode(\"Advanced Filter \"),\n (_ctx.showAdvFilter)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_16))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_17))\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_18,\n _createElementVNode(\"button\", {\n class: \"btn btn-primary mr-2\",\n onClick: _cache[5] || (_cache[5] = (...args) => (_ctx.showAddEventModal && _ctx.showAddEventModal(...args)))\n }, \" Add time \")\n ])\n ]),\n (_ctx.showAdvFilter)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_19,\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", _hoisted_21, [\n _hoisted_22,\n _createElementVNode(\"div\", _hoisted_23, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => ((_ctx.advanceFilter.practiceName) = $event))\n }, [\n _hoisted_24,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.practices, (i) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: i.name\n }, _toDisplayString(i.name), 9, _hoisted_25))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.advanceFilter.practiceName]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_26, [\n _hoisted_27,\n _createElementVNode(\"div\", _hoisted_28, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => ((_ctx.advanceFilter.timeEntryActivityId) = $event))\n }, [\n _hoisted_29,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.activityType, (i) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: i.id\n }, _toDisplayString(i.name), 9, _hoisted_30))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.advanceFilter.timeEntryActivityId]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_31, [\n _hoisted_32,\n _createElementVNode(\"div\", _hoisted_33, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => ((_ctx.advanceFilter.trustTeamMemberId) = $event))\n }, [\n _hoisted_34,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.investigators, (i) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: i.id\n }, _toDisplayString(i.displayName), 9, _hoisted_35))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.advanceFilter.trustTeamMemberId]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_36, [\n _hoisted_37,\n _createElementVNode(\"div\", _hoisted_38, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = $event => ((_ctx.advanceFilter.supervisorId) = $event))\n }, [\n _hoisted_39,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.supervisors, (i) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: i.id\n }, _toDisplayString(i.displayName), 9, _hoisted_40))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.advanceFilter.supervisorId]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_41, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: _cache[10] || (_cache[10] = $event => (_ctx.applyFilter()))\n }, \" Apply filter \")\n ])\n ]),\n (_ctx.filterApplied)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_42, [\n _createTextVNode(\" Or \"),\n _createElementVNode(\"a\", {\n class: \"link2\",\n onClick: _cache[11] || (_cache[11] = $event => {_ctx.resetFilter();})\n }, \"reset all\")\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}","import { AdvanceFilter, FirmSearchRequest, PracticeView, TimeEntryActivity, TimeEntryType, TrustTeamMemberView } from '@/shared/modules/typescript-trustapi-client/models';\nimport moment from 'moment';\nimport { Options, Vue } from 'vue-class-component';\nimport { Inject, Prop, Watch } from 'vue-property-decorator';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { EventEmitter } from 'events';\nimport store from '@/trust-admin-app/store';\nimport { AppInsights } from '@/trust-admin-app/appInsights';\nimport { TrustAPI } from '@/shared/modules/trust-api';\n\n@Options({\n\tcomponents: {\n\t},\n\tmixins: [FormatDateTimeMixin]\n})\nexport default class TimesheetHeader extends Vue {\n\tprivate ai = new AppInsights;\n\n\t@Inject({ from: 'apiService', default: new TrustAPI() })\n\tprivate apiService!: TrustAPI;\n\n\t@Prop() \n\tprivate headerTitle!: string;\n\n\tprivate currentDate = moment(new Date);\n\tprivate currentDateDisplay = moment(new Date).format('MMMM YYYY');\n\tprivate calendarView = '3'; // monthly view by default; 1: day, 2: week, 3: month\n\tprivate currentDatePeriodStart = \"\";\n\tprivate currentDatePeriodEnd = \"\";\n\n\tprivate showAdvFilter = false;\n\n\tprivate investigators: TrustTeamMemberView[] = [];\n\tprivate practices: PracticeView[] = [];\n\tprivate activityType: TimeEntryType[] = [];\n\tprivate supervisors: TrustTeamMemberView[] = [];\n\n\tprivate loadingDataSet = true\n\tprivate errorLoadingDataSet = true;\n\n\tprivate filterApplied = false;\n\n\tprivate advanceFilter: AdvanceFilter = {\n\t\ttrustTeamMemberId: null,\n\t\tsupervisorId: null,\n\t\ttimeEntryActivityId: null,\n\t\tpracticeName: null\n\t}\n\n\tprivate showHideAdvFilter() {\n\t\tif (this.showAdvFilter) {\n\t\t\tthis.showAdvFilter = false\n\t\t} else {\n\t\t\tthis.showAdvFilter = true\n\t\t}\n\t}\n\n\tget showAdvFilterButton(): boolean {\n\t\tif (this.headerTitle === \"Timesheet\") {\n\t\t\treturn false\n\t\t} else {\n\t\t\treturn true\n\t\t}\n\t}\n\n\t@Watch('calendarView')\n\tonCalendarViewChanged(): void {\n\t\tthis.updateDisplay();\n\t}\n\n\tcreated(): void {\n\t\tif (this.headerTitle !== \"Timesheet\") {\n\t\t\tthis.preloadData();\n\t\t}\n\t}\n\n\tmounted(): void {\n\t\tthis.getTimePeriod();\n\t}\n\n\tget eventCtrl(): EventEmitter {\n\t\treturn store.getters.getEventController;\n\t}\n\n\tprivate applyFilter(): void {\n\t\tthis.$emit('applyFilter', this.advanceFilter);\n\t}\n\n\tprivate preloadData(): void {\n\t\tthis.loadInvestigators();\n\t\tthis.loadTimeEntryActivities();\n\t\tthis.loadPractices();\n\t\tthis.loadSupervisors();\n\t}\n\n\tprivate async loadInvestigators(): Promise {\n\t\ttry {\n\t\t\tthis.loadingDataSet = true;\n\t\t\tthis.errorLoadingDataSet = false;\n\t\t\tconst res = await this.apiService.TrustTeamMemberApi?.apiV2TrustTeamMemberGetTrustTeamMembersPost({});\n\t\t\tthis.investigators = res?.data.data as TrustTeamMemberView[];\n\t\t} catch (error) {\n\t\t\tthis.errorLoadingDataSet = true;\n\t\t\tconsole.log(error);\n\t\t}\n\t}\n\n\tprivate async loadTimeEntryActivities(): Promise {\n\t\ttry {\n\t\t\tthis.loadingDataSet = true;\n\t\t\tthis.errorLoadingDataSet = false;\n\t\t\tconst res = await this.apiService.CodeApi?.apiV2CodeGetTimeEntryActivitiesGet();\n\t\t\tthis.activityType = res?.data.data as TimeEntryActivity[];\n\t\t} catch (error) {\n\t\t\tthis.errorLoadingDataSet = true;\n\t\t\tconsole.log(error);\n\t\t}\n\t}\n\n\tprivate async loadPractices(): Promise {\n\t\tconst _body: FirmSearchRequest = {\n\t\t\tkeyword: ''\n\t\t}\n\t\ttry {\n\t\t\tthis.loadingDataSet = true;\n\t\t\tthis.errorLoadingDataSet = false;\n\t\t\tconst res = await this.apiService.PracticeApi?.apiV2PracticeSearchPracticePost(_body);\n\t\t\tthis.practices = res?.data.data as PracticeView[];\n\t\t} catch (error) {\n\t\t\tthis.errorLoadingDataSet = true;\n\t\t\tconsole.log(error);\n\t\t}\n\t}\n\n\tprivate async loadSupervisors(): Promise {\n\t\ttry {\n\t\t\tthis.loadingDataSet = true;\n\t\t\tthis.errorLoadingDataSet = false;\n\t\t\tconst res = await this.apiService.TrustTeamMemberApi?.apiV2TrustTeamMemberGetSupervisorsGet();\n\t\t\tthis.supervisors = res?.data.data as TrustTeamMemberView[];\n\t\t} catch (error) {\n\t\t\tthis.errorLoadingDataSet = true;\n\t\t\tconsole.log(error);\n\t\t}\n\t}\n\n\tprivate showAddEventModal() {\n\t\tthis.$emit('addEntry');\n\t}\n\n\tprivate getTimePeriod(): void {\n\t\tswitch (this.calendarView) {\n\t\t\tcase '1':\n\t\t\t\tthis.currentDatePeriodStart = moment(this.currentDate).startOf('day').format();\n\t\t\t\tthis.currentDatePeriodStart = moment(this.currentDatePeriodStart).utc().format();\n\t\t\t\tthis.currentDatePeriodEnd = moment(this.currentDate).endOf('day').format();\n\t\t\t\tthis.currentDatePeriodEnd = moment(this.currentDatePeriodEnd).utc().format();\n\t\t\t\tbreak;\n\t\t\tcase '2':\n\t\t\t\tthis.currentDatePeriodStart = moment(this.currentDate).startOf('week').format();\n\t\t\t\tthis.currentDatePeriodStart = moment(this.currentDatePeriodStart).utc().format();\n\t\t\t\tthis.currentDatePeriodEnd = moment(this.currentDate).endOf('week').format();\n\t\t\t\tthis.currentDatePeriodEnd = moment(this.currentDatePeriodEnd).utc().format();\n\t\t\t\tbreak;\n\t\t\tcase '3':\n\t\t\t\tthis.currentDatePeriodStart = moment(this.currentDate).startOf('month').format();\n\t\t\t\tthis.currentDatePeriodStart = moment(this.currentDatePeriodStart).utc().format();\n\t\t\t\tthis.currentDatePeriodEnd = moment(this.currentDate).endOf('month').format();\n\t\t\t\tthis.currentDatePeriodEnd = moment(this.currentDatePeriodEnd).utc().format();\n\t\t\t\tbreak;\n\t\t}\n\n\t\tthis.$emit('getTimePeriod', {\n\t\t\tstartDatePeriod: this.currentDatePeriodStart,\n\t\t\tendDatePeriod: this.currentDatePeriodEnd\n\t\t})\n\t}\n\n\tprivate prev() {\n\t\tswitch (this.calendarView) {\n\t\t\tcase '1':\n\t\t\t\tthis.currentDate = moment(this.currentDate).subtract(1, 'day');\n\t\t\t\tbreak;\n\t\t\tcase '2':\n\t\t\t\tthis.currentDate = moment(this.currentDate).subtract(1, 'week');\n\t\t\t\tbreak;\n\t\t\tcase '3':\n\t\t\t\tthis.currentDate = moment(this.currentDate).subtract(1, 'months');\n\t\t\t\tbreak;\n\t\t}\n\t\tthis.$emit('prev', this.currentDate);\n\t\tthis.updateDisplay();\n\t}\n\n\tprivate next() {\n\t\tswitch (this.calendarView) {\n\t\t\tcase '1':\n\t\t\t\tthis.currentDate = moment(this.currentDate).add(1, 'day');\n\t\t\t\tbreak;\n\t\t\tcase '2':\n\t\t\t\tthis.currentDate = moment(this.currentDate).add(1, 'week');\n\t\t\t\tbreak;\n\t\t\tcase '3':\n\t\t\t\tthis.currentDate = moment(this.currentDate).add(1, 'months');\n\t\t\t\tbreak;\n\t\t}\n\t\tthis.$emit('next', this.currentDate);\n\t\tthis.updateDisplay();\n\t}\n\n\tprivate today() {\n\t\tthis.calendarView = '1';\n\t\tthis.currentDate = moment(new Date());\n\t\tthis.$emit('today', {\n\t\t\tcalendarView: this.calendarView,\n\t\t\tcurrentDate: this.currentDate\n\t\t})\n\t\tthis.updateDisplay();\n\t}\n\n\tprivate updateDisplay() {\n\t\tconst _from_date = moment(this.currentDate).startOf('week');\n\t\tconst _to_date = moment(this.currentDate).endOf('week');\n\t\tswitch (this.calendarView) {\n\t\t\tcase '1':\n\t\t\t\tthis.currentDateDisplay = moment(this.currentDate).format('dddd, DD MMM YYYY');\n\t\t\t\tbreak;\n\t\t\tcase '2':\n\t\t\t\tthis.currentDateDisplay = _from_date.format('DD MMM') + ' - ' + _to_date.format('DD MMM YYYY');\n\t\t\t\tbreak;\n\t\t\tcase '3':\n\t\t\t\tthis.currentDateDisplay = moment(this.currentDate).format('MMMM YYYY');\n\t\t\t\tbreak;\n\t\t}\n\t\tthis.$emit('update', this.currentDateDisplay);\n\t\tthis.getTimePeriod()\n\t}\n}\n","import { render } from \"./timesheet-header.html?vue&type=template&id=64bf3a06&ts=true&external\"\nimport script from \"./timesheet-header.ts?vue&type=script&lang=ts&external\"\nexport * from \"./timesheet-header.ts?vue&type=script&lang=ts&external\"\n\nimport \"./timesheet-header.scss?vue&type=style&index=0&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, vModelSelect as _vModelSelect, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"date-controller\" }\nconst _hoisted_2 = { class: \"select\" }\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"option\", { value: \"1\" }, \"Day\", -1)\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"option\", { value: \"2\" }, \"Week\", -1)\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"option\", { value: \"3\" }, \"Month\", -1)\nconst _hoisted_6 = [\n _hoisted_3,\n _hoisted_4,\n _hoisted_5\n]\nconst _hoisted_7 = { class: \"month-selection\" }\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fal fa-angle-left\",\n title: \"Previous month\"\n}, null, -1)\nconst _hoisted_9 = [\n _hoisted_8\n]\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fal fa-angle-right\",\n title: \"Next month\"\n}, null, -1)\nconst _hoisted_11 = [\n _hoisted_10\n]\nconst _hoisted_12 = { class: \"month-label ml-3\" }\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.calendarView) = $event))\n }, _hoisted_6, 512), [\n [_vModelSelect, _ctx.calendarView]\n ])\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-default ml-2 today-btn\",\n onClick: _cache[1] || (_cache[1] = $event => (_ctx.today()))\n }, \" Today \"),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n class: \"btn-no-border\",\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.prev()))\n }, _hoisted_9),\n _createElementVNode(\"button\", {\n class: \"btn-no-border\",\n onClick: _cache[3] || (_cache[3] = $event => (_ctx.next()))\n }, _hoisted_11),\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.currentDateDisplay), 1)\n ])\n ]))\n}","import moment from 'moment';\nimport { Options, Vue } from 'vue-class-component';\nimport { Inject, Prop, Watch } from 'vue-property-decorator';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\n\n@Options({\n mixins: [FormatDateTimeMixin]\n})\nexport default class DateController extends Vue {\n\n private currentDate = moment(new Date);\n private currentDateDisplay = moment(new Date).format('MMMM YYYY');\n private calendarView = '3'; // monthly view by default; 1: day, 2: week, 3: month\n private currentDatePeriodStart = \"\";\n private currentDatePeriodEnd = \"\";\n\n\n\n @Watch('calendarView')\n onCalendarViewChanged(): void {\n this.updateDisplay();\n }\n\n mounted(): void {\n this.getTimePeriod();\n }\n\n private getTimePeriod(): void {\n switch (this.calendarView) {\n case '1':\n this.currentDatePeriodStart = moment(this.currentDate).startOf('day').format();\n this.currentDatePeriodStart = moment(this.currentDatePeriodStart).utc().format();\n this.currentDatePeriodEnd = moment(this.currentDate).endOf('day').format();\n this.currentDatePeriodEnd = moment(this.currentDatePeriodEnd).utc().format();\n break;\n case '2':\n this.currentDatePeriodStart = moment(this.currentDate).startOf('week').format();\n this.currentDatePeriodStart = moment(this.currentDatePeriodStart).utc().format();\n this.currentDatePeriodEnd = moment(this.currentDate).endOf('week').format();\n this.currentDatePeriodEnd = moment(this.currentDatePeriodEnd).utc().format();\n break;\n case '3':\n this.currentDatePeriodStart = moment(this.currentDate).startOf('month').format();\n this.currentDatePeriodStart = moment(this.currentDatePeriodStart).utc().format();\n this.currentDatePeriodEnd = moment(this.currentDate).endOf('month').format();\n this.currentDatePeriodEnd = moment(this.currentDatePeriodEnd).utc().format();\n break;\n }\n\n this.$emit('getTimePeriod', {\n startDatePeriod: this.currentDatePeriodStart,\n endDatePeriod: this.currentDatePeriodEnd\n })\n }\n\n private prev() {\n switch (this.calendarView) {\n case '1':\n this.currentDate = moment(this.currentDate).subtract(1, 'day');\n break;\n case '2':\n this.currentDate = moment(this.currentDate).subtract(1, 'week');\n break;\n case '3':\n this.currentDate = moment(this.currentDate).subtract(1, 'months');\n break;\n }\n this.$emit('prev', this.currentDate);\n this.updateDisplay();\n }\n\n private next() {\n switch (this.calendarView) {\n case '1':\n this.currentDate = moment(this.currentDate).add(1, 'day');\n break;\n case '2':\n this.currentDate = moment(this.currentDate).add(1, 'week');\n break;\n case '3':\n this.currentDate = moment(this.currentDate).add(1, 'months');\n break;\n }\n this.$emit('next', this.currentDate);\n this.updateDisplay();\n }\n\n private today() {\n // this.calendarView = '1';\n this.currentDate = moment(new Date());\n this.$emit('today', {\n calendarView: this.calendarView,\n currentDate: this.currentDate\n })\n this.updateDisplay();\n }\n\n private updateDisplay() {\n const _from_date = moment(this.currentDate).startOf('week');\n const _to_date = moment(this.currentDate).endOf('week');\n switch (this.calendarView) {\n case '1':\n this.currentDateDisplay = moment(this.currentDate).format('dddd, DD MMM YYYY');\n break;\n case '2':\n this.currentDateDisplay = _from_date.format('DD MMM') + ' - ' + _to_date.format('DD MMM YYYY');\n break;\n case '3':\n this.currentDateDisplay = moment(this.currentDate).format('MMMM YYYY');\n break;\n }\n this.$emit('update', this.currentDateDisplay);\n this.getTimePeriod();\n }\n}\n","import { render } from \"./date-controller.html?vue&type=template&id=015608be&ts=true&external\"\nimport script from \"./date-controller.ts?vue&type=script&lang=ts&external\"\nexport * from \"./date-controller.ts?vue&type=script&lang=ts&external\"\n\nimport \"./date-controller.scss?vue&type=style&index=0&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { Options, Vue } from 'vue-class-component';\nimport { AuthorizedUser } from '@/trust-admin-app/models/authorized-user';\nimport store from '@/trust-admin-app/store';\nimport moment from 'moment';\nimport { Inject, Watch } from 'vue-property-decorator';\nimport { AppInsights } from '@/trust-admin-app/appInsights';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport { TimeEntryView, TimeEntryApprovalView, TimeEntryType, AdvanceFilter, TimeEntryActivity } from '@/shared/modules/typescript-trustapi-client/models';\nimport { EventEmitter } from 'events';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport TimesheetCalculationsMixin from '@/shared/mixins/timesheet-calculations';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport { RouteN } from '@/trust-admin-app/constants/router-name';\nimport TimesheetHeader from '@/shared/components/timesheet-header/index.vue';\nimport { TrustTeamMemberView } from '@/shared/modules/typescript-trustapi-client/models';\nimport { EventForm } from '@/trust-admin-app/components/add-event-modal/event-form';\nimport DateController from '@/shared/components/date-controller/index.vue';\n\n@Options({\n components: {\n LoadingIndicator,\n ErrorIndicator,\n TimesheetHeader,\n DateController,\n },\n mixins: [FormatDateTimeMixin, TimesheetCalculationsMixin]\n})\nexport default class TimesheetApproval extends Vue {\n private ai = new AppInsights;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Inject({ from: 'timeEntryType', default: [] })\n private timeEntryType!: TimeEntryType[];\n\n @Inject({ from: 'timeEntryActivity', default: [] })\n private timeEntryActivity!: TimeEntryActivity[];\n\n private showTimesheetApproval = true;\n\n private loadingTimesheetApproval = true;\n private errorLoadingTimesheetApproval = true;\n private loadingTimeEntries = true;\n private errorLoadingTimeEntries = true;\n private currentDate = moment(new Date);\n private currentDateDisplay = moment(new Date).format('MMMM YYYY');\n private calendarView = '3'; // monthly view by default; 1: day, 2: week, 3: month\n private currentDatePeriodStart = \"\";\n private currentDatePeriodEnd = \"\";\n private investigators: TrustTeamMemberView[] = [];\n private supervisors: TrustTeamMemberView[] = [];\n private practices: any[] = [];\n private showAdvFilter = false;\n private filterApplied = false;\n private filterTimeSheetEntries: TimeEntryView[] = [];\n private filteredTimesheetApprovals: TimeEntryApprovalView[] = [];\n private timesheetApprovals: TimeEntryApprovalView[] = []\n private timesheetEntries: TimeEntryView[] = []\n private investigatorsWithUnderclaimedHours = 0;\n\n\n private filters: AdvanceFilter = {\n trustTeamMemberId: null,\n supervisorId: null,\n timeEntryActivityId: null,\n practiceName: null,\n }\n\n\n\n private timesheetApprovalHeadings = [\n { text: 'Investigator', value: 'investigator', sortable: false },\n { text: 'Complete time', value: 'completeTime', sortable: false },\n { text: 'Missing time', value: 'missingTime', sortable: false },\n { text: 'Annual/Personal Leave', value: 'leave', sortable: false },\n { text: 'Public holidays', value: 'publicHolidays', sortable: false },\n { text: 'Actions', value: 'actions', sortable: false },\n ]\n\n private timesheetEntryHeadings = [\n { text: 'Date', value: 'date', sortable: false },\n { text: 'Investigator', value: 'investigator', sortable: false },\n { text: 'Name', value: 'name', sortable: false },\n { text: 'Details', value: 'details', sortable: false },\n { text: 'Practice name', value: 'practiceName', sortable: false },\n { text: 'Reference', value: 'reference', sortable: false },\n { text: 'Break', value: 'break', sortable: false },\n { text: 'Work hours', value: 'workHours', sortable: false },\n { text: 'Actions', value: 'actions', sortable: false },\n ]\n\n mounted(): void {\n this.eventCtrl.on('reload-events-data', this.getAllTimeEntries);\n this.getAllTimeEntries();\n this.getAllTimesheetApprovals();\n this.loadSupervisors();\n this.loadInvestigators();\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-events-data', this.getAllTimeEntries);\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private showHideTSApproval() {\n if (this.showTimesheetApproval) {\n this.showTimesheetApproval = false\n } else {\n this.showTimesheetApproval = true\n }\n }\n\n private getInvestigatorsWithUnderclaimedHours(timesheetApprovals: TimeEntryApprovalView[]): void {\n this.investigatorsWithUnderclaimedHours = timesheetApprovals.filter(x => x.timesheetStatus.id === 1).length\n }\n\n private getAllTimeEntries(): void {\n this.apiService.TimeEntryApi?.apiV2TimeEntryGetTimeEntriesPost({\n advanceFilter: {\n startDate: this.currentDatePeriodStart,\n endDate: this.currentDatePeriodEnd,\n }\n })\n .then(res => {\n this.loadingTimeEntries = false;\n this.errorLoadingTimeEntries = false;\n this.timesheetEntries = res.data.data;\n this.filterTimeSheetEntries = this.timesheetEntries;\n this.practices = this.getPractices();\n })\n .catch(error => {\n this.loadingTimeEntries = false;\n this.errorLoadingTimeEntries = true;\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting time entries - ' + error);\n this.ai.trackException('Error getting time entries: ' + error);\n });\n }\n\n private getAllTimesheetApprovals(): void {\n this.apiService.TimeEntryApi?.apiV2TimeEntryGetTimeEntryApprovalsPost({\n startDate: this.currentDatePeriodStart,\n endDate: this.currentDatePeriodEnd,\n })\n .then(res => {\n this.loadingTimesheetApproval = false;\n this.errorLoadingTimesheetApproval = false\n this.timesheetApprovals = res.data.data;\n this.filteredTimesheetApprovals = this.timesheetApprovals;\n this.getInvestigatorsWithUnderclaimedHours(this.timesheetApprovals);\n })\n .catch(error => {\n this.loadingTimesheetApproval = false;\n this.errorLoadingTimesheetApproval = true;\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting timesheet approvals - ' + error);\n this.ai.trackException('Error getting timesheet approvals : ' + error);\n })\n }\n\n private approveTimeEntries(trustTeamMember: TrustTeamMemberView): void {\n this.apiService.TimeEntryApi?.apiV2TimeEntryApproveTimeEntriesPost({\n trustMemberId: trustTeamMember.id,\n startDate: this.currentDatePeriodStart,\n endDate: this.currentDatePeriodEnd\n })\n .then(res => {\n // console.log(res.data.data);\n })\n .catch(error => {\n this.eventCtrl.emit('show-snackbar', 'error', error);\n this.ai.trackException('Error approving investigator timesheet: ' + error);\n })\n }\n\n get RouteN(): typeof RouteN {\n return RouteN;\n }\n\n private viewInvestigator(investigator: TrustTeamMemberView): void {\n this.$router.push({ name: RouteN.TA.InvestigatorTimesheets.n, query: { memberId: investigator.id } });\n }\n\n private getTimePeriod(options: any): void {\n this.currentDatePeriodStart = options.startDatePeriod;\n this.currentDatePeriodEnd = options.endDatePeriod;\n this.getAllTimeEntries();\n this.getAllTimesheetApprovals();\n }\n\n private prev(value: any): void {\n this.currentDate = value;\n }\n\n private next(value: any): void {\n this.currentDate = value;\n }\n\n private today(options: any): void {\n this.calendarView = options.calendarView;\n this.currentDate = options.currentDate;\n }\n\n private updateDisplay(value: any): void {\n this.currentDateDisplay = value;\n }\n\n private applyFilter(): void {\n this.filterApplied = true;\n\n this.filterTimeSheetEntries = this.timesheetEntries;\n this.filteredTimesheetApprovals = this.timesheetApprovals;\n\n if (this.filters.practiceName) {\n this.filterTimeSheetEntries = this.filterTimeSheetEntries.filter(\n x => x.investigation?.latestPracticeLogData.firmName == this.filters.practiceName\n );\n }\n\n if (this.filters.timeEntryActivityId) {\n this.filterTimeSheetEntries = this.filterTimeSheetEntries.filter(\n x => x.timeEntryActivity?.id == this.filters.timeEntryActivityId\n );\n }\n\n if (this.filters.trustTeamMemberId) {\n this.filterTimeSheetEntries = this.filterTimeSheetEntries.filter(\n x => x.trustTeamMember.id == this.filters.trustTeamMemberId\n );\n\n this.filteredTimesheetApprovals = this.filteredTimesheetApprovals.filter(\n x => x.trustTeamMember.id == this.filters.trustTeamMemberId\n );\n\n }\n\n if (this.filters.supervisorId) {\n this.filterTimeSheetEntries = this.filterTimeSheetEntries.filter(\n x => x.trustTeamMember?.supervisor == this.filters.supervisorId\n );\n\n this.filteredTimesheetApprovals = this.filteredTimesheetApprovals.filter(\n x => x.trustTeamMember?.supervisor == this.filters.supervisorId\n );\n }\n }\n\n private resetFilter(): void {\n this.filterApplied = false;\n this.filters = {\n trustTeamMemberId: null,\n supervisorId: null,\n timeEntryActivityId: null,\n practiceName: null,\n };\n this.filterTimeSheetEntries = this.timesheetEntries;\n this.filteredTimesheetApprovals = this.timesheetApprovals;\n }\n\n private addEntry(): void {\n this.eventCtrl.emit('showAddEditEventModal', { eventTypeId: 1, trustTeamMemberId: this.selectedTrustTeamMember.id });\n }\n\n private editTimesheet(timeEntry: TimeEntryView): void {\n const eventFormData: EventForm = {\n id: timeEntry.id,\n eventTypeId: timeEntry.timeEntryType?.id ?? null,\n leaveTypeId: timeEntry.leaveType?.id ?? null,\n startDateTime: timeEntry.startDateTime,\n endDateTime: timeEntry.endDateTime,\n notes: timeEntry.notes ?? null,\n activityType: timeEntry.timeEntryActivity ?? null,\n investigation: timeEntry.investigation ?? null,\n breakDuration: timeEntry.breakDuration ?? null,\n trustTeamMemberId: timeEntry.trustTeamMember.id ?? null,\n description: timeEntry.description ?? null,\n };\n this.eventCtrl.emit('showAddEditEventModal', eventFormData);\n }\n\n // get investigators(): TrustTeamMemberView[] {\n // const investigators: TrustTeamMemberView[] = [];\n // this.timesheetEntries.forEach((x) => {\n // if(investigators.filter(i => x.trustTeamMember.id == i.id).length == 0) {\n // investigators.push(x.trustTeamMember);\n // }\n // });\n // return investigators;\n // }\n\n private getPractices(): any[] {\n const practices: any[] = [];\n this.timesheetEntries.forEach((x) => {\n if ((x.investigation) && (practices.filter(p => x.investigation?.latestPracticeLogData.practiceId == p.practiceId).length == 0)) {\n practices.push(x.investigation.latestPracticeLogData);\n }\n });\n return practices;\n }\n\n private async loadInvestigators(): Promise {\n try {\n const res = await this.apiService.TrustTeamMemberApi?.apiV2TrustTeamMemberGetTrustTeamMembersPost();\n this.investigators = res?.data.data as TrustTeamMemberView[];\n } catch (error) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error on loading investigators - ' + error);\n this.ai.trackException('Error on loading investigators: ' + error);\n }\n }\n\n private async loadSupervisors(): Promise {\n try {\n const res = await this.apiService.TrustTeamMemberApi?.apiV2TrustTeamMemberGetSupervisorsGet();\n this.supervisors = res?.data.data as TrustTeamMemberView[];\n } catch (error) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error on loading supervisors - ' + error);\n this.ai.trackException('Error on loading supervisors: ' + error);\n }\n }\n\n private showHideAdvFilter() {\n this.showAdvFilter = !this.showAdvFilter;\n }\n\n get selectedTrustTeamMember(): TrustTeamMemberView {\n return store.getters.getSelectedTrustTeamMember;\n }\n}\n\n","import { render } from \"./timesheet-approval.html?vue&type=template&id=20134d2e&scoped=true&ts=true&external\"\nimport script from \"./timesheet-approval.ts?vue&type=script&lang=ts&external\"\nexport * from \"./timesheet-approval.ts?vue&type=script&lang=ts&external\"\n\nimport \"./timesheet-approval.scss?vue&type=style&index=0&id=20134d2e&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-20134d2e\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, vModelCheckbox as _vModelCheckbox, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, withModifiers as _withModifiers, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, vModelSelect as _vModelSelect, withCtx as _withCtx, resolveDirective as _resolveDirective, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-14b7291c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"investigations-main\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"section-heading\"\n}\nconst _hoisted_3 = {\n key: 1,\n class: \"section-heading\"\n}\nconst _hoisted_4 = { class: \"section-heading\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Investigations\", -1))\nconst _hoisted_6 = { class: \"search\" }\nconst _hoisted_7 = { class: \"search-inputs\" }\nconst _hoisted_8 = { class: \"search-bar\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-hm\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-search fa-lg\" })\n], -1))\nconst _hoisted_10 = { class: \"checkbox-button\" }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Active only\")\n], -1))\nconst _hoisted_12 = { class: \"checkbox-button\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Cause driven only\")\n], -1))\nconst _hoisted_14 = { class: \"checkbox-button\" }\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"No investigator assigned\")\n], -1))\nconst _hoisted_16 = { class: \"checkbox-button\" }\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Reply required\")\n], -1))\nconst _hoisted_18 = { class: \"checkbox-button\" }\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Training only\")\n], -1))\nconst _hoisted_20 = [\"disabled\"]\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", { class: \"seperator\" }, null, -1))\nconst _hoisted_22 = { class: \"filter\" }\nconst _hoisted_23 = { class: \"form-col\" }\nconst _hoisted_24 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Investigator\", -1))\nconst _hoisted_25 = { class: \"sml-select\" }\nconst _hoisted_26 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: null }, \"All\", -1))\nconst _hoisted_27 = [\"value\"]\nconst _hoisted_28 = { class: \"form-col\" }\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Supervisor\", -1))\nconst _hoisted_30 = { class: \"sml-select\" }\nconst _hoisted_31 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: null }, \"All\", -1))\nconst _hoisted_32 = [\"value\"]\nconst _hoisted_33 = { class: \"form-col\" }\nconst _hoisted_34 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Investigation type\", -1))\nconst _hoisted_35 = { class: \"sml-select\" }\nconst _hoisted_36 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: null }, \"All\", -1))\nconst _hoisted_37 = [\"value\"]\nconst _hoisted_38 = { class: \"form-col\" }\nconst _hoisted_39 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Timeframe\", -1))\nconst _hoisted_40 = { class: \"sml-select\" }\nconst _hoisted_41 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: \"3\" }, \"Last 3 months\", -1))\nconst _hoisted_42 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: \"6\" }, \"Last 6 months\", -1))\nconst _hoisted_43 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: \"12\" }, \"Last 1 year\", -1))\nconst _hoisted_44 = [\n _hoisted_41,\n _hoisted_42,\n _hoisted_43\n]\nconst _hoisted_45 = { class: \"form-col\" }\nconst _hoisted_46 = {\n key: 0,\n class: \"reset-filter\"\n}\nconst _hoisted_47 = {\n class: \"bottom-half\",\n style: {\"width\":\"100%\",\"overflow\":\"auto\"}\n}\nconst _hoisted_48 = { class: \"ls-table\" }\nconst _hoisted_49 = [\"onClick\"]\nconst _hoisted_50 = { class: \"text\" }\nconst _hoisted_51 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-up\" }, null, -1))\nconst _hoisted_52 = [\n _hoisted_51\n]\nconst _hoisted_53 = { key: 0 }\nconst _hoisted_54 = [\"colspan\"]\nconst _hoisted_55 = { key: 1 }\nconst _hoisted_56 = [\"colspan\"]\nconst _hoisted_57 = { key: 2 }\nconst _hoisted_58 = [\"colspan\"]\nconst _hoisted_59 = { \"data-label\": \"Practice name\" }\nconst _hoisted_60 = { \"data-label\": \"Practice ID\" }\nconst _hoisted_61 = { \"data-label\": \"Commencement date\" }\nconst _hoisted_62 = { \"data-label\": \"Investigation type\" }\nconst _hoisted_63 = { \"data-label\": \"Appointment status\" }\nconst _hoisted_64 = {\n key: 0,\n class: \"fal fa-info-circle pa-1\"\n}\nconst _hoisted_65 = { \"data-label\": \"Reply actions\" }\nconst _hoisted_66 = { \"data-label\": \"Status\" }\nconst _hoisted_67 = {\n key: 0,\n \"data-label\": \"Investigator\"\n}\nconst _hoisted_68 = [\"onClick\"]\nconst _hoisted_69 = {\n key: 1,\n \"data-label\": \"Investigator\"\n}\nconst _hoisted_70 = { \"data-label\": \"actions\" }\nconst _hoisted_71 = [\"onClick\"]\nconst _hoisted_72 = [\"onClick\"]\nconst _hoisted_73 = [\"disabled\", \"onClick\"]\nconst _hoisted_74 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", null, \"Cancel investigation\", -1))\nconst _hoisted_75 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"Are you sure you want to cancel the investigation?\", -1))\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_router_link = _resolveComponent(\"router-link\")\n const _component_AlertBox = _resolveComponent(\"AlertBox\")\n const _directive_tippy = _resolveDirective(\"tippy\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (_ctx.loadingDataSet)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createVNode(_component_LoadingIndicator)\n ]))\n : (_ctx.errorLoadingDataSet)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_ErrorIndicator)\n ]))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 2 }, [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n placeholder: \"Search practice name or ID\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.searchKeyword) = $event))\n }, null, 512), [\n [_vModelText, _ctx.searchKeyword]\n ]),\n _hoisted_9\n ]),\n _createElementVNode(\"label\", _hoisted_10, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.showActiveStatus) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.showActiveStatus]\n ]),\n _hoisted_11\n ]),\n _createElementVNode(\"label\", _hoisted_12, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.showCauseDrivenOnly) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.showCauseDrivenOnly]\n ]),\n _hoisted_13\n ]),\n _createElementVNode(\"label\", _hoisted_14, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => ((_ctx.noInvestigatorAssigned) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.noInvestigatorAssigned]\n ]),\n _hoisted_15\n ]),\n _createElementVNode(\"label\", _hoisted_16, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.isReplyRequired) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.isReplyRequired]\n ]),\n _hoisted_17\n ]),\n _createElementVNode(\"label\", _hoisted_18, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => ((_ctx.showTrainingStatus) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.showTrainingStatus]\n ]),\n _hoisted_19\n ])\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-default transparent mr-2\",\n disabled: _ctx.loadingContent || _ctx.errorLoadingContent,\n onClick: _cache[6] || (_cache[6] = _withModifiers($event => (_ctx.showAdvancedFilter = !_ctx.showAdvancedFilter), [\"prevent\",\"stop\"]))\n }, [\n _createTextVNode(\" Advanced Filter\"),\n _createElementVNode(\"span\", null, [\n _createElementVNode(\"i\", {\n class: _normalizeClass(['fal', _ctx.showAdvancedFilter ? 'fa-angle-up' : 'fa-angle-down'])\n }, null, 2)\n ])\n ], 8, _hoisted_20)\n ]),\n (_ctx.showAdvancedFilter)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_21,\n _createElementVNode(\"div\", _hoisted_22, [\n _createElementVNode(\"div\", _hoisted_23, [\n _hoisted_24,\n _createElementVNode(\"div\", _hoisted_25, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => ((_ctx.advanceFilter.trustTeamMemberId) = $event))\n }, [\n _hoisted_26,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.investigators, (i) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: i.id\n }, _toDisplayString(i.firstName) + \" \" + _toDisplayString(i.lastName), 9, _hoisted_27))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.advanceFilter.trustTeamMemberId]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_28, [\n _hoisted_29,\n _createElementVNode(\"div\", _hoisted_30, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => ((_ctx.advanceFilter.supervisorId) = $event))\n }, [\n _hoisted_31,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.supervisorList, (s) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: s.id\n }, _toDisplayString(s.displayName), 9, _hoisted_32))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.advanceFilter.supervisorId]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_33, [\n _hoisted_34,\n _createElementVNode(\"div\", _hoisted_35, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = $event => ((_ctx.advanceFilter.investigationTypeId) = $event))\n }, [\n _hoisted_36,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.investigationTypes, (iT) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: iT.id\n }, _toDisplayString(iT.name), 9, _hoisted_37))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.advanceFilter.investigationTypeId]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_38, [\n _hoisted_39,\n _createElementVNode(\"div\", _hoisted_40, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = $event => ((_ctx.advanceFilter.timeFrame) = $event))\n }, _hoisted_44, 512), [\n [_vModelSelect, _ctx.advanceFilter.timeFrame]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_45, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: _cache[11] || (_cache[11] = $event => (_ctx.applyFilter()))\n }, \" Apply filter \")\n ])\n ]),\n (_ctx.filterApplied)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_46, [\n _createTextVNode(\" Or \"),\n _createElementVNode(\"a\", {\n class: \"link2\",\n onClick: _cache[12] || (_cache[12] = $event => {_ctx.resetFilter();})\n }, \"reset all\")\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_47, [\n _createElementVNode(\"table\", _hoisted_48, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", {\n class: _normalizeClass([ h.sortable ? 'sortable' : '']),\n onClick: $event => (_ctx.sortTableColumn(index, h.sortable))\n }, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", _hoisted_50, _toDisplayString(h.text), 1),\n (h.sortable)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([ _ctx.activeSortHeader === index ? 'active' : '', h.sortMethod])\n }, _hoisted_52, 2))\n : _createCommentVNode(\"\", true)\n ])\n ], 10, _hoisted_49))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_53, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_54)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_55, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_56)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.investigations.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_57, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, \"No Records\", 8, _hoisted_58)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.investigations.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.investigationsDisplay, (i) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_59, [\n _createVNode(_component_router_link, {\n to: { name: _ctx.RouteN.TA.Practice.n, query: { pId: i.latestPracticeLogData.practiceId } },\n class: \"link\",\n title: i.investigationStatus?.name\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(i.latestPracticeLogData.branchId == null ? i.latestPracticeLogData.name :\n i.latestPracticeLogData.name + ' (' + i.latestPracticeLogData.branchTradingName +\n ')'), 1)\n ]),\n _: 2\n }, 1032, [\"to\", \"title\"])\n ]),\n _createElementVNode(\"td\", _hoisted_60, _toDisplayString(i.latestPracticeLogData.branchId == null ?\n i.latestPracticeLogData.firmId : i.latestPracticeLogData.firmId + ' - ' +\n i.latestPracticeLogData.branchId), 1),\n _createElementVNode(\"td\", _hoisted_61, _toDisplayString(_ctx.$formatDate(i.commencementDate)), 1),\n _createElementVNode(\"td\", _hoisted_62, _toDisplayString(i.investigationTypeName), 1),\n _createElementVNode(\"td\", _hoisted_63, [\n _createTextVNode(_toDisplayString(i.appointmentStatus) + \" \", 1),\n (i.appointments.length > 1)\n ? _withDirectives((_openBlock(), _createElementBlock(\"i\", _hoisted_64, null, 512)), [\n [_directive_tippy, {content: _ctx.appointmentsTippy(i.appointments)}]\n ])\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"td\", _hoisted_65, _toDisplayString(i.isReplyRequired ? 'Yes' : ''), 1),\n _createElementVNode(\"td\", _hoisted_66, _toDisplayString(i.status), 1),\n (!i.trustTeamMember)\n ? (_openBlock(), _createElementBlock(\"td\", _hoisted_67, [\n (_ctx.$accessPermitted(_ctx.usrAcct.user.roles, [_ctx.$roleType().TrustAdmin]))\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn btn-default sml transparent\",\n onClick: _withModifiers($event => (_ctx.assignInvestigator(i)), [\"prevent\",\"stop\"])\n }, \" Assign \", 8, _hoisted_68))\n : _createCommentVNode(\"\", true)\n ]))\n : (_openBlock(), _createElementBlock(\"td\", _hoisted_69, _toDisplayString(i.investigator), 1)),\n _createElementVNode(\"td\", _hoisted_70, [\n _withDirectives(_createElementVNode(\"i\", {\n onClick: $event => (_ctx.exportDataCSV(i)),\n style: {\"cursor\":\"pointer\"},\n class: \"fal fa-file-csv mr-2\"\n }, null, 8, _hoisted_71), [\n [_directive_tippy, { content: 'Data file' }]\n ]),\n _withDirectives(_createElementVNode(\"i\", {\n onClick: $event => (_ctx.exportCostCSV(i)),\n style: {\"cursor\":\"pointer\"},\n class: \"fal fa-file-csv\"\n }, null, 8, _hoisted_72), [\n [_directive_tippy, { content: 'Cost file' }]\n ]),\n (_ctx.isSuperAdmin)\n ? _withDirectives((_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn btn-default sml ml-2\",\n disabled: i.investigationStatus.id == 5,\n onClick: $event => (_ctx.cancelInvestigation(i.id))\n }, [\n _createTextVNode(\"Cancel\")\n ], 8, _hoisted_73)), [\n [_directive_tippy, { content: 'Cancel investigation'}]\n ])\n : _createCommentVNode(\"\", true)\n ])\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ], 64)),\n (_ctx.cancelInvestigationAlert)\n ? (_openBlock(), _createBlock(_component_AlertBox, {\n key: 3,\n onClose: _cache[15] || (_cache[15] = $event => (_ctx.cancelInvestigationAlert = false))\n }, {\n header: _withCtx(() => [\n _hoisted_74\n ]),\n body: _withCtx(() => [\n _hoisted_75\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"btn btn-tertiary\",\n onClick: _cache[13] || (_cache[13] = $event => (_ctx.cancelInvestigationAlert = false))\n }, \"Back\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary\",\n onClick: _cache[14] || (_cache[14] = (...args) => (_ctx.continueClicked && _ctx.continueClicked(...args)))\n }, \"Continue\")\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-faf86eba\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"tag\" }\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"h1\", null, _toDisplayString(_ctx.label), 1)\n ]))\n}","\nimport { Options, Vue } from \"vue-property-decorator\";\n\n@Options({\n props: {\n label: String,\n },\n components: {}\n})\nexport default class Tag extends Vue {\n private label?: string;\n}\n\n","import { render } from \"./tag.html?vue&type=template&id=faf86eba&scoped=true&ts=true&external\"\nimport script from \"./tag.ts?vue&type=script&lang=ts&external\"\nexport * from \"./tag.ts?vue&type=script&lang=ts&external\"\n\nimport \"./tag.scss?vue&type=style&index=0&id=faf86eba&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-faf86eba\"]])\n\nexport default __exports__","import { Options, Vue } from 'vue-class-component';\nimport { AuthorizedUser } from '@/trust-admin-app/models/authorized-user';\nimport store from '@/trust-admin-app/store';\nimport { Inject, Watch } from 'vue-property-decorator';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { orderBy } from 'lodash';\nimport AccessValidationMixin from '@/shared/mixins/access-validation';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { EventEmitter } from 'events';\nimport { RouteN } from '@/trust-admin-app/constants/router-name';\nimport debounce from 'lodash/debounce';\nimport { AdvanceFilter, InvestigationTypeView, InvestigationView, Supervisor, TrustTeamMemberView, TimeEntryView, InvestigationFilterRequest } from '@/shared/modules/typescript-trustapi-client/models';\nimport Tag from '@/shared/components/tag/index.vue';\nimport { createCSV, escapeString } from '@/shared/components/helpers';\nimport moment, { Duration } from 'moment';\nimport TimesheetCalculationsMixin from '@/shared/mixins/timesheet-calculations';\nimport { RoleType } from '@/trust-admin-app/models/user';\nimport AlertBox from '@/shared/components/alert-box/index.vue';\n\n@Options({\n components: {\n LoadingIndicator,\n ErrorIndicator,\n Tag,\n AlertBox,\n },\n mixins: [\n AccessValidationMixin,\n FormatDateTimeMixin,\n TimesheetCalculationsMixin,\n ]\n})\nexport default class InvestigationsMain extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private searchKeyword = '';\n private showActiveStatus = true;\n private showTrainingStatus = false;\n private noInvestigatorAssigned = false;\n private sortMethod = 'desc';\n private activeSortHeader = 2;\n private showCauseDrivenOnly = false;\n private isReplyRequired = false;\n private cancelInvestigationAlert = false;\n private investigationIdToBeCancelled = -1;\n\n private tableHeadings = [\n { text: 'Practice (Trading name)', value: 'name', sortMethod: 'asc', sortable: true, activeSort: false },\n { text: 'Practice - branch ID', value: 'practiceBranchId', sortMethod: 'asc', sortable: true, activeSort: false },\n { text: 'Commencement date', value: 'commencementDate', sortMethod: 'desc', sortable: true, activeSort: false },\n { text: 'Investigation type', value: 'investigationTypeName', sortMethod: 'asc', sortable: true, activeSort: false },\n { text: 'Appointment status', value: 'appointmentStatus', sortMethod: 'asc', sortable: true, activeSort: false },\n { text: 'Reply required', value: 'replyRequired', sortMethod: 'asc', sortable: true, activeSort: false },\n { text: 'Status', value: 'status', sortMethod: 'asc', sortable: true, activeSort: false },\n { text: 'Investigator', value: 'investigator', sortMethod: 'asc', sortable: true, activeSort: false },\n { text: 'Actions', value: 'actions', sortable: false }\n ];\n\n private investigations: InvestigationView[] = [];\n private investigationsDisplay: any[] = [];\n\n private loadingContent = false;\n private errorLoadingContent = false;\n private loadingDataSet = false;\n private errorLoadingDataSet = false;\n private showAdvancedFilter = false;\n\n private investigators: TrustTeamMemberView[] = [];\n private investigationTypes: InvestigationTypeView[] = [];\n private supervisorList: Supervisor[] = [];\n\n private advanceFilter: AdvanceFilter = {\n trustTeamMemberId: null,\n supervisorId: null,\n investigationTypeId: null,\n timeFrame: 3\n }\n\n private filterApplied = false;\n private srchDebounced: any = null;\n\n @Watch('searchKeyword')\n private onKeywordChange(): void {\n setTimeout(this.srchDebounced.cancel, 0);\n setTimeout(this.srchDebounced, 0);\n }\n\n @Watch('showActiveStatus')\n private onShowActiveStatusChanged(): void {\n this.loadInvestigations();\n }\n\n @Watch('showTrainingStatus')\n private onShowTrainingStatusChanged(): void {\n this.loadInvestigations();\n }\n\n @Watch('noInvestigatorAssigned')\n private onNoInvestigatorAssignedChanged(): void {\n this.loadInvestigations();\n }\n\n @Watch('showCauseDrivenOnly')\n private onShowCauseDrivenOnlyChanged(): void {\n this.loadInvestigations();\n }\n\n @Watch('isReplyRequired')\n private onIsReplyRequiredChanged(): void {\n this.loadInvestigations();\n }\n\n created(): void {\n this.preloadData();\n }\n\n mounted(): void {\n this.eventCtrl.on('reload-investigation-data', this.loadInvestigations);\n this.srchDebounced = debounce(() => {\n this.loadInvestigations();\n }, 1000);\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-investigation-data', this.loadInvestigations);\n }\n\n private async loadInvestigations(): Promise {\n try {\n this.loadingContent = true;\n this.errorLoadingContent = false;\n const request: InvestigationFilterRequest = {\n \"keyword\": this.searchKeyword,\n \"showActiveStatus\": this.showActiveStatus,\n \"showTrainingStatus\": this.showTrainingStatus,\n \"investigationCategoryId\": this.showCauseDrivenOnly ? 2 : null,\n \"isReplyRequired\": this.isReplyRequired,\n \"hasTrustTeamMember\": !this.noInvestigatorAssigned\n };\n\n if (this.filterApplied) {\n request.trustTeamMemberId = this.advanceFilter.trustTeamMemberId,\n request.investigationTypeId = this.advanceFilter.investigationTypeId,\n request.timeFrame = this.advanceFilter.timeFrame,\n request.supervisorId = this.advanceFilter.supervisorId\n }\n\n let unassignedInvestigations: InvestigationView[] = [];\n let assignedInvestigations: InvestigationView[] = [];\n\n const resp: any =\n await this.apiService.InvestigationApi?.apiV2InvestigationGetInvestigationsPost(\n request\n );\n\n this.investigations = resp.data.data as InvestigationView[];\n this.investigations = orderBy(this.investigations, ['commencementDate'], 'desc');\n unassignedInvestigations = this.groupInvestigations(this.investigations.filter(x => !x.trustTeamMember));\n assignedInvestigations = this.groupInvestigations(this.investigations.filter(x => x.trustTeamMember));\n this.investigations = [...unassignedInvestigations, ...assignedInvestigations];\n\n this.investigationsDisplay = [...this.investigations];\n\n // convert to display table\n for (let i = 0; i < this.investigations.length; i++) {\n this.investigationsDisplay[i].name = this.investigations[i].latestPracticeLogData.branchId ?\n this.investigations[i].latestPracticeLogData.name + ' (' + this.investigations[i].latestPracticeLogData.tradingName + ')' :\n this.investigations[i].latestPracticeLogData.name;\n this.investigationsDisplay[i].practiceBranchId = this.investigations[i].latestPracticeLogData.branchId ?\n this.investigations[i].latestPracticeLogData.firmId + ' - ' + this.investigations[i].latestPracticeLogData.branchId :\n this.investigations[i].latestPracticeLogData.firmId.toString();\n this.investigationsDisplay[i].investigationTypeName = this.investigations[i].investigationType?.name + ' (' + this.investigations[i].investigationCategory?.abbreviation + ')';\n this.investigationsDisplay[i].appointmentStatus = this.investigations[i].appointments[0].appointmentStatus.name;\n this.investigationsDisplay[i].status = this.investigations[i].investigationStatus.name;\n this.investigationsDisplay[i].investigator = this.investigations[i].trustTeamMember ?\n this.investigations[i].trustTeamMember.firstName + ' ' + this.investigations[i].trustTeamMember.lastName : '';\n // this.investigationsDisplay[i].statusName = this.investigations[i].status.name;\n\n }\n\n return Promise.resolve(false);\n } catch (err) {\n this.errorLoadingContent = true;\n console.log(err);\n return Promise.reject(true);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private groupInvestigations(investigations: InvestigationView[]): InvestigationView[] {\n\n let activeInvestigations: InvestigationView[] = [];\n let inactiveInvestigations: InvestigationView[] = [];\n let completedInvestigations: InvestigationView[] = [];\n let closedInvestigations: InvestigationView[] = [];\n let trainingInvestigations: InvestigationView[] = [];\n\n activeInvestigations = investigations.filter(x => x.investigationStatus.id == 1);\n inactiveInvestigations = investigations.filter(x => x.investigationStatus.id == 2);\n completedInvestigations = investigations.filter(x => x.investigationStatus.id == 3);\n closedInvestigations = investigations.filter(x => x.investigationStatus.id == 4);\n trainingInvestigations = investigations.filter(x => x.investigationStatus.id == 5);\n\n return [...activeInvestigations, ...inactiveInvestigations, ...completedInvestigations, ...closedInvestigations, ...trainingInvestigations];\n }\n\n private async preloadData(): Promise {\n try {\n this.loadingDataSet = true;\n this.errorLoadingDataSet = false;\n const resp: any[] = await Promise.all([\n this.apiService.TrustTeamMemberApi?.apiV2TrustTeamMemberGetTrustTeamMembersPost(),\n this.apiService.ConfigTrustApi?.apiV2ConfigTrustGetInvestigationTypesPost(),\n this.apiService.TrustTeamMemberApi?.apiV2TrustTeamMemberGetSupervisorsGet(),\n this.loadInvestigations()\n ]);\n this.investigationTypes = resp[1].data.data as InvestigationTypeView[];\n this.investigators = orderBy(\n resp[0].data.data as TrustTeamMemberView[],\n [data => data.displayName.toLowerCase()],\n 'asc'\n );\n this.supervisorList =\n orderBy(\n resp[2].data.data as Supervisor[],\n [data => data.displayName.toLowerCase()],\n 'asc'\n );\n } catch (err) {\n this.errorLoadingDataSet = true;\n } finally {\n this.loadingDataSet = false;\n }\n }\n\n private assignInvestigator(i: InvestigationView): void {\n this.eventCtrl.emit('showAddEditInvestigationModal', i);\n }\n\n private applyFilter(): void {\n this.filterApplied = true;\n this.loadInvestigations();\n }\n\n private resetFilter(): void {\n this.filterApplied = false;\n this.advanceFilter = {\n trustTeamMemberId: null,\n supervisorId: null,\n investigationTypeId: null,\n timeFrame: 3\n };\n this.loadInvestigations();\n }\n\n\n private sortTableColumn(index: number, sortable: boolean) {\n if (sortable) {\n if (this.tableHeadings[index].sortable) {\n this.activeSortHeader = index;\n this.sortMethod = this.sortMethod === 'desc' ? 'asc' : 'desc';\n this.tableHeadings[index].sortMethod = this.sortMethod;\n if (this.investigationsDisplay.length > 0) {\n const nameSorter = index == 0 ? (c: any) => c.name.toLowerCase() : [this.tableHeadings[index].value, (c: any) => c.name.toLowerCase()];\n const orderByResults = orderBy(\n this.investigationsDisplay,\n nameSorter,\n [this.sortMethod as any]\n );\n this.investigationsDisplay = orderByResults;\n }\n }\n }\n }\n\n private appointmentsTippy(appointments: any[]): string {\n let _htmlString = '
';\n for (let i = 0; i < appointments.length; i++) {\n _htmlString += this.$formatDate(appointments[i].startDateTime) + '  ' + appointments[i].appointmentStatus.name + '
';\n }\n _htmlString += '
'\n return _htmlString;\n }\n\n private async exportDataCSV(i: InvestigationView): Promise {\n const headers: any[] = [\n 'Date',\n 'Start time',\n 'Finish time',\n 'Breaks',\n 'Hours',\n 'Notes'\n ];\n\n let bodyString = '';\n let headersString = '';\n let dataString = '';\n let totalTime = 0;\n\n headersString = headers.map((x: any) => escapeString(x)).join(',');\n headersString += '\\r\\n';\n\n try {\n const resp: any = await this.apiService.TimeEntryApi?.apiV2TimeEntryExportTimesheetDataByInvestigationIdInvestigationIdGet(i.id);\n const practice: any = resp.data.data.investigation?.latestPracticeLogData;\n\n bodyString += practice.branchId == null ? practice.name : practice.name + ' (' + practice.branchTradingName + ')';\n bodyString += '\\r\\n';\n bodyString += practice.branchId == null ? practice.firmId : practice.firmId + ' - ' + practice.branchId;\n bodyString += '\\r\\n\\r\\n';\n bodyString += escapeString('Investigation Dates Daily Time');\n bodyString += '\\r\\n\\r\\n';\n bodyString += headersString;\n\n resp.data.data.timeEntries.forEach((timeEntry: TimeEntryView) => {\n\n dataString += [\n escapeString(this.$formatDate(timeEntry.startDateTime)),\n escapeString(this.$formatDateTimeTypeC(timeEntry.startDateTime)),\n escapeString(this.$formatDateTimeTypeC(timeEntry.endDateTime)),\n escapeString(this.$calculateHoursMins(timeEntry.breakDuration)),\n escapeString(this.$calculateHoursMins(timeEntry.workHours)),\n escapeString(timeEntry.notes),\n ].join(',');\n\n totalTime += timeEntry.workHours;\n dataString += '\\r\\n';\n\n });\n bodyString += dataString;\n bodyString += '\\r\\n\\r\\n';\n bodyString += escapeString('Total Time') + ',,,,';\n bodyString += totalTime;\n bodyString += '\\r\\n';\n\n createCSV(\n (practice.branchId == null ? practice.name : practice.name + '_' + practice.branchTradingName) + '_Timesheet_Data',\n bodyString\n );\n\n } catch (err) {\n console.log(err);\n }\n }\n\n private async exportCostCSV(i: InvestigationView): Promise {\n const headers: any[] = [\n 'Date',\n 'Start time',\n 'Finish time',\n 'Breaks',\n 'Minutes',\n 'Notes',\n 'Hours Worked',\n 'Hours Charged',\n 'KM Traveled',\n 'Travel Allowance',\n 'Disbursements Inc GST',\n 'Disbursements Exc GST'\n ];\n\n let bodyString = '';\n let headersString = '';\n let dataString = '';\n let totalTime = 0;\n\n headersString = headers.map((x: any) => escapeString(x)).join(',');\n headersString += '\\r\\n';\n\n try {\n const resp: any = await this.apiService.TimeEntryApi?.apiV2TimeEntryExportTimesheetDataByInvestigationIdInvestigationIdGet(i.id);\n const practice: any = resp.data.data.investigation?.latestPracticeLogData;\n\n bodyString += practice.branchId == null ? practice.name : practice.name + ' (' + practice.branchTradingName + ')';\n bodyString += '\\r\\n';\n bodyString += practice.branchId == null ? practice.firmId : practice.firmId + ' - ' + practice.branchId;\n bodyString += '\\r\\n\\r\\n';\n bodyString += escapeString('Investigation Cost');\n bodyString += '\\r\\n\\r\\n';\n bodyString += headersString;\n\n resp.data.data.timeEntries.forEach((timeEntry: TimeEntryView) => {\n\n dataString += [\n escapeString(this.$formatDate(timeEntry.startDateTime)),\n escapeString(this.$formatDateTimeTypeC(timeEntry.startDateTime)),\n escapeString(this.$formatDateTimeTypeC(timeEntry.endDateTime)),\n escapeString(this.$calculateHoursMins(timeEntry.breakDuration)),\n timeEntry.workHours,\n escapeString(timeEntry.notes),\n escapeString(this.$calculateHoursMins(timeEntry.workHours)),\n ].join(',');\n\n totalTime += timeEntry.workHours;\n dataString += '\\r\\n';\n\n });\n bodyString += dataString;\n bodyString += '\\r\\n\\r\\n';\n bodyString += escapeString('Total Time') + ',,,,';\n bodyString += totalTime + ',,' + escapeString(this.$calculateHoursMins(totalTime));\n bodyString += '\\r\\n';\n\n createCSV(\n (practice.branchId == null ? practice.name : practice.name + '_' + practice.branchTradingName) + 'Timesheet_Cost',\n bodyString\n );\n\n } catch (err) {\n console.log(err);\n }\n }\n\n get isSuperAdmin(): boolean {\n return this.$accessPermitted(this.usrAcct.user.roles, [\n RoleType.TrustSuperAdmin\n ]);\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n get usrAcct(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n\n get RouteN(): typeof RouteN {\n return RouteN;\n }\n\n private cancelInvestigation(id: number) {\n this.investigationIdToBeCancelled = id;\n this.cancelInvestigationAlert = true;\n }\n\n private continueClicked() {\n this.apiService.InvestigationApi?.apiV2InvestigationCancelInvestigationPost({ id: this.investigationIdToBeCancelled })\n .then(res => {\n this.loadInvestigations();\n this.cancelInvestigationAlert = false;\n })\n .catch(err => {\n this.cancelInvestigationAlert = false;\n })\n }\n\n}\n\n","import { render } from \"./investigations-main.html?vue&type=template&id=14b7291c&scoped=true&ts=true&external\"\nimport script from \"./investigations-main.ts?vue&type=script&lang=ts&external\"\nexport * from \"./investigations-main.ts?vue&type=script&lang=ts&external\"\n\nimport \"./investigations-main.scss?vue&type=style&index=0&id=14b7291c&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-14b7291c\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3b29e378\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"calendar-main\" }\nconst _hoisted_2 = {\n key: 0,\n style: {\"height\":\"600px\"}\n}\nconst _hoisted_3 = {\n key: 0,\n class: \"loadingIndicator\"\n}\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_CalendarView = _resolveComponent(\"CalendarView\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (_ctx.eventData !== [])\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createVNode(_component_CalendarView, {\n eventData: _ctx.eventData,\n \"onUpdate:eventData\": _cache[2] || (_cache[2] = $event => ((_ctx.eventData) = $event)),\n viewSelector: true,\n todayButton: true,\n onEventItemClicked: _ctx.eventItemClicked,\n onUiDateTimeRangeChanged: _ctx.uiDateTimeRangeChanged,\n defaultView: \"M\",\n header: \"Calendar\"\n }, {\n buttons: _withCtx(() => [\n (_ctx.loadingEvents)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_3, [\n _createVNode(_component_LoadingIndicator, { showLoadingText: false })\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary mr-2\",\n onClick: _cache[0] || (_cache[0] = $event => (_ctx.addAppointment()))\n }, \"Schedule appointment\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n onClick: _cache[1] || (_cache[1] = $event => (_ctx.addTime()))\n }, \"Add time\")\n ]),\n _: 1\n }, 8, [\"eventData\", \"onEventItemClicked\", \"onUiDateTimeRangeChanged\"])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}","\nimport { Inject, Options, Vue } from \"vue-property-decorator\";\nimport CalendarView from \"@/shared/components/calendar-view/index.vue\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-admin-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-admin-app/store\";\nimport { EventView, TimeEntryActivity, TimeEntryView, TrustTeamMemberView } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { EventInput, ViewApi } from \"@fullcalendar/core\";\nimport { eventTransform } from \"@/shared/components/helpers\";\nimport LoadingIndicator from \"@/shared/components/loading-indicator/index.vue\";\nimport { EventForm } from \"@/trust-admin-app/components/add-event-modal/event-form\";\n\n@Options({\n components: {\n CalendarView,\n LoadingIndicator,\n }\n})\nexport default class CalendarMain extends Vue {\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Inject({ from: 'timeEntryActivity', default: [] })\n private timeEntryActivity!: TimeEntryActivity[];\n\n private ai = new AppInsights;\n\n private currentCalendarView: ViewApi = null as any;\n\n private loadingEvents = false;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n mounted(): void {\n this.eventCtrl.on('reload-events-data', this.getEvents);\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-events-data', this.getEvents);\n }\n\n private eventData: EventInput[] = [];\n\n private async getEvents(): Promise {\n try {\n this.loadingEvents = true;\n const resp: any = await this.apiService.CalendarApi?.apiV2CalendarGetEventsByTrustTeamMemberIdPost({\n trustTeamMemberId: this.selectedTrustTeamMember.id,\n startDate: new Date(this.currentCalendarView.activeStart),\n endDate: new Date(this.currentCalendarView.activeEnd),\n showMissingTime: true\n });\n // console.log(resp.data.data);\n this.eventData = [...eventTransform(resp.data.data)];\n } catch (error) {\n console.log(error);\n this.eventCtrl.emit('show-snackbar', 'error', error);\n this.ai.trackException('Error getting investigations: ' + error);\n } finally {\n this.loadingEvents = false;\n }\n }\n\n private addTime(): void {\n this.eventCtrl.emit('showAddEditEventModal', { eventTypeId: 1, trustTeamMemberId: this.selectedTrustTeamMember.id });\n }\n\n private addAppointment(): void {\n try {\n this.eventCtrl.emit('showAddEditEventModal', {\n eventTypeId: 1,\n activityType: this.timeEntryActivity.filter(x => x.id == 1)[0],\n trustTeamMemberId: this.selectedTrustTeamMember.id\n });\n } catch {\n this.eventCtrl.emit('showAddEditEventModal', {\n eventTypeId: 1,\n activityType: null,\n trustTeamMemberId: this.selectedTrustTeamMember.id\n });\n }\n }\n\n private async eventItemClicked(data: any): Promise {\n const eventItem: EventView = data.event.extendedProps.eventItem;\n try {\n const resp: any = await this.apiService.TimeEntryApi?.apiV2TimeEntryGetTimeEntryByIdTimeEntryIdGet(eventItem.id);\n const timeEntry: TimeEntryView = resp.data.data as TimeEntryView;\n if (eventItem.isEditable) {\n const eventFormData: EventForm = {\n id: timeEntry.id,\n eventTypeId: timeEntry.timeEntryType?.id ?? null,\n leaveTypeId: timeEntry.leaveType?.id ?? null,\n startDateTime: timeEntry.startDateTime,\n endDateTime: timeEntry.endDateTime,\n notes: timeEntry.notes ?? null,\n activityType: timeEntry.timeEntryActivity ?? null,\n investigation: timeEntry.investigation ?? null,\n breakDuration: timeEntry.breakDuration ?? null,\n trustTeamMemberId: timeEntry.trustTeamMember?.id ?? null,\n description: timeEntry.description ?? null,\n };\n this.eventCtrl.emit('showAddEditEventModal', eventFormData);\n }\n } catch (err) {\n console.log(err);\n }\n }\n \n\n private uiDateTimeRangeChanged(view: ViewApi): void {\n this.currentCalendarView = view;\n this.getEvents();\n }\n\n get selectedTrustTeamMember(): TrustTeamMemberView {\n return store.getters.getSelectedTrustTeamMember;\n }\n\n}","import { render } from \"./calendar-main.html?vue&type=template&id=3b29e378&scoped=true&ts=true&external\"\nimport script from \"./calendar-main.ts?vue&type=script&lang=ts&external\"\nexport * from \"./calendar-main.ts?vue&type=script&lang=ts&external\"\n\nimport \"./calendar-main.scss?vue&type=style&index=0&id=3b29e378&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3b29e378\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, createVNode as _createVNode, withCtx as _withCtx, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-242cd20a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"page-container\" }\nconst _hoisted_2 = { class: \"investigator-dashboard\" }\nconst _hoisted_3 = { class: \"side\" }\nconst _hoisted_4 = { class: \"side-heading\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", null, \"Investigator Details\", -1))\nconst _hoisted_6 = [\"disabled\"]\nconst _hoisted_7 = {\n key: 2,\n class: \"investigator-detail\"\n}\nconst _hoisted_8 = { class: \"investigator-details\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Name\", -1))\nconst _hoisted_10 = { class: \"investigator-details\" }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"E-mail\", -1))\nconst _hoisted_12 = { class: \"investigator-details\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Role\", -1))\nconst _hoisted_14 = { class: \"investigator-details\" }\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Security Groups\", -1))\nconst _hoisted_16 = { class: \"investigator-details\" }\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Supervisor\", -1))\nconst _hoisted_18 = { class: \"investigator-details\" }\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Charge amount\", -1))\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_21 = { class: \"overview\" }\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", null, \"Overview\", -1))\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h1\", null, \"Summary\", -1))\nconst _hoisted_24 = { class: \"summary-main mb-5\" }\nconst _hoisted_25 = { class: \"calendar mr-4\" }\nconst _hoisted_26 = { class: \"calendar-main\" }\nconst _hoisted_27 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-right\" })\n], -1))\nconst _hoisted_28 = { class: \"timesheet-entries\" }\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Latest timesheet entries\", -1))\nconst _hoisted_30 = { key: 0 }\nconst _hoisted_31 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_32 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-right\" })\n], -1))\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_DashboardStats = _resolveComponent(\"DashboardStats\")\n const _component_CalendarView = _resolveComponent(\"CalendarView\")\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"section\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"button\", {\n class: \"btn btn-outline dark sml\",\n disabled: _ctx.loadingInvestigatorDetails || _ctx.errorLoadingInvestigatorDetails,\n onClick: _cache[0] || (_cache[0] = $event => (_ctx.openAddEditMemberModal()))\n }, \" Edit \", 8, _hoisted_6)\n ]),\n (_ctx.loadingInvestigatorDetails)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, { key: 0 }))\n : (_ctx.errorLoadingInvestigatorDetails)\n ? (_openBlock(), _createBlock(_component_ErrorIndicator, { key: 1 }))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _hoisted_9,\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.investigatorDetails.displayName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _hoisted_11,\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.investigatorDetails.email), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _hoisted_13,\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.investigatorDetails.userGroup.name), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _hoisted_15,\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.investigatorDetails.securityGroups), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n _hoisted_17,\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.investigatorDetails.supervisor?.displayName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_18, [\n _hoisted_19,\n _createElementVNode(\"p\", null, \"$\" + _toDisplayString(_ctx.investigatorDetails.chargeAmount), 1)\n ])\n ])),\n _hoisted_20\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _hoisted_22,\n _hoisted_23,\n _createVNode(_component_DashboardStats, {\n investigatorDetails: _ctx.investigatorDetails,\n leaveScheduled: _ctx.leaveScheduled,\n onGoToInvestigations: _ctx.goToInvestigations\n }, null, 8, [\"investigatorDetails\", \"leaveScheduled\", \"onGoToInvestigations\"]),\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"section\", _hoisted_26, [\n _createVNode(_component_CalendarView, {\n eventData: _ctx.eventData,\n \"onUpdate:eventData\": _cache[1] || (_cache[1] = $event => ((_ctx.eventData) = $event)),\n viewSelector: true,\n todayButton: true,\n defaultView: \"W\",\n header: \"\",\n onUiDateTimeRangeChanged: _ctx.uiDateTimeRangeChanged\n }, {\n buttons: _withCtx(() => []),\n _: 1\n }, 8, [\"eventData\", \"onUiDateTimeRangeChanged\"]),\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml mt-3\",\n onClick: _cache[2] || (_cache[2] = (...args) => (_ctx.goToCalendar && _ctx.goToCalendar(...args)))\n }, [\n _createTextVNode(\" View calendar \"),\n _hoisted_27\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_28, [\n _hoisted_29,\n _createElementVNode(\"ul\", null, [\n (_ctx.timesheetEntries.length == 0)\n ? (_openBlock(), _createElementBlock(\"li\", _hoisted_30, \"No timesheet entries\"))\n : (_ctx.loadingTimeEntries)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, { key: 1 }))\n : (_ctx.errorLoadingTimeEntries)\n ? (_openBlock(), _createBlock(_component_ErrorIndicator, { key: 2 }))\n : (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.timesheetEntries, (e) => {\n return (_openBlock(), _createElementBlock(\"li\", null, [\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.getDuration(e.startDateTime, e.endDateTime)), 1),\n _createElementVNode(\"h4\", null, _toDisplayString(e.timeEntryType.description), 1),\n _hoisted_31\n ]))\n }), 256))\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: _cache[3] || (_cache[3] = (...args) => (_ctx.goToTimesheets && _ctx.goToTimesheets(...args)))\n }, [\n _createTextVNode(\" View timesheet \"),\n _hoisted_32\n ])\n ])\n ])\n ])\n ])\n ]))\n}","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"dashboard-stats\" }\nconst _hoisted_2 = { class: \"investigator-summary\" }\nconst _hoisted_3 = { class: \"summary-stats\" }\nconst _hoisted_4 = { class: \"stat\" }\nconst _hoisted_5 = { class: \"stat-top\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"fas fa-circle fa-lg yellow\"\n}\nconst _hoisted_7 = {\n key: 1,\n class: \"fal fa-exclamation-triangle fa-lg orange\"\n}\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"h4\", null, \"Total no of investigations\", -1)\nconst _hoisted_9 = { class: \"stat\" }\nconst _hoisted_10 = { class: \"stat-top\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"fas fa-circle fa-lg yellow\"\n}\nconst _hoisted_12 = {\n key: 1,\n class: \"fal fa-exclamation-triangle fa-lg orange\"\n}\nconst _hoisted_13 = /*#__PURE__*/_createElementVNode(\"h4\", null, \"Standard investigations\", -1)\nconst _hoisted_14 = { class: \"stat\" }\nconst _hoisted_15 = { class: \"stat-top\" }\nconst _hoisted_16 = {\n key: 0,\n class: \"fas fa-circle fa-lg yellow\"\n}\nconst _hoisted_17 = {\n key: 1,\n class: \"fal fa-exclamation-triangle fa-lg orange\"\n}\nconst _hoisted_18 = /*#__PURE__*/_createElementVNode(\"h4\", null, \"Cause driven investigations\", -1)\nconst _hoisted_19 = /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1)\nconst _hoisted_20 = { class: \"summary-right-side\" }\nconst _hoisted_21 = { key: 0 }\nconst _hoisted_22 = { key: 0 }\nconst _hoisted_23 = { key: 1 }\nconst _hoisted_24 = { key: 1 }\nconst _hoisted_25 = { key: 0 }\nconst _hoisted_26 = { key: 1 }\nconst _hoisted_27 = /*#__PURE__*/_createElementVNode(\"li\", null, \"Other quick notes\", -1)\nconst _hoisted_28 = /*#__PURE__*/_createElementVNode(\"span\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-right\" })\n], -1)\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n (_ctx.investigatorDetails.totalRoutines < 40 && _ctx.investigatorDetails.totalCauseDrivens < 3)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_6))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_7)),\n _createElementVNode(\"h2\", null, _toDisplayString(_ctx.investigatorDetails.totalInvestigations), 1)\n ]),\n _hoisted_8\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n (_ctx.investigatorDetails.totalRoutines < 40)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_11))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_12)),\n _createElementVNode(\"h2\", null, _toDisplayString(_ctx.investigatorDetails.totalRoutines), 1)\n ]),\n _hoisted_13\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, [\n (_ctx.investigatorDetails.totalCauseDrivens < 3)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_16))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_17)),\n _createElementVNode(\"h2\", null, _toDisplayString(_ctx.investigatorDetails.totalCauseDrivens), 1)\n ]),\n _hoisted_18\n ]),\n _hoisted_19\n ]),\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"ul\", null, [\n (!_ctx.isPortalOffline)\n ? (_openBlock(), _createElementBlock(\"li\", _hoisted_21, [\n (_ctx.leaveScheduled > 0)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_22, _toDisplayString(_ctx.leaveScheduled) + \" leave scheduled\", 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_23, \"No leave scheduled\"))\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.isPortalOffline)\n ? (_openBlock(), _createElementBlock(\"li\", _hoisted_24, [\n (_ctx.investigatorDetails.totalMissingTime > 0)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_25, _toDisplayString(_ctx.$calculateHours(_ctx.investigatorDetails.totalMissingTime)) + \" of overdue timesheets\", 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_26, \"Timesheet up to date\"))\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_27\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml mr-2\",\n onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.goToInvestigations && _ctx.goToInvestigations(...args)))\n }, [\n _createTextVNode(\" View investigations \"),\n _hoisted_28\n ])\n ])\n ])\n ]))\n}","import { Options, Vue } from 'vue-class-component';\nimport { Inject, Prop, Watch } from 'vue-property-decorator';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport TimesheetCalculationsMixin from '@/shared/mixins/timesheet-calculations';\nimport { AppInsights } from '@/trust-admin-app/appInsights';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport { Investigator } from './investigator';\n\n@Options({\n\tmixins: [FormatDateTimeMixin, TimesheetCalculationsMixin]\n})\nexport default class DashboardStats extends Vue {\n\tprivate ai = new AppInsights;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop()\n private investigatorDetails!: Investigator;\n\n @Prop() \n private leaveScheduled!: number;\n\n @Prop()\n private isPortalOffline!: boolean;\n\n private goToInvestigations(): void {\n this.$emit('goToInvestigations');\n }\n\t\n}\n","import { render } from \"./dashboard-stats.html?vue&type=template&id=72a76757&ts=true&external\"\nimport script from \"./dashboard-stats.ts?vue&type=script&lang=ts&external\"\nexport * from \"./dashboard-stats.ts?vue&type=script&lang=ts&external\"\n\nimport \"./dashboard-stats.scss?vue&type=style&index=0&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport { Options, Vue } from 'vue-class-component';\nimport { Inject, Prop } from 'vue-property-decorator';\nimport EditModal from './edit-modal/index.vue';\nimport { LeaveType, TimeEntryView, TrustTeamMemberView } from '@/shared/modules/typescript-trustapi-client/models';\nimport store from '@/trust-admin-app/store';\nimport { AppInsights } from '@/trust-admin-app/appInsights';\nimport { EventEmitter } from 'events';\nimport CalendarView from '@/shared/components/calendar-view/index.vue';\nimport { EventInput, ViewApi } from '@fullcalendar/core';\nimport moment from \"moment\";\nimport { orderBy } from 'lodash';\nimport { RouteN } from '@/trust-admin-app/constants/router-name';\nimport { eventTransform } from '@/shared/components/helpers';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport DashboardStats from '@/shared/components/dashboard-stats/index.vue';\nimport { RoleType } from '@/trust-admin-app/models/user';\nimport { AuthorizedUser } from '@/trust-admin-app/models/authorized-user';\n\n@Options({\n components: {\n LoadingIndicator,\n ErrorIndicator,\n CalendarView,\n DashboardStats\n },\n mixins: [FormatDateTimeMixin]\n})\nexport default class InvestigatorDashboard extends Vue {\n private ai = new AppInsights;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop() \n private investigatorId!: number;\n\n private currentCalendarView: ViewApi = null as any;\n\n private showEditModal = false;\n private validatingEntrance = false;\n\n private loadingInvestigatorDetails = true;\n private errorLoadingInvestigatorDetails = true;\n\n private loadingTimeEntries = true;\n private errorLoadingTimeEntries = true;\n\n private loadingEvents = false;\n\n private investigatorDetails: TrustTeamMemberView = {}\n\n private timesheetEntries: TimeEntryView[] = [];\n\n private eventData: EventInput[] = [];\n\n private leaveScheduled = 0;\n\n mounted(): void {\n this.loadData();\n this.eventCtrl.on('reload-investigator-dashboard', this.loadData);\n }\n\n private beforeUnmounted(): void {\n this.eventCtrl.removeListener('reload-investigator-dashboard', this.loadData);\n }\n\n private loadData(): void {\n this.getInvestigatorDetails();\n this.getTimeEntries();\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private getInvestigatorDetails(): void {\n this.apiService.TrustTeamMemberApi?.apiV2TrustTeamMemberGetTrustTeamMemberByIdMemberIdGet(this.selectedTrustTeamMember.id)\n .then(res => {\n // console.log(res.data.data);\n this.loadingInvestigatorDetails = false;\n this.errorLoadingInvestigatorDetails = false;\n this.investigatorDetails = res.data.data;\n store.dispatch('setSelectedTrustTeamMember', this.investigatorDetails);\n })\n .catch(error => {\n this.loadingInvestigatorDetails = false;\n this.errorLoadingInvestigatorDetails = true\n this.eventCtrl.emit('show-snackbar', 'error', error.message);\n this.ai.trackException('Error getting investigator: ' + error);\n });\n }\n\n private getTimeEntries(): void {\n this.apiService.TimeEntryApi?.apiV2TimeEntryGetTimeEntriesByTrustTeamMemberIdPost({\n trustTeamMemberId: this.selectedTrustTeamMember.id,\n startDate: new Date('2022-01-01'),\n endDate: new Date('2099-01-01'),\n showMissingTime: false\n })\n .then(res => {\n this.loadingTimeEntries = false;\n this.errorLoadingTimeEntries = false;\n this.leaveScheduled = res.data.data.length;\n this.timesheetEntries = res.data.data.filter((d: { id: number; }) => {\n return d.id !== 0;\n }).slice(-5);\n this.timesheetEntries = orderBy(\n this.timesheetEntries,\n 'startDateTime',\n 'desc'\n );\n })\n .catch(error => {\n this.loadingTimeEntries = false\n this.errorLoadingTimeEntries = true\n this.eventCtrl.emit('show-snackbar', 'error', error);\n this.ai.trackException('Error getting investigator timesheet entries: ' + error);\n });\n }\n\n private async getEvents(view: ViewApi): Promise {\n try {\n this.loadingEvents = true;\n const resp: any = await this.apiService.CalendarApi?.apiV2CalendarGetEventsByTrustTeamMemberIdPost({\n trustTeamMemberId: this.selectedTrustTeamMember.id,\n startDate: new Date(view.activeStart),\n endDate: new Date(view.activeEnd),\n showMissingTime: true\n });\n this.eventData = [...eventTransform(resp.data.data)];\n } catch (error) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to get time events');\n this.ai.trackException('Error getting investigations: ' + error);\n } finally {\n this.loadingEvents = false;\n }\n }\n\n private uiDateTimeRangeChanged(view: ViewApi): void {\n this.currentCalendarView = view;\n this.getEvents(view);\n }\n\n private openAddEditMemberModal(): void {\n this.eventCtrl.emit('showAddEditMemberModal', this.selectedTrustTeamMember);\n }\n\n private goToCalendar(): void {\n this.$router.push({ name: RouteN.TA.InvestigatorCalendar.n, query: {memberId: this.investigatorDetails.id} });\n }\n\n private goToTimesheets(): void {\n this.$router.push({ name: RouteN.TA.InvestigatorTimesheets.n, query: {memberId: this.investigatorDetails.id} });\n }\n\n private goToInvestigations(): void {\n this.$router.push({ name: RouteN.TA.InvestigatorInvestigations.n, query: {memberId: this.investigatorDetails.id} });\n }\n\n private getDuration(start: Date, end: Date): string {\n return moment(start).format('DD/MM/YYYY HH:mm') + ' - ' + moment(end).format('DD/MM/YYYY HH:mm')\n }\n\n get usrAcct(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n\n get showAddUserButton(): boolean {\n return this.$accessPermitted(this.usrAcct.user.roles, [\n RoleType.TrustAdmin,\n RoleType.TrustManager,\n RoleType.TrustSuperAdmin\n ]);\n }\n get selectedTrustTeamMember(): TrustTeamMemberView {\n return store.getters.getSelectedTrustTeamMember;\n }\n\n}","import { render } from \"./investigator-dashboard.html?vue&type=template&id=242cd20a&scoped=true&ts=true&external\"\nimport script from \"./investigator-dashboard.ts?vue&type=script&lang=ts&external\"\nexport * from \"./investigator-dashboard.ts?vue&type=script&lang=ts&external\"\n\nimport \"./investigator-dashboard.scss?vue&type=style&index=0&id=242cd20a&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-242cd20a\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nexport function render(_ctx, _cache) {\n const _component_LoadingSpinner = _resolveComponent(\"LoadingSpinner\")\n const _component_router_view = _resolveComponent(\"router-view\")\n\n return (_ctx.validatingEntrance)\n ? (_openBlock(), _createBlock(_component_LoadingSpinner, { key: 0 }))\n : (_openBlock(), _createBlock(_component_router_view, { key: 1 }))\n}","import { Options, Vue } from 'vue-class-component';\nimport { AuthorizedUser } from '@/trust-admin-app/models/authorized-user';\nimport store from '@/trust-admin-app/store';\nimport { TrustTeamMemberView } from '@/shared/modules/typescript-trustapi-client/models';\nimport { Inject } from 'vue-property-decorator';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport LoadingSpinner from '@/shared/components/loading-spinner/index.vue';\nimport { RouteN } from '@/trust-admin-app/constants/router-name';\nimport { AppInsights } from '@/trust-admin-app/appInsights';\nimport { EventEmitter } from 'events';\nimport { RoleType } from '@/trust-admin-app/models/user';\n@Options({\n components: {\n LoadingSpinner\n }\n})\nexport default class InvestigatorMain extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private validatingEntrance = false;\n private ai = new AppInsights;\n\n created(): void {\n this.validateEntrance();\n }\n\n beforeUnmount(): void {\n store.dispatch('setSelectedTrustTeamMember', {});\n }\n\n private async validateEntrance(): Promise {\n this.validatingEntrance = true;\n const trustMemberId: number = parseInt(this.$route.query.memberId as string, 10);\n try {\n if (!this.$route.query.memberId) {\n throw new Error('No Trust Member selected');\n } else if (this.selectedTrustTeamMember.id === trustMemberId) {\n this.validatingEntrance = false;\n } else if (this.selectedTrustTeamMember.id !== trustMemberId) {\n const resp: any =\n await this.apiService.TrustTeamMemberApi?.apiV2TrustTeamMemberGetTrustTeamMemberByIdMemberIdGet(\n trustMemberId\n );\n \n if(resp.data.data || resp.data.data?.id > 0) {\n store.dispatch('setSelectedTrustTeamMember', resp.data.data as TrustTeamMemberView);\n this.validatingEntrance = false;\n } else {\n throw new Error('Invalid Trust Member');\n }\n }\n\n if (this.selectedTrustTeamMember.userGroup.name == RoleType.TrustSuperAdmin) {\n throw new Error('Not Valid Trust Member');\n }\n } catch (err: any) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Invalid Trust Member');\n this.ai.trackException('Error loading page: ' + 'Invalid Trust Member');\n this.$router.push({ name: RouteN.TA.Home.n});\n } finally {\n this.validatingEntrance = false;\n }\n }\n\n\n get usrAcct(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n\n get selectedTrustTeamMember(): TrustTeamMemberView {\n return store.getters.getSelectedTrustTeamMember;\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n}\n\n","import { render } from \"./investigator-main.html?vue&type=template&id=4d5d02c2&scoped=true&ts=true&external\"\nimport script from \"./investigator-main.ts?vue&type=script&lang=ts&external\"\nexport * from \"./investigator-main.ts?vue&type=script&lang=ts&external\"\n\nimport \"./investigator-main.scss?vue&type=style&index=0&id=4d5d02c2&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4d5d02c2\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, vModelCheckbox as _vModelCheckbox, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, resolveDirective as _resolveDirective, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-e32e5b1c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"investigator-investigations\" }\nconst _hoisted_2 = { class: \"section-heading\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Investigations\", -1))\nconst _hoisted_4 = { class: \"search\" }\nconst _hoisted_5 = { class: \"search-inputs\" }\nconst _hoisted_6 = { class: \"search-bar\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-hm\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-search fa-lg\" })\n], -1))\nconst _hoisted_8 = { class: \"checkbox-button\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Show active only\")\n], -1))\nconst _hoisted_10 = { class: \"checkbox-button\" }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Cause driven only\")\n], -1))\nconst _hoisted_12 = { class: \"checkbox-button\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Reply required\")\n], -1))\nconst _hoisted_14 = { class: \"checkbox-button\" }\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Show Training only\")\n], -1))\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"pre\", null, \" \", -1))\nconst _hoisted_17 = {\n class: \"bottom-half\",\n style: {\"width\":\"100%\",\"overflow\":\"auto\"}\n}\nconst _hoisted_18 = { class: \"ls-table\" }\nconst _hoisted_19 = [\"onClick\"]\nconst _hoisted_20 = { class: \"text\" }\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-up\" }, null, -1))\nconst _hoisted_22 = [\n _hoisted_21\n]\nconst _hoisted_23 = { key: 0 }\nconst _hoisted_24 = [\"colspan\"]\nconst _hoisted_25 = { key: 1 }\nconst _hoisted_26 = [\"colspan\"]\nconst _hoisted_27 = { key: 2 }\nconst _hoisted_28 = [\"colspan\"]\nconst _hoisted_29 = { \"data-label\": \"Practice name\" }\nconst _hoisted_30 = { \"data-label\": \"Practice ID\" }\nconst _hoisted_31 = { \"data-label\": \"Date of Investigation\" }\nconst _hoisted_32 = { \"data-label\": \"Investigation type\" }\nconst _hoisted_33 = { \"data-label\": \"Appointment status\" }\nconst _hoisted_34 = {\n key: 0,\n class: \"fal fa-info-circle pa-1\"\n}\nconst _hoisted_35 = { \"data-label\": \"Reply required\" }\nconst _hoisted_36 = { \"data-label\": \"Status\" }\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _directive_tippy = _resolveDirective(\"tippy\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n placeholder: \"Search practice name or ID\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.searchKeyword) = $event))\n }, null, 512), [\n [_vModelText, _ctx.searchKeyword]\n ]),\n _hoisted_7\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.showActiveStatus) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.showActiveStatus]\n ]),\n _hoisted_9\n ]),\n _createElementVNode(\"label\", _hoisted_10, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.showCauseDrivenOnly) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.showCauseDrivenOnly]\n ]),\n _hoisted_11\n ]),\n _createElementVNode(\"label\", _hoisted_12, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => ((_ctx.isReplyRequired) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.isReplyRequired]\n ]),\n _hoisted_13\n ]),\n _createElementVNode(\"label\", _hoisted_14, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.showTrainingStatus) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.showTrainingStatus]\n ]),\n _hoisted_15\n ])\n ])\n ])\n ]),\n _hoisted_16,\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"table\", _hoisted_18, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", {\n class: _normalizeClass([ h.sortable ? 'sortable' : '']),\n onClick: $event => (_ctx.sortTableColumn(index, h.sortable))\n }, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(h.text), 1),\n (h.sortable)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([ _ctx.activeSortHeader === index ? 'active' : '', _ctx.sortMethod])\n }, _hoisted_22, 2))\n : _createCommentVNode(\"\", true)\n ])\n ], 10, _hoisted_19))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_23, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_24)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_25, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_26)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.investigationsData.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_27, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, \"No Records\", 8, _hoisted_28)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.investigationsDisplay.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.investigationsDisplay, (i) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_29, _toDisplayString(i.latestPracticeLogData.branchId == null ? i.latestPracticeLogData.name :\n i.latestPracticeLogData.name + ' (' + i.latestPracticeLogData.tradingName + ')'), 1),\n _createElementVNode(\"td\", _hoisted_30, _toDisplayString(i.latestPracticeLogData.branchId == null ? i.latestPracticeLogData.firmId\n : i.latestPracticeLogData.firmId + ' - ' + i.latestPracticeLogData.branchId), 1),\n _createElementVNode(\"td\", _hoisted_31, _toDisplayString(_ctx.formatDate(i.commencementDate)), 1),\n _createElementVNode(\"td\", _hoisted_32, _toDisplayString(i.investigationTypeName), 1),\n _createElementVNode(\"td\", _hoisted_33, [\n _createTextVNode(_toDisplayString(i.appointmentStatus) + \" \", 1),\n (i.appointments.length > 1)\n ? _withDirectives((_openBlock(), _createElementBlock(\"i\", _hoisted_34, null, 512)), [\n [_directive_tippy, {content: _ctx.appointmentsTippy(i.appointments)}]\n ])\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"td\", _hoisted_35, _toDisplayString(i.isReplyRequired ? 'Yes' : ''), 1),\n _createElementVNode(\"td\", _hoisted_36, _toDisplayString(i.statusName), 1)\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ]))\n}","import { Options, Vue } from 'vue-class-component';\nimport { AuthorizedUser } from '@/trust-admin-app/models/authorized-user';\nimport store from '@/trust-admin-app/store';\nimport { Inject, Watch } from 'vue-property-decorator';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { debounce, orderBy } from 'lodash';\nimport { EventEmitter } from \"events\";\nimport { AppInsights } from \"@/trust-admin-app/appInsights\";\nimport { InvestigationFilterRequest, InvestigationView, TrustTeamMemberView } from '@/shared/modules/typescript-trustapi-client/models';\nimport moment from 'moment';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\n\n@Options({\n components: {\n LoadingIndicator,\n ErrorIndicator,\n },\n mixins: [FormatDateTimeMixin]\n})\nexport default class investigatorInvestigations extends Vue {\n private ai = new AppInsights;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private searchKeyword = '';\n private showActiveStatus = false;\n private showTrainingStatus = false;\n private showCauseDrivenOnly = false;\n private isReplyRequired = false;\n private sortMethod = 'desc';\n private activeSortHeader = 1;\n\n private tableHeadings = [\n { text: 'Practice (Trading name)', value: 'name', sortable: true, sortMethod: 'acs' },\n { text: 'Branch ID', value: 'practiceBranchId', sortable: true, sortMethod: 'acs' },\n { text: 'Commencement date', value: 'commencementDate', sortable: true, sortMethod: 'desc' },\n { text: 'Investigation type', value: 'investigationTypeName', sortable: true, sortMethod: 'acs' },\n { text: 'Appointment status', value: 'appointmentStatus', sortable: true, sortMethod: 'acs' },\n { text: 'Reply required', value: 'xxx', sortable: true, sortMethod: 'acs' },\n { text: 'Status', value: 'statusName', sortable: true, sortMethod: 'acs' },\n ]\n\n private investigationsData: InvestigationView[] = [];\n private investigationsDisplay: any[] = [];\n\n private investigator: InvestigationView = {};\n\n private loadingContent = false;\n private errorLoadingContent = false;\n private loadingDataSet = false;\n private errorLoadingDataSet = false;\n private showAdvancedFilter = false;\n\n private srchDebounced: any = null;\n\n @Watch('searchKeyword')\n private onKeywordChange(): void {\n setTimeout(this.srchDebounced.cancel, 0);\n setTimeout(this.srchDebounced, 0);\n }\n\n @Watch('showActiveStatus')\n private onShowActiveOnlyChanged(): void {\n this.loadInvestigations();\n }\n\n @Watch('showTrainingStatus')\n private onShowTrainingStatusChanged(): void {\n this.loadInvestigations();\n }\n\n @Watch('showCauseDrivenOnly')\n private onShowCauseDrivenOnlyChanged(): void {\n this.loadInvestigations();\n }\n\n @Watch('isReplyRequired')\n private onIsReplyRequiredChanged(): void {\n this.loadInvestigations();\n }\n\n @Watch('noInvestigatorAssigned')\n private onNoInvestigatorAssignedChanged(): void {\n this.loadInvestigations();\n }\n\n private sortTableColumn(index: number, sortable: boolean) {\n if (sortable) {\n if (this.tableHeadings[index].sortable) {\n this.activeSortHeader = index;\n this.sortMethod = this.sortMethod === 'desc' ? 'asc' : 'desc';\n this.tableHeadings[index].sortMethod = this.sortMethod;\n if (this.investigationsDisplay.length > 0) {\n const nameSorter = index == 0 ? (c: any) => c.name.toLowerCase() : [this.tableHeadings[index].value, (c: any) => c.name.toLowerCase()];\n const orderByResults = orderBy(\n this.investigationsDisplay,\n nameSorter,\n [this.sortMethod as any]\n );\n this.investigationsDisplay = orderByResults;\n }\n }\n }\n }\n\n created(): void {\n this.preloadData();\n }\n\n mounted(): void {\n this.eventCtrl.on('reload-investigation-data', this.loadInvestigations);\n this.srchDebounced = debounce(() => {\n this.loadInvestigations();\n }, 1000);\n }\n\n private async preloadData(): Promise {\n try {\n const _memberId: any = parseInt(this.$route.query.memberId as string, 10) || '';\n this.loadingContent = true;\n this.errorLoadingDataSet = false;\n const resp: any[] = await Promise.all([\n this.apiService.TrustTeamMemberApi?.apiV2TrustTeamMemberGetTrustTeamMemberByIdMemberIdGet(_memberId)\n ]);\n this.investigator = resp[0].data.data;\n if (this.investigator.id) {\n await this.loadInvestigations();\n this.loadingContent = false;\n }\n } catch (err) {\n this.errorLoadingDataSet = true;\n this.loadingContent = false;\n } finally {\n this.loadingContent = false;\n }\n }\n\n private async loadInvestigations() {\n try {\n this.loadingContent = true;\n this.errorLoadingContent = false;\n const request: InvestigationFilterRequest = {\n \"trustTeamMemberId\": this.investigator.id,\n \"keyword\": this.searchKeyword,\n \"showActiveStatus\": this.showActiveStatus,\n \"showTrainingStatus\": this.showTrainingStatus,\n \"investigationCategoryId\": this.showCauseDrivenOnly ? 2 : null,\n \"isReplyRequired\": this.isReplyRequired,\n };\n\n const resp: any =\n await this.apiService.InvestigationApi?.apiV2InvestigationGetInvestigationsByTrustTeamMemberIdPost(\n request\n );\n\n this.investigationsData = resp.data.data as InvestigationView[];\n this.investigationsData = orderBy(this.investigationsData, ['commencementDate'], 'desc');\n\n this.investigationsDisplay = [...this.investigationsData];\n\n // convert to display table\n for (let i = 0; i < this.investigationsData.length; i++) {\n this.investigationsDisplay[i].name = this.investigationsData[i].latestPracticeLogData.branchId ?\n this.investigationsData[i].latestPracticeLogData.name + ' (' + this.investigationsData[i].latestPracticeLogData.tradingName + ')' :\n this.investigationsData[i].latestPracticeLogData.name;\n\n this.investigationsDisplay[i].practiceBranchId = this.investigationsData[i].latestPracticeLogData.branchId ?\n this.investigationsData[i].latestPracticeLogData.firmId + ' - ' + this.investigationsData[i].latestPracticeLogData.branchId :\n this.investigationsData[i].latestPracticeLogData.firmId.toString();\n this.investigationsDisplay[i].investigationTypeName = this.investigationsData[i].investigationType?.name + ' (' + this.investigationsData[i].investigationCategory?.abbreviation + ')';\n this.investigationsDisplay[i].appointmentStatus = this.investigationsData[i].appointments[0].appointmentStatus.name;\n\n this.investigationsDisplay[i].statusName = this.investigationsData[i].investigationStatus.name;\n }\n // sort by Commencement date in desc order\n this.sortMethod = 'desc';\n this.activeSortHeader = 2;\n\n return Promise.resolve(false);\n } catch (err) {\n this.ai.trackException('Error getting investigations: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', err);\n this.errorLoadingContent = true;\n this.loadingContent = false;\n return Promise.reject(true);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private formatDate(isoStr: string): string {\n return moment(isoStr).format('DD/MM/YYYY');\n }\n\n private appointmentsTippy(appointments: any[]): string {\n let _htmlString = '
';\n for (let i = 0; i < appointments.length; i++) {\n _htmlString += this.$formatDate(appointments[i].startDateTime) + '  ' + appointments[i].appointmentStatus.name + '
';\n }\n _htmlString += '
'\n return _htmlString;\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n get selectedTrustTeamMember(): TrustTeamMemberView {\n return store.getters.getSelectedTrustTeamMember;\n }\n\n}\n\n","import { render } from \"./investigator-investigations.html?vue&type=template&id=e32e5b1c&scoped=true&ts=true&external\"\nimport script from \"./investigator-investigations.ts?vue&type=script&lang=ts&external\"\nexport * from \"./investigator-investigations.ts?vue&type=script&lang=ts&external\"\n\nimport \"./investigator-investigations.scss?vue&type=style&index=0&id=e32e5b1c&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-e32e5b1c\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, vShow as _vShow, withDirectives as _withDirectives, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-36598d92\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"timesheet-main\" }\nconst _hoisted_2 = { class: \"section-heading\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Timesheet\", -1))\nconst _hoisted_4 = { style: {\"display\":\"flex\",\"justify-content\":\"space-between\"} }\nconst _hoisted_5 = {\n key: 0,\n class: \"bottom-half\",\n style: {\"width\":\"100%\",\"overflow\":\"auto\"}\n}\nconst _hoisted_6 = { class: \"approval-list-items\" }\nconst _hoisted_7 = { class: \"approval-list-heading\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Timesheet approval\", -1))\nconst _hoisted_9 = {\n key: 0,\n class: \"fal fa-exclamation-triangle fa-lg mr-2\"\n}\nconst _hoisted_10 = { class: \"hide-button\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"fal fa-angle-up\"\n}\nconst _hoisted_12 = {\n key: 1,\n class: \"fal fa-angle-down\"\n}\nconst _hoisted_13 = { class: \"timesheet-approval-table\" }\nconst _hoisted_14 = { class: \"ls-table\" }\nconst _hoisted_15 = { key: 0 }\nconst _hoisted_16 = [\"colspan\"]\nconst _hoisted_17 = { key: 1 }\nconst _hoisted_18 = [\"colspan\"]\nconst _hoisted_19 = { key: 2 }\nconst _hoisted_20 = [\"colspan\"]\nconst _hoisted_21 = { key: 3 }\nconst _hoisted_22 = { \"data-label\": \"Duration\" }\nconst _hoisted_23 = { \"data-label\": \"Complete time\" }\nconst _hoisted_24 = { \"data-label\": \"Missing time\" }\nconst _hoisted_25 = { \"data-label\": \"Annual/Personal Leave\" }\nconst _hoisted_26 = { \"data-label\": \"Public holidays\" }\nconst _hoisted_27 = {\n key: 0,\n \"data-label\": \"Actions\"\n}\nconst _hoisted_28 = { class: \"timesheet-table mt-2\" }\nconst _hoisted_29 = { class: \"ls-table\" }\nconst _hoisted_30 = { key: 0 }\nconst _hoisted_31 = [\"colspan\"]\nconst _hoisted_32 = { key: 1 }\nconst _hoisted_33 = [\"colspan\"]\nconst _hoisted_34 = { key: 2 }\nconst _hoisted_35 = [\"colspan\"]\nconst _hoisted_36 = { \"data-label\": \"Date\" }\nconst _hoisted_37 = { key: 0 }\nconst _hoisted_38 = { key: 1 }\nconst _hoisted_39 = { \"data-label\": \"Name\" }\nconst _hoisted_40 = { \"data-label\": \"Details\" }\nconst _hoisted_41 = { \"data-label\": \"Firm name\" }\nconst _hoisted_42 = { \"data-label\": \"Reference\" }\nconst _hoisted_43 = { \"data-label\": \"Break\" }\nconst _hoisted_44 = { \"data-label\": \"Work hours\" }\nconst _hoisted_45 = { \"data-label\": \"Actions\" }\nconst _hoisted_46 = [\"onClick\"]\nconst _hoisted_47 = [\"onClick\"]\n\nexport function render(_ctx, _cache) {\n const _component_DateController = _resolveComponent(\"DateController\")\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_component_DateController, {\n style: {\"min-width\":\"550px\"},\n onGetTimePeriod: _ctx.getTimePeriod,\n onPrev: _ctx.prev,\n onNext: _ctx.next,\n onToday: _ctx.today,\n onUpdate: _ctx.updateDisplay\n }, null, 8, [\"onGetTimePeriod\", \"onPrev\", \"onNext\", \"onToday\", \"onUpdate\"]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"button\", {\n class: \"btn btn-primary mr-2\",\n onClick: _cache[0] || (_cache[0] = $event => (_ctx.exportTimeSheet()))\n }, \"Export\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n onClick: _cache[1] || (_cache[1] = $event => (_ctx.addEntry()))\n }, \"Add time\")\n ])\n ])\n ]),\n (!_ctx.loadingTimesheetApprovals && !_ctx.errorLoadingTimesheetApprovals)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"approval-list\", _ctx.timesheetApproved(_ctx.timesheetApproval) ? 'timesheet-approved' : 'timesheet-not-approved'])\n }, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _hoisted_8,\n _createElementVNode(\"span\", null, [\n (!_ctx.timesheetApproved(_ctx.timesheetApproval))\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_9))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"h4\", null, _toDisplayString(_ctx.timesheetApproved(_ctx.timesheetApproval) ? \"All timesheets approved\"\n : \"Pending approval\"), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml mr-2\",\n onClick: _cache[2] || (_cache[2] = (...args) => (_ctx.showHideTSApproval && _ctx.showHideTSApproval(...args)))\n }, [\n _createElementVNode(\"span\", null, [\n _createTextVNode(_toDisplayString(_ctx.showTimesheetApproval ? 'Hide' : 'Show'), 1),\n (_ctx.showTimesheetApproval)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_11))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_12))\n ])\n ])\n ])\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"table\", _hoisted_14, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.timesheetApprovalHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", null, [\n _createElementVNode(\"p\", null, _toDisplayString(h.text), 1)\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingTimesheetApprovals)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_15, [\n _createElementVNode(\"td\", {\n colspan: _ctx.timesheetApprovalHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_16)\n ]))\n : (_ctx.errorLoadingTimesheetApprovals)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_17, [\n _createElementVNode(\"td\", {\n colspan: _ctx.timesheetApprovalHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_18)\n ]))\n : (!_ctx.loadingTimesheetApprovals && !_ctx.errorLoadingTimesheetApprovals && _ctx.timesheetApproval.missingTime === null)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_19, [\n _createElementVNode(\"td\", {\n colspan: _ctx.timesheetApprovalHeadings.length\n }, \"No Records\", 8, _hoisted_20)\n ]))\n : (!_ctx.loadingTimesheetApprovals && !_ctx.errorLoadingTimesheetApprovals)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_21, [\n _createElementVNode(\"td\", _hoisted_22, _toDisplayString(_ctx.timesheetApproval.duration), 1),\n _createElementVNode(\"td\", _hoisted_23, _toDisplayString(_ctx.$calculateHours(_ctx.timesheetApproval.completeTime)), 1),\n _createElementVNode(\"td\", _hoisted_24, _toDisplayString(_ctx.$calculateHours(_ctx.timesheetApproval.missingTime)), 1),\n _createElementVNode(\"td\", _hoisted_25, _toDisplayString(_ctx.$calculateHours(_ctx.timesheetApproval.annualLeaveTime +\n _ctx.timesheetApproval.personalLeaveTime)), 1),\n _createElementVNode(\"td\", _hoisted_26, _toDisplayString(_ctx.$calculateHours(_ctx.timesheetApproval.publicHolidayTime)), 1),\n (_ctx.timesheetApproval.timesheetStatus.id === 2)\n ? (_openBlock(), _createElementBlock(\"td\", _hoisted_27, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml ma-1\",\n onClick: _cache[3] || (_cache[3] = (...args) => (_ctx.approveTimeEntries && _ctx.approveTimeEntries(...args)))\n }, \" Approve \")\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ], 512), [\n [_vShow, _ctx.showTimesheetApproval]\n ])\n ], 2),\n _createElementVNode(\"div\", _hoisted_28, [\n _createElementVNode(\"table\", _hoisted_29, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.timesheetEntryHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", null, [\n _createElementVNode(\"p\", null, _toDisplayString(h.text), 1)\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingTimeEntries)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_30, [\n _createElementVNode(\"td\", {\n colspan: _ctx.timesheetEntryHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_31)\n ]))\n : (_ctx.errorLoadingTimeEntries)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_32, [\n _createElementVNode(\"td\", {\n colspan: _ctx.timesheetEntryHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_33)\n ]))\n : (!_ctx.loadingTimeEntries && !_ctx.errorLoadingTimeEntries && _ctx.timesheetEntries?.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_34, [\n _createElementVNode(\"td\", {\n colspan: _ctx.timesheetEntryHeadings.length\n }, \"No Records\", 8, _hoisted_35)\n ]))\n : (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.timesheetEntries, (t) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n class: _normalizeClass(t.id == 0 ? 'missing-entry' : '')\n }, [\n _createElementVNode(\"td\", _hoisted_36, [\n (t.id == 0)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_37, _toDisplayString(_ctx.$formatDate(t.startDateTime)) + \" (\" + _toDisplayString(_ctx.$calculateHours(t.missingTime)) + \" missing)\", 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_38, _toDisplayString(_ctx.$formatDateTimeTypeA(t.startDateTime)) + \" - \" + _toDisplayString(_ctx.$formatDateTimeTypeA(t.endDateTime)), 1))\n ]),\n _createElementVNode(\"td\", _hoisted_39, _toDisplayString(t.id == 0 ? '' : _ctx.$getTimeEntryTypeName(t.timeEntryType.id, _ctx.timeEntryType)), 1),\n _createElementVNode(\"td\", _hoisted_40, _toDisplayString(t.id == 0 ? '' : _ctx.$getDetails(t)), 1),\n _createElementVNode(\"td\", _hoisted_41, _toDisplayString(t.id == 0 ? '' : _ctx.$getFirmName(t)), 1),\n _createElementVNode(\"td\", _hoisted_42, _toDisplayString(t.id == 0 ? '' : _ctx.$getReference(t)), 1),\n _createElementVNode(\"td\", _hoisted_43, _toDisplayString(_ctx.$getBreakHours(t)), 1),\n _createElementVNode(\"td\", _hoisted_44, _toDisplayString(_ctx.$getWorkHours(t)), 1),\n _createElementVNode(\"td\", _hoisted_45, [\n (t.id !== 0)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn btn-default sml ma-1\",\n onClick: $event => (_ctx.addEditTimesheet(t))\n }, \" Edit \", 8, _hoisted_46))\n : (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-default sml ma-1\",\n onClick: $event => (_ctx.addEditTimesheet(t))\n }, \" Add entry \", 8, _hoisted_47))\n ])\n ], 2))\n }), 256))\n ])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { Options, Vue } from 'vue-class-component';\nimport store from '@/trust-admin-app/store';\nimport moment, { Duration } from 'moment';\nimport { Inject } from 'vue-property-decorator';\nimport { EventEmitter } from 'events';\nimport { PracticeView, TimeEntryApprovalView, TimeEntryType, TimeEntryView, TrustTeamMemberView } from '@/shared/modules/typescript-trustapi-client/models';\nimport { AppInsights } from '@/trust-admin-app/appInsights';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport TimesheetCalculationsMixin from '@/shared/mixins/timesheet-calculations';\nimport { orderBy } from 'lodash';\nimport TimesheetHeader from '@/shared/components/timesheet-header/index.vue';\nimport { EventForm } from '@/trust-admin-app/components/add-event-modal/event-form';\nimport { createCSV, escapeString } from '@/shared/components/helpers';\nimport DateController from '@/shared/components/date-controller/index.vue';\n\n@Options({\n components: {\n LoadingIndicator,\n ErrorIndicator,\n TimesheetHeader,\n DateController,\n },\n mixins: [FormatDateTimeMixin, TimesheetCalculationsMixin]\n})\nexport default class InvestigatorTimesheets extends Vue {\n private ai = new AppInsights;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Inject({ from: 'timeEntryType', default: [] })\n private timeEntryType!: TimeEntryType[];\n\n private timesheetApprovalHeadings = [\n { text: 'Duration', value: 'duration', sortable: false },\n { text: 'Complete time', value: 'completeTime', sortable: false },\n { text: 'Missing time', value: 'missingTime', sortable: false },\n { text: 'Annual/Personal Leave', value: 'leave', sortable: false },\n { text: 'Public holidays', value: 'publicHolidays', sortable: false },\n ]\n\n private timesheetEntryHeadings = [\n { text: 'Date', value: 'date', sortable: false },\n { text: 'Name', value: 'name', sortable: false },\n { text: 'Details', value: 'details', sortable: false },\n { text: 'Firm name', value: 'firmName', sortable: false },\n { text: 'Reference', value: 'reference', sortable: false },\n { text: 'Break', value: 'break', sortable: false },\n { text: 'Work hours', value: 'workHours', sortable: false },\n { text: 'Actions', value: 'actions', sortable: false },\n ]\n\n private showTimesheetApproval = true;\n\n private loadingTimeEntries = true;\n private errorLoadingTimeEntries = true;\n\n private loadingTimesheetApprovals = true;\n private errorLoadingTimesheetApprovals = true;\n\n private currentDate = moment(new Date);\n private currentDateDisplay = moment(new Date).format('MMMM YYYY');\n private calendarView = '3'; // monthly view by default; 1: day, 2: week, 3: month\n\tprivate currentDatePeriodStart = \"\";\n private currentDatePeriodEnd = \"\";\n\n private timesheetApproval: TimeEntryApprovalView = {};\n private timesheetEntries: TimeEntryView[] = [];\n \n mounted(): void {\n this.getTimesheetApproval();\n this.getTimeEntries();\n this.eventCtrl.on('reload-events-data', () => {\n this.getTimeEntries();\n this.getTimesheetApproval();\n });\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-events-data', () => {\n this.getTimeEntries();\n this.getTimesheetApproval();\n });\n }\n\n private async exportTimeSheet(): Promise {\n const headers: any[] = [\n 'EVENT_NAME',\n 'EVENT_DETAILS',\n 'EVENT_START',\n 'EVENT_END',\n 'LEAVE_DURATION',\n 'BREAK_DURATION',\n 'WORK_DURATION',\n 'INVESTIGATOR_ID_REF',\n 'PRACTICE_NAME'\n ];\n\n let headersString = '';\n let dataString = '';\n\n headersString = headers.map((x: any) => escapeString(x)).join(',');\n headersString += '\\r\\n';\n\n try {\n const resp: any = await this.apiService.TimeEntryApi?.apiV2TimeEntryExportTimeEntriesByTrustTeamMemberIdPost({\n trustTeamMemberId: this.selectedTrustTeamMember.id,\n startDate: new Date(this.currentDatePeriodStart),\n endDate: new Date(this.currentDatePeriodEnd)\n });\n\n resp.data.data.forEach((timeEntry: TimeEntryView) => {\n\n const practice: any = timeEntry.investigation?.latestPracticeLogData;\n\n if (timeEntry.eventType.id == 2) {\n dataString += [\n escapeString(timeEntry.eventType.name),\n escapeString(timeEntry.notes),\n escapeString(this.$formatDateTimeTypeA(timeEntry.startDateTime)),\n escapeString(this.$formatDateTimeTypeA(timeEntry.endDateTime)),\n escapeString(this.$calculateHours(timeEntry.leaveDuration))\n ].join(',');\n } else if (timeEntry.eventType.id == 1) {\n dataString += [\n escapeString(timeEntry.eventType.name),\n escapeString(timeEntry.notes),\n escapeString(this.$formatDateTimeTypeA(timeEntry.startDateTime)),\n escapeString(this.$formatDateTimeTypeA(timeEntry.endDateTime)),\n '',\n escapeString(this.$calculateHours(timeEntry.breakDuration)),\n escapeString(this.$calculateHours(timeEntry.workHours)),\n timeEntry.investigation?.id,\n escapeString(practice?.branchId == null ? practice?.name : practice?.name + ' - ' + practice?.tradingName)\n ].join(',');\n }\n\n dataString += '\\r\\n';\n \n });\n createCSV(\n moment(this.currentDatePeriodStart).format('MM-YYYY') + '_Diary_' + this.selectedTrustTeamMember.displayName,\n headersString + dataString\n );\n\n } catch(err) {\n console.log(err);\n }\n }\n\n private getTimeEntries(): void {\n this.apiService.TimeEntryApi?.apiV2TimeEntryGetTimeEntriesByTrustTeamMemberIdPost({\n trustTeamMemberId: this.selectedTrustTeamMember.id,\n startDate: new Date(this.currentDatePeriodStart),\n endDate: new Date(this.currentDatePeriodEnd),\n showMissingTime: true\n })\n .then(res => {\n this.loadingTimeEntries = false;\n this.errorLoadingTimeEntries = false;\n this.timesheetEntries = res.data.data;\n this.timesheetEntries = orderBy(\n this.timesheetEntries,\n 'startDateTime',\n 'desc'\n );\n })\n .catch(error => {\n this.loadingTimeEntries = false\n this.errorLoadingTimeEntries = true\n this.eventCtrl.emit('show-snackbar', 'error', error);\n this.ai.trackException('Error getting investigator timesheet entries: ' + error);\n });\n }\n\n private getTimesheetApproval(): void {\n this.apiService.TimeEntryApi?.apiV2TimeEntryGetTimeEntryApprovalByTrustTeamMemberIdPost({\n trustTeamMemberId: this.selectedTrustTeamMember.id,\n startDate: new Date(this.currentDatePeriodStart),\n endDate: new Date(this.currentDatePeriodEnd)\n })\n .then(res => {\n this.loadingTimesheetApprovals = false;\n this.errorLoadingTimesheetApprovals = false;\n this.timesheetApproval = res.data.data;\n })\n .catch(error => {\n this.loadingTimesheetApprovals = false;\n this.errorLoadingTimesheetApprovals = true;\n this.eventCtrl.emit('show-snackbar', 'error', error);\n this.ai.trackException('Error getting investigator timesheet approvals: ' + error);\n })\n }\n\n private approveTimeEntries(): void {\n this.apiService.TimeEntryApi?.apiV2TimeEntryApproveTimeEntriesPost({\n trustMemberId: this.selectedTrustTeamMember.id,\n startDate: this.currentDatePeriodStart,\n endDate: this.currentDatePeriodEnd\n })\n .then(res => {\n // console.log(res.data.data);\n })\n .catch(error => {\n this.eventCtrl.emit('show-snackbar', 'error', error);\n this.ai.trackException('Error approving investigator timesheet: ' + error);\n })\n }\n\n private showHideTSApproval(): void {\n if (this.showTimesheetApproval) {\n this.showTimesheetApproval = false\n } else {\n this.showTimesheetApproval = true\n }\n }\n\n private timesheetApproved(timesheetApproval: TimeEntryApprovalView): boolean {\n if (timesheetApproval.timesheetStatus === null) {\n return true\n } else if (timesheetApproval.timesheetStatus.id === 3) {\n return true\n } else {\n return false\n }\n }\n\n private getTimePeriod(options: any): void {\n this.currentDatePeriodStart = options.startDatePeriod;\n this.currentDatePeriodEnd = options.endDatePeriod;\n this.getTimeEntries();\n this.getTimesheetApproval();\n }\n\n private addEditTimesheet(timeEntry: TimeEntryView): void {\n const eventFormData: EventForm = {\n id: timeEntry.id,\n eventTypeId: timeEntry.timeEntryType?.id ?? 1,\n leaveTypeId: timeEntry.leaveType?.id ?? null,\n startDateTime: timeEntry.startDateTime,\n endDateTime: timeEntry.endDateTime,\n notes: timeEntry.notes ?? null,\n activityType: timeEntry.timeEntryActivity ?? null,\n investigation: timeEntry.investigation ?? null,\n breakDuration: timeEntry.breakDuration ?? null,\n trustTeamMemberId: timeEntry.trustTeamMember ? timeEntry.trustTeamMember.id : this.selectedTrustTeamMember.id,\n description: timeEntry.description ?? null,\n };\n this.eventCtrl.emit('showAddEditEventModal', eventFormData);\n }\n\n private addEntry(): void {\n this.eventCtrl.emit('showAddEditEventModal', { eventTypeId: 1, trustTeamMemberId: this.selectedTrustTeamMember.id });\n }\n\n private prev(value: any): void {\n this.currentDate = value;\n }\n\n private next(value: any): void {\n this.currentDate = value;\n }\n\n private today(options: any): void {\n this.calendarView = options.calendarView;\n this.currentDate = options.currentDate;\n }\n\n private updateDisplay(value: any): void {\n this.currentDateDisplay = value;\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n get selectedTrustTeamMember(): TrustTeamMemberView {\n return store.getters.getSelectedTrustTeamMember;\n }\n\n}\n\n","import { render } from \"./investigator-timesheets.html?vue&type=template&id=36598d92&scoped=true&ts=true&external\"\nimport script from \"./investigator-timesheets.ts?vue&type=script&lang=ts&external\"\nexport * from \"./investigator-timesheets.ts?vue&type=script&lang=ts&external\"\n\nimport \"./investigator-timesheets.scss?vue&type=style&index=0&id=36598d92&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-36598d92\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, vModelSelect as _vModelSelect, withDirectives as _withDirectives, vModelText as _vModelText, normalizeClass as _normalizeClass, createVNode as _createVNode, createStaticVNode as _createStaticVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-fc7b6444\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"practice-wrapper\" }\nconst _hoisted_2 = {\n class: \"control\",\n title: \"Toggle options menu\"\n}\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"icon\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-left\" })\n], -1))\nconst _hoisted_4 = {\n key: 0,\n class: \"text\"\n}\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_6 = { key: 0 }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"heading\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"heading-text\" }, \"Practice details\")\n], -1))\nconst _hoisted_8 = { class: \"info-box\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Practice ID\", -1))\nconst _hoisted_10 = { class: \"fielddata\" }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Practice Name\", -1))\nconst _hoisted_12 = { class: \"fielddata\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Branch ID\", -1))\nconst _hoisted_14 = { class: \"fielddata\" }\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Branch address\", -1))\nconst _hoisted_16 = { class: \"fielddata\" }\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Business phone\", -1))\nconst _hoisted_18 = { class: \"fielddata\" }\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Email\", -1))\nconst _hoisted_20 = { class: \"fielddata\" }\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Website\", -1))\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Starting date\", -1))\nconst _hoisted_23 = { class: \"fielddata\" }\nconst _hoisted_24 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Practice type\", -1))\nconst _hoisted_25 = { class: \"fielddata\" }\nconst _hoisted_26 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", { style: {\"border\":\"1px solid #394F5A\",\"margin\":\"25px 0\"} }, null, -1))\nconst _hoisted_27 = { class: \"heading\" }\nconst _hoisted_28 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"heading-text\" }, \"Status\", -1))\nconst _hoisted_29 = { class: \"info-box\" }\nconst _hoisted_30 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Trust account status\", -1))\nconst _hoisted_31 = {\n key: 0,\n class: \"fielddata\"\n}\nconst _hoisted_32 = { class: \"select-wrapper\" }\nconst _hoisted_33 = { class: \"sml-select\" }\nconst _hoisted_34 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", {\n value: null,\n disabled: \"\"\n}, \"-- Select status --\", -1))\nconst _hoisted_35 = [\"value\"]\nconst _hoisted_36 = {\n key: 1,\n class: \"fielddata\"\n}\nconst _hoisted_37 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Practice status\", -1))\nconst _hoisted_38 = { class: \"fielddata\" }\nconst _hoisted_39 = { key: 0 }\nconst _hoisted_40 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Date of disposal\", -1))\nconst _hoisted_41 = { class: \"fielddata\" }\nconst _hoisted_42 = { key: 1 }\nconst _hoisted_43 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Disposal reason\", -1))\nconst _hoisted_44 = { class: \"fielddata\" }\nconst _hoisted_45 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Priority\", -1))\nconst _hoisted_46 = {\n key: 0,\n class: \"fielddata\"\n}\nconst _hoisted_47 = { class: \"select-wrapper\" }\nconst _hoisted_48 = { class: \"sml-select\" }\nconst _hoisted_49 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: null }, \"-- Select priority --\", -1))\nconst _hoisted_50 = [\"value\"]\nconst _hoisted_51 = {\n key: 1,\n class: \"fielddata\"\n}\nconst _hoisted_52 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", { style: {\"border\":\"1px solid #394F5A\",\"margin\":\"25px 0\"} }, null, -1))\nconst _hoisted_53 = { class: \"heading\" }\nconst _hoisted_54 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"heading-text\" }, \"Accounting details\", -1))\nconst _hoisted_55 = { key: 2 }\nconst _hoisted_56 = [\"disabled\"]\nconst _hoisted_57 = { class: \"info-box\" }\nconst _hoisted_58 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Name of bookkeeper *\", -1))\nconst _hoisted_59 = {\n key: 0,\n class: \"fielddata\"\n}\nconst _hoisted_60 = { class: \"input-box\" }\nconst _hoisted_61 = {\n key: 1,\n class: \"fielddata\"\n}\nconst _hoisted_62 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Inspect results discussed with *\", -1))\nconst _hoisted_63 = {\n key: 0,\n class: \"fielddata\"\n}\nconst _hoisted_64 = { class: \"input-box\" }\nconst _hoisted_65 = {\n key: 1,\n class: \"fielddata\"\n}\nconst _hoisted_66 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Re-inspection period *\", -1))\nconst _hoisted_67 = {\n key: 0,\n class: \"fielddata\"\n}\nconst _hoisted_68 = { class: \"select-wrapper\" }\nconst _hoisted_69 = { class: \"sml-select\" }\nconst _hoisted_70 = /*#__PURE__*/_createStaticVNode(\"\", 7)\nconst _hoisted_77 = [\n _hoisted_70\n]\nconst _hoisted_78 = {\n key: 1,\n class: \"fielddata\"\n}\nconst _hoisted_79 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Re-inspection date\", -1))\nconst _hoisted_80 = { class: \"fielddata\" }\nconst _hoisted_81 = { class: \"EE-section\" }\nconst _hoisted_82 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", { style: {\"border\":\"1px solid #394F5A\",\"margin\":\"25px 0\"} }, null, -1))\nconst _hoisted_83 = { class: \"heading\" }\nconst _hoisted_84 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"heading-text\" }, \"External Examiner\", -1))\nconst _hoisted_85 = { class: \"info-box\" }\nconst _hoisted_86 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Name\", -1))\nconst _hoisted_87 = { class: \"fielddata\" }\nconst _hoisted_88 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Phone number\", -1))\nconst _hoisted_89 = { class: \"fielddata\" }\nconst _hoisted_90 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Email\", -1))\nconst _hoisted_91 = { class: \"fielddata\" }\nconst _hoisted_92 = { class: \"additional-contact\" }\nconst _hoisted_93 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", { style: {\"border\":\"1px solid #394F5A\",\"margin\":\"25px 0\"} }, null, -1))\nconst _hoisted_94 = { class: \"heading\" }\nconst _hoisted_95 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"heading-text\" }, \"Additional contact\", -1))\nconst _hoisted_96 = { key: 2 }\nconst _hoisted_97 = [\"disabled\"]\nconst _hoisted_98 = { class: \"info-box\" }\nconst _hoisted_99 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Contact 1 Name\", -1))\nconst _hoisted_100 = {\n key: 0,\n class: \"fielddata\"\n}\nconst _hoisted_101 = { class: \"input-box\" }\nconst _hoisted_102 = {\n key: 1,\n class: \"fielddata\"\n}\nconst _hoisted_103 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Contact 1 Email\", -1))\nconst _hoisted_104 = {\n key: 0,\n class: \"fielddata\"\n}\nconst _hoisted_105 = { class: \"input-box\" }\nconst _hoisted_106 = {\n key: 1,\n class: \"fielddata\"\n}\nconst _hoisted_107 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Contact 1 Phone number\", -1))\nconst _hoisted_108 = {\n key: 0,\n class: \"fielddata\"\n}\nconst _hoisted_109 = { class: \"input-box\" }\nconst _hoisted_110 = {\n key: 1,\n class: \"fielddata\"\n}\nconst _hoisted_111 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Contact 2 Name\", -1))\nconst _hoisted_112 = {\n key: 0,\n class: \"fielddata\"\n}\nconst _hoisted_113 = { class: \"input-box\" }\nconst _hoisted_114 = {\n key: 1,\n class: \"fielddata\"\n}\nconst _hoisted_115 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Contact 2 Email\", -1))\nconst _hoisted_116 = {\n key: 0,\n class: \"fielddata\"\n}\nconst _hoisted_117 = { class: \"input-box\" }\nconst _hoisted_118 = {\n key: 1,\n class: \"fielddata\"\n}\nconst _hoisted_119 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Contact 2 Phone number\", -1))\nconst _hoisted_120 = {\n key: 0,\n class: \"fielddata\"\n}\nconst _hoisted_121 = { class: \"input-box\" }\nconst _hoisted_122 = {\n key: 1,\n class: \"fielddata\"\n}\nconst _hoisted_123 = { class: \"right-panel\" }\n\nexport function render(_ctx, _cache) {\n const _component_LoadingSpinner = _resolveComponent(\"LoadingSpinner\")\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_router_view = _resolveComponent(\"router-view\")\n const _component_AppointEeModal = _resolveComponent(\"AppointEeModal\")\n const _component_ConfirmDialogue = _resolveComponent(\"ConfirmDialogue\")\n\n return (_openBlock(), _createElementBlock(\"section\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createBlock(_component_LoadingSpinner, { key: 0 }))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass(['left-panel', _ctx.hidePracticeInfo ? 'hideInfo': ''])\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", {\n class: \"hide-options\",\n onClick: _cache[0] || (_cache[0] = $event => (_ctx.showHideOptions(_ctx.hideLeftPanel)))\n }, [\n _hoisted_3,\n (!_ctx.hidePracticeInfo)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, \"Hide Options\"))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.hideLeftPanel)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"show-options\",\n onClick: _cache[1] || (_cache[1] = $event => (_ctx.showHideOptions(_ctx.hideLeftPanel)))\n }, [\n _createTextVNode(\" Show\"),\n _hoisted_5,\n _createTextVNode(\"Options \")\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (!_ctx.hidePracticeInfo)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _hoisted_7,\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", null, [\n _hoisted_9,\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.selectedPractice.firmId), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_11,\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.selectedPractice.branchId == null ? _ctx.selectedPractice.name :\n _ctx.selectedPractice.name\n + ' - ' + _ctx.selectedPractice.tradingName), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_13,\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.selectedPractice.branchId ?? '-'), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_15,\n _createElementVNode(\"span\", _hoisted_16, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.selectedPractice.address), 1)\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_17,\n _createElementVNode(\"span\", _hoisted_18, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.selectedPractice.branchId ? _ctx.selectedPractice.branchBusinessPhone :\n _ctx.selectedPractice.firmBusinessPhone), 1)\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_19,\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.selectedPractice.email ?? '-'), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_21,\n (_ctx.selectedPractice.website)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: \"fielddata link2\",\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.openExternalURL(_ctx.selectedPractice.website)))\n }, _toDisplayString(_ctx.selectedPractice.website), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_22,\n _createElementVNode(\"span\", _hoisted_23, _toDisplayString(_ctx.$formatDate(_ctx.selectedPractice.effectiveStartDate)), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_24,\n _createElementVNode(\"span\", _hoisted_25, _toDisplayString(_ctx.selectedPractice.firmTypeDescription ?? '-'), 1)\n ])\n ]),\n _hoisted_26,\n _createElementVNode(\"div\", _hoisted_27, [\n _hoisted_28,\n (_ctx.savingPracticeStatus)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n showLoadingText: false\n }))\n : (!_ctx.editingPracticeStatus && !_ctx.savingPracticeStatus)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-outline dark sml\",\n onClick: _cache[3] || (_cache[3] = $event => (_ctx.editingPracticeStatus = !_ctx.editingPracticeStatus))\n }, \"Edit\"))\n : (_ctx.editingPracticeStatus && !_ctx.savingPracticeStatus)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 2,\n class: \"btn btn-primary sml\",\n onClick: _cache[4] || (_cache[4] = $event => {_ctx.savePracticeDetails();})\n }, \"Save\"))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"div\", null, [\n _hoisted_30,\n (_ctx.editingPracticeStatus)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_31, [\n _createElementVNode(\"div\", _hoisted_32, [\n _createElementVNode(\"div\", _hoisted_33, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => ((_ctx.practiceStatusForm.trustAccountStatusId) = $event))\n }, [\n _hoisted_34,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.trustAccountStatus, (ta) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: ta.id\n }, _toDisplayString(ta.name), 9, _hoisted_35))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.practiceStatusForm.trustAccountStatusId]\n ])\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_36, _toDisplayString(_ctx.selectedPractice.trustAccountStatus?.name), 1))\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_37,\n _createElementVNode(\"span\", _hoisted_38, _toDisplayString(_ctx.selectedPractice.statusDescription), 1)\n ]),\n (_ctx.selectedPractice.effectiveEndDate)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_39, [\n _hoisted_40,\n _createElementVNode(\"span\", _hoisted_41, _toDisplayString(_ctx.$formatDate(_ctx.selectedPractice.effectiveEndDate)), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.selectedPractice.effectiveEndDate)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_42, [\n _hoisted_43,\n _createElementVNode(\"span\", _hoisted_44, _toDisplayString(_ctx.selectedPractice.disposalCodeDescription), 1)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", null, [\n _hoisted_45,\n (_ctx.editingPracticeStatus)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_46, [\n _createElementVNode(\"div\", _hoisted_47, [\n _createElementVNode(\"div\", _hoisted_48, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => ((_ctx.practiceStatusForm.priorityId) = $event))\n }, [\n _hoisted_49,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.priorities, (p) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: p.id\n }, _toDisplayString(p.name), 9, _hoisted_50))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.practiceStatusForm.priorityId]\n ])\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_51, _toDisplayString(_ctx.selectedPractice.priority?.name), 1))\n ])\n ]),\n _hoisted_52,\n _createElementVNode(\"div\", _hoisted_53, [\n _hoisted_54,\n (_ctx.savingAccountingDetails)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n showLoadingText: false\n }))\n : (!_ctx.editingAccountingDetails && !_ctx.savingAccountingDetails)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-outline dark sml\",\n onClick: _cache[7] || (_cache[7] = $event => (_ctx.editingAccountingDetails = !_ctx.editingAccountingDetails))\n }, \"Edit\"))\n : (_ctx.editingAccountingDetails && !_ctx.savingAccountingDetails)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_55, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml\",\n onClick: _cache[8] || (_cache[8] = $event => {_ctx.cancelEditAccountingDetails();})\n }, \"Cancel\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary sml ml-1\",\n onClick: _cache[9] || (_cache[9] = $event => {_ctx.saveAccountingDetails();}),\n disabled: !_ctx.canSaveAccountingDetails\n }, \"Save\", 8, _hoisted_56)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_57, [\n _createElementVNode(\"div\", null, [\n _hoisted_58,\n (_ctx.editingAccountingDetails)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_59, [\n _createElementVNode(\"div\", _hoisted_60, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = $event => ((_ctx.practiceAccountingDetailsForm.bookkeeper) = $event)),\n maxlength: \"200\",\n onKeyup: _cache[11] || (_cache[11] = $event => (_ctx.checkAccountingDetails()))\n }, null, 544), [\n [_vModelText, _ctx.practiceAccountingDetailsForm.bookkeeper]\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_61, _toDisplayString(_ctx.selectedPractice.bookkeeper ?? '-'), 1))\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_62,\n (_ctx.editingAccountingDetails)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_63, [\n _createElementVNode(\"div\", _hoisted_64, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[12] || (_cache[12] = $event => ((_ctx.practiceAccountingDetailsForm.inspectResultsDiscussedWith) = $event)),\n maxlength: \"200\",\n onKeyup: _cache[13] || (_cache[13] = $event => (_ctx.checkAccountingDetails()))\n }, null, 544), [\n [_vModelText, _ctx.practiceAccountingDetailsForm.inspectResultsDiscussedWith]\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_65, _toDisplayString(_ctx.selectedPractice.inspectResultsDiscussedWith ?? '-'), 1))\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_66,\n (_ctx.editingAccountingDetails)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_67, [\n _createElementVNode(\"div\", _hoisted_68, [\n _createElementVNode(\"div\", _hoisted_69, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[14] || (_cache[14] = $event => ((_ctx.practiceAccountingDetailsForm.reInspectionPeriodInMonths) = $event)),\n onChange: _cache[15] || (_cache[15] = $event => (_ctx.checkAccountingDetails()))\n }, _hoisted_77, 544), [\n [_vModelSelect, _ctx.practiceAccountingDetailsForm.reInspectionPeriodInMonths]\n ])\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_78, _toDisplayString(_ctx.selectedPractice.reInspectionPeriodInMonths ?\n _ctx.selectedPractice.reInspectionPeriodInMonths + ' months' : '-'), 1))\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_79,\n _createElementVNode(\"span\", _hoisted_80, _toDisplayString(_ctx.selectedPractice.reInspectionDate ?\n _ctx.$formatDate(_ctx.selectedPractice.reInspectionDate)\n : '-'), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_81, [\n _hoisted_82,\n _createElementVNode(\"div\", _hoisted_83, [\n _hoisted_84,\n (_ctx.loadingEE)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.selectedEE)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-outline dark sml\",\n onClick: _cache[16] || (_cache[16] = $event => (_ctx.addEditingEE()))\n }, \"Edit\"))\n : (_openBlock(), _createElementBlock(\"button\", {\n key: 2,\n class: \"btn btn-outline dark sml\",\n onClick: _cache[17] || (_cache[17] = $event => (_ctx.addEditingEE()))\n }, \"Appoint\"))\n ]),\n _createElementVNode(\"div\", _hoisted_85, [\n _createElementVNode(\"div\", null, [\n _hoisted_86,\n _createElementVNode(\"span\", _hoisted_87, _toDisplayString(_ctx.selectedEE?.firstName) + \" \" + _toDisplayString(_ctx.selectedEE?.lastName ?? '-'), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_88,\n _createElementVNode(\"span\", _hoisted_89, _toDisplayString(_ctx.selectedEE?.phoneDetail?.countryCode) + \" \" + _toDisplayString(_ctx.selectedEE?.phoneDetail?.phoneNumber ?? '-'), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_90,\n _createElementVNode(\"span\", _hoisted_91, _toDisplayString(_ctx.selectedEE?.email ?? '-'), 1)\n ]),\n _createElementVNode(\"div\", null, [\n (_ctx.selectedEE)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn btn-outline dark sml mt-2\",\n style: {\"width\":\"100%\"},\n onClick: _cache[18] || (_cache[18] = $event => (_ctx.deleteEE(_ctx.selectedPractice, _ctx.selectedEE)))\n }, \"Terminate External Examiner\"))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_92, [\n _hoisted_93,\n _createElementVNode(\"div\", _hoisted_94, [\n _hoisted_95,\n (_ctx.loadingAdditionalContacts)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n showLoadingText: false\n }))\n : (!_ctx.editingAdditionalContacts)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-outline dark sml\",\n onClick: _cache[19] || (_cache[19] = $event => (_ctx.editAdditionalContact()))\n }, \"Edit\"))\n : (_ctx.editingAdditionalContacts)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_96, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml\",\n onClick: _cache[20] || (_cache[20] = $event => {_ctx.cancelEditAdditionalContacts();})\n }, \"Cancel\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary sml ml-1\",\n onClick: _cache[21] || (_cache[21] = $event => {_ctx.saveAdditionalContacts();}),\n disabled: _ctx.loadingAdditionalContacts\n }, \"Save\", 8, _hoisted_97)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_98, [\n _createElementVNode(\"div\", null, [\n _hoisted_99,\n (_ctx.editingAdditionalContacts)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_100, [\n _createElementVNode(\"div\", _hoisted_101, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[22] || (_cache[22] = $event => ((_ctx.selectedAdditionalContact.name1) = $event)),\n maxlength: \"200\"\n }, null, 512), [\n [_vModelText, _ctx.selectedAdditionalContact.name1]\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_102, _toDisplayString(_ctx.selectedAdditionalContact?.name1 ?? '-'), 1))\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_103,\n (_ctx.editingAdditionalContacts)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_104, [\n _createElementVNode(\"div\", _hoisted_105, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[23] || (_cache[23] = $event => ((_ctx.selectedAdditionalContact.email1) = $event)),\n maxlength: \"200\"\n }, null, 512), [\n [_vModelText, _ctx.selectedAdditionalContact.email1]\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_106, _toDisplayString(_ctx.selectedAdditionalContact?.email1 ?? '-'), 1))\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_107,\n (_ctx.editingAdditionalContacts)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_108, [\n _createElementVNode(\"div\", _hoisted_109, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[24] || (_cache[24] = $event => ((_ctx.selectedAdditionalContact.phoneNumber1) = $event)),\n maxlength: \"200\"\n }, null, 512), [\n [_vModelText, _ctx.selectedAdditionalContact.phoneNumber1]\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_110, _toDisplayString(_ctx.selectedAdditionalContact?.phoneNumber1 ?? '-'), 1))\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_111,\n (_ctx.editingAdditionalContacts)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_112, [\n _createElementVNode(\"div\", _hoisted_113, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[25] || (_cache[25] = $event => ((_ctx.selectedAdditionalContact.name2) = $event)),\n maxlength: \"200\"\n }, null, 512), [\n [_vModelText, _ctx.selectedAdditionalContact.name2]\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_114, _toDisplayString(_ctx.selectedAdditionalContact?.name2 ?? '-'), 1))\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_115,\n (_ctx.editingAdditionalContacts)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_116, [\n _createElementVNode(\"div\", _hoisted_117, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[26] || (_cache[26] = $event => ((_ctx.selectedAdditionalContact.email2) = $event)),\n maxlength: \"200\"\n }, null, 512), [\n [_vModelText, _ctx.selectedAdditionalContact.email2]\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_118, _toDisplayString(_ctx.selectedAdditionalContact?.email2 ?? '-'), 1))\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_119,\n (_ctx.editingAdditionalContacts)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_120, [\n _createElementVNode(\"div\", _hoisted_121, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[27] || (_cache[27] = $event => ((_ctx.selectedAdditionalContact.phoneNumber2) = $event)),\n maxlength: \"200\"\n }, null, 512), [\n [_vModelText, _ctx.selectedAdditionalContact.phoneNumber2]\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_122, _toDisplayString(_ctx.selectedAdditionalContact?.phoneNumber2 ?? '-'), 1))\n ])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"div\", _hoisted_123, [\n _createVNode(_component_router_view)\n ])\n ]),\n (_ctx.showAppointEE)\n ? (_openBlock(), _createBlock(_component_AppointEeModal, {\n key: 0,\n practice: _ctx.selectedPractice,\n onUpdate: _cache[28] || (_cache[28] = $event => (_ctx.loadEE(_ctx.selectedPractice.id))),\n onClose: _cache[29] || (_cache[29] = $event => (_ctx.showAppointEE = false))\n }, null, 8, [\"practice\"]))\n : _createCommentVNode(\"\", true)\n ], 64)),\n _createVNode(_component_ConfirmDialogue, {\n ref: \"confirmTerminateDialogue\",\n modalOpened: true\n }, null, 512)\n ]))\n}","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, vModelText as _vModelText, withDirectives as _withDirectives, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, createElementBlock as _createElementBlock, withModifiers as _withModifiers, renderList as _renderList, Fragment as _Fragment, vModelRadio as _vModelRadio, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-a4288288\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"request-termination-ee\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"heading-text\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"line1\" }, \"Appoint External Examiner\")\n], -1))\nconst _hoisted_3 = { class: \"body-main\" }\nconst _hoisted_4 = {\n key: 1,\n class: \"ls-form\"\n}\nconst _hoisted_5 = {\n key: 0,\n style: {\"border\":\"1px solid #D8CFBC\",\"padding\":\"5px 10px\",\"width\":\"100%\"}\n}\nconst _hoisted_6 = { style: {\"display\":\"flex\",\"flex-flow\":\"row nowrap\",\"justify-content\":\"space-between\"} }\nconst _hoisted_7 = {\n class: \"mr-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_8 = { class: \"data-box\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Name:\", -1))\nconst _hoisted_10 = { class: \"text-field\" }\nconst _hoisted_11 = {\n class: \"ml-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_12 = { class: \"data-box\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Email:\", -1))\nconst _hoisted_14 = { class: \"text-field\" }\nconst _hoisted_15 = { style: {\"display\":\"flex\",\"flex-flow\":\"row nowrap\",\"justify-content\":\"space-between\"} }\nconst _hoisted_16 = {\n class: \"mr-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_17 = { class: \"data-box\" }\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Firm Name:\", -1))\nconst _hoisted_19 = { class: \"text-field\" }\nconst _hoisted_20 = {\n class: \"ml-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_21 = { class: \"data-box\" }\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Phone:\", -1))\nconst _hoisted_23 = { class: \"text-field\" }\nconst _hoisted_24 = { style: {\"width\":\"100%\"} }\nconst _hoisted_25 = { class: \"data-box\" }\nconst _hoisted_26 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Address:\", -1))\nconst _hoisted_27 = { class: \"text-field\" }\nconst _hoisted_28 = { style: {\"display\":\"flex\",\"flex-flow\":\"row nowrap\",\"justify-content\":\"space-between\"} }\nconst _hoisted_29 = {\n class: \"mr-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_30 = { class: \"data-box\" }\nconst _hoisted_31 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Suburb:\", -1))\nconst _hoisted_32 = { class: \"text-field\" }\nconst _hoisted_33 = {\n class: \"ml-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_34 = { class: \"data-box\" }\nconst _hoisted_35 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"State:\", -1))\nconst _hoisted_36 = { class: \"text-field\" }\nconst _hoisted_37 = { style: {\"width\":\"100%\"} }\nconst _hoisted_38 = { class: \"data-box\" }\nconst _hoisted_39 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Date appointed:\", -1))\nconst _hoisted_40 = { class: \"text-field\" }\nconst _hoisted_41 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Reason for termination:\", -1))\nconst _hoisted_42 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"validation-msg\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }),\n /*#__PURE__*/_createTextVNode(\" Required field. \")\n], -1))\nconst _hoisted_43 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Search for External Examiner\", -1))\nconst _hoisted_44 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { style: {\"display\":\"flex\"} }, [\n /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n style: {\"font-size\":\"20px\",\"color\":\"var(--ls-slate)\"}\n }),\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"ml-2\" }, \"To find an External Examiner, please enter a surname below and/or select a region then click 'Search'\")\n], -1))\nconst _hoisted_45 = { style: {\"display\":\"flex\",\"flex-flow\":\"row nowrap\",\"justify-content\":\"space-between\"} }\nconst _hoisted_46 = {\n class: \"mr-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_47 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"External Examiner\", -1))\nconst _hoisted_48 = [\"disabled\"]\nconst _hoisted_49 = {\n class: \"ml-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_50 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Suburb/Postcode\", -1))\nconst _hoisted_51 = [\"disabled\"]\nconst _hoisted_52 = { style: {\"width\":\"100%\",\"padding\":\"10px 0\",\"display\":\"flex\",\"align-items\":\"center\"} }\nconst _hoisted_53 = [\"disabled\"]\nconst _hoisted_54 = {\n key: 0,\n class: \"validation-msg error\"\n}\nconst _hoisted_55 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }, null, -1))\nconst _hoisted_56 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_57 = { key: 1 }\nconst _hoisted_58 = { class: \"results\" }\nconst _hoisted_59 = { class: \"radio\" }\nconst _hoisted_60 = [\"id\", \"value\"]\nconst _hoisted_61 = { class: \"radio-elmt\" }\nconst _hoisted_62 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n], -1))\nconst _hoisted_63 = { class: \"radio-text\" }\nconst _hoisted_64 = { style: {\"width\":\"100%\"} }\nconst _hoisted_65 = { style: {\"display\":\"flex\",\"flex-flow\":\"row nowrap\",\"justify-content\":\"space-between\"} }\nconst _hoisted_66 = {\n class: \"mr-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_67 = { class: \"data-box\" }\nconst _hoisted_68 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Name:\", -1))\nconst _hoisted_69 = { class: \"text-field\" }\nconst _hoisted_70 = {\n class: \"ml-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_71 = { class: \"data-box\" }\nconst _hoisted_72 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Email:\", -1))\nconst _hoisted_73 = { class: \"text-field\" }\nconst _hoisted_74 = { style: {\"display\":\"flex\",\"flex-flow\":\"row nowrap\",\"justify-content\":\"space-between\"} }\nconst _hoisted_75 = {\n class: \"mr-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_76 = { class: \"data-box\" }\nconst _hoisted_77 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Firm Name:\", -1))\nconst _hoisted_78 = { class: \"text-field\" }\nconst _hoisted_79 = {\n class: \"ml-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_80 = { class: \"data-box\" }\nconst _hoisted_81 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Phone:\", -1))\nconst _hoisted_82 = { class: \"text-field\" }\nconst _hoisted_83 = { style: {\"width\":\"100%\"} }\nconst _hoisted_84 = { class: \"data-box\" }\nconst _hoisted_85 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Address:\", -1))\nconst _hoisted_86 = { class: \"text-field\" }\nconst _hoisted_87 = { style: {\"display\":\"flex\",\"flex-flow\":\"row nowrap\",\"justify-content\":\"space-between\"} }\nconst _hoisted_88 = {\n class: \"mr-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_89 = { class: \"data-box\" }\nconst _hoisted_90 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Suburb:\", -1))\nconst _hoisted_91 = { class: \"text-field\" }\nconst _hoisted_92 = {\n class: \"ml-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_93 = { class: \"data-box\" }\nconst _hoisted_94 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"State:\", -1))\nconst _hoisted_95 = { class: \"text-field\" }\nconst _hoisted_96 = {\n key: 2,\n class: \"showMore mt-2 mb-1\"\n}\nconst _hoisted_97 = {\n key: 3,\n class: \"validation-msg error mt-2 mb-2\"\n}\nconst _hoisted_98 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }, null, -1))\nconst _hoisted_99 = { class: \"controls mt-4\" }\nconst _hoisted_100 = [\"disabled\"]\nconst _hoisted_101 = [\"disabled\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n halfScreen: \"true\",\n onClose: _cache[10] || (_cache[10] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _hoisted_2\n ]),\n body: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_3, [\n (_ctx.loadingData)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : (_openBlock(), _createElementBlock(\"form\", _hoisted_4, [\n _createElementVNode(\"fieldset\", null, [\n (_ctx.existingEE)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _hoisted_9,\n _createElementVNode(\"div\", _hoisted_10, _toDisplayString(_ctx.selectedEE?.firstName ?? '') + \" \" + _toDisplayString(_ctx.selectedEE?.lastName ?? ''), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", _hoisted_12, [\n _hoisted_13,\n _createElementVNode(\"div\", _hoisted_14, _toDisplayString(_ctx.selectedEE?.email ?? ''), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", _hoisted_17, [\n _hoisted_18,\n _createElementVNode(\"div\", _hoisted_19, _toDisplayString(_ctx.selectedEE?.firmName ?? ''), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", _hoisted_21, [\n _hoisted_22,\n _createElementVNode(\"div\", _hoisted_23, _toDisplayString(_ctx.selectedEE?.phoneDetail?.phoneNumber ?? ''), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"div\", _hoisted_25, [\n _hoisted_26,\n _createElementVNode(\"div\", _hoisted_27, _toDisplayString(_ctx.selectedEE?.address ?? ''), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_28, [\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"div\", _hoisted_30, [\n _hoisted_31,\n _createElementVNode(\"div\", _hoisted_32, _toDisplayString(_ctx.selectedEE?.suburb ?? ''), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_33, [\n _createElementVNode(\"div\", _hoisted_34, [\n _hoisted_35,\n _createElementVNode(\"div\", _hoisted_36, _toDisplayString(_ctx.selectedEE?.state ?? ''), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_37, [\n _createElementVNode(\"div\", _hoisted_38, [\n _hoisted_39,\n _createElementVNode(\"div\", _hoisted_40, _toDisplayString(_ctx.$formatDate(_ctx.selectedEE?.effectiveStartDate)), 1)\n ])\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"textarea_box\", (!_ctx.reasonForTermination && (_ctx.dirtyFields[0] || _ctx.submitPressed)) ? 'error': '']),\n style: {\"width\":\"100%\"}\n }, [\n _hoisted_41,\n _withDirectives(_createElementVNode(\"textarea\", {\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.reasonForTermination) = $event)),\n style: {\"border\":\"1px solid #aaa\",\"height\":\"130px\",\"resize\":\"vertical\",\"width\":\"100%\"},\n maxlength: 5000,\n placeholder: \"Enter reason\",\n onChange: _cache[1] || (_cache[1] = $event => (_ctx.dirtyFields[0] = true))\n }, null, 544), [\n [_vModelText, _ctx.reasonForTermination]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [_ctx.reasonForTermination?.length === 5000 ? 'full' : '']])\n }, _toDisplayString(_ctx.reasonForTermination?.length || 0) + \"/5000 characters \", 3),\n _hoisted_42\n ], 2)\n ]))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _hoisted_43,\n _hoisted_44,\n _createElementVNode(\"div\", _hoisted_45, [\n _createElementVNode(\"div\", _hoisted_46, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", [_ctx.searchPressed && _ctx.nameKeyword.trim()?.length == 0 && _ctx.suburbPostcode.trim()?.length == 0 ? 'error': '']])\n }, [\n _hoisted_47,\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.nameKeyword) = $event)),\n disabled: _ctx.searchinguser,\n placeholder: \"Enter name\"\n }, null, 8, _hoisted_48), [\n [_vModelText, _ctx.nameKeyword]\n ])\n ], 2)\n ]),\n _createElementVNode(\"div\", _hoisted_49, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", [_ctx.searchPressed && _ctx.nameKeyword.trim()?.length == 0 && _ctx.suburbPostcode.trim()?.length == 0 ? 'error': '']])\n }, [\n _hoisted_50,\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => ((_ctx.suburbPostcode) = $event)),\n disabled: _ctx.searchinguser,\n placeholder: \"Enter Suburb/Postcode\"\n }, null, 8, _hoisted_51), [\n [_vModelText, _ctx.suburbPostcode]\n ])\n ], 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_52, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary\",\n onClick: _cache[4] || (_cache[4] = _withModifiers($event => {_ctx.searchUser(0, 10, true);}, [\"prevent\",\"stop\"])),\n disabled: _ctx.searchinguser || _ctx.gettingMoreUser\n }, \"Search\", 8, _hoisted_53),\n (_ctx.searchinguser)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator ml-2\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.searchPressed && _ctx.nameKeyword.trim()?.length == 0 && _ctx.suburbPostcode.trim()?.length == 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_54, [\n _hoisted_55,\n _createTextVNode(\" Please search and select an External Examiner first. \")\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_56,\n (_ctx.searchPressed && (_ctx.nameKeyword.trim()?.length > 0 || _ctx.suburbPostcode.trim()?.length > 0) && !_ctx.searchinguser)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_57, \"Found \" + _toDisplayString(_ctx.totalResultCount) + \" result(s)\", 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"search-result\", (!this.selectedEE?.id && (_ctx.dirtyFields[0] || _ctx.submitPressed)) ? 'error-no-selection': ''])\n }, [\n _createElementVNode(\"div\", _hoisted_58, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.externalExaminers, (ee, i) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"ee-item\", [_ctx.selectedEE?.id == ee.id ? 'ee-item-selected': '']]),\n key: i\n }, [\n _createElementVNode(\"label\", _hoisted_59, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"ee-user\",\n id: 'ee-user' + i,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => ((_ctx.selectedEE) = $event)),\n value: ee,\n onChange: _cache[6] || (_cache[6] = $event => (_ctx.dirtyFields[0] = true))\n }, null, 40, _hoisted_60), [\n [_vModelRadio, _ctx.selectedEE]\n ]),\n _createElementVNode(\"div\", _hoisted_61, [\n _hoisted_62,\n _createElementVNode(\"span\", _hoisted_63, [\n _createElementVNode(\"div\", _hoisted_64, [\n _createElementVNode(\"div\", _hoisted_65, [\n _createElementVNode(\"div\", _hoisted_66, [\n _createElementVNode(\"div\", _hoisted_67, [\n _hoisted_68,\n _createElementVNode(\"div\", _hoisted_69, _toDisplayString(ee?.firstName ?? '') + \" \" + _toDisplayString(ee?.lastName ?? ''), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_70, [\n _createElementVNode(\"div\", _hoisted_71, [\n _hoisted_72,\n _createElementVNode(\"div\", _hoisted_73, _toDisplayString(ee?.email ?? ''), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_74, [\n _createElementVNode(\"div\", _hoisted_75, [\n _createElementVNode(\"div\", _hoisted_76, [\n _hoisted_77,\n _createElementVNode(\"div\", _hoisted_78, _toDisplayString(ee?.firmName ?? ''), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_79, [\n _createElementVNode(\"div\", _hoisted_80, [\n _hoisted_81,\n _createElementVNode(\"div\", _hoisted_82, _toDisplayString(ee?.phoneDetail?.phoneNumber ?? ''), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_83, [\n _createElementVNode(\"div\", _hoisted_84, [\n _hoisted_85,\n _createElementVNode(\"div\", _hoisted_86, _toDisplayString(ee?.address ?? ''), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_87, [\n _createElementVNode(\"div\", _hoisted_88, [\n _createElementVNode(\"div\", _hoisted_89, [\n _hoisted_90,\n _createElementVNode(\"div\", _hoisted_91, _toDisplayString(ee?.suburb ?? '') + \", \" + _toDisplayString(ee?.postCode ?? ''), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_92, [\n _createElementVNode(\"div\", _hoisted_93, [\n _hoisted_94,\n _createElementVNode(\"div\", _hoisted_95, _toDisplayString(ee?.state ?? ''), 1)\n ])\n ])\n ])\n ])\n ])\n ])\n ])\n ], 2))\n }), 128))\n ])\n ], 2),\n (_ctx.displayShowMoreButton)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_96, [\n (!_ctx.gettingMoreUser)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n class: \"link\",\n onClick: _cache[7] || (_cache[7] = $event => (_ctx.searchUser(_ctx.numResultsShowing, 10, false)))\n }, \"Show more\"))\n : _createCommentVNode(\"\", true),\n (_ctx.gettingMoreUser)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 1,\n class: \"loading-indicator ml-2\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n ((!this.selectedEE?.id && (_ctx.dirtyFields[0] || _ctx.submitPressed)))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_97, [\n _hoisted_98,\n _createTextVNode(\" Please select an External Examiner \")\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n ])\n ]))\n ])\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_99, [\n (_ctx.submitting)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-outline\",\n disabled: _ctx.submitting,\n onClick: _cache[8] || (_cache[8] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\",\"stop\"]))\n }, \" Back \", 8, _hoisted_100),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n disabled: _ctx.submitting,\n onClick: _cache[9] || (_cache[9] = _withModifiers($event => (_ctx.submitButtonPressed()), [\"prevent\",\"stop\"]))\n }, \" Submit \", 8, _hoisted_101)\n ])\n ]),\n _: 1\n })\n ]))\n}","\nimport { Options, Vue } from 'vue-class-component';\nimport ModalBox from '@/shared/components/modal-box/index.vue';\nimport { Inject, Prop, Watch } from 'vue-property-decorator';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { EventEmitter } from 'events';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport { orderBy } from 'lodash';\nimport store from '@/trust-atcs-app/store';\nimport { ComplianceForm, ExternalExaminer, IndividualPracticeRequest, PracticeAtcs } from '@/shared/modules/typescript-trustapi-client/models';\nimport { AuthorizedUser } from '@/trust-atcs-app/models/authorized-user';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\n\n@Options({\n components: {\n ModalBox,\n LoadingIndicator,\n ErrorIndicator,\n },\n mixins: [FormatDateTimeMixin]\n})\nexport default class AppointEeModal extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop({ default: null })\n private practice!: ComplianceForm;\n\n private trustContact = null;\n private errorWithContact = false;\n\n\n private loadingData = false;\n private errorLoadingData = false;\n private loadingEvents = false;\n\n private submitting = false;\n private searchinguser = false;\n private gettingMoreUser = false;\n private submitPressed = false;\n private searchPressed = false;\n\n private selectedEE: ExternalExaminer = null as any;\n private reasonForTermination: string = null as any;\n private nameKeyword = '';\n private suburbPostcode = '';\n\n private externalExaminers: ExternalExaminer[] = [];\n private totalResultCount = 0;\n private numResultsShowing = 0;\n\n private dirtyFields: Array = [];\n\n created(): void {\n this.dirtyFields = [false];\n if (this.existingEE) {\n this.getEEUser();\n }\n }\n\n private closeModal(): void {\n this.eventCtrl.emit('loadCardData');\n this.$emit('close');\n }\n\n private async getEEUser(): Promise {\n try {\n this.loadingData = true\n const resp: any = await this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerGetExternalExaminerByIndividualPracticeIdIndividualPracticeIdGet(\n this.practice?.practice?.externalExaminer?.id\n );\n this.selectedEE = resp?.data.data as ExternalExaminer;\n\n } catch {\n this.errorLoadingData = true;\n } finally {\n this.loadingData = false;\n }\n }\n\n private submitButtonPressed(): void {\n // if (this.existingEE) {\n // this.terminateEERequest();\n // } else {\n this.appointmentEERequest();\n // }\n }\n \n // private async terminateEERequest(): Promise {\n // try {\n // this.submitPressed = true;\n // if (!this.isFormValid()) {\n // throw ('Incomplete form');\n // }\n // this.submitting = true;\n // await this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerTerminateEeRequestFormPost(\n // {\n // externalExaminerId: this.selectedEE?.id,\n // practiceCoreId: this.practice?.practice?.practiceCoreId,\n // terminationReason: this.reasonForTermination\n // }\n // )\n // this.eventCtrl.emit('show-snackbar', 'success', 'Request to terminate External Examiner has been submitted');\n // this.closeModal();\n // } catch (err) {\n // this.eventCtrl.emit('show-snackbar', 'error', 'Error submitting request: ' + err);\n // } finally {\n // this.submitting = false;\n // }\n // }\n\n private async appointmentEERequest(): Promise {\n try {\n this.submitPressed = true;\n if (!this.isFormValid()) {\n throw ('Incomplete form - no External Examiner');\n }\n this.submitting = true;\n await this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerAdminAppointExternalExaminerPost(\n {\n externalExaminerId: this.selectedEE?.id || 0,\n practiceId: this.practice?.id,\n }\n )\n this.$emit('update');\n this.eventCtrl.emit('show-snackbar', 'success', 'Request to appoint External Examiner has been submitted');\n this.closeModal();\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error submitting request: ' + err);\n } finally {\n this.submitting = false;\n }\n }\n\n private async searchUser(skipI = 0, takeI = 10, reset = false): Promise {\n try {\n this.searchPressed = true;\n if (this.nameKeyword.trim()?.length == 0 && this.suburbPostcode.trim()?.length == 0) {\n return;\n }\n if (reset) {\n this.externalExaminers = [];\n this.totalResultCount = 0;\n this.numResultsShowing = 0;\n this.searchinguser = true;\n } else {\n this.gettingMoreUser = true;\n }\n\n const resp: any = await this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerAdminSearchExternalExaminersPost(\n {\n skip: skipI,\n take: takeI,\n keyword: this.nameKeyword,\n suburbPostCode: this.suburbPostcode\n }\n );\n\n if (reset) {\n this.externalExaminers = resp.data.data;\n this.totalResultCount = resp.data.totalCount;\n this.numResultsShowing = this.totalResultCount <= 10 ? this.totalResultCount : this.externalExaminers.length;\n } else {\n this.externalExaminers.push(...resp.data.data);\n this.numResultsShowing = this.externalExaminers.length;\n }\n \n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting External Examiners: ' + err);\n } finally {\n this.searchinguser = false;\n this.gettingMoreUser = false;\n }\n }\n\n private isFormValid(): boolean {\n if (this.existingEE) {\n return this.reasonForTermination != null && this.reasonForTermination?.length > 0;\n } else {\n return !!this.selectedEE?.id\n }\n \n }\n\n get displayShowMoreButton() : boolean {\n return this.numResultsShowing < this.totalResultCount;\n }\n\n get existingEE(): boolean {\n return this.practice?.practice?.externalExaminer?.lawId ?? false;\n }\n\n get userAccount(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n}\n\n","import { render } from \"./appoint-ee-modal.html?vue&type=template&id=a4288288&scoped=true&ts=true&external\"\nimport script from \"./appoint-ee-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./appoint-ee-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./appoint-ee-modal.scss?vue&type=style&index=0&id=a4288288&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a4288288\"]])\n\nexport default __exports__","import { Options, Vue } from 'vue-class-component';\nimport { AuthorizedUser } from '@/trust-admin-app/models/authorized-user';\nimport store from '@/trust-admin-app/store';\nimport { Inject } from 'vue-property-decorator';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport LoadingSpinner from '@/shared/components/loading-spinner/index.vue';\nimport { RouteN } from '@/trust-admin-app/constants/router-name';\nimport { AppInsights } from '@/trust-admin-app/appInsights';\nimport { EventEmitter } from 'events';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { PracticeAccountDetailsRequest, PracticeAdditionalContactRequest, PracticeStatusRequest, PracticeView, Priority, TrustAccountStatus } from '@/shared/modules/typescript-trustapi-client/models';\nimport AppointEeModal from './appoint-ee-modal/index.vue';\nimport ConfirmDialogue from '@/shared/components/confirm-dialogue/index.vue';\n\ndeclare function openNewBrowserUrl(url: string): boolean;\n\n@Options({\n components: {\n LoadingSpinner,\n LoadingIndicator,\n AppointEeModal,\n ConfirmDialogue,\n },\n mixins: [FormatDateTimeMixin]\n})\nexport default class PracticeMain extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Inject({ from: 'priorities', default: [] })\n private priorities!: Priority[];\n\n @Inject({ from: 'trustAccountStatus', default: [] })\n private trustAccountStatus!: TrustAccountStatus[];\n\n // private validatingEntrance = false;\n private ai = new AppInsights;\n\n private hidePracticeInfo = false;\n private hideLeftPanel = false;\n\n private editingPracticeStatus = false;\n private savingPracticeStatus = false;\n private editingAccountingDetails = false;\n private savingAccountingDetails = false;\n\n private loadingEE = false;\n private selectedEE = {};\n private showAppointEE = false;\n\n private selectedAdditionalContact: PracticeAdditionalContactRequest = {\n id: null as any,\n practiceId: null as any,\n name1: null as any,\n phoneNumber1: null as any,\n email1: null as any,\n name2: null as any,\n phoneNumber2: null as any,\n email2: null as any,\n };\n\n private loadingAdditionalContacts = false;\n private editingAdditionalContacts = false;\n private loadingContent = false;\n\n private practiceStatusForm: PracticeStatusRequest = {\n priorityId: null as any,\n trustAccountStatusId: null as any,\n };\n\n private practiceAccountingDetailsForm: PracticeAccountDetailsRequest = {\n bookkeeper: null as any,\n inspectResultsDiscussedWith: null as any,\n reInspectionPeriodInMonths: null as any\n };\n\n private canSaveAccountingDetails = false;\n\n created(): void {\n this.validateEntrance();\n }\n\n private async validateEntrance(): Promise {\n this.loadingContent = true;\n const practiceId: number = parseInt(this.$route.query.pId as string, 10);\n\n try {\n if (!practiceId) {\n throw new Error('No Practice selected');\n } else if (this.selectedPractice.id === practiceId) {\n this.loadingContent = false;\n } else if (this.selectedPractice.id !== practiceId) {\n\n const resp: any = await this.apiService.PracticeApi?.apiV2PracticeGetPracticeByIdPracticeIdGet(practiceId);\n const practice: PracticeView = resp.data.data;\n\n if (practice) {\n store.dispatch('setSelectedPractice', practice as PracticeView);\n this.loadingContent = false;\n } else {\n throw new Error('Invalid Practice');\n }\n }\n if (this.selectedPractice) {\n this.practiceStatusForm = {\n id: this.selectedPractice.id,\n priorityId: this.selectedPractice?.priority?.id ?? null as any,\n trustAccountStatusId: this.selectedPractice?.trustAccountStatus?.id ?? null as any\n }\n\n this.practiceAccountingDetailsForm = {\n id: this.selectedPractice.id,\n bookkeeper: this.selectedPractice.bookkeeper,\n inspectResultsDiscussedWith: this.selectedPractice.inspectResultsDiscussedWith,\n reInspectionPeriodInMonths: this.selectedPractice.reInspectionPeriodInMonths\n }\n \n this.loadEE(practiceId);\n this.loadAdditionalContact(practiceId);\n }\n } catch (err: any) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Invalid Practice');\n this.ai.trackException('Error loading page: ' + 'Invalid Practice');\n this.$router.push({ name: RouteN.TA.Home.n });\n console.log(err);\n }\n }\n\n private async loadEE(practiceId: number): Promise {\n this.loadingEE = true;\n await this.apiService.PracticeAtcsApi?.apiV2AtcsPracticeAdminGetExternalExaminerByPracticeIdPracticeIdGet(practiceId)\n .then((resp: any) => {\n this.selectedEE = resp.data.data;\n this.loadingEE = false;\n })\n .catch((err: any) => {\n this.loadingEE = false;\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to load External Examiner record');\n this.ai.trackException('Unable to load External Examiner record: ' + err);\n });\n }\n\n private async loadAdditionalContact(practiceId: number): Promise {\n this.loadingAdditionalContacts = true;\n await this.apiService.PracticeApi?.apiV2PracticeGetPracticeAdditionalContactPracticeIdGet(practiceId)\n .then((resp: any) => {\n if (resp.data) {\n this.selectedAdditionalContact.id = resp.data.data?.id || 0;\n this.selectedAdditionalContact.practiceId = resp.data.data?.practiceId || practiceId;\n this.selectedAdditionalContact.name1 = resp.data.data?.name1 || null;\n this.selectedAdditionalContact.phoneNumber1 = resp.data.data?.phoneNumber1 || null;\n this.selectedAdditionalContact.email1 = resp.data.data?.email1 || null;\n this.selectedAdditionalContact.name2 = resp.data.data?.name2 || null;\n this.selectedAdditionalContact.phoneNumber2 = resp.data.data?.phoneNumber2 || null;\n this.selectedAdditionalContact.email2 = resp.data.data?.email2 || null;\n }\n this.loadingAdditionalContacts = false;\n })\n .catch((err: any) => {\n this.loadingAdditionalContacts = false;\n console.log(err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to load Additional Contact');\n this.ai.trackException('Unable to load Additional Contact: ' + err);\n });\n }\n\n private async savePracticeDetails(): Promise {\n try {\n this.editingPracticeStatus = true;\n this.savingPracticeStatus = true;\n const resp: any = await this.apiService.PracticeApi?.apiV2PracticeEditPracticeStatusPost(\n this.practiceStatusForm\n );\n\n const resp1: any = await this.apiService.PracticeApi?.apiV2PracticeGetPracticeByIdPracticeIdGet(this.selectedPractice.id);\n\n store.dispatch('setSelectedPractice', resp1.data.data as PracticeView);\n\n } catch (err) {\n console.log(err);\n } finally {\n this.savingPracticeStatus = false;\n this.editingPracticeStatus = false;\n }\n }\n\n private async saveAccountingDetails(): Promise {\n try {\n this.editingAccountingDetails = true;\n this.savingAccountingDetails = true;\n const resp: any = await this.apiService.PracticeApi?.apiV2PracticeEditPracticeAccountingDetailsPost(\n this.practiceAccountingDetailsForm\n );\n\n const resp1: any = await this.apiService.PracticeApi?.apiV2PracticeGetPracticeByIdPracticeIdGet(this.selectedPractice.id);\n\n store.dispatch('setSelectedPractice', resp1.data.data as PracticeView);\n\n } catch (err) {\n console.log(err);\n } finally {\n this.savingAccountingDetails = false;\n this.editingAccountingDetails = false;\n }\n }\n\n private cancelEditAccountingDetails() {\n this.practiceAccountingDetailsForm = {\n id: this.selectedPractice.id,\n bookkeeper: this.selectedPractice.bookkeeper,\n inspectResultsDiscussedWith: this.selectedPractice.inspectResultsDiscussedWith,\n reInspectionPeriodInMonths: this.selectedPractice.reInspectionPeriodInMonths\n }\n this.savingAccountingDetails = false;\n this.editingAccountingDetails = false;\n }\n\n get usrAcct(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private checkAccountingDetails() {\n const chk1: boolean = this.practiceAccountingDetailsForm.bookkeeper !== null && this.practiceAccountingDetailsForm.bookkeeper.trim().length > 0;\n const chk2: boolean = this.practiceAccountingDetailsForm.inspectResultsDiscussedWith !== null && this.practiceAccountingDetailsForm.inspectResultsDiscussedWith.trim().length > 0;\n const chk3: boolean = this.practiceAccountingDetailsForm.reInspectionPeriodInMonths !== null;\n\n this.canSaveAccountingDetails = chk1 && chk2 && chk3;\n }\n\n private showHideOptions(hideLeftPanel: boolean) {\n this.hideLeftPanel = !hideLeftPanel;\n if (this.hideLeftPanel) {\n this.hidePracticeInfo = true;\n } else {\n setTimeout(() => {\n this.hidePracticeInfo = false;\n }, 500);\n }\n this.eventCtrl.emit('side-panel-hidden', this.hideLeftPanel);\n }\n\n private openExternalURL(url: string) {\n url = url.indexOf('https://') == 0 ? url : 'https://' + url;\n if (typeof openNewBrowserUrl === 'function') {\n openNewBrowserUrl(url);\n } else {\n window.open(url, '_blank');\n }\n }\n\n private async addEditingEE() {\n this.showAppointEE = true;\n }\n\n private async editAdditionalContact() {\n this.editingAdditionalContacts = true;\n }\n\n private async saveAdditionalContacts() {\n this.loadingAdditionalContacts = true;\n this.apiService.PracticeApi?.apiV2PracticeSavePracticeAdditionalContactPost(this.selectedAdditionalContact)\n .then((resp: any) => {\n this.loadingAdditionalContacts = false;\n this.editingAdditionalContacts = false;\n this.eventCtrl.emit('show-snackbar', 'success', 'Additional Contact saved');\n })\n .catch((err: any) => {\n this.loadingAdditionalContacts = false;\n this.editingAdditionalContacts = false;\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to save Additional Contact');\n this.ai.trackException('Unable to save Additional Contact: ' + err);\n });\n }\n\n private async cancelEditAdditionalContacts() {\n this.editingAdditionalContacts = false;\n this.loadAdditionalContact(this.selectedPractice.id);\n }\n\n private deleteEE(i: any, ee: any): void {\n const nameString = ee.firstName + ' ' + ee.lastName ?? '-';\n const _confirm: any = this.$refs.confirmTerminateDialogue;\n _confirm.show({\n title: 'Terminate External Examiner',\n message: 'Are you sure you want to terminate ' + nameString + ' as this Practice\\'s External Examiner?',\n okButton: 'Confirm',\n cancelButton: 'Cancel',\n }).then((res: any) => {\n if (res) {\n this.apiService.PracticeAtcsApi?.apiV2AtcsPracticeAdminTerminateExternalExaminerPost(\n { externalExaminerId: ee.id, practiceId: i.id })\n .then((resp: any) => {\n this.eventCtrl.emit('show-snackbar', 'success', 'External Examiner terminated');\n this.loadEE(i.id);\n })\n .catch((err: any) => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to terminate External Examiner');\n this.ai.trackException('Unable to terminate External Examiner: ' + err);\n });\n }\n });\n }\n\n}\n\n","import { render } from \"./practice-main.html?vue&type=template&id=fc7b6444&scoped=true&ts=true&external\"\nimport script from \"./practice-main.ts?vue&type=script&lang=ts&external\"\nexport * from \"./practice-main.ts?vue&type=script&lang=ts&external\"\n\nimport \"./practice-main.scss?vue&type=style&index=0&id=fc7b6444&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-fc7b6444\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, vModelCheckbox as _vModelCheckbox, withDirectives as _withDirectives, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, vModelText as _vModelText, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-302262b4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"practice-dashboard\" }\nconst _hoisted_2 = { class: \"overview\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", null, \"Home\", -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h1\", null, \"Practice dashboard\", -1))\nconst _hoisted_5 = { style: {\"display\":\"flex\",\"flex-flow\":\"row nowrap\"} }\nconst _hoisted_6 = { class: \"firm-analysis mr-2\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Firm analysis\", -1))\nconst _hoisted_8 = { class: \"mt-4 mb-4\" }\nconst _hoisted_9 = [\"onUpdate:modelValue\", \"disabled\"]\nconst _hoisted_10 = {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n], -1))\nconst _hoisted_12 = { class: \"checkbox-text\" }\nconst _hoisted_13 = { style: {\"margin-top\":\"3em\",\"margin-bottom\":\"1em\"} }\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = { key: 1 }\nconst _hoisted_16 = [\"disabled\"]\nconst _hoisted_17 = {\n class: \"investigation-list ml-2\",\n style: {\"flex\":\"1 1\",\"display\":\"inline\"}\n}\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Investigations\", -1))\nconst _hoisted_19 = { class: \"file-investigation-list\" }\nconst _hoisted_20 = { class: \"date\" }\nconst _hoisted_21 = [\"onClick\"]\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h1\", null, \"Notes\", -1))\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"h3_heading\" }, \"Law practice notes\", -1))\nconst _hoisted_24 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"h3_heading\" }, \"Associated entities\", -1))\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"h3_heading\" }, \"Investigator notes\", -1))\nconst _hoisted_26 = { class: \"notes\" }\nconst _hoisted_27 = {\n key: 0,\n class: \"note-start\"\n}\nconst _hoisted_28 = { key: 1 }\nconst _hoisted_29 = { class: \"note-start\" }\nconst _hoisted_30 = [\"onClick\"]\nconst _hoisted_31 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", null, [\n _hoisted_7,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.practiceAnalyses, (pa) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"label\", {\n class: _normalizeClass([\"checkbox-button\", _ctx.editPracticeAnalyses ? 'editing': 'read-only'])\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": $event => ((pa.answer) = $event),\n disabled: !_ctx.editPracticeAnalyses,\n onChange: _cache[0] || (_cache[0] = $event => (_ctx.saveCheckPracticeAnalyses()))\n }, null, 40, _hoisted_9), [\n [_vModelCheckbox, pa.answer]\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _hoisted_11,\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(pa.question), 1)\n ])\n ], 2)\n ]))\n }), 256)),\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"button\", {\n disabled: _ctx.editPracticeAnalyses || _ctx.investigations.length == 0,\n class: \"btn btn-secondary sml mr-2\",\n onClick: _cache[1] || (_cache[1] = $event => (_ctx.viewLastInvestigation()))\n }, \" View last investigation\", 8, _hoisted_14),\n (!_ctx.editPracticeAnalyses)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn btn-outline dark sml ml-2\",\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.editPracticeAnalyses = !_ctx.editPracticeAnalyses))\n }, \"Edit\"))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_15, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default dark sml ml-2\",\n onClick: _cache[3] || (_cache[3] = (...args) => (_ctx.cancelEditPracticeAnalyses && _ctx.cancelEditPracticeAnalyses(...args)))\n }, \"Cancel\"),\n _createElementVNode(\"button\", {\n disabled: !_ctx.canSavePracticeAnalyses,\n class: \"btn btn-primary dark sml ml-2\",\n onClick: _cache[4] || (_cache[4] = (...args) => (_ctx.savePracticeAnalyses && _ctx.savePracticeAnalyses(...args)))\n }, \"Save\", 8, _hoisted_16)\n ]))\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_17, [\n _hoisted_18,\n _createElementVNode(\"ul\", _hoisted_19, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.investigations, (i) => {\n return (_openBlock(), _createElementBlock(\"li\", null, [\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.$formatDate(i.commencementDate)), 1),\n _createElementVNode(\"span\", {\n class: \"investigation_info\",\n onClick: $event => (_ctx.showInvestigationDetails(i))\n }, _toDisplayString(i.id) + \" \" + _toDisplayString(i.investigationType.description), 9, _hoisted_21)\n ]))\n }), 256))\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: _cache[5] || (_cache[5] = $event => (_ctx.goToAllInvestigations()))\n }, \"View all investigations\")\n ])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_22,\n _hoisted_23,\n _withDirectives(_createElementVNode(\"textarea\", {\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => ((_ctx.lawPracticeNotes) = $event)),\n style: {\"resize\":\"vertical\"}\n }, _toDisplayString(_ctx.lawPracticeNotes), 513), [\n [_vModelText, _ctx.lawPracticeNotes]\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary sml\",\n onClick: _cache[7] || (_cache[7] = $event => (_ctx.saveLawPracticeNotes()))\n }, \"Save\"),\n _hoisted_24,\n _withDirectives(_createElementVNode(\"textarea\", {\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => ((_ctx.associatedEntitiesContent) = $event)),\n style: {\"resize\":\"vertical\"}\n }, _toDisplayString(_ctx.associatedEntitiesContent), 513), [\n [_vModelText, _ctx.associatedEntitiesContent]\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary sml\",\n onClick: _cache[9] || (_cache[9] = $event => (_ctx.saveAssociatedEntities()))\n }, \"Save\"),\n _hoisted_25,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.notes, (n) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [\n (n.notesType.id == 1)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_27, _toDisplayString(n.practiceNote.practiceRisk.name) + \" | \" + _toDisplayString(n.practiceNote.practiceRiskIndicator.name), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_28, [\n _createElementVNode(\"span\", _hoisted_29, [\n _createElementVNode(\"i\", null, [\n _createElementVNode(\"b\", {\n class: \"link\",\n onClick: $event => (_ctx.showInvestigationDetailsByNote(n.investigationNote?.investigation))\n }, _toDisplayString(n.investigationNote?.investigationType?.description), 9, _hoisted_30),\n _createTextVNode(\", - \" + _toDisplayString(n.trustTeamMember?.displayName) + \" \" + _toDisplayString(_ctx.$formatDateTimeTypeA(n.createdOn)), 1)\n ])\n ])\n ])),\n _createTextVNode(\" \" + _toDisplayString(n.content) + \" \", 1),\n _hoisted_31\n ]))\n }), 256)),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: _cache[10] || (_cache[10] = $event => (_ctx.viewAllInvestigatorNotes()))\n }, \"View all investigator notes\")\n ])\n ])\n ]))\n}","import { Inject, Options, Vue } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport store from \"@/trust-admin-app/store\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { RouteN } from \"@/trust-admin-app/constants/router-name\";\nimport { InvestigationView, NoteView, PracticeAnalysisRequest, PracticeAnalysisView, PracticeView } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { AppInsights } from \"@/trust-admin-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport { orderBy } from \"lodash\";\n\n@Options({\n components: {},\n mixins: [FormatDateTimeMixin]\n})\nexport default class PracticeDashboard extends Vue {\n private ai = new AppInsights;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private associatedEntitiesContent = '';\n private lawPracticeNotes = '';\n\n private practiceAnalyses: PracticeAnalysisView[] = [];\n private editPracticeAnalyses = false;\n private canSavePracticeAnalyses = false;\n\n private investigations: InvestigationView[] = [];\n private notes: NoteView[] = [];\n\n created(): void {\n this.associatedEntitiesContent = this.selectedPractice.associatedEntities;\n this.lawPracticeNotes = this.selectedPractice.lawPracticeNotes;\n this.getNotes();\n this.getInvestigation();\n }\n\n mounted(): void {\n this.practiceAnalyses = JSON.parse(JSON.stringify(this.selectedPractice.practiceAnalyses));\n this.eventCtrl.on('reload-investigation-data', this.getInvestigation);\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-investigation-data', this.getInvestigation);\n }\n\n private async saveLawPracticeNotes(): Promise {\n try {\n const resp: any = await this.apiService.PracticeApi?.apiV2PracticeEditLawPracticeNotesPost(\n {\n id: this.selectedPractice.id,\n lawPracticeNotes: this.lawPracticeNotes\n }\n );\n\n const resp1: any = await this.apiService.PracticeApi?.apiV2PracticeGetPracticeByIdPracticeIdGet(this.selectedPractice.id);\n this.eventCtrl.emit('show-snackbar', 'success', 'Law practice notes saved successfully.');\n store.dispatch('setSelectedPractice', resp1.data.data as PracticeView);\n } catch(error) {\n this.ai.trackException('Unable to save Law practice note: ' + error);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to save Law practice notes ' + error);\n }\n\n }\n\n private async saveAssociatedEntities(): Promise {\n\n try {\n const resp: any = await this.apiService.PracticeApi?.apiV2PracticeEditAssociatedEntitiesPost(\n {\n id: this.selectedPractice.id,\n associatedEntities: this.associatedEntitiesContent\n }\n );\n\n const resp1: any = await this.apiService.PracticeApi?.apiV2PracticeGetPracticeByIdPracticeIdGet(this.selectedPractice.id);\n this.eventCtrl.emit('show-snackbar', 'success', 'Associated entities saved successfully.');\n store.dispatch('setSelectedPractice', resp1.data.data as PracticeView);\n } catch(error) {\n this.ai.trackException('Unable to save Associated entities: ' + error);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to save Associated entities ' + error);\n }\n }\n\n private async getNotes(): Promise {\n try {\n // this.loadingContent = true;\n // this.errorLoadingContent = false;\n\n const resp: any = await this.apiService.NotesApi?.apiV2NotesGetNotesByPracticeIdPost(\n {\n practiceId: this.selectedPractice.id,\n showRiskOnly: false\n }\n );\n\n this.notes = resp.data.data;\n this.notes = orderBy(\n this.notes,\n ['id', 'createdOn'],\n ['asc', 'desc']\n );\n\n } catch (err) {\n // this.errorLoadingContent = true;\n console.log(err);\n } finally {\n // this.loadingContent = false;\n // console.log('finally');\n }\n }\n\n private async getInvestigation(): Promise {\n try {\n const resp: any = await this.apiService.InvestigationApi?.apiV2InvestigationGetInvestigationsByPracticeIdPracticeIdGet(\n this.selectedPractice.id\n );\n this.investigations = resp.data.data;\n } catch (err: any) {\n this.ai.trackException('Unable to get Investigation: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to get Investigation: ' + err.message);\n console.log(err);\n }\n }\n\n private goToAllInvestigations(): void {\n this.$router.push({\n name: RouteN.TA.PracticeInvestigationDetails.n,\n query: {\n pId: this.selectedPractice.id\n }\n });\n }\n\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n\n private cancelEditPracticeAnalyses() {\n this.practiceAnalyses = JSON.parse(JSON.stringify(this.selectedPractice.practiceAnalyses));\n this.editPracticeAnalyses = false;\n }\n\n private saveCheckPracticeAnalyses() {\n this.canSavePracticeAnalyses = this.practiceAnalyses.filter(p => p.answer !== null).length > 0;\n }\n\n private savePracticeAnalyses() {\n const _request: PracticeAnalysisRequest[] = this.practiceAnalyses.filter(p => p.answer !== null);\n if (_request.length > 0) {\n this.apiService.PracticeApi?.apiV2PracticeUpdatePracticeAnalysesPost(_request)\n .then(res => {\n this.editPracticeAnalyses = false;\n this.canSavePracticeAnalyses = false;\n this.selectedPractice.practiceAnalyses = this.practiceAnalyses;\n store.dispatch('setSelectedPractice', this.selectedPractice);\n this.eventCtrl.emit('show-snackbar', 'success', 'Practice analyses updated');\n })\n .catch(err => {\n this.ai.trackException('Unable to save practice analyses: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to save practice analyses ' + err);\n })\n }\n }\n\n private viewLastInvestigation() {\n const _lastInvestigation: InvestigationView = orderBy( this.investigations, 'commencementDate', 'desc')[0];\n if(_lastInvestigation) {\n this.showInvestigationDetails(_lastInvestigation);\n }\n }\n\n private showInvestigationDetails(i: InvestigationView) {\n this.eventCtrl.emit('showInvestigationDetailsModal', i);\n }\n\n private async showInvestigationDetailsByNote(n: InvestigationView) {\n await this.apiService.InvestigationApi?.apiV2InvestigationGetInvestigationsByPracticeIdPracticeIdGet(\n this.selectedPractice.id\n )\n .then(res => {\n this.investigations = res.data.data;\n const _inv: InvestigationView[] = this.investigations.filter(i => {\n return i.id = n.id;\n });\n if (_inv.length > 0)\n this.eventCtrl.emit('showInvestigationDetailsModal', _inv[0]);\n })\n .catch(err => {\n console.log(err);\n this.ai.trackException('Unable to get Investigation details: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to get Investigation details: ' + err.message);\n })\n }\n\n private viewAllInvestigatorNotes() {\n this.$router.push({\n name: RouteN.TA.PracticeNotes.n,\n query: {\n pId: this.selectedPractice.id,\n }\n });\n }\n\n}\n\n","import { render } from \"./practice-dashboard.html?vue&type=template&id=302262b4&scoped=true&ts=true&external\"\nimport script from \"./practice-dashboard.ts?vue&type=script&lang=ts&external\"\nexport * from \"./practice-dashboard.ts?vue&type=script&lang=ts&external\"\n\nimport \"./practice-dashboard.scss?vue&type=style&index=0&id=302262b4&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-302262b4\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3eb415c0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"practice-investigation-details\" }\nconst _hoisted_2 = { class: \"general-accounts\" }\nconst _hoisted_3 = { class: \"table-top\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"__left\" }, [\n /*#__PURE__*/_createElementVNode(\"h4\", null, \"Investigations\"),\n /*#__PURE__*/_createElementVNode(\"h2\", null, \"View investigation details\")\n], -1))\nconst _hoisted_5 = { class: \"__right\" }\nconst _hoisted_6 = { class: \"ls-table\" }\nconst _hoisted_7 = [\"onClick\"]\nconst _hoisted_8 = { class: \"text\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-up\" }, null, -1))\nconst _hoisted_10 = [\n _hoisted_9\n]\nconst _hoisted_11 = { key: 0 }\nconst _hoisted_12 = [\"colspan\"]\nconst _hoisted_13 = { key: 1 }\nconst _hoisted_14 = [\"colspan\"]\nconst _hoisted_15 = { key: 2 }\nconst _hoisted_16 = [\"colspan\"]\nconst _hoisted_17 = { \"data-label\": \"INV ID\" }\nconst _hoisted_18 = { \"data-label\": \"Investigation type\" }\nconst _hoisted_19 = { \"data-label\": \"Commencement date\" }\nconst _hoisted_20 = { \"data-label\": \"Status\" }\nconst _hoisted_21 = { \"data-label\": \"Reply actions\" }\nconst _hoisted_22 = { style: {\"text-align\":\"center\"} }\nconst _hoisted_23 = [\"onClick\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n onClick: _cache[0] || (_cache[0] = $event => (_ctx.addInvestigations()))\n }, \"Add Investigations\")\n ])\n ]),\n _createElementVNode(\"table\", _hoisted_6, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", {\n class: _normalizeClass([ h.sortable ? 'sortable' : '']),\n onClick: $event => (_ctx.sortTableColumn(index, h.sortable))\n }, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(h.text), 1),\n (h.sortable)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([ _ctx.activeSortHeader === index ? 'active' : '', h.sortMethod])\n }, _hoisted_10, 2))\n : _createCommentVNode(\"\", true)\n ])\n ], 10, _hoisted_7))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_11, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_12)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_13, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_14)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.investigations.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_15, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, \"No Records\", 8, _hoisted_16)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.investigations.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.investigationsDisplay, (i) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_17, _toDisplayString(i.id), 1),\n _createElementVNode(\"td\", _hoisted_18, _toDisplayString(i.investigationTypeName), 1),\n _createElementVNode(\"td\", _hoisted_19, _toDisplayString(_ctx.$formatDate(i.commencementDate)), 1),\n _createElementVNode(\"td\", _hoisted_20, _toDisplayString(i.status), 1),\n _createElementVNode(\"td\", _hoisted_21, _toDisplayString(i.isReplyRequired ? 'Yes' : ''), 1),\n _createElementVNode(\"td\", _hoisted_22, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml\",\n onClick: $event => (_ctx.showInvestigationDetails(i))\n }, \"View\", 8, _hoisted_23)\n ])\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ]))\n}","import { Inject, Options, Vue } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { InvestigationFilterRequest, InvestigationTypeView, InvestigationView } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { PracticeView } from \"@/shared/modules/typescript-trustapi-client/models/practice-view\";\nimport store from \"@/trust-admin-app/store\";\nimport { EventEmitter } from \"events\";\nimport ErrorIndicator from \"@/shared/components/error-indicator/index.vue\";\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport InvestigationDetailsModal from \"../investigation-details-modal/index.vue\";\n\n@Options({\n components: {\n LoadingIndicator,\n ErrorIndicator,\n InvestigationDetailsModal,\n },\n mixins: [\n FormatDateTimeMixin,\n ]\n})\nexport default class PracticeInvestigationDetails extends Vue {\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private loadingContent = false;\n private errorLoadingContent = false;\n private loadingDataSet = false;\n private errorLoadingDataSet = false;\n\n private sortMethod = 'desc';\n private activeSortHeader = 2;\n\n private investigationTypes: InvestigationTypeView[] = [];\n private investigations: InvestigationView[] = [];\n private investigationsDisplay: any[] = [];\n\n private tableHeadings = [\n { text: 'Trust account INV ID', value: 'id', sortMethod: 'asc', sortable: false, activeSort: false },\n { text: 'Investigation type', value: 'investigationTypeName', sortMethod: 'asc', sortable: false, activeSort: false },\n { text: 'Date', value: 'commencementDate', sortMethod: 'desc', sortable: false, activeSort: false },\n { text: 'Status', value: 'status', sortMethod: 'asc', sortable: false, activeSort: false },\n { text: 'Reply required', value: 'replyRequired', sortMethod: 'asc', sortable: false, activeSort: false },\n { text: '', value: '', sortMethod: 'asc', sortable: false, activeSort: false },\n ];\n\n private addInvestigations(): void {\n const investigation: InvestigationView = {\n id: null,\n latestPracticeLogData: this.selectedPractice\n };\n investigation.latestPracticeLogData.practiceId = this.selectedPractice.id;\n this.eventCtrl.emit('showAddEditInvestigationModal', investigation);\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n\n created(): void {\n this.preloadData();\n }\n \n mounted(): void {\n this.eventCtrl.on('reload-investigation-data', this.loadInvestigations);\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-investigation-data', this.loadInvestigations);\n }\n\n private async preloadData(): Promise {\n try {\n this.loadingDataSet = true;\n this.errorLoadingDataSet = false;\n const resp: any[] = await Promise.all([\n this.apiService.TrustTeamMemberApi?.apiV2TrustTeamMemberGetTrustTeamMembersPost(),\n this.apiService.ConfigTrustApi?.apiV2ConfigTrustGetInvestigationTypesPost(),\n this.apiService.TrustTeamMemberApi?.apiV2TrustTeamMemberGetSupervisorsGet(),\n this.loadInvestigations()\n ]);\n this.investigationTypes = resp[1].data.data as InvestigationTypeView[];\n // this.investigators = orderBy(\n // resp[0].data.data as TrustTeamMemberView[],\n // [data => data.displayName.toLowerCase()],\n // 'asc'\n // );\n // this.supervisorList =\n // orderBy(\n // resp[2].data.data as Supervisor[],\n // [data => data.displayName.toLowerCase()],\n // 'asc'\n // );\n } catch (err) {\n this.errorLoadingDataSet = true;\n } finally {\n this.loadingDataSet = false;\n }\n }\n\n private async loadInvestigations(): Promise {\n try {\n this.loadingContent = true;\n this.errorLoadingContent = false;\n const request: InvestigationFilterRequest = {\n \"keyword\": '',\n \"showActiveStatus\": false,\n \"investigationCategoryId\": null,\n \"isReplyRequired\": false,\n \"hasTrustTeamMember\": true,\n \"showTrainingStatus\": false,\n };\n\n const resp: any =\n await this.apiService.InvestigationApi?.apiV2InvestigationGetInvestigationsPost(\n request\n );\n\n this.investigations = resp.data.data as InvestigationView[];\n this.investigationsDisplay = this.investigations.filter(i => i.latestPracticeLogData.practiceId == this.selectedPractice.id);\n\n // convert to display table\n for (let i = 0; i < this.investigationsDisplay.length; i++) {\n this.investigationsDisplay[i].investigationTypeName = this.investigationsDisplay[i].investigationType.name;\n this.investigationsDisplay[i].status = this.investigationsDisplay[i].investigationStatus.name;\n }\n\n return Promise.resolve(false);\n } catch (err) {\n this.errorLoadingContent = true;\n console.log(err);\n return Promise.reject(true);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private showInvestigationDetails(i: InvestigationView) {\n this.eventCtrl.emit('showInvestigationDetailsModal', i);\n }\n\n private sortTableColumn(): void {\n // dummy function\n }\n}\n\n","import { render } from \"./practice-investigation-details.html?vue&type=template&id=3eb415c0&scoped=true&ts=true&external\"\nimport script from \"./practice-investigation-details.ts?vue&type=script&lang=ts&external\"\nexport * from \"./practice-investigation-details.ts?vue&type=script&lang=ts&external\"\n\nimport \"./practice-investigation-details.scss?vue&type=style&index=0&id=3eb415c0&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3eb415c0\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-356d1d04\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"practice-bank\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"mortgage-information\"\n}\nconst _hoisted_3 = { class: \"info\" }\nconst _hoisted_4 = { class: \"information\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Current investments registered number\", -1))\nconst _hoisted_6 = [\"disabled\"]\nconst _hoisted_7 = { class: \"information\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Contributory mortgages number\", -1))\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = { class: \"button-row\" }\nconst _hoisted_11 = { key: 0 }\nconst _hoisted_12 = { class: \"general-accounts\" }\nconst _hoisted_13 = { class: \"table-top\" }\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"__left\" }, [\n /*#__PURE__*/_createElementVNode(\"h4\", null, \"Bank details\"),\n /*#__PURE__*/_createElementVNode(\"h2\", null, \"Trust accounts\")\n], -1))\nconst _hoisted_15 = { class: \"__right\" }\nconst _hoisted_16 = { class: \"ls-table\" }\nconst _hoisted_17 = { key: 0 }\nconst _hoisted_18 = [\"colspan\"]\nconst _hoisted_19 = { key: 1 }\nconst _hoisted_20 = [\"colspan\"]\nconst _hoisted_21 = { key: 2 }\nconst _hoisted_22 = [\"colspan\"]\nconst _hoisted_23 = { \"data-label\": \"BSB no.\" }\nconst _hoisted_24 = { \"data-label\": \"Bank\" }\nconst _hoisted_25 = { \"data-label\": \"Branch\" }\nconst _hoisted_26 = { \"data-label\": \"Account no.\" }\nconst _hoisted_27 = { \"data-label\": \"Account name\" }\nconst _hoisted_28 = { \"data-label\": \"Opened\" }\nconst _hoisted_29 = { \"data-label\": \"Closed\" }\nconst _hoisted_30 = { \"data-label\": \"Actions\" }\nconst _hoisted_31 = [\"onClick\"]\nconst _hoisted_32 = { class: \"trust-accounts\" }\nconst _hoisted_33 = { class: \"table-top\" }\nconst _hoisted_34 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"__left\" }, [\n /*#__PURE__*/_createElementVNode(\"h4\", null, \"Bank details\"),\n /*#__PURE__*/_createElementVNode(\"h2\", null, \"General accounts\")\n], -1))\nconst _hoisted_35 = { class: \"__right\" }\nconst _hoisted_36 = { class: \"between\" }\nconst _hoisted_37 = { class: \"information\" }\nconst _hoisted_38 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"General accounting system\", -1))\nconst _hoisted_39 = { class: \"ls-table\" }\nconst _hoisted_40 = { key: 0 }\nconst _hoisted_41 = [\"colspan\"]\nconst _hoisted_42 = { key: 1 }\nconst _hoisted_43 = [\"colspan\"]\nconst _hoisted_44 = { key: 2 }\nconst _hoisted_45 = [\"colspan\"]\nconst _hoisted_46 = { \"data-label\": \"BSB no.\" }\nconst _hoisted_47 = { \"data-label\": \"Bank\" }\nconst _hoisted_48 = { \"data-label\": \"Branch\" }\nconst _hoisted_49 = { \"data-label\": \"Account no.\" }\nconst _hoisted_50 = { \"data-label\": \"Account name\" }\nconst _hoisted_51 = { \"data-label\": \"Opened\" }\nconst _hoisted_52 = { \"data-label\": \"Closed\" }\nconst _hoisted_53 = { \"data-label\": \"Actions\" }\nconst _hoisted_54 = [\"onClick\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_AddEditModal = _resolveComponent(\"AddEditModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (_ctx.selectedPractice)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _withDirectives(_createElementVNode(\"input\", {\n class: \"narrow\",\n disabled: !_ctx.isEditMortgageInfo,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.investmentsRegisteredNumber) = $event)),\n type: \"text\"\n }, null, 8, _hoisted_6), [\n [_vModelText, _ctx.investmentsRegisteredNumber]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _hoisted_8,\n _withDirectives(_createElementVNode(\"input\", {\n class: \"narrow\",\n disabled: !_ctx.isEditMortgageInfo,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.contributoryMortgagesNumber) = $event)),\n type: \"text\"\n }, null, 8, _hoisted_9), [\n [_vModelText, _ctx.contributoryMortgagesNumber]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n (_ctx.isSavingMortgageInfo)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, [\n _createVNode(_component_LoadingIndicator, { loadingText: 'Saving ...' }, null, 8, [\"loadingText\"])\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.isEditMortgageInfo)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-outline dark sml\",\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.isEditMortgageInfo = true))\n }, \"Edit\"))\n : (_openBlock(), _createElementBlock(\"button\", {\n key: 2,\n class: \"btn btn-primary sml\",\n onClick: _cache[3] || (_cache[3] = $event => (_ctx.saveMortgageInfo()))\n }, \"Save\"))\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, [\n _hoisted_14,\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n onClick: _cache[4] || (_cache[4] = $event => (_ctx.openAddEditAccount({id: 0, accountType: { id: 1}})))\n }, \"Add trust account\")\n ])\n ]),\n _createElementVNode(\"table\", _hoisted_16, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.trustAccTableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", null, [\n _createElementVNode(\"p\", null, _toDisplayString(h.text), 1)\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_17, [\n _createElementVNode(\"td\", {\n colspan: _ctx.trustAccTableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_18)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_19, [\n _createElementVNode(\"td\", {\n colspan: _ctx.trustAccTableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_20)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.trustAccounts.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_21, [\n _createElementVNode(\"td\", {\n colspan: _ctx.trustAccTableHeadings.length\n }, \"No Records\", 8, _hoisted_22)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.trustAccounts.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.trustAccounts, (tA) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_23, _toDisplayString(tA.bsbno), 1),\n _createElementVNode(\"td\", _hoisted_24, _toDisplayString(tA.bankName), 1),\n _createElementVNode(\"td\", _hoisted_25, _toDisplayString(tA.bankBranchName), 1),\n _createElementVNode(\"td\", _hoisted_26, _toDisplayString(tA.accountNo), 1),\n _createElementVNode(\"td\", _hoisted_27, _toDisplayString(tA.name), 1),\n _createElementVNode(\"td\", _hoisted_28, _toDisplayString(tA.dateOpened ? _ctx.$formatDate(tA.dateOpened) : ''), 1),\n _createElementVNode(\"td\", _hoisted_29, _toDisplayString(tA.dateClosed ? _ctx.$formatDate(tA.dateClosed) : ''), 1),\n _createElementVNode(\"td\", _hoisted_30, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml ml-2\",\n onClick: $event => (_ctx.openAddEditAccount(tA))\n }, \"Edit\", 8, _hoisted_31)\n ])\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_32, [\n _createElementVNode(\"div\", _hoisted_33, [\n _hoisted_34,\n _createElementVNode(\"div\", _hoisted_35, [\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n onClick: _cache[5] || (_cache[5] = $event => (_ctx.openAddEditAccount({id: 0, accountType: { id: 2} })))\n }, \"Add general account\")\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_36, [\n _createElementVNode(\"div\", _hoisted_37, [\n _hoisted_38,\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.selectedPractice.generalAccountingApp ? _ctx.selectedPractice.generalAccountingApp.name : 'N/A'), 1)\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-outline dark sml mb-2\",\n onClick: _cache[6] || (_cache[6] = $event => (_ctx.openAddEditAccount({})))\n }, \"Edit\")\n ]),\n _createElementVNode(\"table\", _hoisted_39, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.generalAccTableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", null, [\n _createElementVNode(\"p\", null, _toDisplayString(h.text), 1)\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_40, [\n _createElementVNode(\"td\", {\n colspan: _ctx.generalAccTableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_41)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_42, [\n _createElementVNode(\"td\", {\n colspan: _ctx.generalAccTableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_43)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.generalAccounts.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_44, [\n _createElementVNode(\"td\", {\n colspan: _ctx.generalAccTableHeadings.length\n }, \"No Records\", 8, _hoisted_45)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.generalAccounts.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.generalAccounts, (gA) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_46, _toDisplayString(gA.bsbno), 1),\n _createElementVNode(\"td\", _hoisted_47, _toDisplayString(gA.bankName), 1),\n _createElementVNode(\"td\", _hoisted_48, _toDisplayString(gA.bankBranchName), 1),\n _createElementVNode(\"td\", _hoisted_49, _toDisplayString(gA.accountNo), 1),\n _createElementVNode(\"td\", _hoisted_50, _toDisplayString(gA.name), 1),\n _createElementVNode(\"td\", _hoisted_51, _toDisplayString(gA.dateOpened ? _ctx.$formatDate(gA.dateOpened) : ''), 1),\n _createElementVNode(\"td\", _hoisted_52, _toDisplayString(gA.dateClosed ? _ctx.$formatDate(gA.dateClosed) : ''), 1),\n _createElementVNode(\"td\", _hoisted_53, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml ml-1\",\n onClick: $event => (_ctx.openAddEditAccount(gA))\n }, \"Edit\", 8, _hoisted_54)\n ])\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n (_ctx.showAddEditModal)\n ? (_openBlock(), _createBlock(_component_AddEditModal, {\n key: 1,\n onCloseModal: _cache[7] || (_cache[7] = $event => (_ctx.closeAddEditAccount())),\n bankAcct: _ctx.selectedAccount\n }, null, 8, [\"bankAcct\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, withKeys as _withKeys, vModelText as _vModelText, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, withModifiers as _withModifiers, normalizeClass as _normalizeClass, vShow as _vShow, vModelSelect as _vModelSelect, createBlock as _createBlock, createTextVNode as _createTextVNode, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1eaec8fd\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"add-edit-modal\" }\nconst _hoisted_2 = { class: \"heading-text\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"line1\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"line1\"\n}\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"line2\" }, \"Bank\", -1))\nconst _hoisted_6 = { class: \"modal-body\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { key: 1 }\nconst _hoisted_9 = {\n key: 0,\n class: \"bank-account\"\n}\nconst _hoisted_10 = { class: \"ls-form\" }\nconst _hoisted_11 = { class: \"body-line-1\" }\nconst _hoisted_12 = { class: \"input-box-1 mr-4\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Search bank\", -1))\nconst _hoisted_14 = {\n class: \"autocomplete\",\n style: {\"flex\":\"0 0 100%\"}\n}\nconst _hoisted_15 = { class: \"icon-hm\" }\nconst _hoisted_16 = {\n key: 0,\n class: \"fal fa-spinner fa-spin fa-lg\"\n}\nconst _hoisted_17 = {\n key: 1,\n class: \"fal fa-search fa-lg\"\n}\nconst _hoisted_18 = {\n id: \"autocomplete-results\",\n class: \"autocomplete-results\"\n}\nconst _hoisted_19 = [\"innerHTML\", \"onClick\"]\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"fieldset\", null, null, -1))\nconst _hoisted_21 = { class: \"body-line-1\" }\nconst _hoisted_22 = { class: \"input-box-1 mr-4\" }\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"BSB No. *\", -1))\nconst _hoisted_24 = [\"value\"]\nconst _hoisted_25 = { class: \"input-box-2\" }\nconst _hoisted_26 = { class: \"input-box\" }\nconst _hoisted_27 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Bank *\", -1))\nconst _hoisted_28 = [\"value\"]\nconst _hoisted_29 = { class: \"body-line-2\" }\nconst _hoisted_30 = { class: \"mr-4\" }\nconst _hoisted_31 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Branch *\", -1))\nconst _hoisted_32 = [\"value\"]\nconst _hoisted_33 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Account No. *\", -1))\nconst _hoisted_34 = { class: \"body-line-3\" }\nconst _hoisted_35 = { class: \"mr-4\" }\nconst _hoisted_36 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Account Name *\", -1))\nconst _hoisted_37 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Date Opened *\", -1))\nconst _hoisted_38 = { class: \"input-box\" }\nconst _hoisted_39 = { class: \"date-picker\" }\nconst _hoisted_40 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-calendar-check\" }, null, -1))\nconst _hoisted_41 = {\n key: 0,\n class: \"body-line-4\"\n}\nconst _hoisted_42 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Date Closed\", -1))\nconst _hoisted_43 = { class: \"input-box\" }\nconst _hoisted_44 = { class: \"date-picker\" }\nconst _hoisted_45 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-calendar-check\" }, null, -1))\nconst _hoisted_46 = {\n key: 1,\n class: \"general-acc-sys\"\n}\nconst _hoisted_47 = { class: \"ls-form\" }\nconst _hoisted_48 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"General accounting system\", -1))\nconst _hoisted_49 = { class: \"input-box\" }\nconst _hoisted_50 = { class: \"select mb-4\" }\nconst _hoisted_51 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", {\n disabled: \"\",\n value: null\n}, \"- Please select -\", -1))\nconst _hoisted_52 = [\"value\"]\nconst _hoisted_53 = { class: \"controls mt-4\" }\nconst _hoisted_54 = [\"disabled\"]\nconst _hoisted_55 = [\"disabled\"]\nconst _hoisted_56 = {\n key: 2,\n class: \"row mt-2 ml-2\"\n}\nconst _hoisted_57 = { class: \"reset-filter\" }\nconst _hoisted_58 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", null, \"DELETE ALERT\", -1))\nconst _hoisted_59 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"Are you sure you want to delete the bank?\", -1))\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_v3_date_picker = _resolveComponent(\"v3-date-picker\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n const _component_AlertBox = _resolveComponent(\"AlertBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n onClose: _cache[13] || (_cache[13] = $event => (_ctx.cancelClicked())),\n mostScreen: true\n }, {\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n (!_ctx.isEdit)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_3, \"Add \" + _toDisplayString(_ctx.headingName), 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_4, \"Edit \" + _toDisplayString(_ctx.headingName), 1)),\n _hoisted_5\n ])\n ]),\n body: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_6, [\n (_ctx.isLoadingData)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createVNode(_component_LoadingIndicator)\n ]))\n : (_ctx.errorLoadingData)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createVNode(_component_ErrorIndicator)\n ]))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 2 }, [\n (_ctx.bankAcct.accountType != null)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"form\", _hoisted_10, [\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"fieldset\", _hoisted_12, [\n _hoisted_13,\n _createElementVNode(\"div\", _hoisted_14, [\n _withDirectives(_createElementVNode(\"input\", {\n onKeydown: [\n _cache[0] || (_cache[0] = _withKeys((...args) => (_ctx.onArrowDown && _ctx.onArrowDown(...args)), [\"down\"])),\n _cache[1] || (_cache[1] = _withKeys((...args) => (_ctx.onArrowUp && _ctx.onArrowUp(...args)), [\"up\"])),\n _cache[2] || (_cache[2] = _withKeys((...args) => (_ctx.onEnter && _ctx.onEnter(...args)), [\"enter\"]))\n ],\n class: \"searchField\",\n type: \"text\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => ((_ctx.search) = $event)),\n placeholder: \"Search bank name\"\n }, null, 544), [\n [_vModelText, _ctx.search]\n ]),\n _withDirectives(_createElementVNode(\"input\", {\n type: \"hidden\",\n id: \"bank\",\n name: \"bank\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.selectedBank) = $event))\n }, null, 512), [\n [_vModelText, _ctx.selectedBank]\n ]),\n _createElementVNode(\"span\", _hoisted_15, [\n (_ctx.isSearching)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_16))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_17))\n ]),\n _withDirectives(_createElementVNode(\"ul\", _hoisted_18, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.bankList, (bank, i) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: i,\n class: _normalizeClass([\"autocomplete-result\", { 'is-active': i === _ctx.arrowCounter }]),\n innerHTML: _ctx.highlightWord(bank.bsb + ' - ' + bank.bankName + ' ' + bank.branchName),\n onClick: _withModifiers($event => (_ctx.selectBank(bank)), [\"prevent\"])\n }, null, 10, _hoisted_19))\n }), 128))\n ], 512), [\n [_vShow, _ctx.isOpen]\n ])\n ])\n ]),\n _hoisted_20\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"fieldset\", _hoisted_22, [\n _hoisted_23,\n _createElementVNode(\"input\", {\n type: \"text\",\n maxlength: \"200\",\n value: _ctx.selectedBank?.bsb,\n disabled: \"\"\n }, null, 8, _hoisted_24)\n ]),\n _createElementVNode(\"fieldset\", _hoisted_25, [\n _createElementVNode(\"div\", _hoisted_26, [\n _hoisted_27,\n _createElementVNode(\"input\", {\n type: \"text\",\n maxlength: \"200\",\n value: _ctx.selectedBank?.bankName,\n disabled: \"\"\n }, null, 8, _hoisted_28)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"fieldset\", _hoisted_30, [\n _hoisted_31,\n _createElementVNode(\"input\", {\n type: \"text\",\n maxlength: \"200\",\n value: _ctx.selectedBank?.branchName,\n disabled: \"\"\n }, null, 8, _hoisted_32)\n ]),\n _createElementVNode(\"fieldset\", null, [\n _hoisted_33,\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n maxlength: \"200\",\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => ((_ctx.formData.accountNo) = $event))\n }, null, 512), [\n [_vModelText, _ctx.formData.accountNo]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_34, [\n _createElementVNode(\"fieldset\", _hoisted_35, [\n _hoisted_36,\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n maxlength: \"200\",\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => ((_ctx.formData.name) = $event))\n }, null, 512), [\n [_vModelText, _ctx.formData.name]\n ])\n ]),\n _createElementVNode(\"fieldset\", null, [\n _hoisted_37,\n _createElementVNode(\"div\", _hoisted_38, [\n _createElementVNode(\"div\", _hoisted_39, [\n _createVNode(_component_v3_date_picker, {\n class: \"v3-date-picker\",\n modelValue: _ctx.dateOpened,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => ((_ctx.dateOpened) = $event)),\n style: {\"padding\":\"1em\"},\n inputFormat: \"dd-MM-yyyy\"\n }, null, 8, [\"modelValue\"]),\n _hoisted_40\n ])\n ])\n ])\n ]),\n (_ctx.isEdit)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_41, [\n _createElementVNode(\"fieldset\", null, [\n _hoisted_42,\n _createElementVNode(\"div\", _hoisted_43, [\n _createElementVNode(\"div\", _hoisted_44, [\n _createVNode(_component_v3_date_picker, {\n class: \"v3-date-picker\",\n lowerLimit: _ctx.dateOpened,\n modelValue: _ctx.dateClosed,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => ((_ctx.dateClosed) = $event)),\n style: {\"padding\":\"1em\"},\n inputFormat: \"dd-MM-yyyy\"\n }, null, 8, [\"lowerLimit\", \"modelValue\"]),\n _hoisted_45\n ])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_46, [\n _createElementVNode(\"form\", _hoisted_47, [\n _createElementVNode(\"fieldset\", null, [\n _hoisted_48,\n _createElementVNode(\"div\", _hoisted_49, [\n _createElementVNode(\"div\", _hoisted_50, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = $event => ((_ctx.selectedAccountingApp) = $event))\n }, [\n _hoisted_51,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.accountingApps, (acctApp) => {\n return (_openBlock(), _createElementBlock(\"option\", { value: acctApp }, _toDisplayString(acctApp.name), 9, _hoisted_52))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.selectedAccountingApp]\n ])\n ])\n ])\n ])\n ])\n ])),\n _createElementVNode(\"div\", _hoisted_53, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default ml-1\",\n disabled: _ctx.submitting,\n onClick: _cache[10] || (_cache[10] = _withModifiers($event => (_ctx.cancelClicked()), [\"prevent\",\"stop\"]))\n }, \" Back \", 8, _hoisted_54),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n disabled: _ctx.submitting || !(_ctx.isFormDirty && _ctx.validForm),\n onClick: _cache[11] || (_cache[11] = _withModifiers($event => (_ctx.saveDetails()), [\"prevent\",\"stop\"]))\n }, _toDisplayString(_ctx.isEdit || _ctx.bankAcct.accountType == null ? 'Save': 'Add'), 9, _hoisted_55),\n (_ctx.submitting)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.isEdit && (_ctx.formData.accountTypeId == 1 || _ctx.formData.accountTypeId == 2))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_56, [\n _createElementVNode(\"div\", _hoisted_57, [\n _createTextVNode(\" Or \"),\n _createElementVNode(\"a\", {\n class: \"link2\",\n onClick: _cache[12] || (_cache[12] = (...args) => (_ctx.deleteBank && _ctx.deleteBank(...args)))\n }, \"delete bank\")\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n ])\n ]),\n _: 1\n }),\n (_ctx.showDeleteAlert)\n ? (_openBlock(), _createBlock(_component_AlertBox, {\n key: 0,\n onClose: _cache[16] || (_cache[16] = $event => (_ctx.showDeleteAlert = false))\n }, {\n header: _withCtx(() => [\n _hoisted_58\n ]),\n body: _withCtx(() => [\n _hoisted_59\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"btn btn-tertiary\",\n onClick: _cache[14] || (_cache[14] = $event => (_ctx.showDeleteAlert = false))\n }, \"Cancel\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary\",\n onClick: _cache[15] || (_cache[15] = (...args) => (_ctx.yesClicked && _ctx.yesClicked(...args)))\n }, \"Delete bank\")\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]))\n}","import LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport ModalBox from \"@/shared/components/modal-box/index.vue\";\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport { Inject, Options, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport { AppInsights } from '@/trust-admin-app/appInsights';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport V3DatePicker from 'vue3-datepicker';\nimport AlertBox from '@/shared/components/alert-box/index.vue';\nimport store from '@/trust-admin-app/store';\nimport { EventEmitter } from 'events';\nimport debounce from 'lodash/debounce';\nimport { AccountingAppView, AccountRequest, AccountView, BankBranchRequest, BankBranchView, BankView, PracticeView } from '@/shared/modules/typescript-trustapi-client/models';\n\n@Options({\n components: {\n ModalBox,\n LoadingIndicator,\n ErrorIndicator,\n V3DatePicker,\n AlertBox\n }\n})\nexport default class AddEditModal extends Vue {\n private ai = new AppInsights;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop() bankAcct!: AccountView;\n\n private showAddEditModal!: boolean;\n private showDeleteAlert = false;\n\n private show = false;\n private isLoadingData = false;\n private errorLoadingData = false;\n\n private banks: BankView[] = [];\n private accountingApps: AccountingAppView[] = [];\n private formData: AccountView = {};\n private dateOpened: Date = null as any;\n private dateClosed: Date = null as any;\n private selectedAccountingApp: AccountingAppView = null as any;\n private submitting = false;\n\n private selectedBank: BankBranchView = null as any;\n private isOpen = false;\n private arrowCounter = -1;\n private bankList: BankBranchView[] = [];\n private search = '';\n private isSearching = false;\n private srchDebounced: any = null;\n\n @Watch('search')\n private onKeywordChange(): void {\n if (this.search.length > 2 && this.bankList.filter(x => x.bankName == this.search).length == 0) {\n this.selectedBank = null as any;\n setTimeout(this.srchDebounced.cancel, 0);\n setTimeout(this.srchDebounced, 0);\n }\n }\n\n created(): void {\n this.preloadData();\n this.formData = JSON.parse(JSON.stringify(this.bankAcct));\n\n this.selectedAccountingApp = JSON.parse(JSON.stringify(this.selectedPractice.generalAccountingApp));\n\n this.dateOpened = this.formData.dateOpened ? new Date(this.formData.dateOpened) : null as any;\n this.dateClosed = this.formData.dateClosed ? new Date(this.formData.dateClosed) : null as any;\n\n if (this.isEdit) {\n this.selectedBank = {\n bankId: this.bankAcct.bankId,\n bankName: this.bankAcct.bankName,\n branchName: this.bankAcct.bankBranchName,\n bsb: this.bankAcct.bsbno\n };\n }\n\n }\n\n mounted(): void {\n window.addEventListener('click', this.handleClickOutside);\n this.srchDebounced = debounce(() => {\n this.searchBank();\n }, 1000);\n }\n\n beforeUnmount(): void {\n window.removeEventListener('click', this.handleClickOutside);\n }\n\n private async searchBank(): Promise {\n const _body: BankBranchRequest = {\n keyword: this.search,\n accountTypeId: this.bankAcct.accountType?.id\n }\n try {\n this.isSearching = true;\n\n const resp: any = await this.apiService.AccountApi?.apiV2AccountGetBankBranchByKeywordSearchPost(_body);\n this.bankList = resp.data.data as BankBranchView[];\n this.isOpen = this.bankList.length > 0;\n } catch (err) {\n this.isOpen = false;\n } finally {\n this.isSearching = false;\n }\n }\n\n private async saveDetails(): Promise {\n try {\n this.submitting = true;\n const resp: any = this.bankAcct.accountType != null ? await this.apiService.AccountApi?.apiV2AccountSaveAccountPost(\n {\n id: this.formData.id,\n practiceId: this.formData.practiceId,\n accountTypeId: this.formData.accountType.id,\n bsbno: this.selectedBank.bsb,\n bankId: this.selectedBank.bankId,\n bankName: this.selectedBank.bankName,\n bankBranchName: this.selectedBank.branchName,\n accountNo: this.formData.accountNo,\n name: this.formData.name,\n dateOpened: this.dateOpened ? new Date(this.dateOpened) : null as any,\n dateClosed: this.dateClosed ? new Date(this.dateClosed) : null as any\n } as AccountRequest\n ) : await this.apiService.PracticeApi?.apiV2PracticeEditGeneralAccountingAppPost(\n {\n id: this.formData.practiceId,\n generalAccountingAppId: this.selectedAccountingApp.id\n }\n );\n\n if (!this.bankAcct.accountType) {\n\n const resp1: any = await this.apiService.PracticeApi?.apiV2PracticeGetPracticeByIdPracticeIdGet(this.selectedPractice.id);\n\n store.dispatch('setSelectedPractice', resp1.data.data as PracticeView);\n this.eventCtrl.emit('show-snackbar', 'success', this.headingName + ' updated successfully');\n } else {\n this.eventCtrl.emit('reload-accounting-accounts');\n this.eventCtrl.emit('show-snackbar', 'success', 'Bank account ' + (this.isEdit ? 'saved' : 'added') + ' successfully');\n }\n\n this.closeModal();\n\n } catch {\n this.eventCtrl.emit('show-snackbar', 'error', 'Problem adding bank account');\n } finally {\n this.submitting = false;\n }\n }\n\n private async deleteAccount(): Promise {\n try {\n this.submitting = true;\n const resp: any = await this.apiService.AccountApi?.apiV2AccountDeleteAccountAccountIdDelete(\n this.formData.id\n );\n this.eventCtrl.emit('reload-accounting-accounts');\n this.eventCtrl.emit('show-snackbar', 'success', 'Bank account deleted successfully');\n this.closeModal();\n } catch {\n this.eventCtrl.emit('show-snackbar', 'error', 'Problem deleting bank account');\n } finally {\n this.submitting = false;\n }\n }\n\n private async preloadData(): Promise {\n try {\n\n this.isLoadingData = true;\n this.errorLoadingData = false;\n\n const resp: any = await Promise.all([\n this.apiService.ConfigTrustApi?.apiV2ConfigTrustGetBanksPost(),\n this.apiService.AccountingAppApi?.apiV2AccountingAppGetAccountingAppsPost()\n ]);\n this.banks = resp[0].data.data as BankView[];\n this.accountingApps = resp[1].data.data as AccountingAppView[];\n\n } catch (err) {\n this.errorLoadingData = true;\n } finally {\n this.isLoadingData = false;\n }\n }\n\n private cancelClicked(): void {\n this.closeModal();\n }\n\n private closeModal(): void {\n this.$emit('closeModal');\n }\n\n private deleteBank(): void {\n this.showDeleteAlert = true;\n }\n\n private yesClicked(): void {\n this.deleteAccount();\n }\n\n private selectBank(b: BankBranchView): void {\n this.isOpen = false;\n this.search = b.bankName;\n this.selectedBank = b;\n }\n\n private onArrowDown(evt: any) {\n if (this.arrowCounter < this.bankList.length) {\n this.arrowCounter = this.arrowCounter + 1;\n }\n }\n\n private onArrowUp(): void {\n if (this.arrowCounter > 0) {\n this.arrowCounter = this.arrowCounter - 1;\n }\n }\n\n private onEnter() {\n if (this.bankList.length > 0) {\n this.selectBank(\n this.bankList[this.arrowCounter === -1 ? 0 : this.arrowCounter]\n );\n }\n this.isOpen = false;\n }\n\n private handleClickOutside(evt: any): void {\n if (this.$el === (evt.target)) {\n this.isOpen = false;\n this.arrowCounter = -1;\n }\n }\n\n private highlightWord(word: string): string {\n try {\n const regex = new RegExp('(' + this.search + ')', 'ig');\n return word.replace(regex, '$1');\n } catch (err) {\n return word;\n }\n }\n\n get isFormDirty(): boolean {\n return true;\n }\n\n get validForm(): boolean {\n const _bank: boolean = this.selectedBank !== null; \n const _accno: boolean = this.formData.accountNo?.trim().length > 0;\n const _accName: boolean = this.formData.name?.trim().length > 0;\n const _dateOpened: boolean = this.dateOpened !== null;\n if (this.bankAcct.accountType?.id == 1 || this.bankAcct.accountType?.id == 2) {\n return _bank && _accno && _accName && _dateOpened ;\n } else {\n return this.selectedAccountingApp !== null;\n }\n\n }\n\n get headingName(): string {\n if (this.bankAcct.accountType?.id == 1) {\n return 'trust account';\n } else if (this.bankAcct.accountType?.id == 2) {\n return 'general account';\n } else {\n return 'general accounting system';\n }\n }\n\n get isEdit(): boolean {\n return this.bankAcct.id > 0 || this.bankAcct?.id == null;\n }\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n}\n\n","import { render } from \"./add-edit-modal.html?vue&type=template&id=1eaec8fd&scoped=true&ts=true&external\"\nimport script from \"./add-edit-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./add-edit-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./add-edit-modal.scss?vue&type=style&index=0&id=1eaec8fd&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1eaec8fd\"]])\n\nexport default __exports__","import { TrustAPI } from \"@/shared/modules/trust-api\";\nimport store from \"@/trust-admin-app/store\";\nimport { Inject, Options, Vue } from \"vue-property-decorator\";\nimport AddEditModal from \"./add-edit-modal/index.vue\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport { EventEmitter } from \"events\";\nimport { AppInsights } from \"@/trust-admin-app/appInsights\";\nimport { AccountView, MortgageInfoRequest, PracticeView } from \"@/shared/modules/typescript-trustapi-client/models\";\n\n@Options({\n components: {\n AddEditModal,\n LoadingIndicator,\n ErrorIndicator\n },\n mixins: [FormatDateTimeMixin]\n})\nexport default class PracticeBank extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights;\n\n private selectedAccount: AccountView = {};\n\n private investmentsRegisteredNumber = this.selectedPractice.investmentsRegisteredNumber;\n private contributoryMortgagesNumber = this.selectedPractice.contributoryMortgagesNumber;\n\n private trustAccTableHeadings = [\n { text: 'BSB no.', value: 'bsbNumber', sortable: false },\n { text: 'Bank', value: 'bank', sortable: false },\n { text: 'Branch', value: 'branch', sortable: false },\n { text: 'Account no.', value: 'accountNumber', sortable: false },\n { text: 'Account name', value: 'accountName', sortable: false },\n { text: 'Opened', value: 'opened', sortable: false },\n { text: 'Closed', value: 'closed', sortable: false },\n { text: 'Action', value: 'action', sortable: false },\n ];\n\n private generalAccTableHeadings = [\n { text: 'BSB no.', value: 'bsbNumber', sortable: false },\n { text: 'Bank', value: 'bank', sortable: false },\n { text: 'Branch', value: 'branch', sortable: false },\n { text: 'Account no.', value: 'accountNumber', sortable: false },\n { text: 'Account name', value: 'accountName', sortable: false },\n { text: 'Opened', value: 'opened', sortable: false },\n { text: 'Closed', value: 'closed', sortable: false },\n { text: 'Action', value: 'action', sortable: false },\n ];\n\n private trustAccounts: AccountView[] = [];\n\n private generalAccounts: AccountView[] = [];\n\n private generalAccountingSystem = \"Some System\"\n\n private showAddEditModal = false;\n\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private isEditMortgageInfo = false;\n private isSavingMortgageInfo = false;\n\n created(): void {\n this.loadTrustAccounts();\n }\n\n mounted() {\n this.eventCtrl.on('reload-accounting-accounts', this.loadTrustAccounts);\n }\n\n beforeUnmount() {\n this.eventCtrl.off('reload-accounting-accounts', this.loadTrustAccounts);\n }\n\n private openAddEditAccount(acct: AccountView): void {\n this.selectedAccount = acct;\n this.selectedAccount.practiceId = this.selectedPractice.id;\n this.showAddEditModal = true;\n }\n\n private closeAddEditAccount(): void {\n this.showAddEditModal = false;\n this.selectedAccount = {};\n }\n\n private async loadTrustAccounts(): Promise {\n try {\n this.loadingContent = true;\n this.errorLoadingContent = false;\n const resp: any = await this.apiService.AccountApi?.apiV2AccountGetAccountsByPracticeIdPracticeIdGet(this.selectedPractice.id);\n\n this.trustAccounts = (resp.data.data as AccountView[]).filter(x => x.accountTypeId == 1);\n this.generalAccounts = (resp.data.data as AccountView[]).filter(x => x.accountTypeId == 2);\n\n } catch (err) {\n this.errorLoadingContent = true;\n } finally {\n this.loadingContent = false;\n }\n }\n\n private saveMortgageInfo() {\n this.isEditMortgageInfo = false;\n this.isSavingMortgageInfo = true;\n\n const _body: MortgageInfoRequest = {\n id: this.selectedPractice.id,\n investmentsRegisteredNumber: this.investmentsRegisteredNumber,\n contributoryMortgagesNumber: this.contributoryMortgagesNumber\n }\n this.apiService.PracticeApi?.apiV2PracticeEditMortgageInfoPost(_body)\n .then(res => {\n this.isSavingMortgageInfo = false;\n this.eventCtrl.emit('show-snackbar', 'success', 'Mortgage information saved');\n this.refreshPractice();\n })\n .catch(err => {\n this.isSavingMortgageInfo = false;\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to save Mortgage information');\n this.ai.trackException('Error, Unable to get signatory list: ' + err);\n })\n }\n\n private async refreshPractice() {\n await this.apiService.PracticeApi?.apiV2PracticeGetPracticeByIdPracticeIdGet(this.selectedPractice.id)\n .then(res => {\n const practice: PracticeView = res.data.data;\n if (practice) {\n store.dispatch('setSelectedPractice', practice as PracticeView);\n }\n })\n .catch(err => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to refresh practice information');\n this.ai.trackException('Error, Unable to refresh practice information: ' + err);\n })\n }\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n}\n\n","import { render } from \"./practice-bank.html?vue&type=template&id=356d1d04&scoped=true&ts=true&external\"\nimport script from \"./practice-bank.ts?vue&type=script&lang=ts&external\"\nexport * from \"./practice-bank.ts?vue&type=script&lang=ts&external\"\n\nimport \"./practice-bank.scss?vue&type=style&index=0&id=356d1d04&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-356d1d04\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, vModelCheckbox as _vModelCheckbox, withModifiers as _withModifiers, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b1364bb0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"trustdata-trust-team\" }\nconst _hoisted_2 = { class: \"section-heading\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Maintain trust data\", -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Trust Team\", -1))\nconst _hoisted_5 = { class: \"search\" }\nconst _hoisted_6 = { class: \"search-inputs\" }\nconst _hoisted_7 = { class: \"search-bar\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-hm\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-search fa-lg\" })\n], -1))\nconst _hoisted_9 = { class: \"checkbox-button\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"checkbox-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Investigators only\")\n], -1))\nconst _hoisted_11 = {\n class: \"bottom-half\",\n style: {\"width\":\"100%\",\"overflow\":\"auto\"}\n}\nconst _hoisted_12 = { class: \"ls-table trust-team-table\" }\nconst _hoisted_13 = [\"onClick\"]\nconst _hoisted_14 = { class: \"text\" }\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-up\" }, null, -1))\nconst _hoisted_16 = [\n _hoisted_15\n]\nconst _hoisted_17 = { key: 0 }\nconst _hoisted_18 = [\"colspan\"]\nconst _hoisted_19 = { key: 1 }\nconst _hoisted_20 = [\"colspan\"]\nconst _hoisted_21 = { key: 2 }\nconst _hoisted_22 = [\"colspan\"]\nconst _hoisted_23 = { \"data-label\": \"Display name\" }\nconst _hoisted_24 = { \"data-label\": \"Email\" }\nconst _hoisted_25 = { \"data-label\": \"Role\" }\nconst _hoisted_26 = { \"data-label\": \"Supervisor\" }\nconst _hoisted_27 = { \"data-label\": \"Charge amount\" }\nconst _hoisted_28 = { \"data-label\": \"Number of routine investigations\" }\nconst _hoisted_29 = {\n key: 0,\n class: \"ml-2 warning fal fa-exclamation-triangle fa-lg\"\n}\nconst _hoisted_30 = { \"data-label\": \"Number of cause driven investigations\" }\nconst _hoisted_31 = {\n key: 0,\n class: \"ml-2 warning fal fa-exclamation-triangle fa-lg\"\n}\nconst _hoisted_32 = { \"data-label\": \"Overdue timesheet\" }\nconst _hoisted_33 = {\n key: 0,\n class: \"ml-2 warning fal fa-exclamation-triangle fa-lg\"\n}\nconst _hoisted_34 = { \"data-label\": \"Actions\" }\nconst _hoisted_35 = [\"onClick\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n placeholder: \"Search name\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.searchKeyword) = $event))\n }, null, 512), [\n [_vModelText, _ctx.searchKeyword]\n ]),\n _hoisted_8\n ]),\n _createElementVNode(\"label\", _hoisted_9, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.investigatorOnly) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.investigatorOnly]\n ]),\n _hoisted_10\n ])\n ]),\n (_ctx.showAddUserButton)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn btn-primary mr-2\",\n onClick: _cache[2] || (_cache[2] = _withModifiers($event => (_ctx.addNewMember()), [\"prevent\",\"stop\"]))\n }, \"Add new user\"))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"table\", _hoisted_12, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", {\n class: _normalizeClass([ h.sortable ? 'sortable' : '']),\n onClick: $event => (_ctx.sortTableColumn(index, h.sortable))\n }, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(h.text), 1),\n (h.sortable)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([ _ctx.activeSortHeader === index ? 'active' : '', h.sortMethod])\n }, _hoisted_16, 2))\n : _createCommentVNode(\"\", true)\n ])\n ], 10, _hoisted_13))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_17, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_18)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_19, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_20)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.filteredTeamMembers.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_21, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, \"No Records\", 8, _hoisted_22)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.filteredTeamMembers.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.filteredTeamMembers, (m) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_23, _toDisplayString(m.displayName), 1),\n _createElementVNode(\"td\", _hoisted_24, _toDisplayString(m.email), 1),\n _createElementVNode(\"td\", _hoisted_25, _toDisplayString(m.userGroup?.name ?? ''), 1),\n _createElementVNode(\"td\", _hoisted_26, _toDisplayString(m.supervisor?.displayName ?? ''), 1),\n _createElementVNode(\"td\", _hoisted_27, [\n (!!m.userGroup && m.userGroup?.name !== 'Trust Admin')\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createTextVNode(_toDisplayString(m.chargeAmount ?? ''), 1)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"td\", _hoisted_28, [\n (!!m.userGroup && m.userGroup?.name !== 'Trust Admin')\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createTextVNode(_toDisplayString(m.totalRoutines ?? '') + \" \", 1),\n (m.totalRoutines >= 40)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_29))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"td\", _hoisted_30, [\n (!!m.userGroup && m.userGroup?.name !== 'Trust Admin')\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createTextVNode(_toDisplayString(m.totalCauseDrivens ?? '') + \" \", 1),\n (m.totalCauseDrivens >= 3)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_31))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"td\", _hoisted_32, [\n (!!m.userGroup && m.userGroup?.name !== 'Trust Admin')\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createTextVNode(_toDisplayString(_ctx.$calculateHours(m.totalMissingTime)) + \" \", 1),\n (m.totalMissingTime)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_33))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"td\", _hoisted_34, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml transparent ml-1\",\n onClick: $event => (_ctx.goToInvestigator(m))\n }, \" View \", 8, _hoisted_35)\n ])\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ]))\n}","import { Options, Vue } from 'vue-class-component';\nimport { AuthorizedUser } from '@/trust-admin-app/models/authorized-user';\nimport store from '@/trust-admin-app/store';\nimport { Inject } from 'vue-property-decorator';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { orderBy } from 'lodash';\nimport { TrustTeamMemberView } from '@/shared/modules/typescript-trustapi-client/models';\nimport AccessValidationMixin from '@/shared/mixins/access-validation';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport TimesheetCalculationsMixin from '@/shared/mixins/timesheet-calculations';\nimport { EventEmitter } from 'events';\nimport { RouteN } from '@/trust-admin-app/constants/router-name';\nimport { RoleType } from '@/trust-admin-app/models/user';\n@Options({\n components: {\n LoadingIndicator,\n ErrorIndicator\n },\n mixins: [\n AccessValidationMixin,\n FormatDateTimeMixin,\n TimesheetCalculationsMixin\n ]\n})\nexport default class TrustDataTrustTeam extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private searchKeyword = '';\n private sortMethod = 'desc';\n private activeSortHeader = 1;\n\n private tableHeadings = [\n { text: 'Name', value: 'name', sortMethod: 'asc', sortable: false, activeSort: false },\n { text: 'Email', value: 'email', sortMehod: 'asc', sortable: false, activeSort: false },\n { text: 'Role', value: 'role', sortMethod: 'asc', sortable: false, activeSort: false },\n { text: 'Supervisor', value: 'supervisor', sortMethod: 'asc', sortable: false, activeSort: false },\n { text: 'Charge amount', value: 'chargeAmount', sortMethod: 'asc', sortable: false, activeSort: false },\n { text: '# Routine investigations', value: 'routeInvestations', sortMethod: 'asc', sortable: false, activeSort: false },\n { text: '# Cause driven investigations', value: 'causeDrivenInvestigations', sortMethod: 'asc', sortable: false, activeSort: false },\n { text: 'Overdue timesheet', value: 'overdueTimesheet', sortMethod: 'asc', sortable: false, activeSort: false },\n { text: 'Actions', value: 'action', sortMethod: 'asc', sortable: false, activeSort: false }\n ];\n\n private teamMembers: TrustTeamMemberView[] = [];\n private investigatorOnly = false;\n\n private loadingContent = false;\n private errorLoadingContent = false;\n\n created(): void {\n this.loadTeamMembers();\n } \n\n mounted(): void {\n this.eventCtrl.on('reload-trust-team', this.loadTeamMembers);\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-trust-team', this.loadTeamMembers);\n }\n\n private async loadTeamMembers(): Promise {\n try {\n this.loadingContent = true;\n this.errorLoadingContent = false;\n\n const resp: any =\n await this.apiService.TrustTeamMemberApi?.apiV2TrustTeamMemberGetTrustTeamMembersPost();\n this.teamMembers = orderBy(resp.data.data as TrustTeamMemberView[], ['displayName'], 'asc');\n\n return Promise.resolve(false);\n } catch (err) {\n this.errorLoadingContent = true;\n return Promise.reject(true);\n } finally {\n this.loadingContent = false;\n }\n }\n\n get filteredTeamMembers(): TrustTeamMemberView[] {\n let teamMemberListTemp: TrustTeamMemberView[] = this.teamMembers;\n\n if (this.investigatorOnly) {\n teamMemberListTemp = this.teamMembers.filter(\n x => x.securityGroups.includes(RoleType.TrustInvestigator)\n );\n }\n\n if (this.searchKeyword.trim()) {\n teamMemberListTemp = teamMemberListTemp.filter(\n x => x.displayName.toLocaleLowerCase().includes(this.searchKeyword.toLocaleLowerCase())\n );\n }\n this.$formatSecToHours(100);\n return teamMemberListTemp;\n }\n\n private goToInvestigator(member: TrustTeamMemberView): void {\n store.dispatch('setSelectedTrustTeamMember', member)\n this.$router.push({ name: RouteN.TA.InvestigatorDashboard.n, query: {memberId: member.id}});\n }\n\n private addNewMember(): void {\n this.eventCtrl.emit('showAddEditMemberModal');\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n get usrAcct(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n\n get RouteN(): typeof RouteN {\n return RouteN;\n }\n\n get showAddUserButton(): boolean {\n return this.$accessPermitted(this.usrAcct.user.roles, [\n RoleType.TrustAdmin,\n RoleType.TrustManager,\n RoleType.TrustSuperAdmin\n ]);\n }\n\n private sortTableColumn(index: number, sortable: boolean) {\n if (sortable) {\n if (this.tableHeadings[index].sortable) {\n this.activeSortHeader = index;\n this.sortMethod = this.sortMethod === 'desc' ? 'asc' : 'desc';\n if (this.teamMembers.length > 0) {\n const nameSorter = index == 0 ? (c: any) => c.name.toLowerCase() : [this.tableHeadings[index].value, (c: any) => c.name.toLowerCase()];\n const orderByResults = orderBy(\n this.teamMembers,\n nameSorter,\n [this.sortMethod as any]\n );\n this.teamMembers = orderByResults;\n }\n }\n }\n }\n}\n\n","import { render } from \"./trust-data-trust-team.html?vue&type=template&id=b1364bb0&scoped=true&ts=true&external\"\nimport script from \"./trust-data-trust-team.ts?vue&type=script&lang=ts&external\"\nexport * from \"./trust-data-trust-team.ts?vue&type=script&lang=ts&external\"\n\nimport \"./trust-data-trust-team.scss?vue&type=style&index=0&id=b1364bb0&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-b1364bb0\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3ac59ea0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"practice-accounting-details\" }\nconst _hoisted_2 = { class: \"accounting-details\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"table-top\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"__left\" }, [\n /*#__PURE__*/_createElementVNode(\"h4\", null, \"Accounting\"),\n /*#__PURE__*/_createElementVNode(\"h2\", null, \"Accounting details\")\n ])\n], -1))\nconst _hoisted_4 = { class: \"ls-table\" }\nconst _hoisted_5 = { key: 0 }\nconst _hoisted_6 = [\"colspan\"]\nconst _hoisted_7 = [\"colspan\"]\nconst _hoisted_8 = { \"data-label\": \"Trust account INV ID\" }\nconst _hoisted_9 = { \"data-label\": \"Investigation date\" }\nconst _hoisted_10 = {\n key: 0,\n \"data-label\": \"Year\"\n}\nconst _hoisted_11 = {\n \"data-label\": \"Trust account\",\n class: \"currency\"\n}\nconst _hoisted_12 = {\n key: 1,\n \"data-label\": \"Year\"\n}\nconst _hoisted_13 = {\n key: 2,\n \"data-label\": \"AC\"\n}\nconst _hoisted_14 = {\n \"data-label\": \"Controlled\",\n class: \"currency\"\n}\nconst _hoisted_15 = {\n key: 3,\n \"data-label\": \"Year\"\n}\nconst _hoisted_16 = {\n key: 4,\n \"data-label\": \"AC\"\n}\nconst _hoisted_17 = {\n \"data-label\": \"Powered\",\n class: \"currency\"\n}\nconst _hoisted_18 = {\n key: 5,\n \"data-label\": \"Year\"\n}\nconst _hoisted_19 = {\n key: 6,\n \"data-label\": \"AC\"\n}\n\nexport function render(_ctx, _cache) {\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createElementVNode(\"table\", _hoisted_4, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", {\n class: _normalizeClass(h.cellClass)\n }, [\n _createElementVNode(\"p\", null, _toDisplayString(h.text), 1)\n ], 2))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (!_ctx.loadingContent && _ctx.accountingDetails.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_5, [\n (!_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"td\", {\n key: 0,\n colspan: _ctx.tableHeadings.length\n }, \"No Records\", 8, _hoisted_6))\n : (_openBlock(), _createElementBlock(\"td\", {\n key: 1,\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_7))\n ]))\n : (_openBlock(true), _createElementBlock(_Fragment, { key: 1 }, _renderList(_ctx.accountingDetails, (aD) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_8, _toDisplayString(aD.id), 1),\n _createElementVNode(\"td\", _hoisted_9, _toDisplayString(_ctx.$formatDate(aD.commencementDate)), 1),\n (!_ctx.fullWidth)\n ? (_openBlock(), _createElementBlock(\"td\", _hoisted_10, _toDisplayString(_ctx.$formatMMYYYY(aD.trustMonthYear)), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"td\", _hoisted_11, _toDisplayString(_ctx.formatNumberToCurrencyWithZero(aD.trustAmount)), 1),\n (_ctx.fullWidth)\n ? (_openBlock(), _createElementBlock(\"td\", _hoisted_12, _toDisplayString(_ctx.$formatMMYYYY(aD.trustMonthYear)), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.fullWidth)\n ? (_openBlock(), _createElementBlock(\"td\", _hoisted_13, _toDisplayString(aD.trustAccountNumber), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"td\", _hoisted_14, _toDisplayString(_ctx.formatNumberToCurrencyWithZero(aD.controlMoneyAmount)), 1),\n (_ctx.fullWidth)\n ? (_openBlock(), _createElementBlock(\"td\", _hoisted_15, _toDisplayString(_ctx.$formatMMYYYY(aD.controlMoneyMonthYear)), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.fullWidth)\n ? (_openBlock(), _createElementBlock(\"td\", _hoisted_16, _toDisplayString(aD.controlMoneyAccountNumber), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"td\", _hoisted_17, _toDisplayString(_ctx.formatNumberToCurrencyWithZero(aD.powerMoneyAmount)), 1),\n (_ctx.fullWidth)\n ? (_openBlock(), _createElementBlock(\"td\", _hoisted_18, _toDisplayString(_ctx.$formatMMYYYY(aD.powerMoneyMonthYear)), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.fullWidth)\n ? (_openBlock(), _createElementBlock(\"td\", _hoisted_19, _toDisplayString(aD.powerMoneyAccountNumber), 1))\n : _createCommentVNode(\"\", true)\n ]))\n }), 256))\n ])\n ])\n ])\n ]))\n}","import { Inject, Options, Vue } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-admin-app/appInsights\";\nimport store from \"@/trust-admin-app/store\";\nimport { EventEmitter } from \"events\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { PracticeView } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport ErrorIndicator from \"@/shared/components/error-indicator/index.vue\";\n\n@Options({\n components: {\n ErrorIndicator,\n },\n mixins: [FormatDateTimeMixin]\n})\nexport default class PracticeAccountingDetails extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private accountingDetailsTableHeadings = [\n { text: 'Trust account INV ID', value: 'invID', sortable: false },\n { text: 'Investigation date', value: 'investigationDate', sortable: false },\n { text: 'Year', value: 'year', sortable: false },\n { text: 'Trust account', value: 'trustAccount', sortable: false, cellClass: 'currency' },\n { text: 'Controlled', value: 'controlled', sortable: false, cellClass: 'currency' },\n { text: 'Power', value: 'power', sortable: false, cellClass: 'currency' },\n ];\n\n private accountingDetailsTableHeadingsFullWidth = [\n { text: 'Trust account INV ID', value: 'invID', sortable: false },\n { text: 'Investigation date', value: 'investigationDate', sortable: false },\n { text: 'Trust account', value: 'trustAccount', sortable: false, cellClass: 'currency' },\n { text: 'Year', value: 'year', sortable: false },\n { text: 'AC', value: 'ac1', sortable: false },\n { text: 'Controlled', value: 'controlled', sortable: false, cellClass: 'currency' },\n { text: 'Year', value: 'year', sortable: false },\n { text: 'AC', value: 'ac2', sortable: false },\n { text: 'Power', value: 'power', sortable: false, cellClass: 'currency' },\n { text: 'Year', value: 'year', sortable: false },\n { text: 'AC', value: 'ac3', sortable: false },\n ];\n\n private tableHeadings: any[] = this.accountingDetailsTableHeadings;\n\n private accountingDetails: any[] = [];\n private fullWidth = false;\n\n mounted(): void {\n this.eventCtrl.on('side-panel-hidden', this.setTableClass);\n this.loadTableData();\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('side-panel-hidden', this.setTableClass);\n }\n\n private setTableClass(showHideStatus: boolean): void {\n this.tableHeadings = showHideStatus ? this.accountingDetailsTableHeadingsFullWidth : this.accountingDetailsTableHeadings;\n this.fullWidth = showHideStatus;\n }\n\n private loadTableData() {\n this.loadingContent = true;\n this.apiService.InvestigationApi?.apiV2InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet(\n this.selectedPractice.id\n )\n .then(res => {\n this.accountingDetails = res.data.data;\n this.loadingContent = false;\n })\n .catch(err => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to load accounting data');\n this.ai.trackException('Error getting accounting data: ' + err);\n this.loadingContent = false;\n this.errorLoadingContent = true;\n })\n\n }\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n\n private formatNumberToCurrencyWithZero(amount: number): string {\n // format number 1234567.20 to 1,234,567.20\n if (amount != null) {\n return '$ ' + amount.toFixed(2).replace(/(\\d)(?=(\\d{3})+\\.)/g, '$1,')\n } else {\n return '$ 0';\n }\n }\n\n}\n\n","import { render } from \"./practice-accounting-details.html?vue&type=template&id=3ac59ea0&scoped=true&ts=true&external\"\nimport script from \"./practice-accounting-details.ts?vue&type=script&lang=ts&external\"\nexport * from \"./practice-accounting-details.ts?vue&type=script&lang=ts&external\"\n\nimport \"./practice-accounting-details.scss?vue&type=style&index=0&id=3ac59ea0&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3ac59ea0\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, vModelCheckbox as _vModelCheckbox, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-444c386c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"practice-notes\" }\nconst _hoisted_2 = { class: \"accounting-details\" }\nconst _hoisted_3 = { class: \"table-top\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"__left\" }, [\n /*#__PURE__*/_createElementVNode(\"h4\", null, \"Notes\"),\n /*#__PURE__*/_createElementVNode(\"h2\", null, \"Risk and investigation notes\")\n], -1))\nconst _hoisted_5 = { class: \"__middle\" }\nconst _hoisted_6 = { class: \"checkbox-button\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Show risk notes only\")\n], -1))\nconst _hoisted_8 = { class: \"__right\" }\nconst _hoisted_9 = { class: \"ls-table\" }\nconst _hoisted_10 = { key: 0 }\nconst _hoisted_11 = [\"colspan\"]\nconst _hoisted_12 = { key: 1 }\nconst _hoisted_13 = [\"colspan\"]\nconst _hoisted_14 = { key: 2 }\nconst _hoisted_15 = [\"colspan\"]\nconst _hoisted_16 = { \"data-label\": \"Date\" }\nconst _hoisted_17 = { \"data-label\": \"Notes\" }\nconst _hoisted_18 = {\n key: 0,\n class: \"note-start\"\n}\nconst _hoisted_19 = { key: 1 }\nconst _hoisted_20 = { class: \"note-start\" }\nconst _hoisted_21 = [\"onClick\"]\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_23 = {\n key: 2,\n class: \"name\"\n}\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_AddEditModal = _resolveComponent(\"AddEditModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"label\", _hoisted_6, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.showRiskNote) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.showRiskNote]\n ]),\n _hoisted_7\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n onClick: _cache[1] || (_cache[1] = $event => (_ctx.showAddEditModal = true))\n }, \"Add risk notes\")\n ])\n ]),\n _createElementVNode(\"table\", _hoisted_9, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.notesHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", null, [\n _createElementVNode(\"p\", null, _toDisplayString(h.text), 1)\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_10, [\n _createElementVNode(\"td\", {\n colspan: _ctx.notesHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_11)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_12, [\n _createElementVNode(\"td\", {\n colspan: _ctx.notesHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_13)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.notes.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_14, [\n _createElementVNode(\"td\", {\n colspan: _ctx.notesHeadings.length\n }, \"No Records\", 8, _hoisted_15)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.notes.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.notes, (n) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_16, _toDisplayString(_ctx.$formatDate(n.createdOn)), 1),\n _createElementVNode(\"td\", _hoisted_17, [\n (n.notesType.id == 1)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_18, _toDisplayString(n.practiceNote.practiceRisk.name) + \" | \" + _toDisplayString(n.practiceNote.practiceRiskIndicator.name), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_19, [\n _createElementVNode(\"span\", _hoisted_20, [\n _createElementVNode(\"i\", null, [\n _createElementVNode(\"b\", {\n class: \"link\",\n onClick: $event => (_ctx.showInvestigationDetails(n.investigationNote.investigation))\n }, _toDisplayString(n.investigationNote?.investigationType?.description), 9, _hoisted_21),\n _createTextVNode(\", - \" + _toDisplayString(n.trustTeamMember?.displayName) + \" \" + _toDisplayString(_ctx.$formatDateTimeTypeA(n.createdOn)), 1)\n ])\n ])\n ])),\n _createTextVNode(\" \" + _toDisplayString(n.content) + \" \", 1),\n _hoisted_22,\n (n.notesType.id == 1)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_23, _toDisplayString(n.trustTeamMemberName), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n (_ctx.showAddEditModal)\n ? (_openBlock(), _createBlock(_component_AddEditModal, {\n key: 0,\n onCloseModal: _cache[2] || (_cache[2] = $event => (_ctx.showAddEditModal = false))\n }))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, vModelSelect as _vModelSelect, withDirectives as _withDirectives, vModelText as _vModelText, withModifiers as _withModifiers, resolveComponent as _resolveComponent, createBlock as _createBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1979386c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"add-edit-modal\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"heading-text\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"line1\" }, \"Add risk note\"),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"line2\" }, \"Notes\")\n], -1))\nconst _hoisted_3 = { class: \"modal-body\" }\nconst _hoisted_4 = { class: \"bank-account\" }\nconst _hoisted_5 = { class: \"ls-form\" }\nconst _hoisted_6 = { class: \"body-line-1\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Practice risk *\", -1))\nconst _hoisted_8 = { class: \"input-box\" }\nconst _hoisted_9 = { class: \"select mb-4\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", {\n disabled: \"\",\n value: null\n}, \"- Please select -\", -1))\nconst _hoisted_11 = [\"value\"]\nconst _hoisted_12 = { class: \"body-line-2\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Practice risk indicator *\", -1))\nconst _hoisted_14 = { class: \"input-box\" }\nconst _hoisted_15 = { class: \"select mb-4\" }\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", {\n disabled: \"\",\n value: null\n}, \"- Please select -\", -1))\nconst _hoisted_17 = [\"value\"]\nconst _hoisted_18 = { class: \"body-line-3\" }\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Risk notes *\", -1))\nconst _hoisted_20 = { class: \"controls mt-4\" }\nconst _hoisted_21 = [\"disabled\"]\nconst _hoisted_22 = [\"disabled\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n onClose: _cache[5] || (_cache[5] = $event => (_ctx.cancelClicked())),\n mostScreen: true\n }, {\n \"header-text\": _withCtx(() => [\n _hoisted_2\n ]),\n body: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"form\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"fieldset\", null, [\n _hoisted_7,\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.formData.practiceNote.practiceRisk.id) = $event))\n }, [\n _hoisted_10,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.practiceRisks, (pr) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: pr.id\n }, _toDisplayString(pr.name), 9, _hoisted_11))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.formData.practiceNote.practiceRisk.id]\n ])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"fieldset\", null, [\n _hoisted_13,\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.formData.practiceNote.practiceRiskIndicator.id) = $event))\n }, [\n _hoisted_16,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.practiceRiskIndicators, (prI) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: prI.id\n }, _toDisplayString(prI.name), 9, _hoisted_17))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.formData.practiceNote.practiceRiskIndicator.id]\n ])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"fieldset\", null, [\n _hoisted_19,\n _withDirectives(_createElementVNode(\"textarea\", {\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.formData.content) = $event)),\n style: {\"resize\":\"vertical\"}\n }, null, 512), [\n [_vModelText, _ctx.formData.content]\n ])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default ml-1\",\n disabled: _ctx.submitting,\n onClick: _cache[3] || (_cache[3] = _withModifiers($event => (_ctx.cancelClicked()), [\"prevent\",\"stop\"]))\n }, \" Back \", 8, _hoisted_21),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n disabled: _ctx.submitting || !(_ctx.isFormDirty && _ctx.validForm),\n onClick: _cache[4] || (_cache[4] = _withModifiers($event => (_ctx.saveNote()), [\"prevent\",\"stop\"]))\n }, \"Add \", 8, _hoisted_22),\n (_ctx.submitting)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _: 1\n })\n ]))\n}"," import LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport ModalBox from \"@/shared/components/modal-box/index.vue\";\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport { Inject, Options, Vue } from \"vue-property-decorator\";\nimport { AppInsights } from '@/trust-admin-app/appInsights';\nimport ErrorIndicator from '@/shared/components/error-indicator/error-indicator';\nimport { NotesType, NoteView, PracticeRisk, PracticeRiskIndicator, PracticeView } from '@/shared/modules/typescript-trustapi-client/models';\nimport store from '@/trust-admin-app/store';\nimport { EventEmitter } from 'events';\n\n@Options({\n components: {\n ModalBox,\n LoadingIndicator,\n ErrorIndicator,\n }\n})\nexport default class AddEditModal extends Vue {\n private ai = new AppInsights;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Inject({ from: 'noteType', default: [] })\n private noteType!: NotesType[];\n\n @Inject({ from: 'practiceRisks', default: [] })\n private practiceRisks!: PracticeRisk[];\n\n @Inject({ from: 'practiceRiskIndicators', default: [] })\n private practiceRiskIndicators!: PracticeRiskIndicator[];\n\n private showAddEditModal!: boolean;\n\n private isLoadingData = true;\n private errorLoadingData = false;\n private submitting = false;\n\n private formData: NoteView = {};\n\n created(): void {\n this.formData = {\n id: 0,\n notesType: { id: 0 },\n practiceNote: {\n practiceId: this.selectedPractice?.id,\n practiceRisk: { id: null as any},\n practiceRiskIndicator: { id: null as any}\n },\n content: null as any\n }\n }\n\n private async saveNote(): Promise {\n try {\n this.submitting = true;\n const resp: any = await this.apiService.NotesApi?.apiV2NotesSaveNotePost(\n {\n id: 0,\n notesTypeId: 1,\n practiceId: this.formData.practiceNote.practiceId,\n practiceRiskId: this.formData.practiceNote.practiceRisk?.id,\n practiceRiskIndicatorId: this.formData.practiceNote.practiceRiskIndicator?.id,\n content: this.formData.content\n }\n );\n this.eventCtrl.emit('reload-practice-notes');\n this.eventCtrl.emit('show-snackbar', 'success', 'Note added successfully');\n this.closeModal();\n\n } catch(err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Problem adding note');\n } finally {\n this.submitting = false;\n }\n }\n private cancelClicked(): void {\n this.closeModal();\n }\n\n private closeModal(): void {\n this.$emit('closeModal');\n }\n\n get validForm(): boolean {\n return true;\n }\n\n get isFormDirty(): boolean {\n return true;\n }\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n \n}\n\n","import { render } from \"./add-edit-modal.html?vue&type=template&id=1979386c&scoped=true&ts=true&external\"\nimport script from \"./add-edit-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./add-edit-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./add-edit-modal.scss?vue&type=style&index=0&id=1979386c&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1979386c\"]])\n\nexport default __exports__","export function localUrl(): string {\n const result = window.location.href.split('/');\n return result[0] + '//' + result[2] + '/';\n}\n\nexport const APP_INSIGHT_CS: string = process.env.VUE_APP_INSIGHT_CS as string;\nexport const TOKEN_URL: string = process.env.VUE_APP_TOKEN_URL as string;\nexport const API_URL: string = localUrl().slice(0, -1);\nexport const IDLE_TIMEOUT: number = parseInt(process.env.VUE_APP_IDLE_TIMEOUT, 10);\nexport const TOKEN_REFRESH_TIME: number = parseInt(process.env.VUE_APP_TOKEN_REFRESH_TIME, 10);\nexport const SELF_URL: string = localUrl();\n","import { ApplicationInsights } from '@microsoft/applicationinsights-web'\nimport { APP_INSIGHT_CS } from '@/trust-investigator-app/config/config'\n\nconst appInsights = new ApplicationInsights({\n config: {\n connectionString: APP_INSIGHT_CS,\n enableAutoRouteTracking: true,\n /* ...Other Configuration Options... */\n // https://docs.microsoft.com/en-us/azure/azure-monitor/app/javascript\n }\n});\n\n// https://github.com/microsoft/ApplicationInsights-JS#readme\nexport class AppInsights {\n\n public loadAppInsights(): void {\n appInsights.loadAppInsights();\n }\n\n public trackPageView(): void {\n appInsights.trackPageView();\n }\n\n public trackEvent(eventString: string): void {\n appInsights.trackEvent({ name: eventString })\n }\n\n // public trackPageViewPerformance() {\n // appInsights.trackPageViewPerformance({name : 'somepage', url: 'some url'});\n // }\n\n public trackException(err: string): void {\n appInsights.trackException({ exception: new Error(err) });\n }\n\n public trackTrace(msg: string): void {\n appInsights.trackTrace({ message: msg });\n }\n\n public trackMetric(n: string, avg: number): void {\n appInsights.trackMetric({ name: n, average: avg });\n }\n\n\n // public trackDependencyData(absUrl: string, resCode: number, method: string, id: string) {\n // appInsights.trackDependencyData({ absoluteUrl: absUrl, responseCode: resCode, method: method, id: id });\n // }\n\n public startTrackPage(pageName: string): void {\n appInsights.startTrackPage(pageName);\n }\n\n\n public stopTrackPage(pageName: string, url: string, props: any): void {\n // appInsights.stopTrackPage(\"pageName\", null, { customProp1: \"some value\" });\n appInsights.stopTrackPage(pageName, url, props);\n }\n\n public startTrackEvent(et: any): void {\n appInsights.startTrackEvent(et);\n }\n\n\n // public stopTrackEvent(et: any, url: string, props: any) {\n // // appInsights.stopTrackEvent(\"event\", null, { customProp1: \"some value\" });\n // }\n\n\n public flush(): void {\n appInsights.flush();\n }\n\n\n}\n","import ErrorIndicator from \"@/shared/components/error-indicator/index.vue\";\nimport LoadingIndicator from \"@/shared/components/loading-indicator/index.vue\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { InvestigationView, NoteView, PracticeRisk, PracticeRiskIndicator, PracticeView } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport store from \"@/trust-admin-app/store\";\nimport { Inject, Options, Vue, Watch } from \"vue-property-decorator\";\nimport AddEditModal from \"./add-edit-modal/index.vue\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { EventEmitter } from \"events\";\nimport { orderBy } from \"lodash\";\nimport { AppInsights } from \"@/trust-investigator-app/appInsights\";\n\n@Options({\n components: {\n AddEditModal,\n ErrorIndicator,\n LoadingIndicator\n },\n mixins: [FormatDateTimeMixin]\n})\nexport default class PracticeNotes extends Vue {\n private ai = new AppInsights;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Inject({ from: 'practiceRisks', default: [] })\n private practiceRisks!: PracticeRisk[];\n\n @Inject({ from: 'practiceRiskIndicators', default: [] })\n private practiceRiskIndicators!: PracticeRiskIndicator[];\n\n private showRiskNote = false;\n\n @Watch('showRiskNote')\n private onShowRiskNoteChange() {\n this.getNotes();\n }\n\n private loadingContent = false;\n private errorLoadingContent = false;\n private investigations: InvestigationView[] = [];\n\n private notesHeadings = [\n { text: 'Date', value: 'date', sortable: false },\n { text: 'Notes', value: 'notes', sortable: false }\n ];\n\n private notes: NoteView[] = [];\n\n private showAddEditModal = false;\n\n created(): void {\n this.getNotes();\n }\n\n mounted() {\n this.eventCtrl.on('reload-practice-notes', this.getNotes);\n }\n\n beforeUnmount() {\n this.eventCtrl.off('reload-practice-notes', this.getNotes);\n }\n\n private async getNotes(): Promise {\n try {\n this.loadingContent = true;\n this.errorLoadingContent = false;\n\n const resp: any = await this.apiService.NotesApi?.apiV2NotesGetNotesByPracticeIdPost(\n {\n practiceId: this.selectedPractice.id,\n showRiskOnly: this.showRiskNote\n }\n );\n\n this.notes = resp.data.data;\n this.notes = orderBy(\n this.notes,\n ['id', 'createdOn'],\n ['asc', 'desc']\n );\n\n } catch {\n this.errorLoadingContent = true;\n } finally {\n this.loadingContent = false;\n }\n }\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private async showInvestigationDetails(n: InvestigationView) {\n await this.apiService.InvestigationApi?.apiV2InvestigationGetInvestigationsByPracticeIdPracticeIdGet(\n this.selectedPractice.id\n )\n .then(res => {\n this.investigations = res.data.data;\n const _inv: InvestigationView[] = this.investigations.filter(i => {\n return i.id = n.id;\n });\n if (_inv.length > 0)\n this.eventCtrl.emit('showInvestigationDetailsModal', _inv[0]);\n })\n .catch(err => {\n this.ai.trackException('Unable to get Investigation details: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to get Investigation details: ' + err.message);\n console.log(err);\n })\n }\n\n}\n\n","import { render } from \"./practice-notes.html?vue&type=template&id=444c386c&scoped=true&ts=true&external\"\nimport script from \"./practice-notes.ts?vue&type=script&lang=ts&external\"\nexport * from \"./practice-notes.ts?vue&type=script&lang=ts&external\"\n\nimport \"./practice-notes.scss?vue&type=style&index=0&id=444c386c&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-444c386c\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-d56e3980\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"practice-correspondence\" }\nconst _hoisted_2 = { class: \"general-accounts\" }\nconst _hoisted_3 = { class: \"table-top\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"__left\" }, [\n /*#__PURE__*/_createElementVNode(\"h4\", null, \"Correspondence\"),\n /*#__PURE__*/_createElementVNode(\"h2\", null, \"View correspondence\")\n], -1))\nconst _hoisted_5 = { class: \"__right\" }\nconst _hoisted_6 = { class: \"ls-table\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = [\"colspan\"]\nconst _hoisted_9 = { key: 1 }\nconst _hoisted_10 = [\"colspan\"]\nconst _hoisted_11 = { key: 2 }\nconst _hoisted_12 = [\"colspan\"]\nconst _hoisted_13 = { \"data-label\": \"Type\" }\nconst _hoisted_14 = { \"data-label\": \"Date received\" }\nconst _hoisted_15 = { \"data-label\": \"Description\" }\nconst _hoisted_16 = { \"data-label\": \"Filename\" }\nconst _hoisted_17 = { \"data-label\": \"Actions\" }\nconst _hoisted_18 = [\"onClick\"]\nconst _hoisted_19 = [\"onClick\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_AddEditCorrespondenceModal = _resolveComponent(\"AddEditCorrespondenceModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n onClick: _cache[0] || (_cache[0] = $event => (_ctx.openAddEditCorrespondence({id: 0})))\n }, \"Add Correspondence\")\n ])\n ]),\n _createElementVNode(\"table\", _hoisted_6, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.correspondenceHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", null, [\n _createElementVNode(\"p\", null, _toDisplayString(h.text), 1)\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_7, [\n _createElementVNode(\"td\", {\n colspan: _ctx.correspondenceHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_8)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_9, [\n _createElementVNode(\"td\", {\n colspan: _ctx.correspondenceHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_10)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.correspondences.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_11, [\n _createElementVNode(\"td\", {\n colspan: _ctx.correspondenceHeadings.length\n }, \"No Records\", 8, _hoisted_12)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.correspondences.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.correspondences, (c) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_13, _toDisplayString(c.correspondenceType.name), 1),\n _createElementVNode(\"td\", _hoisted_14, _toDisplayString(c.dateReceived ? _ctx.$formatDate(c.dateReceived) : ''), 1),\n _createElementVNode(\"td\", _hoisted_15, _toDisplayString(c.correspondenceDescription?.id == 13 ? c?.description : c.correspondenceDescription?.name), 1),\n _createElementVNode(\"td\", _hoisted_16, _toDisplayString(c.file?.fileName), 1),\n _createElementVNode(\"td\", _hoisted_17, [\n (c.file)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn btn-default sml ml-1 mr-1\",\n onClick: $event => (_ctx.downloadFile(c))\n }, \"Download\", 8, _hoisted_18))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml\",\n onClick: $event => (_ctx.openAddEditCorrespondence(c))\n }, \"Edit\", 8, _hoisted_19)\n ])\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n (_ctx.showCorrespondenceModal)\n ? (_openBlock(), _createBlock(_component_AddEditCorrespondenceModal, {\n key: 0,\n correspondence: _ctx.selectedCorrespondence,\n onCloseAddEditCorrespondenceModal: _cache[1] || (_cache[1] = $event => (_ctx.closeAddEditCorrespondence()))\n }, null, 8, [\"correspondence\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, vModelSelect as _vModelSelect, withDirectives as _withDirectives, createTextVNode as _createTextVNode, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, vModelText as _vModelText, withModifiers as _withModifiers, withCtx as _withCtx, createSlots as _createSlots, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-050b40d3\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"addedit-correspondence-modal\" }\nconst _hoisted_2 = { class: \"heading-text\" }\nconst _hoisted_3 = { class: \"line1\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"line2\" }, \"Correspondence\", -1))\nconst _hoisted_5 = { class: \"body-main\" }\nconst _hoisted_6 = { class: \"ls-form\" }\nconst _hoisted_7 = { class: \"onerow-twocol-wrapper\" }\nconst _hoisted_8 = { class: \"colone\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Type *\", -1))\nconst _hoisted_10 = { class: \"select-wrapper\" }\nconst _hoisted_11 = { class: \"select\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", {\n value: null,\n disabled: \"\",\n selected: \"\"\n}, \" -- Select type -- \", -1))\nconst _hoisted_13 = [\"value\"]\nconst _hoisted_14 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_16 = { class: \"coltwo\" }\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Date received *\", -1))\nconst _hoisted_18 = { class: \"date-picker\" }\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-calendar-check\" }, null, -1))\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Description *\", -1))\nconst _hoisted_21 = { class: \"select-wrapper\" }\nconst _hoisted_22 = { class: \"select\" }\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", {\n value: null,\n disabled: \"\",\n selected: \"\"\n}, \" -- Select description -- \", -1))\nconst _hoisted_24 = [\"value\"]\nconst _hoisted_25 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_26 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_27 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"If other, please specify *\", -1))\nconst _hoisted_28 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_30 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Attach Correspondence *\", -1))\nconst _hoisted_31 = { class: \"existing-file\" }\nconst _hoisted_32 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_33 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"small\", null, \"Maximum file size: 100MB\", -1))\nconst _hoisted_34 = {\n key: 3,\n class: \"validation-msg\"\n}\nconst _hoisted_35 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_36 = { class: \"controls mt-4\" }\nconst _hoisted_37 = [\"disabled\"]\nconst _hoisted_38 = [\"disabled\"]\nconst _hoisted_39 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-right\" })\n], -1))\nconst _hoisted_40 = {\n key: 0,\n class: \"delete-correspondence\"\n}\nconst _hoisted_41 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", null, \"DELETE ALERT\", -1))\nconst _hoisted_42 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"Are you sure you want to delete the correspondence?\", -1))\n\nexport function render(_ctx, _cache) {\n const _component_v3_date_picker = _resolveComponent(\"v3-date-picker\")\n const _component_FileDragAndDrop = _resolveComponent(\"FileDragAndDrop\")\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n const _component_AlertBox = _resolveComponent(\"AlertBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n onClose: _cache[9] || (_cache[9] = $event => (_ctx.closeModal())),\n halfScreen: true\n }, {\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.editMode ? 'Edit correspondence' : 'Add correspondence'), 1),\n _hoisted_4\n ])\n ]),\n body: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"form\", _hoisted_6, [\n _createElementVNode(\"fieldset\", null, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _hoisted_9,\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"div\", _hoisted_11, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.formData.correspondenceType) = $event))\n }, [\n _hoisted_12,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.correspondenceType, (cT) => {\n return (_openBlock(), _createElementBlock(\"option\", { value: cT }, _toDisplayString(cT.name), 9, _hoisted_13))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.formData.correspondenceType]\n ])\n ])\n ]),\n (!_ctx.formData.correspondenceType)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _hoisted_15,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n _hoisted_17,\n _createElementVNode(\"div\", _hoisted_18, [\n _createVNode(_component_v3_date_picker, {\n class: \"v3-date-picker\",\n style: {\"padding\":\"1em\"},\n modelValue: _ctx.dateReceived,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.dateReceived) = $event)),\n inputFormat: \"dd-MM-yyyy\"\n }, null, 8, [\"modelValue\"]),\n _hoisted_19\n ])\n ])\n ]),\n _hoisted_20,\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"div\", _hoisted_22, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.formData.correspondenceDescription) = $event))\n }, [\n _hoisted_23,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.correspondenceDescriptions, (cD) => {\n return (_openBlock(), _createElementBlock(\"option\", { value: cD }, _toDisplayString(cD.name), 9, _hoisted_24))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.formData.correspondenceDescription]\n ])\n ])\n ]),\n (!_ctx.formData.correspondenceDescription)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_25, [\n _hoisted_26,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.formData.correspondenceDescription?.id == 13)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _hoisted_27,\n _withDirectives(_createElementVNode(\"textarea\", {\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => ((_ctx.formData.description) = $event)),\n style: {\"resize\":\"vertical\"}\n }, null, 512), [\n [_vModelText, _ctx.formData.description]\n ]),\n (!_ctx.formData.description)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_28, [\n _hoisted_29,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true),\n _hoisted_30,\n (_ctx.formData.file)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 2 }, [\n _createElementVNode(\"div\", _hoisted_31, [\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.formData.file.fileName), 1),\n _createElementVNode(\"div\", null, [\n (!_ctx.allowFileOverwrite)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn btn-default sml\",\n onClick: _cache[4] || (_cache[4] = _withModifiers($event => (_ctx.allowFileOverwrite = !_ctx.allowFileOverwrite), [\"prevent\"]))\n }, \"Undo\"))\n : (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-default sml\",\n onClick: _cache[5] || (_cache[5] = _withModifiers($event => (_ctx.allowFileOverwrite = !_ctx.allowFileOverwrite), [\"prevent\"]))\n }, \"Delete\"))\n ])\n ]),\n _hoisted_32\n ], 64))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_FileDragAndDrop, {\n disabled: _ctx.formData.file && _ctx.allowFileOverwrite,\n numFileLimit: 1,\n fileSizeLimit: 100,\n onFileInputChanged: _ctx.correspondenceChanged,\n acceptAnyFileTypes: _ctx.acceptAnyFileTypes\n }, _createSlots({ _: 2 }, [\n (_ctx.formData.file)\n ? {\n name: \"disabled-message\",\n fn: _withCtx(() => [\n _createTextVNode(\" You must delete current file before upload new' once any are uploaded, or if ones were previously uploaded \")\n ]),\n key: \"0\"\n }\n : undefined\n ]), 1032, [\"disabled\", \"onFileInputChanged\", \"acceptAnyFileTypes\"]),\n _hoisted_33,\n (_ctx.editMode ? (_ctx.formData.file && !this.allowFileOverwrite && _ctx.fileList?.length == 0) : _ctx.fileList?.length == 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_34, [\n _hoisted_35,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_36, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default ml-1\",\n disabled: _ctx.submitting,\n onClick: _cache[6] || (_cache[6] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\",\"stop\"]))\n }, \" Back \", 8, _hoisted_37),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n disabled: _ctx.submitting || !(_ctx.isFormDirty && _ctx.validForm),\n onClick: _cache[7] || (_cache[7] = _withModifiers($event => (_ctx.saveCorrespondence()), [\"prevent\",\"stop\"]))\n }, [\n _createTextVNode(_toDisplayString(_ctx.editMode? 'Save changes' : 'Add correspondence'), 1),\n _hoisted_39\n ], 8, _hoisted_38),\n (_ctx.submitting)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.editMode)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_40, [\n _createTextVNode(\" Or \"),\n _createElementVNode(\"a\", {\n class: \"link2\",\n onClick: _cache[8] || (_cache[8] = $event => (_ctx.showDeleteAlert = true))\n }, \"delete correspondence\")\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }),\n (_ctx.showDeleteAlert)\n ? (_openBlock(), _createBlock(_component_AlertBox, {\n key: 0,\n onClose: _cache[12] || (_cache[12] = $event => (_ctx.showDeleteAlert = false))\n }, {\n header: _withCtx(() => [\n _hoisted_41\n ]),\n body: _withCtx(() => [\n _hoisted_42\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"btn btn-tertiary\",\n onClick: _cache[10] || (_cache[10] = $event => (_ctx.showDeleteAlert = false))\n }, \"Cancel\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary\",\n onClick: _cache[11] || (_cache[11] = (...args) => (_ctx.yesClicked && _ctx.yesClicked(...args)))\n }, \"Delete\")\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]))\n}","\nimport { Options, Vue } from 'vue-class-component';\nimport ModalBox from '@/shared/components/modal-box/index.vue';\nimport { Inject, Prop, Watch } from 'vue-property-decorator';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { EventEmitter } from 'events';\nimport store from '@/trust-admin-app/store';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport FileDragAndDrop from '@/shared/components/file-drag-and-drop/index.vue';\nimport V3DatePicker from 'vue3-datepicker';\nimport AlertBox from '@/shared/components/alert-box/index.vue';\nimport { CorrespondenceDescription, CorrespondenceRequest, CorrespondenceType, CorrespondenceView } from '@/shared/modules/typescript-trustapi-client/models';\nimport moment from 'moment';\n\n\n@Options({\n components: {\n ModalBox,\n LoadingIndicator,\n ErrorIndicator,\n FileDragAndDrop,\n V3DatePicker,\n AlertBox\n },\n mixins: [FormatDateTimeMixin]\n})\nexport default class AddEditCorrespondenceModal extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Inject({ from: 'correspondenceType', default: {} })\n private correspondenceType!: CorrespondenceType[];\n\n @Inject({ from: 'correspondenceDescriptions', default: {} })\n private correspondenceDescriptions!: CorrespondenceDescription[];\n\n @Prop({ default: {} })\n public correspondence!: CorrespondenceView;\n\n private formData: CorrespondenceView = null as any;\n private fileList: Array = [];\n private dateReceived: Date = null as any;\n\n private submitting = false;\n private allowFileOverwrite = true;\n private showDeleteAlert = false;\n private acceptAnyFileTypes = true;\n\n created(): void {\n this.formData = JSON.parse(JSON.stringify(this.correspondence));\n this.formData.id = this.formData.id ?? 0;\n this.formData.correspondenceType = this.formData.correspondenceType ?? null as any;\n this.formData.correspondenceDescription = this.formData.correspondenceDescription ?? null as any;\n this.formData.description = this.formData.description ?? null as any;\n this.dateReceived = this.formData.dateReceived ? new Date(this.formData.dateReceived) : new Date();\n this.allowFileOverwrite = this.formData.file ?? true;\n }\n\n private correspondenceChanged(files: Array) {\n this.fileList = files.length > 0 ? files : null as any;\n }\n\n private async saveCorrespondence(): Promise {\n try {\n\n this.submitting = true;\n const correspondenceReq: CorrespondenceRequest = {\n id: this.formData.id,\n practiceId: this.formData.practiceId,\n correspondenceTypeId: this.formData.correspondenceType.id,\n correspondenceDescriptionId: this.formData.correspondenceDescription.id,\n dateReceived: this.dateReceived,\n description: this.formData.correspondenceDescription.id == 13 ? this.formData.description : null,\n }\n if (this.fileList.length == 1) {\n correspondenceReq.fileDataUrl = await this.fileToString(this.fileList[0]);\n correspondenceReq.fileName = this.fileList[0].name;\n correspondenceReq.fileType = this.fileList[0].type || 'application/octet-stream';\n }\n const resp: any = await this.apiService.CorrespondenceApi?.apiV2CorrespondenceSaveCorrespondencePost(correspondenceReq);\n\n if (this.formData.id == 0) {\n this.eventCtrl.emit('show-snackbar', 'success', 'The correspondence has been added.');\n } else {\n this.eventCtrl.emit('show-snackbar', 'success', 'The correspondence has been updated');\n }\n\n this.eventCtrl.emit('reload-practice-correspondence');\n this.closeModal();\n\n } catch (err) {\n if (this.formData.id == 0) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Problem adding correspondence.');\n } else {\n this.eventCtrl.emit('show-snackbar', 'error', 'Problem updating correspondence.');\n }\n } finally {\n this.submitting = false;\n }\n\n }\n\n\n private fileToString(file: any): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n return resolve(reader.result as string);\n };\n\n reader.onabort = () => {\n return reject();\n }\n\n reader.onerror = () => {\n return reject();\n }\n });\n }\n\n private yesClicked(): void {\n this.deleteCorrespondence();\n }\n\n private async deleteCorrespondence(): Promise {\n try {\n this.submitting = true;\n const resp: any = await this.apiService.CorrespondenceApi?.apiV2CorrespondenceDeleteCorrespondenceCorrespondenceIdDelete(\n this.formData.id\n );\n this.eventCtrl.emit('reload-practice-correspondence');\n this.eventCtrl.emit('show-snackbar', 'success', 'Correspondence deleted successfully');\n this.closeModal();\n } catch {\n this.eventCtrl.emit('show-snackbar', 'error', 'Problem deleting correspondence');\n } finally {\n this.submitting = false;\n }\n }\n\n\n\n get validForm(): boolean {\n const chk1 = !!this.formData.correspondenceType;\n const chk2 = !!this.dateReceived;\n const chk3 = !!this.formData.description;\n const chk4 = this.fileList?.length == 1;\n const chk5 = !this.formData.file && chk4;\n const chk6 = !!this.formData.file && !this.allowFileOverwrite && chk4;\n const chk7 = !!this.formData.file && this.fileList?.length == 0;\n const chk8 = !!this.formData.correspondenceDescription;\n const chk9 = !!this.formData.correspondenceDescription && this.formData.correspondenceDescription.id == 13;\n return this.editMode ? (chk1 && chk2 && ((chk8 && !chk9) || (chk8 && chk9 && chk3)) && (chk6 || chk7)) :\n (chk1 && chk2 && ((chk8 && !chk9) || (chk8 && chk9 && chk3)) && chk5);\n }\n\n get isFormDirty(): boolean {\n const chk1 = this.correspondence.correspondenceType?.id != this.formData.correspondenceType?.id;\n const chk2 = moment(moment(this.formData.dateReceived ?? this.dateReceived).format('YYYY-MM-DD')).unix() !=\n moment(moment(this.dateReceived).format('YYYY-MM-DD')).unix();\n const chk3 = this.formData.correspondenceDescription?.id == 13 && (this.correspondence.description != this.formData.description);\n const chk4 = this.fileList?.length == 1;\n const chk5 = this.correspondence.correspondenceDescription?.id != this.formData.correspondenceDescription?.id;\n return chk1 || chk2 || chk3 || chk4 || chk5;\n }\n\n\n get editMode(): boolean {\n return this.correspondence?.id > 0;\n }\n\n private closeModal() {\n this.$emit('closeAddEditCorrespondenceModal');\n }\n\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n}\n\n","import { render } from \"./add-edit-correspondence-modal.html?vue&type=template&id=050b40d3&scoped=true&ts=true&external\"\nimport script from \"./add-edit-correspondence-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./add-edit-correspondence-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./add-edit-correspondence-modal.scss?vue&type=style&index=0&id=050b40d3&scoped=true&lang=sccs&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-050b40d3\"]])\n\nexport default __exports__","\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport store from \"@/trust-admin-app/store\";\nimport { EventEmitter } from \"events\";\nimport {Inject, Options, Vue} from \"vue-property-decorator\";\nimport AddEditCorrespondenceModal from \"./add-edit-correspondence-modal/index.vue\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport { CorrespondenceView, PracticeView } from \"@/shared/modules/typescript-trustapi-client/models\";\n\n@Options({\n components: {\n AddEditCorrespondenceModal,\n LoadingIndicator,\n ErrorIndicator\n },\n mixins: [FormatDateTimeMixin]\n})\nexport default class PracticeCorrespondence extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private correspondenceHeadings = [\n { text: 'Type', value: 'type', sortable: false },\n { text: 'Date received', value: 'dateReceived', sortable: false },\n { text: 'Description', value: 'description', sortable: false },\n { text: 'Filename', value: 'filename', sortable: false },\n { text: 'Action', value: 'actions', sortable: false }\n ];\n\n private showCorrespondenceModal = false;\n private correspondences: CorrespondenceView[] = [];\n private selectedCorrespondence: CorrespondenceView = null as any;\n\n private loadingContent = false;\n private errorLoadingContent = false;\n\n // private addInvestigations(): void {\n // const investigation: InvestigationView = {\n // id: null,\n // practice: this.selectedPractice\n // };\n // this.eventCtrl.emit('showAddEditInvestigationModal', investigation);\n // }\n\n created(): void {\n this.getCorrespondence();\n }\n\n mounted() {\n this.eventCtrl.on('reload-practice-correspondence', this.getCorrespondence);\n }\n\n beforeUnmount() {\n this.eventCtrl.off('reload-practice-correspondence', this.getCorrespondence);\n }\n\n private openAddEditCorrespondence(c: CorrespondenceView): void {\n this.selectedCorrespondence = c;\n this.selectedCorrespondence.practiceId = this.selectedPractice.id;\n this.showCorrespondenceModal = true;\n }\n\n private closeAddEditCorrespondence(): void {\n this.selectedCorrespondence = null as any;\n this.showCorrespondenceModal = false;\n }\n\n private async getCorrespondence(): Promise {\n try {\n\n this.loadingContent = true;\n this.errorLoadingContent = false;\n const resp: any = await this.apiService.CorrespondenceApi?.apiV2CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet(\n this.selectedPractice.id,\n );\n\n this.correspondences = resp.data.data as CorrespondenceView[];\n\n } catch (err) {\n this.errorLoadingContent = true;\n } finally {\n this.loadingContent = false;\n }\n }\n\n private async downloadFile(c: CorrespondenceView): Promise {\n\n try {\n const resp: any = await this.apiService.CorrespondenceApi?.apiV2CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet(\n c.id,\n { responseType: 'blob' }\n );\n console.log(resp);\n const blob = new Blob([resp.data], {type: resp.headers['content-type']});\n const documentURL = window.URL.createObjectURL(blob);\n const downloadLink = document.createElement('a');\n const fileName = c.file.fileName;\n downloadLink.href = documentURL;\n downloadLink.download = fileName;\n downloadLink.click();\n } catch (err) {\n console.log(err);\n }\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n\n}\n\n","import { render } from \"./practice-correspondence.html?vue&type=template&id=d56e3980&scoped=true&ts=true&external\"\nimport script from \"./practice-correspondence.ts?vue&type=script&lang=ts&external\"\nexport * from \"./practice-correspondence.ts?vue&type=script&lang=ts&external\"\n\nimport \"./practice-correspondence.scss?vue&type=style&index=0&id=d56e3980&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-d56e3980\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, vModelRadio as _vModelRadio, withDirectives as _withDirectives, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-c0316eec\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"practice-people\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"section-heading\" }, [\n /*#__PURE__*/_createElementVNode(\"h4\", null, \"People\"),\n /*#__PURE__*/_createElementVNode(\"h2\", null, \"View all employees\")\n], -1))\nconst _hoisted_3 = {\n key: 0,\n class: \"stats-row\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"stats-row\"\n}\nconst _hoisted_5 = { class: \"stats\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, [\n /*#__PURE__*/_createTextVNode(\"# of\"),\n /*#__PURE__*/_createElementVNode(\"br\"),\n /*#__PURE__*/_createTextVNode(\"principals\")\n], -1))\nconst _hoisted_7 = { class: \"stats\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, [\n /*#__PURE__*/_createTextVNode(\"# of\"),\n /*#__PURE__*/_createElementVNode(\"br\"),\n /*#__PURE__*/_createTextVNode(\"employees\")\n], -1))\nconst _hoisted_9 = { class: \"stats\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, [\n /*#__PURE__*/_createTextVNode(\"Total of\"),\n /*#__PURE__*/_createElementVNode(\"br\"),\n /*#__PURE__*/_createTextVNode(\"solicitors\")\n], -1))\nconst _hoisted_11 = { class: \"stats\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, [\n /*#__PURE__*/_createTextVNode(\"# of\"),\n /*#__PURE__*/_createElementVNode(\"br\"),\n /*#__PURE__*/_createTextVNode(\"solicitor\"),\n /*#__PURE__*/_createElementVNode(\"br\"),\n /*#__PURE__*/_createTextVNode(\"members\")\n], -1))\nconst _hoisted_13 = { class: \"stats\" }\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, [\n /*#__PURE__*/_createTextVNode(\"# of life\"),\n /*#__PURE__*/_createElementVNode(\"br\"),\n /*#__PURE__*/_createTextVNode(\"members\")\n], -1))\nconst _hoisted_15 = { class: \"stats\" }\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, [\n /*#__PURE__*/_createTextVNode(\"# total\"),\n /*#__PURE__*/_createElementVNode(\"br\"),\n /*#__PURE__*/_createTextVNode(\"members\")\n], -1))\nconst _hoisted_17 = { class: \"stats\" }\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, [\n /*#__PURE__*/_createTextVNode(\"Membership\"),\n /*#__PURE__*/_createElementVNode(\"br\"),\n /*#__PURE__*/_createTextVNode(\"takeup\")\n], -1))\nconst _hoisted_19 = { class: \"stats\" }\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, [\n /*#__PURE__*/_createTextVNode(\"Authorised\"),\n /*#__PURE__*/_createElementVNode(\"br\"),\n /*#__PURE__*/_createTextVNode(\"signatories\")\n], -1))\nconst _hoisted_21 = { class: \"stats\" }\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, [\n /*#__PURE__*/_createTextVNode(\"ILP\"),\n /*#__PURE__*/_createElementVNode(\"br\"),\n /*#__PURE__*/_createTextVNode(\"Directors\")\n], -1))\nconst _hoisted_23 = { class: \"bottom-half\" }\nconst _hoisted_24 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", null, \"Show\", -1))\nconst _hoisted_25 = { class: \"radio-row\" }\nconst _hoisted_26 = { class: \"radio\" }\nconst _hoisted_27 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"Solicitors\")\n], -1))\nconst _hoisted_28 = { class: \"radio\" }\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"Authorised signatories\")\n], -1))\nconst _hoisted_30 = { class: \"radio\" }\nconst _hoisted_31 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"ILP Directors\")\n], -1))\nconst _hoisted_32 = { class: \"radio\" }\nconst _hoisted_33 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"Trust Coordinator\")\n], -1))\nconst _hoisted_34 = { class: \"radio\" }\nconst _hoisted_35 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"Authorised Trust Contact\")\n], -1))\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_PracticePeopleSolicitors = _resolveComponent(\"PracticePeopleSolicitors\")\n const _component_PracticePeopleSignatories = _resolveComponent(\"PracticePeopleSignatories\")\n const _component_PracticePeopleDirectors = _resolveComponent(\"PracticePeopleDirectors\")\n const _component_PracticePeopleTrustCoordinator = _resolveComponent(\"PracticePeopleTrustCoordinator\")\n const _component_PracticePeopleAuthorisedTrustContact = _resolveComponent(\"PracticePeopleAuthorisedTrustContact\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _hoisted_2,\n (_ctx.loadingStat)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_LoadingIndicator)\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.loadingStat)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.stat.numberOfPrincipals), 1),\n _hoisted_6\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.stat.numberOfEmployees), 1),\n _hoisted_8\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.stat.totalSolicitors), 1),\n _hoisted_10\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.stat.numberOfSolicitorMembers), 1),\n _hoisted_12\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.stat.numberOfLifeMembers), 1),\n _hoisted_14\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.stat.numberOfTotalMembers), 1),\n _hoisted_16\n ]),\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.stat.membershipTakeup), 1),\n _hoisted_18\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.stat.totalAuthorizedSignatories), 1),\n _hoisted_20\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.stat.totalIlpDirectors), 1),\n _hoisted_22\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_23, [\n _hoisted_24,\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"label\", _hoisted_26, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"status\",\n value: 1,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.showMode) = $event))\n }, null, 512), [\n [_vModelRadio, _ctx.showMode]\n ]),\n _hoisted_27\n ]),\n _createElementVNode(\"label\", _hoisted_28, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"status\",\n value: 2,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.showMode) = $event))\n }, null, 512), [\n [_vModelRadio, _ctx.showMode]\n ]),\n _hoisted_29\n ]),\n _createElementVNode(\"label\", _hoisted_30, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"status\",\n value: 3,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.showMode) = $event))\n }, null, 512), [\n [_vModelRadio, _ctx.showMode]\n ]),\n _hoisted_31\n ]),\n _createElementVNode(\"label\", _hoisted_32, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"status\",\n value: 4,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => ((_ctx.showMode) = $event))\n }, null, 512), [\n [_vModelRadio, _ctx.showMode]\n ]),\n _hoisted_33\n ]),\n _createElementVNode(\"label\", _hoisted_34, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"status\",\n value: 5,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.showMode) = $event))\n }, null, 512), [\n [_vModelRadio, _ctx.showMode]\n ]),\n _hoisted_35\n ])\n ]),\n (_ctx.showMode=='1')\n ? (_openBlock(), _createBlock(_component_PracticePeopleSolicitors, {\n key: 0,\n onLoadStatData: _ctx.loadStatData\n }, null, 8, [\"onLoadStatData\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showMode=='2')\n ? (_openBlock(), _createBlock(_component_PracticePeopleSignatories, {\n key: 1,\n onLoadStatData: _ctx.loadStatData,\n allowEdit: true\n }, null, 8, [\"onLoadStatData\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showMode=='3')\n ? (_openBlock(), _createBlock(_component_PracticePeopleDirectors, {\n key: 2,\n onLoadStatData: _ctx.loadStatData\n }, null, 8, [\"onLoadStatData\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showMode=='4')\n ? (_openBlock(), _createBlock(_component_PracticePeopleTrustCoordinator, {\n key: 3,\n onLoadStatData: _ctx.loadStatData,\n allowEdit: true\n }, null, 8, [\"onLoadStatData\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showMode=='5')\n ? (_openBlock(), _createBlock(_component_PracticePeopleAuthorisedTrustContact, {\n key: 4,\n onLoadStatData: _ctx.loadStatData,\n allowEdit: true\n }, null, 8, [\"onLoadStatData\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}","import { vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, vModelCheckbox as _vModelCheckbox, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1cd8737c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"practice-people-solicitors\" }\nconst _hoisted_2 = { class: \"search-inputs\" }\nconst _hoisted_3 = { class: \"search-bar\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-hm\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-filter fa-lg\" })\n], -1))\nconst _hoisted_5 = { class: \"checkbox-button ml-2\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", {\n class: \"checkmark-box\",\n style: {\"align-self\":\"center\"}\n }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Show active only\")\n], -1))\nconst _hoisted_7 = { class: \"ls-table\" }\nconst _hoisted_8 = [\"onClick\"]\nconst _hoisted_9 = { class: \"text\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-up\" }, null, -1))\nconst _hoisted_11 = [\n _hoisted_10\n]\nconst _hoisted_12 = { key: 0 }\nconst _hoisted_13 = [\"colspan\"]\nconst _hoisted_14 = { key: 1 }\nconst _hoisted_15 = [\"colspan\"]\nconst _hoisted_16 = { key: 2 }\nconst _hoisted_17 = [\"colspan\"]\nconst _hoisted_18 = { key: 0 }\nconst _hoisted_19 = { \"data-label\": \"LSID\" }\nconst _hoisted_20 = { \"data-label\": \"Name\" }\nconst _hoisted_21 = { \"data-label\": \"Phone number\" }\nconst _hoisted_22 = { \"data-label\": \"Email\" }\nconst _hoisted_23 = { \"data-label\": \"From\" }\nconst _hoisted_24 = { \"data-label\": \"To\" }\nconst _hoisted_25 = { \"data-label\": \"Employment classification\" }\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.searchKeyword) = $event)),\n placeholder: \"Filter by LSID, name\"\n }, null, 512), [\n [_vModelText, _ctx.searchKeyword]\n ]),\n _hoisted_4\n ]),\n _createElementVNode(\"label\", _hoisted_5, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.showActiveOnly) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.showActiveOnly]\n ]),\n _hoisted_6\n ])\n ]),\n _createElementVNode(\"table\", _hoisted_7, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", {\n class: _normalizeClass([ h.sortable ? 'sortable' : '']),\n onClick: $event => (_ctx.sortTableColumn(index, h.sortable))\n }, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(h.text), 1),\n (h.sortable)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([ _ctx.activeSortHeader === index ? 'active' : '', _ctx.sortMethod])\n }, _hoisted_11, 2))\n : _createCommentVNode(\"\", true)\n ])\n ], 10, _hoisted_8))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_12, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_13)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_14, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_15)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.solicitorsDisplay.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_16, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, \"No Records\", 8, _hoisted_17)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.solicitorsDisplay.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.applyFilter(_ctx.solicitorsDisplay), (i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.showActiveOnly && !i.effectiveEndDate || !_ctx.showActiveOnly )\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_18, [\n _createElementVNode(\"td\", _hoisted_19, _toDisplayString(i.indId), 1),\n _createElementVNode(\"td\", _hoisted_20, _toDisplayString(i.name), 1),\n _createElementVNode(\"td\", _hoisted_21, _toDisplayString(i.phone), 1),\n _createElementVNode(\"td\", _hoisted_22, _toDisplayString(i.email), 1),\n _createElementVNode(\"td\", _hoisted_23, _toDisplayString(_ctx.$formatDate(i.effectiveStartDate)), 1),\n _createElementVNode(\"td\", _hoisted_24, _toDisplayString(i.effectiveEndDate ? _ctx.$formatDate(i.effectiveEndDate) : ''), 1),\n _createElementVNode(\"td\", _hoisted_25, _toDisplayString(i.empClassificationShortDescription), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n}","import { Inject, Options, Vue, Watch } from \"vue-property-decorator\";\nimport { AppInsights } from \"@/trust-admin-app/appInsights\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-admin-app/store\";\nimport ErrorIndicator from \"@/shared/components/error-indicator/error-indicator\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { orderBy } from \"lodash\";\nimport { PracticeView } from \"@/shared/modules/typescript-trustapi-client/models\";\n\n@Options({\n components: {\n LoadingIndicator,\n ErrorIndicator,\n },\n mixins: [FormatDateTimeMixin]\n})\nexport default class PracticePeopleSolicitors extends Vue {\n private ai = new AppInsights;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n\n private searchKeyword = '';\n private showActiveOnly = true;\n\n private sortMethod = 'desc';\n private activeSortHeader = 0;\n\n private solicitors: any = [];\n private solicitorsDisplay: any = [];\n\n private loadingContent = false;\n private errorLoadingContent = false;\n private loadingDataSet = false;\n private errorLoadingDataSet = false;\n\n\n private tableHeadings = [\n { text: 'LawID', value: 'indId', sortable: true, sortMethod: 'acs' },\n { text: 'Name', value: 'name', sortable: true, sortMethod: 'acs' },\n { text: 'Phone number', value: 'phone', sortable: true, sortMethod: 'acs' },\n { text: 'Email', value: 'email', sortable: true, sortMethod: 'acs' },\n { text: 'From', value: 'effectiveStartDate', sortable: true, sortMethod: 'asc' },\n { text: 'To', value: 'effectiveEndDate', sortable: true, sortMethod: 'acs' },\n { text: 'Employment classification', value: 'empClassificationShortDescription', sortable: true, sortMethod: 'acs' },\n ];\n\n mounted() {\n this.loadTableData();\n }\n\n private loadTableData() {\n this.loadingContent = true;\n this.apiService.PeopleApi?.apiV2PeopleGetIndividualsByPracticeIdPracticeIdGet(\n this.selectedPractice.id, '', false\n )\n .then(res => {\n this.solicitors = res.data.data;\n this.solicitorsDisplay = this.solicitors;\n for (let i = 0; i < this.solicitors.length; i++) {\n this.solicitorsDisplay[i].name = this.solicitors[i].firstName + ' ' + this.solicitors[i].lastName;\n }\n this.$emit('loadStatData');\n this.sortTableColumn(0, true);\n this.loadingContent = false;\n })\n .catch(err => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to get solicitors list');\n this.ai.trackException('Error getting investigations: ' + err);\n this.loadingContent = false;\n this.errorLoadingContent = true;\n })\n\n }\n\n private sortTableColumn(index: number, sortable: boolean) {\n if (sortable) {\n if (this.tableHeadings[index].sortable) {\n this.activeSortHeader = index;\n this.sortMethod = this.sortMethod === 'desc' ? 'asc' : 'desc';\n this.tableHeadings[index].sortMethod = this.sortMethod;\n if (this.solicitors.length > 0) {\n const nameSorter = index == 1 ? (c: any) => c.name.toLowerCase() : [this.tableHeadings[index].value, (c: any) => c.name.toLowerCase()];\n const orderByResults = orderBy(\n this.solicitors,\n nameSorter,\n [this.sortMethod as any]\n );\n this.solicitorsDisplay = orderByResults;\n }\n }\n }\n }\n\n private applyFilter(data: any) {\n if (this.searchKeyword == '') return data;\n const _result = data.filter((d: any) => {\n return d.name.toLowerCase().indexOf(this.searchKeyword.toLowerCase()) >= 0\n || d.indId.toString().indexOf(this.searchKeyword.toLowerCase()) >= 0;\n })\n return _result;\n }\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n}\n\n","import { render } from \"./practice-people-solicitors.html?vue&type=template&id=1cd8737c&scoped=true&ts=true&external\"\nimport script from \"./practice-people-solicitors.ts?vue&type=script&lang=ts&external\"\nexport * from \"./practice-people-solicitors.ts?vue&type=script&lang=ts&external\"\n\nimport \"./practice-people-solicitors.scss?vue&type=style&index=0&id=1cd8737c&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1cd8737c\"]])\n\nexport default __exports__","import { vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, vModelCheckbox as _vModelCheckbox, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4422b950\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"practice-people-signatories\" }\nconst _hoisted_2 = { class: \"search-inputs\" }\nconst _hoisted_3 = { class: \"search-bar\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-hm\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-filter fa-lg\" })\n], -1))\nconst _hoisted_5 = {\n class: \"checkbox-button ml-2\",\n style: {\"min-width\":\"170px\"}\n}\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", {\n class: \"checkmark-box\",\n style: {\"align-self\":\"center\"}\n }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Show active only\")\n], -1))\nconst _hoisted_7 = { class: \"checkbox-button ml-4\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", {\n class: \"checkmark-box\",\n style: {\"align-self\":\"center\"}\n }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"PC\")\n], -1))\nconst _hoisted_9 = { style: {\"width\":\"calc(100% - 700px)\",\"text-align\":\"right\"} }\nconst _hoisted_10 = { class: \"ls-table\" }\nconst _hoisted_11 = [\"onClick\"]\nconst _hoisted_12 = { class: \"text\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-up\" }, null, -1))\nconst _hoisted_14 = [\n _hoisted_13\n]\nconst _hoisted_15 = { key: 0 }\nconst _hoisted_16 = [\"colspan\"]\nconst _hoisted_17 = { key: 1 }\nconst _hoisted_18 = [\"colspan\"]\nconst _hoisted_19 = { key: 2 }\nconst _hoisted_20 = [\"colspan\"]\nconst _hoisted_21 = { key: 0 }\nconst _hoisted_22 = { \"data-label\": \"LawId\" }\nconst _hoisted_23 = { \"data-label\": \"Name\" }\nconst _hoisted_24 = { \"data-label\": \"Categories\" }\nconst _hoisted_25 = { \"data-label\": \"Solely-jointly\" }\nconst _hoisted_26 = { \"data-label\": \"From\" }\nconst _hoisted_27 = { \"data-label\": \"To\" }\nconst _hoisted_28 = {\n \"data-label\": \"Action\",\n style: {\"text-align\":\"right\"}\n}\nconst _hoisted_29 = [\"onClick\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_AddEditSignatoryModal = _resolveComponent(\"AddEditSignatoryModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.searchKeyword) = $event)),\n placeholder: \"Filter by LSID, name\"\n }, null, 512), [\n [_vModelText, _ctx.searchKeyword]\n ]),\n _hoisted_4\n ]),\n _createElementVNode(\"label\", _hoisted_5, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.showActiveOnly) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.showActiveOnly]\n ]),\n _hoisted_6\n ]),\n _createElementVNode(\"label\", _hoisted_7, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.showPCOnly) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.showPCOnly]\n ]),\n _hoisted_8\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n onClick: _cache[3] || (_cache[3] = $event => (_ctx.addNew()))\n }, \"Add new signatory\")\n ])\n ]),\n _createElementVNode(\"table\", _hoisted_10, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", {\n class: _normalizeClass([ h.sortable ? 'sortable' : '']),\n onClick: $event => (_ctx.sortTableColumn(index, h.sortable))\n }, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(h.text), 1),\n (h.sortable)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([ _ctx.activeSortHeader === index ? 'active' : '', _ctx.sortMethod])\n }, _hoisted_14, 2))\n : _createCommentVNode(\"\", true)\n ])\n ], 10, _hoisted_11))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_15, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_16)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_17, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_18)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.signatoriesDisplay.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_19, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, \"No Records\", 8, _hoisted_20)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.signatoriesDisplay.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.applyFilter(_ctx.signatoriesDisplay), (i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n ((_ctx.showActiveOnly && _ctx.isActive(i) || !_ctx.showActiveOnly) && (_ctx.showPCOnly && i.signatoryType.name == 'PC' || !_ctx.showPCOnly))\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_21, [\n _createElementVNode(\"td\", _hoisted_22, _toDisplayString(i.lawId), 1),\n _createElementVNode(\"td\", _hoisted_23, _toDisplayString(i.name), 1),\n _createElementVNode(\"td\", _hoisted_24, _toDisplayString(i.categoryName), 1),\n _createElementVNode(\"td\", _hoisted_25, _toDisplayString(i.solelyJointly?.name), 1),\n _createElementVNode(\"td\", _hoisted_26, _toDisplayString(_ctx.$formatDate(i.commencedDate)), 1),\n _createElementVNode(\"td\", _hoisted_27, _toDisplayString(i.terminatedDate ? _ctx.$formatDate(i.terminatedDate) : ''), 1),\n _createElementVNode(\"td\", _hoisted_28, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml mr-1\",\n onClick: $event => (_ctx.edit(i))\n }, \"Edit\", 8, _hoisted_29)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n (_ctx.showAddEditModal)\n ? (_openBlock(), _createBlock(_component_AddEditSignatoryModal, {\n key: 0,\n signatoryRequest: _ctx.signatoryRequest,\n \"onUpdate:signatoryRequest\": _cache[4] || (_cache[4] = $event => ((_ctx.signatoryRequest) = $event)),\n signatories: _ctx.signatories,\n \"onUpdate:signatories\": _cache[5] || (_cache[5] = $event => ((_ctx.signatories) = $event)),\n categories: _ctx.categories,\n \"onUpdate:categories\": _cache[6] || (_cache[6] = $event => ((_ctx.categories) = $event)),\n onCloseModal: _cache[7] || (_cache[7] = $event => (_ctx.showAddEditModal = false)),\n onUpdateTable: _cache[8] || (_cache[8] = $event => (_ctx.loadTableData(true)))\n }, null, 8, [\"signatoryRequest\", \"signatories\", \"categories\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, vModelRadio as _vModelRadio, withDirectives as _withDirectives, withKeys as _withKeys, vModelText as _vModelText, createElementBlock as _createElementBlock, renderList as _renderList, Fragment as _Fragment, withModifiers as _withModifiers, normalizeClass as _normalizeClass, vShow as _vShow, createTextVNode as _createTextVNode, vModelSelect as _vModelSelect, createVNode as _createVNode, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-09ab4795\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"add-edit-modal\" }\nconst _hoisted_2 = { class: \"heading-text\" }\nconst _hoisted_3 = { class: \"line1\" }\nconst _hoisted_4 = { class: \"line2\" }\nconst _hoisted_5 = { class: \"ls-form\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Type\", -1))\nconst _hoisted_7 = { class: \"radio-group\" }\nconst _hoisted_8 = { class: \"radio\" }\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"PC\")\n], -1))\nconst _hoisted_11 = { class: \"radio\" }\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text nowrap\" }, \"Non-PC\")\n], -1))\nconst _hoisted_14 = {\n key: 0,\n class: \"row\"\n}\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"LawID / Name\", -1))\nconst _hoisted_16 = {\n key: 0,\n class: \"autocomplete\",\n style: {\"flex\":\"0 0 100%\"}\n}\nconst _hoisted_17 = [\"disabled\"]\nconst _hoisted_18 = { class: \"icon-hm\" }\nconst _hoisted_19 = {\n key: 0,\n class: \"fal fa-spinner fa-spin fa-lg\"\n}\nconst _hoisted_20 = {\n key: 1,\n class: \"fal fa-search fa-lg\"\n}\nconst _hoisted_21 = {\n id: \"autocomplete-results\",\n class: \"autocomplete-results\"\n}\nconst _hoisted_22 = [\"innerHTML\", \"onClick\"]\nconst _hoisted_23 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_24 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_25 = { key: 1 }\nconst _hoisted_26 = { class: \"input-box\" }\nconst _hoisted_27 = [\"disabled\", \"value\"]\nconst _hoisted_28 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Category *\", -1))\nconst _hoisted_29 = { class: \"input-box\" }\nconst _hoisted_30 = { class: \"select mb-4\" }\nconst _hoisted_31 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", {\n disabled: \"\",\n value: \"0\"\n}, \"- Please select -\", -1))\nconst _hoisted_32 = [\"value\"]\nconst _hoisted_33 = {\n key: 0,\n class: \"validation-msg\",\n style: {\"position\":\"absolute\",\"margin-top\":\"4.6em\"}\n}\nconst _hoisted_34 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_35 = {\n key: 1,\n class: \"row\"\n}\nconst _hoisted_36 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"First name *\", -1))\nconst _hoisted_37 = { class: \"input-box\" }\nconst _hoisted_38 = [\"disabled\"]\nconst _hoisted_39 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_40 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_41 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Last name *\", -1))\nconst _hoisted_42 = { class: \"input-box\" }\nconst _hoisted_43 = [\"disabled\"]\nconst _hoisted_44 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_45 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_46 = { class: \"row\" }\nconst _hoisted_47 = { key: 0 }\nconst _hoisted_48 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Category *\", -1))\nconst _hoisted_49 = { class: \"input-box\" }\nconst _hoisted_50 = { class: \"select mb-4\" }\nconst _hoisted_51 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", {\n disabled: \"\",\n value: \"0\"\n}, \"- Please select -\", -1))\nconst _hoisted_52 = [\"value\"]\nconst _hoisted_53 = {\n key: 0,\n class: \"validation-msg\",\n style: {\"position\":\"absolute\",\"margin-top\":\"4.6em\"}\n}\nconst _hoisted_54 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_55 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Solely/ jointly\", -1))\nconst _hoisted_56 = { class: \"input-box\" }\nconst _hoisted_57 = { class: \"select mb-4\" }\nconst _hoisted_58 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", {\n disabled: \"\",\n value: \"0\"\n}, \"- Please select -\", -1))\nconst _hoisted_59 = [\"value\"]\nconst _hoisted_60 = {\n key: 0,\n class: \"validation-msg\",\n style: {\"position\":\"absolute\",\"margin-top\":\"4.6em\"}\n}\nconst _hoisted_61 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_62 = { class: \"row\" }\nconst _hoisted_63 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Commenced Date *\", -1))\nconst _hoisted_64 = { class: \"input-box\" }\nconst _hoisted_65 = { class: \"date-picker\" }\nconst _hoisted_66 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-calendar-check\" }, null, -1))\nconst _hoisted_67 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Terminated Date\", -1))\nconst _hoisted_68 = { class: \"input-box\" }\nconst _hoisted_69 = { class: \"date-picker\" }\nconst _hoisted_70 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-calendar-check\" }, null, -1))\nconst _hoisted_71 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_72 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_73 = {\n class: \"mt-4\",\n style: {\"text-align\":\"right\"}\n}\nconst _hoisted_74 = [\"disabled\"]\nconst _hoisted_75 = [\"disabled\"]\nconst _hoisted_76 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-right\" })\n], -1))\nconst _hoisted_77 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", null, \"CANCEL ALERT\", -1))\nconst _hoisted_78 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"Do you want to cancel this task?\", -1))\n\nexport function render(_ctx, _cache) {\n const _component_LoadingSpinner = _resolveComponent(\"LoadingSpinner\")\n const _component_v3_date_picker = _resolveComponent(\"v3-date-picker\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n const _component_AlertBox = _resolveComponent(\"AlertBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (_ctx.isLoadingData)\n ? (_openBlock(), _createBlock(_component_LoadingSpinner, { key: 0 }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_ModalBox, {\n show: _ctx.show,\n \"onUpdate:show\": _cache[23] || (_cache[23] = $event => ((_ctx.show) = $event)),\n onClose: _cache[24] || (_cache[24] = $event => (_ctx.cancelClicked()))\n }, {\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.headerText), 1),\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.line2Text), 1)\n ])\n ]),\n body: _withCtx(() => [\n _createElementVNode(\"form\", _hoisted_5, [\n _createElementVNode(\"fieldset\", null, [\n _hoisted_6,\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"label\", _hoisted_8, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"member-type\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.signatoryRequest.signatoryTypeId) = $event)),\n value: 1,\n disabled: _ctx.editMode\n }, null, 8, _hoisted_9), [\n [_vModelRadio, _ctx.signatoryRequest.signatoryTypeId]\n ]),\n _hoisted_10\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"member-type\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.signatoryRequest.signatoryTypeId) = $event)),\n value: 2,\n disabled: _ctx.editMode\n }, null, 8, _hoisted_12), [\n [_vModelRadio, _ctx.signatoryRequest.signatoryTypeId]\n ]),\n _hoisted_13\n ])\n ])\n ]),\n (_ctx.signatoryRequest.signatoryTypeId == 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"fieldset\", null, [\n _hoisted_15,\n (!_ctx.editMode)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [\n _withDirectives(_createElementVNode(\"input\", {\n onKeydown: [\n _cache[2] || (_cache[2] = _withKeys((...args) => (_ctx.onArrowDown && _ctx.onArrowDown(...args)), [\"down\"])),\n _cache[3] || (_cache[3] = _withKeys((...args) => (_ctx.onArrowUp && _ctx.onArrowUp(...args)), [\"up\"])),\n _cache[4] || (_cache[4] = _withKeys((...args) => (_ctx.onEnter && _ctx.onEnter(...args)), [\"enter\"]))\n ],\n disabled: _ctx.editMode,\n class: \"searchField\",\n type: \"text\",\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => ((_ctx.search) = $event)),\n placeholder: \"Search LawID, name\"\n }, null, 40, _hoisted_17), [\n [_vModelText, _ctx.search]\n ]),\n _withDirectives(_createElementVNode(\"input\", {\n type: \"hidden\",\n id: \"lawId\",\n name: \"lawId\",\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => ((_ctx.signatoryRequest.lawId) = $event))\n }, null, 512), [\n [_vModelText, _ctx.signatoryRequest.lawId]\n ]),\n _createElementVNode(\"span\", _hoisted_18, [\n (_ctx.isSearching)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_19))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_20))\n ]),\n _withDirectives(_createElementVNode(\"ul\", _hoisted_21, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.userList, (user, i) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: i,\n class: _normalizeClass([\"autocomplete-result\", { 'is-active': i === _ctx.arrowCounter }]),\n innerHTML: _ctx.highlightWord(user.lawId + ' - ' + user.givenName + ' ' + user.surname),\n onClick: _withModifiers($event => (_ctx.selectUser(user)), [\"prevent\"])\n }, null, 10, _hoisted_22))\n }), 128))\n ], 512), [\n [_vShow, _ctx.isOpen]\n ]),\n (_ctx.signatoryRequest.lawId == '')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_23, [\n _hoisted_24,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.editMode)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_25, [\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"input\", {\n type: \"text\",\n disabled: _ctx.editMode,\n placeholder: \"Law ID\",\n value: _ctx.signatoryRequest.lawId + ' - ' + _ctx.signatoryRequest.firstName + ' ' + _ctx.signatoryRequest.lastName\n }, null, 8, _hoisted_27)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"fieldset\", null, [\n _hoisted_28,\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"div\", _hoisted_30, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => ((_ctx.signatoryRequest.categoryId) = $event)),\n onChange: _cache[8] || (_cache[8] = $event => (_ctx.mandatoryCheck()))\n }, [\n _hoisted_31,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.categories, (c) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: c.id\n }, _toDisplayString(c.name), 9, _hoisted_32))\n }), 256))\n ], 544), [\n [_vModelSelect, _ctx.signatoryRequest.categoryId]\n ]),\n (_ctx.signatoryRequest.categoryId == '0')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_33, [\n _hoisted_34,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.signatoryRequest.signatoryTypeId == 2)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_35, [\n _createElementVNode(\"fieldset\", null, [\n _hoisted_36,\n _createElementVNode(\"div\", _hoisted_37, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = $event => ((_ctx.signatoryRequest.firstName) = $event)),\n disabled: _ctx.isLoadingData,\n placeholder: \"First name\",\n onInput: _cache[10] || (_cache[10] = $event => (_ctx.mandatoryCheck())),\n maxLength: \"50\"\n }, null, 40, _hoisted_38), [\n [_vModelText, _ctx.signatoryRequest.firstName]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [ _ctx.signatoryRequest.firstName.length === 50 ? 'full' : '']])\n }, _toDisplayString(_ctx.signatoryRequest.firstName.length) + \"/50 characters \", 3),\n (_ctx.signatoryRequest.firstName === '')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_39, [\n _hoisted_40,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"fieldset\", null, [\n _hoisted_41,\n _createElementVNode(\"div\", _hoisted_42, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[11] || (_cache[11] = $event => ((_ctx.signatoryRequest.lastName) = $event)),\n disabled: _ctx.isLoadingData,\n placeholder: \"Last name\",\n onInput: _cache[12] || (_cache[12] = $event => (_ctx.mandatoryCheck())),\n maxLength: \"50\"\n }, null, 40, _hoisted_43), [\n [_vModelText, _ctx.signatoryRequest.lastName]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [ _ctx.signatoryRequest.lastName.length === 50 ? 'full' : '']])\n }, _toDisplayString(_ctx.signatoryRequest.lastName.length) + \"/50 characters \", 3),\n (_ctx.signatoryRequest.lastName === '')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_44, [\n _hoisted_45,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_46, [\n (_ctx.signatoryRequest.signatoryTypeId == 2)\n ? (_openBlock(), _createElementBlock(\"fieldset\", _hoisted_47, [\n _hoisted_48,\n _createElementVNode(\"div\", _hoisted_49, [\n _createElementVNode(\"div\", _hoisted_50, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[13] || (_cache[13] = $event => ((_ctx.signatoryRequest.categoryId) = $event)),\n onChange: _cache[14] || (_cache[14] = $event => (_ctx.mandatoryCheck()))\n }, [\n _hoisted_51,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.categories, (c) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: c.id\n }, _toDisplayString(c.name), 9, _hoisted_52))\n }), 256))\n ], 544), [\n [_vModelSelect, _ctx.signatoryRequest.categoryId]\n ]),\n (_ctx.signatoryRequest.categoryId == '0')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_53, [\n _hoisted_54,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"fieldset\", null, [\n _hoisted_55,\n _createElementVNode(\"div\", _hoisted_56, [\n _createElementVNode(\"div\", _hoisted_57, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[15] || (_cache[15] = $event => ((_ctx.signatoryRequest.solelyJointlyId) = $event)),\n onChange: _cache[16] || (_cache[16] = $event => (_ctx.mandatoryCheck()))\n }, [\n _hoisted_58,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.solelyJointlyType, (sT) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: sT.id\n }, _toDisplayString(sT.name), 9, _hoisted_59))\n }), 256))\n ], 544), [\n [_vModelSelect, _ctx.signatoryRequest.solelyJointlyId]\n ]),\n (_ctx.signatoryRequest.solelyJointlyId == 0)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_60, [\n _hoisted_61,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_62, [\n _createElementVNode(\"fieldset\", null, [\n _hoisted_63,\n _createElementVNode(\"div\", _hoisted_64, [\n _createElementVNode(\"div\", _hoisted_65, [\n _createVNode(_component_v3_date_picker, {\n class: \"v3-date-picker\",\n style: {\"padding\":\"1em\"},\n onClick: _cache[17] || (_cache[17] = $event => (_ctx.mandatoryCheck())),\n modelValue: _ctx.signatoryRequest.commencedDate,\n \"onUpdate:modelValue\": _cache[18] || (_cache[18] = $event => ((_ctx.signatoryRequest.commencedDate) = $event)),\n inputFormat: \"dd-MM-yyyy\"\n }, null, 8, [\"modelValue\"]),\n _hoisted_66\n ])\n ])\n ]),\n _createElementVNode(\"fieldset\", null, [\n _hoisted_67,\n _createElementVNode(\"div\", _hoisted_68, [\n _createElementVNode(\"div\", _hoisted_69, [\n _createVNode(_component_v3_date_picker, {\n class: \"v3-date-picker\",\n style: {\"padding\":\"1em\"},\n onClick: _cache[19] || (_cache[19] = $event => (_ctx.mandatoryCheck())),\n modelValue: _ctx.signatoryRequest.terminatedDate,\n \"onUpdate:modelValue\": _cache[20] || (_cache[20] = $event => ((_ctx.signatoryRequest.terminatedDate) = $event)),\n inputFormat: \"dd-MM-yyyy\",\n lowerLimit: _ctx.from\n }, null, 8, [\"modelValue\", \"lowerLimit\"]),\n _hoisted_70\n ])\n ])\n ])\n ]),\n _hoisted_71\n ]),\n _hoisted_72,\n _createElementVNode(\"div\", _hoisted_73, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default\",\n onClick: _cache[21] || (_cache[21] = $event => (_ctx.cancelClicked())),\n disabled: _ctx.isLoadingData\n }, \"Cancel\", 8, _hoisted_74),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary ml-2\",\n disabled: !_ctx.canSubmit || _ctx.isLoadingData,\n onClick: _cache[22] || (_cache[22] = $event => (_ctx.submit()))\n }, [\n _createTextVNode(_toDisplayString(_ctx.submitBtnText) + \" \", 1),\n _hoisted_76\n ], 8, _hoisted_75)\n ])\n ]),\n _: 1\n }, 8, [\"show\"]),\n (_ctx.showCancelAlert)\n ? (_openBlock(), _createBlock(_component_AlertBox, {\n key: 1,\n onClose: _cache[27] || (_cache[27] = $event => (_ctx.showCancelAlert = false))\n }, {\n header: _withCtx(() => [\n _hoisted_77\n ]),\n body: _withCtx(() => [\n _hoisted_78\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: _cache[25] || (_cache[25] = $event => (_ctx.yesClicked()))\n }, \"Yes\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-tertiary sml\",\n onClick: _cache[26] || (_cache[26] = $event => (_ctx.showCancelAlert = false))\n }, \"No\")\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { Inject, Options, Vue, Watch } from \"vue-property-decorator\";\nimport { Category, PracticeView, SignatoryRequest, SignatoryView, SolelyJointly } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport ModalBox from \"@/shared/components/modal-box/index.vue\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-admin-app/store\";\nimport V3DatePicker from 'vue3-datepicker';\nimport { ref } from 'vue'\nimport AlertBox from \"@/shared/components/alert-box/index.vue\";\nimport { debounce } from \"lodash\";\nimport { LawIdUserLsApiView } from \"@/shared/modules/typescript-trustapi-client/models\";\n\n@Options({\n props: {\n signatoryRequest: {},\n categories: Array,\n signatories: Array,\n },\n components: {\n ModalBox,\n LoadingSpinner,\n V3DatePicker,\n AlertBox,\n }\n})\nexport default class AddEditSignatoryModal extends Vue {\n private signatoryRequest!: SignatoryRequest;\n private categories!: Category[];\n private signatories!: SignatoryView[];\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Inject({ from: 'solelyJointlyType', default: [] })\n private solelyJointlyType!: SolelyJointly[];\n\n showAddEditModal!: boolean;\n\n // date picker\n private today = ref(new Date());\n\n private canSubmit = false;\n\n private showFullScreenFileViewer = false;\n private showStepper = false;\n private halfScreen = false;\n private show = false;\n private isLoadingData = false;\n private isFormDirty = false;\n private showCancelAlert = false;\n private editMode = false;\n\n private headerText = '';\n private line2Text = '';\n private existingLawId = false;\n private existingLsId = false;\n private existingName = false;\n\n private memberType = '1';\n private userList: LawIdUserLsApiView[] = [];\n private isOpen = false;\n private search = '';\n private arrowCounter = -1;\n private isSearching = false;\n private srchDebounced: any = null;\n\n private selectUser(user: LawIdUserLsApiView) {\n this.isOpen = false;\n this.search = user.lawId + ' - ' + user.givenName + ' ' + user.surname;\n this.signatoryRequest.lawId = user.lawId;\n this.signatoryRequest.firstName = user.givenName;\n this.signatoryRequest.lastName = user.surname;\n }\n\n @Watch('search')\n private onKeywordChange(): void {\n if (this.search.length > 2 && this.userList.filter(x => x.lawId == this.search).length == 0) {\n // this.signatoryRequest.lawId = null;\n setTimeout(this.srchDebounced.cancel, 0);\n setTimeout(this.srchDebounced, 0);\n }\n }\n\n mounted(): void {\n this.show = this.showAddEditModal;\n this.editMode = this.signatoryRequest.id !== 0;\n this.headerText = this.signatoryRequest.id === 0 ? 'Add new authorised signatory' : 'Edit authorised signatory';\n this.line2Text = this.signatoryRequest.firstName + ' ' + this.signatoryRequest.lastName;\n window.addEventListener('click', this.handleClickOutside);\n this.srchDebounced = debounce(() => {\n this.searchUser();\n }, 1000);\n }\n\n beforeUnmount(): void {\n window.removeEventListener('click', this.handleClickOutside);\n }\n\n private onArrowDown(evt: any) {\n if (this.arrowCounter < this.userList.length) {\n this.arrowCounter = this.arrowCounter + 1;\n }\n }\n\n private onArrowUp(): void {\n if (this.arrowCounter > 0) {\n this.arrowCounter = this.arrowCounter - 1;\n }\n }\n\n private onEnter() {\n if (this.userList.length > 0) {\n this.selectUser(\n this.userList[this.arrowCounter === -1 ? 0 : this.arrowCounter]\n );\n }\n this.isOpen = false;\n }\n\n private handleClickOutside(evt: any): void {\n if (this.$el === (evt.target)) {\n this.isOpen = false;\n this.arrowCounter = -1;\n }\n }\n\n private highlightWord(word: string): string {\n try {\n const regex = new RegExp('(' + this.search + ')', 'ig');\n return word.replace(regex, '$1');\n } catch (err) {\n return word;\n }\n }\n\n private mandatoryCheck() {\n this.isFormDirty = true;\n if( this.signatoryRequest.signatoryTypeId == 1 ) {\n const _lawId: boolean = this.signatoryRequest.lawId.trim() !== '';\n const _name: boolean = this.signatoryRequest.firstName.trim() !== '';\n const _catId: boolean = this.signatoryRequest.categoryId !== 0;\n const _sj: boolean = this.signatoryRequest.signatoryTypeId !== 0;\n this.canSubmit = _lawId && _name && _catId && _sj;\n } else {\n const _firstName: boolean = this.signatoryRequest.firstName.trim() !== '';\n const _lastName: boolean = this.signatoryRequest.lastName.trim() !== '';\n const _sj: boolean = this.signatoryRequest.signatoryTypeId !== 0;\n const _catId: boolean = this.signatoryRequest.categoryId !== 0;\n this.canSubmit = _firstName && _lastName && _catId && _sj;\n }\n\n }\n\n get from(): Date {\n return this.signatoryRequest.commencedDate;\n }\n\n private async searchUser() {\n const _body = {\n practiceId: this.selectedPractice.id,\n keyword: this.search\n }\n\n try {\n this.isSearching = true;\n const resp: any = await this.apiService.PeopleApi?.apiV2PeopleGetSearchLawIdUsersPost(_body);\n this.userList = resp.data.data as LawIdUserLsApiView[];\n this.isOpen = this.userList.length > 0;\n } catch (err) {\n this.isOpen = false;\n } finally {\n this.isSearching = false;\n }\n }\n\n get submitBtnText(): string {\n return this.signatoryRequest.id === 0 ? 'Add new signatory' : 'Save changes';\n }\n\n private cancelClicked() {\n if (this.isFormDirty) {\n this.showCancelAlert = true;\n } else {\n this.closeModal();\n }\n }\n\n private yesClicked() {\n this.closeModal();\n }\n\n private closeModal(): void {\n this.$emit('closeModal');\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private submit(): void {\n this.isLoadingData = true;\n this.apiService.PeopleApi?.apiV2PeopleSaveSignatoryPost(this.signatoryRequest)\n .then(res => {\n setTimeout(() => {\n this.$emit('updateTable', res);\n this.isLoadingData = false;\n this.closeModal();\n }, 250);\n if (this.signatoryRequest.id > 0) {\n this.eventCtrl.emit('show-snackbar', 'success', 'Record updated successfully..');\n } else {\n this.eventCtrl.emit('show-snackbar', 'success', 'Record is added successfully..');\n }\n })\n .catch(err => {\n console.log(err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Error on submitting authorised signatory');\n this.isLoadingData = false;\n })\n }\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n\n}\n\n","import { render } from \"./add-edit-signatory-modal.html?vue&type=template&id=09ab4795&scoped=true&ts=true&external\"\nimport script from \"./add-edit-signatory-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./add-edit-signatory-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./add-edit-signatory-modal.scss?vue&type=style&index=0&id=09ab4795&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-09ab4795\"]])\n\nexport default __exports__","\nimport { Inject, Options, Vue } from \"vue-property-decorator\";\nimport { AppInsights } from \"@/trust-admin-app/appInsights\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-admin-app/store\";\nimport ErrorIndicator from \"@/shared/components/error-indicator/error-indicator\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { orderBy } from \"lodash\";\nimport { Category, SignatoryFilterRequest, SignatoryRequest, SignatoryView, PracticeView } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport AddEditSignatoryModal from \"./add-edit-signatory-modal/index.vue\";\nimport { ref } from \"vue\";\nimport moment from \"moment\";\n@Options({\n components: {\n LoadingIndicator,\n ErrorIndicator,\n AddEditSignatoryModal,\n },\n mixins: [FormatDateTimeMixin]\n})\nexport default class PracticePeopleSignatories extends Vue {\n private ai = new AppInsights;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private searchKeyword = '';\n private showActiveOnly = false;\n private showPCOnly = false;\n\n private sortMethod = 'desc';\n private activeSortHeader = 0;\n\n private signatories: SignatoryView[] = [];\n private signatoriesDisplay: any = [];\n private showAddEditModal = false;\n\n private signatoryRequest: SignatoryRequest = {};\n private categories: Category[] = [];\n\n private loadingContent = false;\n private errorLoadingContent = false;\n private loadingDataSet = false;\n private errorLoadingDataSet = false;\n\n private tableHeadings = [\n { text: 'LawID', value: 'lawId', sortable: true, sortMethod: 'desc' },\n { text: 'Name', value: 'name', sortable: true, sortMethod: 'acs' },\n { text: 'Category', value: 'categoryName', sortable: true, sortMethod: 'acs' },\n { text: 'Solely/ jointly', value: 'solelyJointly', sortable: true, sortMethod: 'acs' },\n { text: 'Commenced', value: 'commencedDate', sortable: true, sortMethod: 'asc' },\n { text: 'Terminated', value: 'terminatedDate', sortable: true, sortMethod: 'acs' },\n { text: '', value: '', sortable: false, sortMethod: 'acs' },\n ];\n\n created() {\n this.getGetCategories();\n }\n\n mounted() {\n this.loadTableData();\n }\n\n private getGetCategories() {\n this.apiService.CodeApi?.apiV2CodeGetCategoriesGet()\n .then(res => {\n this.categories = res.data.data;\n })\n .catch(err => {\n console.log('GetCategories error: ', err);\n })\n }\n\n private loadTableData(loadStat?: boolean) {\n this.loadingContent = true;\n\n const _body: SignatoryFilterRequest = {\n keyword: '',\n practiceId: this.selectedPractice.id,\n showActiveOnly: false,\n showPCOnly: false\n }\n\n this.apiService.PeopleApi?.apiV2PeopleGetSignatoriesPost(_body)\n .then(res => {\n this.signatories = res.data.data ?? [];\n this.signatoriesDisplay = this.signatories;\n for (let i = 0; i < this.signatories.length; i++) {\n this.signatoriesDisplay[i].name = this.signatories[i].firstName + ' ' + this.signatories[i].lastName;\n this.signatoriesDisplay[i].categoryName = this.signatories[i].category.name;\n }\n if (loadStat) this.$emit('loadStatData');\n this.sortTableColumn(1, true);\n this.loadingContent = false;\n })\n .catch(err => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to get signatory list: ' + err);\n this.ai.trackException('Error, Unable to get signatory list: ' + err);\n this.loadingContent = false;\n this.errorLoadingContent = true;\n })\n\n }\n\n private sortTableColumn(index: number, sortable: boolean) {\n if (sortable) {\n if (this.tableHeadings[index].sortable) {\n this.activeSortHeader = index;\n this.sortMethod = this.sortMethod === 'desc' ? 'asc' : 'desc';\n this.tableHeadings[index].sortMethod = this.sortMethod;\n if (this.signatories.length > 0) {\n const nameSorter = index == 1 ? (c: any) => c.name.toLowerCase() : [this.tableHeadings[index].value, (c: any) => c.name.toLowerCase()];\n const orderByResults = orderBy(\n this.signatories,\n nameSorter,\n [this.sortMethod as any]\n );\n this.signatoriesDisplay = orderByResults;\n }\n }\n }\n }\n\n private applyFilter(data: any) {\n if (this.searchKeyword == '') return data;\n const _result = data.filter((d: any) => {\n return (d.name.toLowerCase().indexOf(this.searchKeyword.toLowerCase()) >= 0\n || d.lawId.toString().indexOf(this.searchKeyword.toLowerCase()) >= 0);\n })\n return _result;\n }\n\n private isActive(i: SignatoryView): boolean {\n const _terminatedDate = i.terminatedDate ?? null;\n if (_terminatedDate) {\n return moment().diff(i.terminatedDate, 'days') <= 0;\n } else {\n return true;\n }\n }\n\n private addNew() {\n this.signatoryRequest = {\n id: 0,\n practiceId: this.selectedPractice.id,\n signatoryTypeId: 1,\n solelyJointlyId: 0,\n lawId: '',\n firstName: '',\n lastName: '',\n categoryId: 0,\n commencedDate: ref(new Date()),\n terminatedDate: null,\n\n }\n this.showAddEditModal = true;\n }\n\n private edit(s: SignatoryView) {\n // Clone this object\n this.signatoryRequest = { ...s };\n this.signatoryRequest.signatoryTypeId = s.signatoryType.id;\n this.signatoryRequest.solelyJointlyId = s.solelyJointly.id;\n // Get status id\n // this.signatoryRequest.statusId = s.status['id'];\n // set the date format for date picker\n this.signatoryRequest.commencedDate = new Date(this.signatoryRequest.commencedDate);\n this.signatoryRequest.terminatedDate = this.signatoryRequest.terminatedDate !== null ? new Date(this.signatoryRequest.terminatedDate) : null;\n\n this.signatoryRequest.categoryId = s.category['id'];\n this.showAddEditModal = true;\n }\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n\n}\n\n","import { render } from \"./practice-people-signatories.html?vue&type=template&id=4422b950&scoped=true&ts=true&external\"\nimport script from \"./practice-people-signatories.ts?vue&type=script&lang=ts&external\"\nexport * from \"./practice-people-signatories.ts?vue&type=script&lang=ts&external\"\n\nimport \"./practice-people-signatories.scss?vue&type=style&index=0&id=4422b950&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4422b950\"]])\n\nexport default __exports__","import { vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, vModelCheckbox as _vModelCheckbox, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-03029f84\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"practice-people-directors\" }\nconst _hoisted_2 = { class: \"search-inputs\" }\nconst _hoisted_3 = { class: \"search-bar\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-hm\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-filter fa-lg\" })\n], -1))\nconst _hoisted_5 = { class: \"checkbox-button ml-2\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", {\n class: \"checkmark-box\",\n style: {\"align-self\":\"center\"}\n }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Show active only\")\n], -1))\nconst _hoisted_7 = { style: {\"width\":\"calc(100% - 700px)\",\"text-align\":\"right\"} }\nconst _hoisted_8 = { class: \"ls-table\" }\nconst _hoisted_9 = [\"onClick\"]\nconst _hoisted_10 = { class: \"text\" }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-up\" }, null, -1))\nconst _hoisted_12 = [\n _hoisted_11\n]\nconst _hoisted_13 = { key: 0 }\nconst _hoisted_14 = [\"colspan\"]\nconst _hoisted_15 = { key: 1 }\nconst _hoisted_16 = [\"colspan\"]\nconst _hoisted_17 = { key: 2 }\nconst _hoisted_18 = [\"colspan\"]\nconst _hoisted_19 = { key: 0 }\nconst _hoisted_20 = { \"data-label\": \"Name\" }\nconst _hoisted_21 = { \"data-label\": \"Position\" }\nconst _hoisted_22 = { \"data-label\": \"From\" }\nconst _hoisted_23 = { \"data-label\": \"To\" }\nconst _hoisted_24 = {\n \"data-label\": \"Action\",\n style: {\"text-align\":\"right\"}\n}\nconst _hoisted_25 = [\"onClick\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_AddEditDirectorModal = _resolveComponent(\"AddEditDirectorModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.searchKeyword) = $event)),\n placeholder: \"Filter by name\"\n }, null, 512), [\n [_vModelText, _ctx.searchKeyword]\n ]),\n _hoisted_4\n ]),\n _createElementVNode(\"label\", _hoisted_5, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.showActiveOnly) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.showActiveOnly]\n ]),\n _hoisted_6\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.addNew()))\n }, \"Add new director\")\n ])\n ]),\n _createElementVNode(\"table\", _hoisted_8, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", {\n class: _normalizeClass([ h.sortable ? 'sortable' : '']),\n onClick: $event => (_ctx.sortTableColumn(index, h.sortable))\n }, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(h.text), 1),\n (h.sortable)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([ _ctx.activeSortHeader === index ? 'active' : '', _ctx.sortMethod])\n }, _hoisted_12, 2))\n : _createCommentVNode(\"\", true)\n ])\n ], 10, _hoisted_9))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_13, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_14)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_15, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_16)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.directorsDisplay.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_17, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, \"No Records\", 8, _hoisted_18)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.directorsDisplay.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.applyFilter(_ctx.directorsDisplay), (i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.showActiveOnly && _ctx.isActive(i) || !_ctx.showActiveOnly)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_19, [\n _createElementVNode(\"td\", _hoisted_20, _toDisplayString(i.name), 1),\n _createElementVNode(\"td\", _hoisted_21, _toDisplayString(i.position), 1),\n _createElementVNode(\"td\", _hoisted_22, _toDisplayString(_ctx.$formatDate(i.commencedDate)), 1),\n _createElementVNode(\"td\", _hoisted_23, _toDisplayString(i.terminatedDate ? _ctx.$formatDate(i.terminatedDate) : ''), 1),\n _createElementVNode(\"td\", _hoisted_24, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml mr-1\",\n onClick: $event => (_ctx.edit(i))\n }, \"Edit\", 8, _hoisted_25)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n (_ctx.showAddEditModal)\n ? (_openBlock(), _createBlock(_component_AddEditDirectorModal, {\n key: 0,\n directorRequest: _ctx.directorRequest,\n \"onUpdate:directorRequest\": _cache[3] || (_cache[3] = $event => ((_ctx.directorRequest) = $event)),\n onCloseModal: _cache[4] || (_cache[4] = $event => (_ctx.showAddEditModal = false)),\n onUpdateTable: _cache[5] || (_cache[5] = $event => (_ctx.loadTableData(true)))\n }, null, 8, [\"directorRequest\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, createElementBlock as _createElementBlock, createVNode as _createVNode, normalizeStyle as _normalizeStyle, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3df0f50c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"add-edit-modal\" }\nconst _hoisted_2 = { class: \"heading-text\" }\nconst _hoisted_3 = { class: \"line1\" }\nconst _hoisted_4 = { class: \"line2\" }\nconst _hoisted_5 = { class: \"ls-form\" }\nconst _hoisted_6 = { class: \"row\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"First name *\", -1))\nconst _hoisted_8 = { class: \"input-box\" }\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Last name *\", -1))\nconst _hoisted_13 = { class: \"input-box\" }\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Position *\", -1))\nconst _hoisted_18 = {\n class: \"input-box\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_19 = { class: \"input-box\" }\nconst _hoisted_20 = [\"disabled\"]\nconst _hoisted_21 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_24 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Commenced Date *\", -1))\nconst _hoisted_25 = { class: \"input-box\" }\nconst _hoisted_26 = { class: \"date-picker\" }\nconst _hoisted_27 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-calendar-check\" }, null, -1))\nconst _hoisted_28 = { key: 0 }\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Terminated Date\", -1))\nconst _hoisted_30 = { class: \"input-box\" }\nconst _hoisted_31 = { class: \"date-picker\" }\nconst _hoisted_32 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-calendar-check\" }, null, -1))\nconst _hoisted_33 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_34 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_35 = {\n class: \"mt-4\",\n style: {\"text-align\":\"right\"}\n}\nconst _hoisted_36 = [\"disabled\"]\nconst _hoisted_37 = [\"disabled\"]\nconst _hoisted_38 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-right\" })\n], -1))\nconst _hoisted_39 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", null, \"CANCEL ALERT\", -1))\nconst _hoisted_40 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"Do you want to cancel this task?\", -1))\n\nexport function render(_ctx, _cache) {\n const _component_LoadingSpinner = _resolveComponent(\"LoadingSpinner\")\n const _component_v3_date_picker = _resolveComponent(\"v3-date-picker\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n const _component_AlertBox = _resolveComponent(\"AlertBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (_ctx.isLoadingData)\n ? (_openBlock(), _createBlock(_component_LoadingSpinner, { key: 0 }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_ModalBox, {\n show: _ctx.show,\n \"onUpdate:show\": _cache[12] || (_cache[12] = $event => ((_ctx.show) = $event)),\n onClose: _cache[13] || (_cache[13] = $event => (_ctx.cancelClicked()))\n }, {\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.headerText), 1),\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.line2Text), 1)\n ])\n ]),\n body: _withCtx(() => [\n _createElementVNode(\"form\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"fieldset\", null, [\n _hoisted_7,\n _createElementVNode(\"div\", _hoisted_8, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.directorRequest.firstName) = $event)),\n disabled: _ctx.isLoadingData,\n placeholder: \"First name\",\n onInput: _cache[1] || (_cache[1] = $event => (_ctx.mandatoryCheck())),\n maxLength: \"50\"\n }, null, 40, _hoisted_9), [\n [_vModelText, _ctx.directorRequest.firstName]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [ _ctx.directorRequest.firstName.length === 50 ? 'full' : '']])\n }, _toDisplayString(_ctx.directorRequest.firstName.length) + \"/50 characters \", 3),\n (_ctx.directorRequest.firstName === '')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _hoisted_11,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"fieldset\", null, [\n _hoisted_12,\n _createElementVNode(\"div\", _hoisted_13, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.directorRequest.lastName) = $event)),\n disabled: _ctx.isLoadingData,\n placeholder: \"Last name\",\n onInput: _cache[3] || (_cache[3] = $event => (_ctx.mandatoryCheck())),\n maxLength: \"50\"\n }, null, 40, _hoisted_14), [\n [_vModelText, _ctx.directorRequest.lastName]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [ _ctx.directorRequest.lastName.length === 50 ? 'full' : '']])\n }, _toDisplayString(_ctx.directorRequest.lastName.length) + \"/50 characters \", 3),\n (_ctx.directorRequest.lastName === '')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _hoisted_16,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _createElementVNode(\"fieldset\", null, [\n _hoisted_17,\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"div\", _hoisted_19, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.directorRequest.position) = $event)),\n disabled: _ctx.isLoadingData,\n placeholder: \"Position\",\n onInput: _cache[5] || (_cache[5] = $event => (_ctx.mandatoryCheck())),\n maxLength: \"50\"\n }, null, 40, _hoisted_20), [\n [_vModelText, _ctx.directorRequest.position]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [ _ctx.directorRequest.position.length === 50 ? 'full' : '']])\n }, _toDisplayString(_ctx.directorRequest.position.length) + \"/50 characters \", 3),\n (_ctx.directorRequest.position === '')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_21, [\n _hoisted_22,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _hoisted_23,\n _createElementVNode(\"div\", {\n class: \"row\",\n style: _normalizeStyle(_ctx.editMode ? 'width: 100%' : 'width: 50%')\n }, [\n _createElementVNode(\"fieldset\", null, [\n _hoisted_24,\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"div\", _hoisted_26, [\n _createVNode(_component_v3_date_picker, {\n class: \"v3-date-picker\",\n style: {\"padding\":\"1em\"},\n onClick: _cache[6] || (_cache[6] = $event => (_ctx.mandatoryCheck())),\n modelValue: _ctx.directorRequest.commencedDate,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => ((_ctx.directorRequest.commencedDate) = $event)),\n inputFormat: \"dd-MM-yyyy\"\n }, null, 8, [\"modelValue\"]),\n _hoisted_27\n ])\n ])\n ]),\n (_ctx.editMode)\n ? (_openBlock(), _createElementBlock(\"fieldset\", _hoisted_28, [\n _hoisted_29,\n _createElementVNode(\"div\", _hoisted_30, [\n _createElementVNode(\"div\", _hoisted_31, [\n _createVNode(_component_v3_date_picker, {\n class: \"v3-date-picker\",\n style: {\"padding\":\"1em\"},\n onClick: _cache[8] || (_cache[8] = $event => (_ctx.mandatoryCheck())),\n modelValue: _ctx.directorRequest.terminatedDate,\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = $event => ((_ctx.directorRequest.terminatedDate) = $event)),\n inputFormat: \"dd-MM-yyyy\",\n lowerLimit: _ctx.from\n }, null, 8, [\"modelValue\", \"lowerLimit\"]),\n _hoisted_32\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 4),\n _hoisted_33\n ]),\n _hoisted_34,\n _createElementVNode(\"div\", _hoisted_35, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default\",\n onClick: _cache[10] || (_cache[10] = $event => (_ctx.cancelClicked())),\n disabled: _ctx.isLoadingData\n }, \"Cancel\", 8, _hoisted_36),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary ml-2\",\n disabled: !_ctx.canSubmit || _ctx.isLoadingData,\n onClick: _cache[11] || (_cache[11] = $event => (_ctx.submit()))\n }, [\n _createTextVNode(_toDisplayString(_ctx.submitBtnText) + \" \", 1),\n _hoisted_38\n ], 8, _hoisted_37)\n ])\n ]),\n _: 1\n }, 8, [\"show\"]),\n (_ctx.showCancelAlert)\n ? (_openBlock(), _createBlock(_component_AlertBox, {\n key: 1,\n onClose: _cache[16] || (_cache[16] = $event => (_ctx.showCancelAlert = false))\n }, {\n header: _withCtx(() => [\n _hoisted_39\n ]),\n body: _withCtx(() => [\n _hoisted_40\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: _cache[14] || (_cache[14] = $event => (_ctx.yesClicked()))\n }, \"Yes\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-tertiary sml\",\n onClick: _cache[15] || (_cache[15] = $event => (_ctx.showCancelAlert = false))\n }, \"No\")\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { Inject, Options, Vue } from \"vue-property-decorator\";\nimport { IlpDirectorRequest } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport ModalBox from \"@/shared/components/modal-box/index.vue\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-admin-app/store\";\nimport V3DatePicker from 'vue3-datepicker';\nimport { ref } from 'vue'\nimport AlertBox from \"@/shared/components/alert-box/index.vue\";\n\n@Options({\n props: {\n directorRequest: {},\n },\n components: {\n ModalBox,\n LoadingSpinner,\n V3DatePicker,\n AlertBox,\n }\n})\nexport default class AddEditDirectorModal extends Vue {\n private directorRequest!: IlpDirectorRequest;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n showAddEditModal!: boolean;\n\n // date picker\n private today = ref(new Date());\n\n private canSubmit = false;\n\n private showFullScreenFileViewer = false;\n private showStepper = false;\n private halfScreen = false;\n private show = false;\n private isLoadingData = false;\n private isFormDirty = false;\n private showCancelAlert = false;\n private editMode = false;\n\n private headerText = '';\n private line2Text = '';\n private existingLawId = false;\n private existingLsId = false;\n private existingName = false;\n\n\n mounted(): void {\n this.show = this.showAddEditModal;\n this.editMode = this.directorRequest.id !== 0;\n this.headerText = this.directorRequest.id === 0 ? 'Add new ILP Director' : 'Edit ILP Director';\n this.line2Text = this.directorRequest.firstName + ' ' + this.directorRequest.lastName;\n }\n\n private mandatoryCheck() {\n this.isFormDirty = true;\n const _firstName: boolean = this.directorRequest.firstName.trim() !== '';\n const _lastName: boolean = this.directorRequest.lastName.trim() !== '';\n\n const _position: boolean = this.directorRequest.position.trim() !== '';\n this.canSubmit = _firstName && _lastName && _position;\n\n }\n\n get from(): Date {\n return this.directorRequest.commencedDate;\n }\n\n get submitBtnText(): string {\n return this.directorRequest.id === 0 ? 'Add new ILP Director' : 'Save changes';\n }\n\n private cancelClicked() {\n if (this.isFormDirty) {\n this.showCancelAlert = true;\n } else {\n this.closeModal();\n }\n }\n\n private yesClicked() {\n this.closeModal();\n }\n\n private closeModal(): void {\n this.$emit('closeModal');\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private submit(): void {\n this.isLoadingData = true;\n this.apiService.PeopleApi?.apiV2PeopleSaveIlpDirectorPost(this.directorRequest)\n .then(res => {\n setTimeout(() => {\n this.$emit('updateTable', res);\n this.isLoadingData = false;\n this.closeModal();\n }, 250);\n if (this.directorRequest.id > 0) {\n this.eventCtrl.emit('show-snackbar', 'success', 'Record updated successfully..');\n } else {\n this.eventCtrl.emit('show-snackbar', 'success', 'Record is added successfully..');\n }\n })\n .catch(err => {\n console.log(err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Error on submitting ILPdirector');\n this.isLoadingData = false;\n })\n }\n\n}\n\n","import { render } from \"./add-edit-director-modal.html?vue&type=template&id=3df0f50c&scoped=true&ts=true&external\"\nimport script from \"./add-edit-director-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./add-edit-director-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./add-edit-director-modal.scss?vue&type=style&index=0&id=3df0f50c&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3df0f50c\"]])\n\nexport default __exports__","import { Inject, Options, Vue } from \"vue-property-decorator\";\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport ErrorIndicator from \"@/shared/components/error-indicator/error-indicator\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-admin-app/appInsights\";\nimport store from \"@/trust-admin-app/store\";\nimport { EventEmitter } from \"events\";\nimport { orderBy } from \"lodash\";\nimport { ref } from \"vue\";\nimport AddEditDirectorModal from \"./add-edit-director-modal/index.vue\";\nimport moment from \"moment\";\nimport { IlpDirectorRequest, IlpDirectorView, PracticeView } from \"@/shared/modules/typescript-trustapi-client/models\";\n\n@Options({\n components: {\n LoadingIndicator,\n ErrorIndicator,\n AddEditDirectorModal,\n },\n mixins: [FormatDateTimeMixin]\n})\nexport default class PracticePeopleDirectors extends Vue {\n private ai = new AppInsights;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private searchKeyword = '';\n private showActiveOnly = false;\n private sortMethod = 'desc';\n private activeSortHeader = 0;\n\n private directors: IlpDirectorView[] = [];\n private directorsDisplay: any = [];\n\n private loadingContent = false;\n private errorLoadingContent = false;\n private loadingDataSet = false;\n private errorLoadingDataSet = false;\n\n private directorRequest: IlpDirectorRequest = {};\n private showAddEditModal = false;\n\n private tableHeadings = [\n { text: 'Name', value: 'name', sortable: true, sortMethod: 'asc' },\n { text: 'Position', value: 'position', sortable: true, sortMethod: 'acs' },\n { text: 'Commenced', value: 'commencedDate', sortable: true, sortMethod: 'asc' },\n { text: 'Terminated', value: 'terminatedDate', sortable: true, sortMethod: 'acs' },\n { text: '', value: '', sortable: false, sortMethod: 'acs' },\n ];\n\n // created() {\n // this.getGetCategories();\n // }\n\n mounted() {\n this.loadTableData();\n }\n\n private loadTableData(loadStat?: boolean) {\n this.loadingContent = true;\n\n this.apiService.PeopleApi?.apiV2PeopleGetILPDirectorsByPracticeIdPracticeIdGet(this.selectedPractice.id, '', false)\n .then((res: any) => {\n this.directors = res.data.data ?? [];\n this.directorsDisplay = this.directors;\n for (let i = 0; i < this.directors.length; i++) {\n this.directorsDisplay[i].name = this.directors[i].firstName + ' ' + this.directors[i].lastName;\n }\n if (loadStat) this.$emit('loadStatData');\n this.sortTableColumn(0, true);\n this.loadingContent = false;\n\n })\n .catch((err: any) => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to get directory list: ' + err);\n this.ai.trackException('Error, Unable to get directory list: ' + err);\n this.loadingContent = false;\n this.errorLoadingContent = true;\n })\n\n }\n\n private sortTableColumn(index: number, sortable: boolean) {\n if (sortable) {\n if (this.tableHeadings[index].sortable) {\n this.activeSortHeader = index;\n this.sortMethod = this.sortMethod === 'desc' ? 'asc' : 'desc';\n this.tableHeadings[index].sortMethod = this.sortMethod;\n if (this.directors.length > 0) {\n const nameSorter = index == 1 ? (c: any) => c.name.toLowerCase() : [this.tableHeadings[index].value, (c: any) => c.name.toLowerCase()];\n const orderByResults = orderBy(\n this.directors,\n nameSorter,\n [this.sortMethod as any]\n );\n this.directorsDisplay = orderByResults;\n }\n }\n }\n }\n\n private applyFilter(data: any) {\n if (this.searchKeyword == '') return data;\n const _result = data.filter((d: any) => {\n return (d.name.toLowerCase().indexOf(this.searchKeyword.toLowerCase()) >= 0);\n })\n return _result;\n }\n\n private isActive(i: IlpDirectorView): boolean {\n const _terminatedDate = i.terminatedDate ?? null;\n if (_terminatedDate) {\n return moment().diff(i.terminatedDate, 'days') <= 0;\n } else {\n return true;\n }\n }\n\n private addNew() {\n const today = new Date((new Date()).setHours(0, 0, 0, 0));\n this.directorRequest = {\n id: 0,\n practiceId: this.selectedPractice.id,\n firstName: '',\n lastName: '',\n position: '',\n commencedDate: ref(today),\n terminatedDate: null,\n }\n this.showAddEditModal = true;\n }\n\n private edit(s: IlpDirectorRequest) {\n // Clone this object\n this.directorRequest = { ...s };\n\n // Get status id\n // this.signatoryRequest.statusId = s.status['id'];\n // set the date format for date picker\n this.directorRequest.commencedDate = new Date(this.directorRequest.commencedDate);\n this.directorRequest.terminatedDate = this.directorRequest.terminatedDate !== null ? new Date(this.directorRequest.terminatedDate) : null;\n this.showAddEditModal = true;\n }\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n}\n\n","import { render } from \"./practice-people-directors.html?vue&type=template&id=03029f84&scoped=true&ts=true&external\"\nimport script from \"./practice-people-directors.ts?vue&type=script&lang=ts&external\"\nexport * from \"./practice-people-directors.ts?vue&type=script&lang=ts&external\"\n\nimport \"./practice-people-directors.scss?vue&type=style&index=0&id=03029f84&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-03029f84\"]])\n\nexport default __exports__","import { vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, vModelCheckbox as _vModelCheckbox, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-cda6c734\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"practice-people-trust-coordinator\" }\nconst _hoisted_2 = { class: \"search-inputs\" }\nconst _hoisted_3 = { class: \"search-bar\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-hm\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-filter fa-lg\" })\n], -1))\nconst _hoisted_5 = { class: \"checkbox-button ml-2\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", {\n class: \"checkmark-box\",\n style: {\"align-self\":\"center\"}\n }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Show active only\")\n], -1))\nconst _hoisted_7 = { style: {\"width\":\"calc(100% - 700px)\",\"text-align\":\"right\"} }\nconst _hoisted_8 = [\"disabled\"]\nconst _hoisted_9 = { class: \"ls-table\" }\nconst _hoisted_10 = [\"onClick\"]\nconst _hoisted_11 = { class: \"text\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-up\" }, null, -1))\nconst _hoisted_13 = [\n _hoisted_12\n]\nconst _hoisted_14 = { key: 0 }\nconst _hoisted_15 = [\"colspan\"]\nconst _hoisted_16 = { key: 1 }\nconst _hoisted_17 = [\"colspan\"]\nconst _hoisted_18 = { key: 2 }\nconst _hoisted_19 = [\"colspan\"]\nconst _hoisted_20 = { key: 0 }\nconst _hoisted_21 = { \"data-label\": \"LawID\" }\nconst _hoisted_22 = { \"data-label\": \"Name\" }\nconst _hoisted_23 = { \"data-label\": \"Phone Number\" }\nconst _hoisted_24 = { \"data-label\": \"Email\" }\nconst _hoisted_25 = { \"data-label\": \"From\" }\nconst _hoisted_26 = { \"data-label\": \"To\" }\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_AppointTrustCoordinatorModal = _resolveComponent(\"AppointTrustCoordinatorModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.searchKeyword) = $event)),\n placeholder: \"Filter by LawID or name\"\n }, null, 512), [\n [_vModelText, _ctx.searchKeyword]\n ]),\n _hoisted_4\n ]),\n _createElementVNode(\"label\", _hoisted_5, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.showActiveOnly) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.showActiveOnly]\n ]),\n _hoisted_6\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n disabled: _ctx.disableAppoint,\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.addNew()))\n }, \"Appoint Trust Coordinator\", 8, _hoisted_8)\n ])\n ]),\n _createElementVNode(\"table\", _hoisted_9, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", {\n class: _normalizeClass([ h.sortable ? 'sortable' : '']),\n onClick: $event => (_ctx.sortTableColumn(index, h.sortable))\n }, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(h.text), 1),\n (h.sortable)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([ _ctx.activeSortHeader === index ? 'active' : '', _ctx.sortMethod])\n }, _hoisted_13, 2))\n : _createCommentVNode(\"\", true)\n ])\n ], 10, _hoisted_10))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_14, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_15)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_16, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_17)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.trustCoordinatorsDisplay.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_18, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, \"No Records\", 8, _hoisted_19)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.trustCoordinatorsDisplay.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.applyFilter(_ctx.trustCoordinatorsDisplay), (i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.showActiveOnly && _ctx.isActive(i) || !_ctx.showActiveOnly)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_20, [\n _createElementVNode(\"td\", _hoisted_21, _toDisplayString(i.lawId), 1),\n _createElementVNode(\"td\", _hoisted_22, _toDisplayString(i.name), 1),\n _createElementVNode(\"td\", _hoisted_23, _toDisplayString(i.phoneNumber), 1),\n _createElementVNode(\"td\", _hoisted_24, _toDisplayString(i.email), 1),\n _createElementVNode(\"td\", _hoisted_25, _toDisplayString(i.effectiveStartDate ? _ctx.$formatDate(i.effectiveStartDate) : ''), 1),\n _createElementVNode(\"td\", _hoisted_26, _toDisplayString(i.effectiveEndDate ? _ctx.$formatDate(i.effectiveEndDate) : ''), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n (_ctx.showAppointCoordinatorModal)\n ? (_openBlock(), _createBlock(_component_AppointTrustCoordinatorModal, {\n key: 0,\n onClose: _cache[3] || (_cache[3] = $event => (_ctx.showAppointCoordinatorModal = false)),\n onReloadTrustCoordinators: _ctx.reloadTrustCoordinators\n }, null, 8, [\"onReloadTrustCoordinators\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, createBlock as _createBlock, withModifiers as _withModifiers, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4a3020a6\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"appoint-trust-coordinator-modal\" }\nconst _hoisted_2 = { class: \"heading-text\" }\nconst _hoisted_3 = { class: \"line1\" }\nconst _hoisted_4 = { class: \"body-main\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Search\", -1))\nconst _hoisted_6 = { class: \"search\" }\nconst _hoisted_7 = { class: \"search-bar\" }\nconst _hoisted_8 = { class: \"icon-hm\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"fal fa-spinner fa-spin fa-lg\"\n}\nconst _hoisted_10 = {\n key: 1,\n class: \"fal fa-search fa-lg\"\n}\nconst _hoisted_11 = [\"disabled\"]\nconst _hoisted_12 = {\n key: 0,\n class: \"error mt-2\"\n}\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }, null, -1))\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"validation-msg mt-2\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-info-circle fa-lg\" }),\n /*#__PURE__*/_createTextVNode(\" Please be aware that you are limited to searching only for exact match \")\n], -1))\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"label\" }, \"LawID\", -1))\nconst _hoisted_17 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg mr-2\" }, null, -1))\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_20 = { class: \"col-6\" }\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"label\" }, \"Last name\", -1))\nconst _hoisted_22 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg mr-2\" }, null, -1))\nconst _hoisted_24 = { class: \"col-6\" }\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"label\" }, \"First name\", -1))\nconst _hoisted_26 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_27 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg mr-2\" }, null, -1))\nconst _hoisted_28 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"label\" }, \"LawID email\", -1))\nconst _hoisted_30 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_31 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg mr-2\" }, null, -1))\nconst _hoisted_32 = { class: \"controls\" }\nconst _hoisted_33 = [\"disabled\"]\nconst _hoisted_34 = [\"disabled\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n const _component_ConfirmDialogue = _resolveComponent(\"ConfirmDialogue\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n onClose: _cache[8] || (_cache[8] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.line1Text), 1)\n ])\n ]),\n body: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n placeholder: \"Search for LawID or email\",\n maxLength: \"75\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.searchText) = $event))\n }, null, 512), [\n [_vModelText, _ctx.searchText]\n ]),\n _createElementVNode(\"span\", _hoisted_8, [\n (_ctx.isSearching)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_9))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_10))\n ])\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml ml-2\",\n disabled: _ctx.searchText.length === 0 || _ctx.isSearching,\n onClick: _cache[1] || (_cache[1] = $event => (_ctx.searchLawEmailID()))\n }, \"Search\", 8, _hoisted_11)\n ]),\n (_ctx.invalidLawIdEmail)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n _hoisted_13,\n _createTextVNode(\" Invalid LawID or email \")\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_14,\n _hoisted_15,\n _hoisted_16,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", this.lawId === '' && _ctx.submitPressed ? 'error': ''])\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n maxLength: \"75\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.lawId) = $event)),\n disabled: \"\"\n }, null, 512), [\n [_vModelText, _ctx.lawId]\n ]),\n (this.lawId === '' && _ctx.submitPressed)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _hoisted_18,\n _createTextVNode(\"Required field. \")\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _hoisted_19,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"names\", this.lastName === '' && _ctx.submitPressed ? 'error': '']),\n style: {\"display\":\"flex\",\"justify-content\":\"space-between\"}\n }, [\n _createElementVNode(\"div\", _hoisted_20, [\n _hoisted_21,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", this.lastName === '' && _ctx.submitPressed ? 'error': ''])\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n maxLength: \"75\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => ((_ctx.lastName) = $event)),\n disabled: \"\"\n }, null, 512), [\n [_vModelText, _ctx.lastName]\n ])\n ], 2),\n (this.lastName === '' && _ctx.submitPressed)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_22, [\n _hoisted_23,\n _createTextVNode(\"Required field. \")\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_24, [\n _hoisted_25,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", this.firstName === '' && _ctx.submitPressed ? 'error': ''])\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n maxLength: \"75\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.firstName) = $event)),\n disabled: \"\"\n }, null, 512), [\n [_vModelText, _ctx.firstName]\n ])\n ], 2),\n (this.firstName === '' && _ctx.submitPressed)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [\n _hoisted_27,\n _createTextVNode(\"Required field. \")\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ], 2),\n _hoisted_28,\n _hoisted_29,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", this.email === '' && _ctx.submitPressed ? 'error': ''])\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n maxLength: \"75\",\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => ((_ctx.email) = $event)),\n disabled: \"\"\n }, null, 512), [\n [_vModelText, _ctx.email]\n ]),\n (this.email === '' && _ctx.submitPressed)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_30, [\n _hoisted_31,\n _createTextVNode(\"Required field. \")\n ]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ]),\n _createElementVNode(\"div\", _hoisted_32, [\n (_ctx.isLoading)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-default ml-1\",\n disabled: _ctx.isLoading,\n onClick: _cache[6] || (_cache[6] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\",\"stop\"]))\n }, \"Cancel\", 8, _hoisted_33),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary ml-2\",\n disabled: _ctx.isLoading,\n onClick: _cache[7] || (_cache[7] = $event => (_ctx.save()))\n }, \"Save\", 8, _hoisted_34)\n ])\n ]),\n footer: _withCtx(() => []),\n _: 1\n }),\n _createVNode(_component_ConfirmDialogue, {\n ref: \"confirmDialogue\",\n modalOpened: true\n }, null, 512)\n ]))\n}","import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, vModelText as _vModelText, withKeys as _withKeys, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, normalizeClass as _normalizeClass, toDisplayString as _toDisplayString, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-47d1afb2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"postcode-search\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, [\n /*#__PURE__*/_createTextVNode(\"Search \"),\n /*#__PURE__*/_createElementVNode(\"span\", { clas: \"title\" }, \"(Enter Suburb name or Postcode to search)\")\n], -1))\nconst _hoisted_3 = { class: \"flex-row autocomplete pa-0 mt-1\" }\nconst _hoisted_4 = { class: \"icon\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"fas fa-spinner fa-spin\"\n}\nconst _hoisted_6 = {\n key: 1,\n class: \"fal fa-search\"\n}\nconst _hoisted_7 = {\n key: 0,\n id: \"autocomplete-results\",\n class: \"autocomplete-results\"\n}\nconst _hoisted_8 = [\"onClick\", \"innerHTML\"]\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_10 = { class: \"flex-row\" }\nconst _hoisted_11 = { style: {\"flex\":\"5\"} }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Suburb\", -1))\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"validation-msg\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }),\n /*#__PURE__*/_createTextVNode(\"Required field. \")\n], -1))\nconst _hoisted_14 = { style: {\"flex\":\"2\"} }\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Postcode\", -1))\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"validation-msg\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }),\n /*#__PURE__*/_createTextVNode(\"Required field. \")\n], -1))\nconst _hoisted_17 = { style: {\"flex\":\"3\"} }\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"State\", -1))\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"validation-msg\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }),\n /*#__PURE__*/_createTextVNode(\"Required field. \")\n], -1))\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _hoisted_2,\n _createElementVNode(\"div\", _hoisted_3, [\n _withDirectives(_createElementVNode(\"input\", {\n class: \"col-12 ma-0\",\n style: {\"width\":\"100%\"},\n type: \"text\",\n ref: \"suburbSearch\",\n autocomplete: \"new-name\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.query) = $event)),\n maxlength: \"50\",\n onInput: _cache[1] || (_cache[1] = $event => (_ctx.formDirty = true)),\n onKeydown: [\n _cache[2] || (_cache[2] = _withKeys((...args) => (_ctx.onArrowDown && _ctx.onArrowDown(...args)), [\"down\"])),\n _cache[3] || (_cache[3] = _withKeys((...args) => (_ctx.onArrowUp && _ctx.onArrowUp(...args)), [\"up\"])),\n _cache[4] || (_cache[4] = _withKeys((...args) => (_ctx.onEnter && _ctx.onEnter(...args)), [\"enter\"]))\n ],\n placeholder: \"Enter Suburb name or Postcode\"\n }, null, 544), [\n [_vModelText, _ctx.query]\n ]),\n _createElementVNode(\"span\", _hoisted_4, [\n (_ctx.isSearching)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_5))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_6))\n ]),\n (_ctx.isOpen && _ctx.suburbList.length > 0)\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_7, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.suburbList, (suburb, i) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: i,\n onClick: $event => (_ctx.selectSuburbFromSearch(suburb)),\n class: _normalizeClass([\"autocomplete-result\", { 'is-active': i === _ctx.arrowCounter }]),\n innerHTML: _ctx.highlightWord(suburb.postcode + ', ' + suburb.suburbName.trim() + ', ' + suburb.stateName)\n }, null, 10, _hoisted_8))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _hoisted_9,\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box read-only\", {error: _ctx.suburbError}])\n }, [\n _hoisted_12,\n _createElementVNode(\"div\", {\n onClick: _cache[5] || (_cache[5] = $event => (_ctx.$refs['suburbSearch'].focus()))\n }, _toDisplayString(_ctx.suburbName), 1),\n _hoisted_13\n ], 2)\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box read-only\", {error: _ctx.suburbError}])\n }, [\n _hoisted_15,\n _createElementVNode(\"div\", {\n onClick: _cache[6] || (_cache[6] = $event => (_ctx.$refs['suburbSearch'].focus()))\n }, _toDisplayString(_ctx.postcode), 1),\n _hoisted_16\n ], 2)\n ]),\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box read-only\", {error: _ctx.suburbError}])\n }, [\n _hoisted_18,\n _createElementVNode(\"div\", {\n onClick: _cache[7] || (_cache[7] = $event => (_ctx.$refs['suburbSearch'].focus()))\n }, _toDisplayString(_ctx.stateName), 1),\n _hoisted_19\n ], 2)\n ])\n ])\n ]))\n}","import { Inject, Options, Vue, Watch } from \"vue-property-decorator\";\nimport { debounce } from \"lodash\";\nimport { EventEmitter } from \"events\";\nimport { SuburbStatePostcode } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport store from \"@/trust-atcs-app/store\";\n\n@Options({\n props: {\n suburbStatePostcode: Object,\n suburbError: Boolean,\n },\n components: {}\n})\nexport default class PostcodeSearch extends Vue {\n private suburbStatePostcode!: SuburbStatePostcode;\n private suburbError!: boolean;\n\n private ai = new AppInsights;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private query = '';\n private isSearching = false;\n private isOpen = false;\n private isPostcodeSearching = false;\n private isPostcodeOpen = false;\n private isSuburbValid = true;\n private formDirty = false;\n\n private arrowCounter = -1;\n private searchDebounced: any = null;\n\n private suburbList = [];\n private postcodeList = [];\n private canSubmit = true;\n\n private suburbName = '';\n private postcode = '';\n private stateName = '';\n\n @Watch('query')\n private onKeywordChange(): void {\n setTimeout(this.searchDebounced.cancel, 0);\n setTimeout(this.searchDebounced, 0);\n }\n\n mounted(): void {\n document.addEventListener('click', this.handleClickOutside);\n this.searchDebounced = debounce(() => {\n if (this.query.trim() !== '') {\n this.getSuburbPostcodeList();\n }\n }, 500);\n this.$nextTick(() => {\n if(this.suburbStatePostcode.suburbName) {\n this.suburbName = this.suburbStatePostcode.suburbName;\n this.postcode = this.suburbStatePostcode.postcode;\n this.stateName = this.suburbStatePostcode.stateName;\n }\n });\n }\n\n beforeUnmount(): void {\n document.addEventListener('click', this.handleClickOutside);\n }\n\n private handleClickOutside(event: any) {\n if (this.$el !== (event.target)) {\n this.isOpen = false;\n this.arrowCounter = -1;\n }\n }\n\n private getSuburbPostcodeList() {\n // console.log('form is dirty: ', this.formDirty);\n if (this.formDirty) {\n if (this.query.length == 4 && parseInt(this.query) > 999) {\n this.getPostcodeList();\n } else {\n this.getSuburbList();\n }\n }\n }\n\n private getSuburbList() {\n if (this.query.length > 2) {\n this.isSearching = true;\n const body: any = { 'keyword': this.query.trim() }\n this.apiService.CodeApi?.apiV2CodeGetSuburbStatePostcodePost(body)\n .then((res: any) => {\n this.processResult(res);\n })\n .catch((err: any) => {\n this.ai.trackException('Error getting suburb list: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting suburb list: ' + err.response.status);\n this.isSearching = false;\n })\n }\n\n }\n\n private getPostcodeList() {\n if (this.query.length == 4) {\n this.isSearching = true;\n const body: any = { 'keyword': this.query.trim() }\n this.apiService.CodeApi?.apiV2CodeGetSuburbStatePostcodePost(body)\n .then((res: any) => {\n this.processResult(res);\n })\n .catch((err: any) => {\n this.ai.trackException('Error getting Postcode list: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting Postcode List: ' + err.response.status);\n this.isSearching = false;\n })\n }\n }\n\n private processResult(res: any) {\n // const el = this.$refs.suburbName as HTMLElement;\n this.suburbList = [];\n this.suburbList = res.data.data;\n this.isSearching = false;\n // console.log('suburbList.length: ', this.suburbList.length);\n if (this.suburbList.length > 0) {\n this.arrowCounter = -1;\n this.isOpen = this.suburbList.length > 0;\n // el.className = 'has-success';\n // console.log('suburbList: ', this.suburbList);\n } else {\n // console.log('Not result return', this.suburbList.length);\n this.isOpen = false;\n // el.className = 'has-error';\n this.canSubmit = false;\n }\n }\n\n\n private highlightWord(word: string) {\n try {\n const regex = new RegExp('(' + this.query + ')', 'ig');\n return word.replace(regex, '$1');\n } catch (err) {\n return word;\n }\n }\n\n private onArrowDown() {\n if (this.suburbList.length > 0) {\n if (this.arrowCounter < this.suburbList.length) {\n this.arrowCounter = this.arrowCounter + 1;\n }\n } else {\n if (this.arrowCounter < this.postcodeList.length) {\n this.arrowCounter = this.arrowCounter + 1;\n }\n }\n }\n\n private onArrowUp() {\n if (this.arrowCounter > 0) {\n this.arrowCounter = this.arrowCounter - 1;\n }\n }\n\n private onEnter() {\n this.formDirty = false;\n this.isOpen = false;\n if (this.suburbList.length > 0) {\n this.selectSuburbFromSearch(\n this.suburbList[this.arrowCounter === -1 ? 0 : this.arrowCounter]\n );\n }\n }\n\n private selectSuburbFromSearch(suburb: SuburbStatePostcode) {\n this.isOpen = false;\n this.suburbName = suburb.suburbName;\n this.postcode = suburb.postcode;\n this.stateName = suburb.stateName;\n const _suburb: SuburbStatePostcode = {\n suburbName: suburb.suburbName,\n postcode: suburb.postcode,\n stateName: suburb.stateName,\n stateCode: suburb.stateCode,\n }\n this.$emit('updateSuburb', _suburb);\n this.query = '';\n }\n\n}\n\n","import { render } from \"./postcodeSearch.html?vue&type=template&id=47d1afb2&scoped=true&ts=true&external\"\nimport script from \"./postcodeSearch.ts?vue&type=script&lang=ts&external\"\nexport * from \"./postcodeSearch.ts?vue&type=script&lang=ts&external\"\n\nimport \"./postcodeSearch.scss?vue&type=style&index=0&id=47d1afb2&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-47d1afb2\"]])\n\nexport default __exports__","import { Options, Ref, Vue } from \"vue-property-decorator\";\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport ModalBox from '@/shared/components/modal-box/index.vue';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport { EventEmitter } from 'events';\nimport store from '@/trust-admin-app/store';\nimport { Inject } from 'vue-property-decorator';\nimport { AppInsights } from '@/trust-admin-app/appInsights';\nimport PostcodeSearch from \"@/shared/components/postcodeSearch/index.vue\";\nimport { AppointTrustCoordinatorRequest, PracticeView, SuburbStatePostcode } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport FileDragAndDrop from \"@/shared/components/file-drag-and-drop/index.vue\";\nimport ConfirmDialogue from '@/shared/components/confirm-dialogue/index.vue';\n\n@Options({\n props: {\n // selectedEE: Object,\n },\n components: {\n ModalBox,\n LoadingIndicator,\n PostcodeSearch,\n FileDragAndDrop,\n ConfirmDialogue,\n }\n})\nexport default class AppointTrustCoordinatorModal extends Vue {\n // private selectedEE!: any;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights;\n\n @Ref('fileDropAndDrop') readonly fileDropAndDrop!: any;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private line1Text = 'Appoint Trust Coordinator';\n private suburbStatePostcode: SuburbStatePostcode = {};\n private isLoading = false;\n private fileList: Array = [];\n private uploadedFileList: Array = [];\n private uploading = false;\n private submitting = false;\n private submitPressed = false;\n\n private lawId = '';\n private firmName = '';\n private email = '';\n private address = '';\n private firstName = '';\n private lastName = '';\n private phoneNumber = null;\n private reasonForInactive = '';\n private inactive = false;\n\n private invalidLawIdEmail = false;\n private dirtyFields = [false, false, false, false, false, false];\n\n private membershipStatusTypes: any = [];\n private selectedMembershipType: any = null;\n private inEditMode = false;\n\n private loadingDataSet = false;\n private searchText = '';\n private isSearching = false;\n\n private async searchLawEmailID(): Promise {\n this.isSearching = true;\n this.invalidLawIdEmail = false;\n this.apiService.LawIdApi?.apiV2LawIdAdminSearchLawIdUsersForTrustCoordinatorPracticeIdPost(\n this.selectedPractice.id,\n { keyword: this.searchText }\n )\n .then((res: any) => {\n if (res) {\n this.lawId = res.data.lawId || '';\n this.email = res.data.email || '';\n this.firstName = res.data.firstName || '';\n this.lastName = res.data.surname || '';\n this.isSearching = false;\n } else {\n this.eventCtrl.emit('show-snackbar', 'error', 'No LawID found with this email');\n this.isSearching = false;\n }\n })\n .catch(err => {\n if (err.response.status === 400) {\n this.invalidLawIdEmail = true;\n } else {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to search LawID/email: ' + err);\n }\n this.isSearching = false;\n })\n }\n\n private closeModal() {\n this.$emit('close');\n }\n\n private isFormValid(): boolean {\n return !!this.firstName && !!this.lastName && !!this.email && !!this.lawId;\n }\n\n private async save(): Promise {\n try {\n this.submitPressed = true;\n if (!this.isFormValid()) {\n throw ('Incomplete form');\n }\n this.submitting = true;\n\n const body: AppointTrustCoordinatorRequest = {\n keyword: this.searchText,\n practiceId: this.selectedPractice.id,\n }\n const resp: any = await this.apiService.PeopleAtcsApi?.apiV2AtcsPeopleAdminAppointTrustCoordinatorPost(body);\n this.eventCtrl.emit('show-snackbar', 'success', 'Trust Coordinator has been appointed');\n this.$emit('reloadTrustCoordinators');\n this.closeModal();\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error: ' + err);\n this.ai.trackException('Error on appointing Trust Coordinator: ' + JSON.stringify(err));\n } finally {\n this.submitting = false;\n }\n }\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n\n}\n\n","import { render } from \"./appoint-trust-coordinator-modal.html?vue&type=template&id=4a3020a6&scoped=true&ts=true&external\"\nimport script from \"./appoint-trust-coordinator-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./appoint-trust-coordinator-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./appoint-trust-coordinator-modal.scss?vue&type=style&index=0&id=4a3020a6&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4a3020a6\"]])\n\nexport default __exports__","import { Inject, Options, Vue } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-admin-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-admin-app/store\";\nimport { orderBy } from \"lodash\";\nimport { PracticeView } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport ErrorIndicator from \"@/shared/components/error-indicator/index.vue\";\nimport LoadingIndicator from \"@/shared/components/loading-indicator/index.vue\";\nimport AppointTrustCoordinatorModal from \"./appoint-trust-coordinator-modal/index.vue\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\n\n@Options({\n components: {\n LoadingIndicator,\n ErrorIndicator,\n AppointTrustCoordinatorModal,\n },\n mixins: [\n FormatDateTimeMixin,\n ],\n})\nexport default class PracticePeopleTrustCoordinator extends Vue {\n private ai = new AppInsights;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private searchKeyword = '';\n private showActiveOnly = false;\n private sortMethod = 'asc';\n private activeSortHeader = 0;\n\n private trustCoordinators: any[] = [];\n private trustCoordinatorsDisplay: any = [];\n\n private loadingContent = false;\n private errorLoadingContent = false;\n private loadingDataSet = false;\n private errorLoadingDataSet = false;\n\n // private directorRequest: IlpDirectorRequest = {};\n private showAppointCoordinatorModal = false;\n\n private tableHeadings = [\n { text: 'LawID', value: 'lawId', sortable: true, sortMethod: 'asc' },\n { text: 'Name', value: 'name', sortable: true, sortMethod: 'acs' },\n { text: 'Phone number', value: 'phoneNumber', sortable: true, sortMethod: 'asc' },\n { text: 'Email', value: 'email', sortable: true, sortMethod: 'acs' },\n { text: 'From', value: 'effectiveStartDate', sortable: true, sortMethod: 'acs' },\n { text: 'To', value: 'effectiveEndDate', sortable: true, sortMethod: 'acs' },\n ];\n\n mounted() {\n this.loadTableData();\n }\n\n private loadTableData() {\n this.loadingContent = true;\n this.apiService.PeopleAtcsApi?.apiV2AtcsPeopleAdminGetTrustCoordinatorsPracticeIdGet(this.selectedPractice.id)\n .then((res: any) => {\n this.trustCoordinators = res.data.data ?? [];\n this.trustCoordinatorsDisplay = this.trustCoordinators;\n for (let i = 0; i < this.trustCoordinators.length; i++) {\n this.trustCoordinatorsDisplay[i].name = this.trustCoordinators[i].firstName + ' ' + this.trustCoordinators[i].lastName;\n }\n this.sortTableColumn(5, true);\n this.loadingContent = false;\n })\n .catch((err: any) => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to get Trust Coordinator list: ' + err);\n this.ai.trackException('Error, Unable to get Trust Coordinator list: ' + err);\n this.loadingContent = false;\n this.errorLoadingContent = true;\n })\n\n }\n\n private reloadTrustCoordinators() {\n this.loadTableData();\n }\n\n private sortTableColumn(index: number, sortable: boolean) {\n if (sortable) {\n if (this.tableHeadings[index].sortable) {\n this.activeSortHeader = index;\n this.sortMethod = this.sortMethod === 'desc' ? 'asc' : 'desc';\n this.tableHeadings[index].sortMethod = this.sortMethod;\n if (this.trustCoordinators.length > 0) {\n const nameSorter = index == 1 ? (c: any) => c.name.toLowerCase() : [this.tableHeadings[index].value, (c: any) => c.name.toLowerCase()];\n const orderByResults = orderBy(\n this.trustCoordinators,\n nameSorter,\n [this.sortMethod as any]\n );\n this.trustCoordinatorsDisplay = orderByResults;\n }\n }\n }\n }\n\n private applyFilter(data: any) {\n if (this.searchKeyword == '') return data;\n const _result = data.filter((d: any) => {\n return (d.name.toLowerCase().indexOf(this.searchKeyword.toLowerCase()) >= 0) || (d.lawId.toLowerCase().indexOf(this.searchKeyword.toLowerCase()) >= 0);\n })\n return _result;\n }\n\n private isActive(i: any): boolean {\n const _terminatedDate = i.effectiveEndDate ?? null;\n if (_terminatedDate) {\n return false;\n } else {\n return true;\n }\n }\n\n get disableAppoint(): boolean {\n // If display list effectiveEndDate is null, then disable the appoint button\n const _result = this.trustCoordinatorsDisplay.filter((d: any) => {\n return (d.effectiveEndDate === null);\n })\n return _result.length > 0;\n }\n\n private addNew() {\n this.showAppointCoordinatorModal = true;\n }\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n\n}\n\n\n\n","import { render } from \"./practice-people-trust-coordinator.html?vue&type=template&id=cda6c734&scoped=true&ts=true&external\"\nimport script from \"./practice-people-trust-coordinator.ts?vue&type=script&lang=ts&external\"\nexport * from \"./practice-people-trust-coordinator.ts?vue&type=script&lang=ts&external\"\n\nimport \"./practice-people-trust-coordinator.scss?vue&type=style&index=0&id=cda6c734&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-cda6c734\"]])\n\nexport default __exports__","import { vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, vModelCheckbox as _vModelCheckbox, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5eee72a4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"practice-people-authorised-trust-contact\" }\nconst _hoisted_2 = { class: \"search-inputs\" }\nconst _hoisted_3 = { class: \"search-bar\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-hm\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-filter fa-lg\" })\n], -1))\nconst _hoisted_5 = { class: \"checkbox-button ml-2\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", {\n class: \"checkmark-box\",\n style: {\"align-self\":\"center\"}\n }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Show active only\")\n], -1))\nconst _hoisted_7 = { class: \"ls-table\" }\nconst _hoisted_8 = [\"onClick\"]\nconst _hoisted_9 = { class: \"text\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-up\" }, null, -1))\nconst _hoisted_11 = [\n _hoisted_10\n]\nconst _hoisted_12 = { key: 0 }\nconst _hoisted_13 = [\"colspan\"]\nconst _hoisted_14 = { key: 1 }\nconst _hoisted_15 = [\"colspan\"]\nconst _hoisted_16 = { key: 2 }\nconst _hoisted_17 = [\"colspan\"]\nconst _hoisted_18 = { key: 0 }\nconst _hoisted_19 = { \"data-label\": \"LawID\" }\nconst _hoisted_20 = { \"data-label\": \"Name\" }\nconst _hoisted_21 = { \"data-label\": \"Email\" }\nconst _hoisted_22 = { \"data-label\": \"From\" }\nconst _hoisted_23 = { \"data-label\": \"To\" }\nconst _hoisted_24 = { \"data-label\": \"Action\" }\nconst _hoisted_25 = [\"onClick\", \"disabled\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_ConfirmDialogue = _resolveComponent(\"ConfirmDialogue\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.searchKeyword) = $event)),\n placeholder: \"Filter by LawID or name\"\n }, null, 512), [\n [_vModelText, _ctx.searchKeyword]\n ]),\n _hoisted_4\n ]),\n _createElementVNode(\"label\", _hoisted_5, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.showActiveOnly) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.showActiveOnly]\n ]),\n _hoisted_6\n ])\n ]),\n _createElementVNode(\"table\", _hoisted_7, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", {\n class: _normalizeClass([ h.sortable ? 'sortable' : '']),\n onClick: $event => (_ctx.sortTableColumn(index, h.sortable))\n }, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(h.text), 1),\n (h.sortable)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([ _ctx.activeSortHeader === index ? 'active' : '', _ctx.sortMethod])\n }, _hoisted_11, 2))\n : _createCommentVNode(\"\", true)\n ])\n ], 10, _hoisted_8))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_12, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_13)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_14, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_15)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.trustContactsDisplay.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_16, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, \"No Records\", 8, _hoisted_17)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.trustContactsDisplay.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.applyFilter(_ctx.trustContactsDisplay), (i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.showActiveOnly && _ctx.isActive(i) || !_ctx.showActiveOnly)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_18, [\n _createElementVNode(\"td\", _hoisted_19, _toDisplayString(i.lawId), 1),\n _createElementVNode(\"td\", _hoisted_20, _toDisplayString(i.name), 1),\n _createElementVNode(\"td\", _hoisted_21, _toDisplayString(i.email), 1),\n _createElementVNode(\"td\", _hoisted_22, _toDisplayString(i.effectiveStartDate ? _ctx.$formatDate(i.effectiveStartDate) : ''), 1),\n _createElementVNode(\"td\", _hoisted_23, _toDisplayString(i.effectiveEndDate ? _ctx.$formatDate(i.effectiveEndDate) : ''), 1),\n _createElementVNode(\"td\", _hoisted_24, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml ml-1\",\n onClick: $event => (_ctx.deleteTrustContact(i)),\n disabled: i.effectiveEndDate\n }, \"Delete\", 8, _hoisted_25)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createVNode(_component_ConfirmDialogue, {\n ref: \"confirmDeleteDialogue\",\n modalOpened: true\n }, null, 512)\n ]))\n}","import { Inject, Options, Vue } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-admin-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-admin-app/store\";\nimport { orderBy } from \"lodash\";\nimport { PracticeView } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport ErrorIndicator from \"@/shared/components/error-indicator/index.vue\";\nimport LoadingIndicator from \"@/shared/components/loading-indicator/index.vue\";\nimport ConfirmDialogue from \"@/shared/components/confirm-dialogue/index.vue\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\n\n@Options({\n components: {\n LoadingIndicator,\n ErrorIndicator,\n ConfirmDialogue,\n },\n mixins: [FormatDateTimeMixin],\n})\nexport default class PracticePeopleAuthorisedTrustContact extends Vue {\n private ai = new AppInsights;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private searchKeyword = '';\n private showActiveOnly = false;\n private sortMethod = 'asc';\n private activeSortHeader = 0;\n\n private trustContacts: any[] = [];\n private trustContactsDisplay: any = [];\n\n private loadingContent = false;\n private errorLoadingContent = false;\n private loadingDataSet = false;\n private errorLoadingDataSet = false;\n\n private showAddEditModal = false;\n\n private tableHeadings = [\n { text: 'LawID', value: 'lawId', sortable: true, sortMethod: 'asc' },\n { text: 'Name', value: 'name', sortable: true, sortMethod: 'acs' },\n { text: 'Email', value: 'email', sortable: true, sortMethod: 'acs' },\n { text: 'From', value: 'effectiveStartDate', sortable: true, sortMethod: 'acs' },\n { text: 'To', value: 'effectiveEndDate', sortable: true, sortMethod: 'acs' },\n { text: 'Action', value: '', sortable: false, sortMethod: 'acs' },\n ];\n\n mounted() {\n this.loadTableData();\n }\n\n private loadTableData() {\n this.loadingContent = true;\n this.errorLoadingContent = false;\n this.apiService.PeopleAtcsApi?.apiV2AtcsPeopleAdminGetTrustContactsPracticeIdGet(this.selectedPractice.id)\n .then((res: any) => {\n this.trustContacts = res.data.data ?? [];\n this.trustContactsDisplay = this.trustContacts;\n for (let i = 0; i < this.trustContacts.length; i++) {\n this.trustContactsDisplay[i].name = this.trustContacts[i].firstName + ' ' + this.trustContacts[i].lastName;\n }\n this.sortTableColumn(4, true);\n this.loadingContent = false;\n })\n .catch((err: any) => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to get Authorised Trust Contact list: ' + err);\n this.ai.trackException('Error, Unable to get Authorised Trust Contact list: ' + err);\n this.loadingContent = false;\n this.errorLoadingContent = true;\n })\n }\n\n private sortTableColumn(index: number, sortable: boolean) {\n if (sortable) {\n if (this.tableHeadings[index].sortable) {\n this.activeSortHeader = index;\n this.sortMethod = this.sortMethod === 'desc' ? 'asc' : 'desc';\n this.tableHeadings[index].sortMethod = this.sortMethod;\n if (this.trustContacts.length > 0) {\n const nameSorter = index == 1 ? (c: any) => c.name.toLowerCase() : [this.tableHeadings[index].value, (c: any) => c.name.toLowerCase()];\n const orderByResults = orderBy(\n this.trustContacts,\n nameSorter,\n [this.sortMethod as any]\n );\n this.trustContactsDisplay = orderByResults;\n }\n }\n }\n }\n\n private applyFilter(data: any) {\n if (this.searchKeyword == '') return data;\n const _result = data.filter((d: any) => {\n return (d.name.toLowerCase().indexOf(this.searchKeyword.toLowerCase()) >= 0) || (d.lawId.toLowerCase().indexOf(this.searchKeyword.toLowerCase()) >= 0);\n })\n return _result;\n }\n\n private isActive(i: any): boolean {\n const _terminatedDate = i.effectiveEndDate ?? null;\n if (_terminatedDate) {\n return false;\n } else {\n return true;\n }\n }\n\n private deleteTrustContact(i: any): void {\n const _confirm: any = this.$refs.confirmDeleteDialogue;\n _confirm.show({\n title: 'Delete Authorised Trust Contact',\n message: 'Are you sure you want to delete ' + i.name + ', identified by contact email ' + i.email + '?',\n okButton: 'Delete',\n cancelButton: 'Cancel',\n }).then((res: any) => {\n if (res) {\n this.deleteIt(i);\n }\n })\n }\n\n private async deleteIt(i: any): Promise {\n await this.apiService.PeopleAtcsApi?.apiV2AtcsPeopleAdminTerminateTrustContactIndividualPracticeIdPut(i.individualPracticeId)\n .then((res: any) => {\n this.eventCtrl.emit('show-snackbar', 'success', 'Authorised Trust Contact has been deleted');\n this.loadTableData();\n }).catch((err: any) => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to delete Authorised Trust Contact: ' + err);\n this.ai.trackException('Error, Unable to delete Authorised Trust Contact: ' + err);\n });\n }\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n\n}\n\n\n","import { render } from \"./practice-people-authorised-trust-contact.html?vue&type=template&id=5eee72a4&scoped=true&ts=true&external\"\nimport script from \"./practice-people-authorised-trust-contact.ts?vue&type=script&lang=ts&external\"\nexport * from \"./practice-people-authorised-trust-contact.ts?vue&type=script&lang=ts&external\"\n\nimport \"./practice-people-authorised-trust-contact.scss?vue&type=style&index=0&id=5eee72a4&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5eee72a4\"]])\n\nexport default __exports__","import { Options, Vue } from 'vue-class-component';\nimport { Inject, Watch } from 'vue-property-decorator';\nimport PracticePeopleSolicitors from '../practice-people-solicitors/index.vue';\nimport PracticePeopleSignatories from '../practice-people-signatories/index.vue';\nimport PracticePeopleDirectors from '../practice-people-directors/index.vue';\nimport { AppInsights } from '@/trust-admin-app/appInsights';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { EventEmitter } from 'events';\nimport store from '@/trust-admin-app/store';\nimport { PracticeView } from '@/shared/modules/typescript-trustapi-client/models';\nimport PracticePeopleTrustCoordinator from '../practice-people-trust-coordinator/index.vue';\nimport PracticePeopleAuthorisedTrustContact from '../practice-people-authorised-trust-contact/index.vue';\n@Options({\n components: {\n LoadingIndicator,\n PracticePeopleSolicitors,\n PracticePeopleSignatories,\n PracticePeopleDirectors,\n PracticePeopleTrustCoordinator,\n PracticePeopleAuthorisedTrustContact,\n }\n})\nexport default class PracticePeople extends Vue {\n private ai = new AppInsights;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private showMode = '1';\n\n private stat = [];\n private loadingStat = false;\n\n mounted() {\n this.loadStatData();\n }\n\n private loadStatData() {\n this.loadingStat = true;\n this.apiService.PeopleApi?.apiV2PeopleGetPeopleStatsByPracticeIdPracticeIdGet(\n this.selectedPractice.id\n ).then((res: any) => {\n this.stat = res.data.data;\n this.loadingStat = false;\n })\n .catch((err: any) => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to get solicitor stat');\n this.ai.trackException('Error getting investigations: ' + err);\n this.loadingStat = false;\n })\n\n }\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n\n}\n\n\n","import { render } from \"./practice-people.html?vue&type=template&id=c0316eec&scoped=true&ts=true&external\"\nimport script from \"./practice-people.ts?vue&type=script&lang=ts&external\"\nexport * from \"./practice-people.ts?vue&type=script&lang=ts&external\"\n\nimport \"./practice-people.scss?vue&type=style&index=0&id=c0316eec&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c0316eec\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, vModelCheckbox as _vModelCheckbox, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, withModifiers as _withModifiers, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, vModelSelect as _vModelSelect, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-45d891ac\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"routines\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"section-heading\"\n}\nconst _hoisted_3 = {\n key: 1,\n class: \"section-heading\"\n}\nconst _hoisted_4 = { class: \"section-heading\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Routines\", -1))\nconst _hoisted_6 = { class: \"search\" }\nconst _hoisted_7 = { class: \"search-inputs\" }\nconst _hoisted_8 = { class: \"search-bar\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-hm\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-search fa-lg\" })\n], -1))\nconst _hoisted_10 = { class: \"checkbox-button\" }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Reply required\")\n], -1))\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", { class: \"seperator\" }, null, -1))\nconst _hoisted_14 = { class: \"filter\" }\nconst _hoisted_15 = { class: \"form-col\" }\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Closing date(range)\", -1))\nconst _hoisted_17 = { class: \"date-range\" }\nconst _hoisted_18 = { class: \"form-col\" }\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Address\", -1))\nconst _hoisted_20 = { class: \"date-range\" }\nconst _hoisted_21 = { class: \"form-col\" }\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Investigation type\", -1))\nconst _hoisted_23 = { class: \"sml-select\" }\nconst _hoisted_24 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: null }, \"All\", -1))\nconst _hoisted_25 = [\"value\"]\nconst _hoisted_26 = { class: \"form-col\" }\nconst _hoisted_27 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Status\", -1))\nconst _hoisted_28 = { class: \"sml-select\" }\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: null }, \"All\", -1))\nconst _hoisted_30 = [\"value\"]\nconst _hoisted_31 = { class: \"form-col\" }\nconst _hoisted_32 = {\n key: 0,\n class: \"reset-filter\"\n}\nconst _hoisted_33 = {\n class: \"bottom-half\",\n style: {\"width\":\"100%\",\"overflow\":\"auto\"}\n}\nconst _hoisted_34 = { class: \"ls-table\" }\nconst _hoisted_35 = [\"onClick\"]\nconst _hoisted_36 = { class: \"text\" }\nconst _hoisted_37 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-up\" }, null, -1))\nconst _hoisted_38 = [\n _hoisted_37\n]\nconst _hoisted_39 = { key: 0 }\nconst _hoisted_40 = [\"colspan\"]\nconst _hoisted_41 = { key: 1 }\nconst _hoisted_42 = [\"colspan\"]\nconst _hoisted_43 = { key: 2 }\nconst _hoisted_44 = [\"colspan\"]\nconst _hoisted_45 = { \"data-label\": \"Practice name\" }\nconst _hoisted_46 = { \"data-label\": \"Practice ID\" }\nconst _hoisted_47 = { \"data-label\": \"Closing date\" }\nconst _hoisted_48 = { \"data-label\": \"Investigation type\" }\nconst _hoisted_49 = { \"data-label\": \"Action\" }\nconst _hoisted_50 = [\"onClick\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_date_picker = _resolveComponent(\"date-picker\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (_ctx.loadingDataSet)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createVNode(_component_LoadingIndicator)\n ]))\n : (_ctx.errorLoadingDataSet)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_ErrorIndicator)\n ]))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 2 }, [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n placeholder: \"Search practice name or ID\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.searchKeyword) = $event))\n }, null, 512), [\n [_vModelText, _ctx.searchKeyword]\n ]),\n _hoisted_9\n ]),\n _createElementVNode(\"label\", _hoisted_10, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.isReplyRequired) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.isReplyRequired]\n ]),\n _hoisted_11\n ])\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-default transparent mr-2\",\n disabled: _ctx.loadingContent,\n onClick: _cache[2] || (_cache[2] = _withModifiers($event => (_ctx.showAdvancedFilter = !_ctx.showAdvancedFilter), [\"prevent\",\"stop\"]))\n }, [\n _createTextVNode(\" Advanced Filter\"),\n _createElementVNode(\"span\", null, [\n _createElementVNode(\"i\", {\n class: _normalizeClass(['fal', _ctx.showAdvancedFilter ? 'fa-angle-up' : 'fa-angle-down'])\n }, null, 2)\n ])\n ], 8, _hoisted_12)\n ]),\n (_ctx.showAdvancedFilter)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_13,\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, [\n _hoisted_16,\n _createElementVNode(\"div\", _hoisted_17, [\n _createVNode(_component_date_picker, {\n value: _ctx.closingDateRange,\n \"onUpdate:value\": _cache[3] || (_cache[3] = $event => ((_ctx.closingDateRange) = $event)),\n range: \"\",\n format: \"DD/MM/YYYY\",\n \"input-class\": \"narrow\"\n }, null, 8, [\"value\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_18, [\n _hoisted_19,\n _createElementVNode(\"div\", _hoisted_20, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n class: \"narrow\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.advanceFilter.address) = $event)),\n placeholder: \"Search address\"\n }, null, 512), [\n [_vModelText, _ctx.advanceFilter.address]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _hoisted_22,\n _createElementVNode(\"div\", _hoisted_23, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => ((_ctx.advanceFilter.investigationTypeId) = $event))\n }, [\n _hoisted_24,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.investigationTypes, (iT) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: iT.id\n }, _toDisplayString(iT.name), 9, _hoisted_25))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.advanceFilter.investigationTypeId]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_26, [\n _hoisted_27,\n _createElementVNode(\"div\", _hoisted_28, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => ((_ctx.advanceFilter.routineStatusId) = $event))\n }, [\n _hoisted_29,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.routineStatuses, (s) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: s.id\n }, _toDisplayString(s.name), 9, _hoisted_30))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.advanceFilter.routineStatusId]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_31, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: _cache[7] || (_cache[7] = $event => (_ctx.applyFilter()))\n }, \" Apply filter \")\n ])\n ]),\n (_ctx.filterApplied)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_32, [\n _createTextVNode(\" Or \"),\n _createElementVNode(\"a\", {\n class: \"link2\",\n onClick: _cache[8] || (_cache[8] = $event => {_ctx.resetFilter();})\n }, \"reset all\")\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_33, [\n _createElementVNode(\"table\", _hoisted_34, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", {\n class: _normalizeClass([ h.sortable ? 'sortable' : '']),\n onClick: $event => (_ctx.sortTableColumn(index, h.sortable))\n }, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", _hoisted_36, _toDisplayString(h.text), 1),\n (h.sortable)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([ _ctx.activeSortHeader === index ? 'active' : '', h.sortMethod])\n }, _hoisted_38, 2))\n : _createCommentVNode(\"\", true)\n ])\n ], 10, _hoisted_35))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_39, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_40)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_41, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_42)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.routines.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_43, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, \"No Records\", 8, _hoisted_44)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.routines.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.routinesDisplay, (i) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_45, _toDisplayString(i.practice.branchId == null ? i.practice.name :\n i.practice.name + ' (' + i.practice.firmTradingName + ')'), 1),\n _createElementVNode(\"td\", _hoisted_46, _toDisplayString(i.practice.branchId == null ?\n i.practice.firmId : i.practice.firmId + ' - ' +\n i.practice.branchId), 1),\n _createElementVNode(\"td\", _hoisted_47, _toDisplayString(_ctx.$formatDate(i.closedDate)), 1),\n _createElementVNode(\"td\", _hoisted_48, _toDisplayString(i.investigationTypeName), 1),\n _createElementVNode(\"td\", _hoisted_49, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml transparent ml-1\",\n onClick: _withModifiers($event => (_ctx.addToInvestigation(i)), [\"prevent\",\"stop\"])\n }, \" Add inv \", 8, _hoisted_50)\n ])\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ], 64))\n ]))\n}","import { Inject, Options, Vue, Watch } from \"vue-property-decorator\";\nimport { AuthorizedUser } from '@/trust-admin-app/models/authorized-user';\nimport store from '@/trust-admin-app/store';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { orderBy } from 'lodash';\nimport AccessValidationMixin from '@/shared/mixins/access-validation';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { EventEmitter } from 'events';\nimport { RouteN } from '@/trust-admin-app/constants/router-name';\nimport debounce from 'lodash/debounce';\nimport { AdvanceFilter, InvestigationTypeView, InvestigationView, Supervisor, TrustTeamMemberView, InvestigationFilterRequest, RoutineFilterRequest, RoutineView, RoutineStatus } from '@/shared/modules/typescript-trustapi-client/models';\nimport Tag from '@/shared/components/tag/index.vue';\nimport DatePicker from 'vue-datepicker-next';\nimport 'vue-datepicker-next/index.css';\nimport { AppInsights } from \"@/trust-admin-app/appInsights\";\n\n@Options({\n components: {\n LoadingIndicator,\n ErrorIndicator,\n Tag,\n DatePicker,\n },\n mixins: [\n AccessValidationMixin,\n FormatDateTimeMixin\n ]\n})\nexport default class Routines extends Vue {\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights;\n\n private searchKeyword = '';\n private showActiveOnly = true;\n private noInvestigatorAssigned = false;\n private sortMethod = 'asc';\n private activeSortHeader = 2;\n private showCauseDrivenOnly = false;\n private isReplyRequired = false;\n\n private filterApplied = false;\n private srchDebounced: any = null;\n\n @Watch('searchKeyword')\n private onKeywordChange(): void {\n setTimeout(this.srchDebounced.cancel, 0);\n setTimeout(this.srchDebounced, 0);\n }\n\n private loadingContent = false;\n private errorLoadingContent = false;\n private loadingDataSet = false;\n private errorLoadingDataSet = false;\n private showAdvancedFilter = false;\n\n private closingDateRange = [null, null];\n\n private advanceFilter: any = {\n dateFrom: null,\n dateTo: null,\n address: null,\n investigationTypeId: null,\n routineStatusId: 1,\n }\n\n private tableHeadings = [\n { text: 'Practice (Trading name)', value: 'name', sortMethod: 'asc', sortable: true, activeSort: false },\n { text: 'Practice - branch ID', value: 'practiceBranchId', sortMethod: 'asc', sortable: true, activeSort: false },\n { text: 'Closing date', value: 'closingDate', sortMethod: 'desc', sortable: true, activeSort: true },\n { text: 'Investigation type', value: 'investigationTypeName', sortMethod: 'asc', sortable: true, activeSort: false },\n { text: 'Action', value: '', sortMethod: 'asc', sortable: false, activeSort: false },\n ];\n\n private investigationTypes: InvestigationTypeView[] = [];\n private routineStatuses: RoutineStatus[] = [];\n\n private routines: RoutineView[] = [];\n\n private routinesDisplay: any[] = [];\n\n @Watch('isReplyRequired')\n private onIsReplyRequiredChanged(): void {\n this.loadRoutines();\n }\n\n created(): void {\n this.preloadData();\n }\n\n mounted(): void {\n this.eventCtrl.on('reload-investigation-data', this.loadRoutines);\n this.srchDebounced = debounce(() => {\n this.loadRoutines();\n }, 1000);\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-investigation-data', this.loadRoutines);\n }\n\n private async preloadData(): Promise {\n try {\n this.loadingDataSet = true;\n this.errorLoadingDataSet = false;\n const resp: any[] = await Promise.all([\n this.apiService.ConfigTrustApi?.apiV2ConfigTrustGetInvestigationTypesPost(),\n this.apiService.CodeApi?.apiV2CodeGetRoutineStatusesGet(),\n // this.apiService.TrustTeamMemberApi?.apiV2TrustTeamMemberGetSupervisorsGet(),\n ]);\n this.investigationTypes = resp[0].data.data as InvestigationTypeView[];\n this.routineStatuses = resp[1].data.data as RoutineStatus[];\n this.loadRoutines();\n\n } catch (err) {\n this.errorLoadingDataSet = true;\n this.ai.trackException('Error, Unable to preload data: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to preload data');\n } finally {\n this.loadingDataSet = false;\n }\n }\n\n private async loadRoutines(): Promise {\n try {\n this.loadingContent = true;\n this.errorLoadingContent = false;\n const request: RoutineFilterRequest = {\n keyword: this.searchKeyword,\n dateFrom: null,\n dateTo: null,\n address: null,\n investigationTypeId: null,\n routineStatusId: 1,\n take: 100,\n };\n\n if (this.filterApplied) {\n request.dateFrom = this.closingDateRange[0];\n request.dateTo = this.closingDateRange[1];\n request.address = this.advanceFilter.address;\n request.investigationTypeId = this.advanceFilter.investigationTypeId;\n request.routineStatusId = this.advanceFilter.routineStatusId;\n request.take = 100;\n }\n\n const resp: any =\n await this.apiService.RoutineApi?.apiV2RoutineGetRoutinesPost(\n request\n );\n\n this.routines = resp.data.data as RoutineView[];\n\n this.routinesDisplay = [...this.routines];\n\n // convert to display table\n for (let i = 0; i < this.routines.length; i++) {\n this.routinesDisplay[i].name = this.routines[i].practice?.branchId ?\n this.routines[i].practice.name + ' (' + this.routines[i].practice.tradingName + ')' :\n this.routines[i].practice.name;\n this.routinesDisplay[i].practiceBranchId = this.routines[i].practice.branchId ?\n this.routines[i].practice.firmId + ' - ' + this.routines[i].practice.branchId :\n this.routines[i].practice.firmId.toString();\n this.routinesDisplay[i].investigationTypeName = this.routines[i].investigationType.name + ' (' + this.routines[i].investigationCategory.abbreviation + ')';\n }\n this.sortMethod = 'asc';\n this.sortTableColumn(2, true);\n\n return Promise.resolve(false);\n } catch (err) {\n this.errorLoadingContent = true;\n console.log(err);\n this.ai.trackException('Error, Unable to get routines list: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to get routines list');\n return Promise.reject(true);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private applyFilter(): void {\n this.filterApplied = true;\n this.loadRoutines();\n }\n\n private resetFilter(): void {\n this.filterApplied = false;\n this.closingDateRange = [null, null];\n this.searchKeyword = '';\n this.advanceFilter = {\n dateFrom: null,\n dateTo: null,\n trustTeamMemberId: null,\n investigationTypeId: null,\n routineStatusId: 1,\n };\n this.loadRoutines();\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n get usrAcct(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n\n get RouteN(): typeof RouteN {\n return RouteN;\n }\n\n private sortTableColumn(index: number, sortable: boolean) {\n if (sortable) {\n if (this.tableHeadings[index].sortable) {\n this.activeSortHeader = index;\n this.sortMethod = this.sortMethod === 'desc' ? 'asc' : 'desc';\n this.tableHeadings[index].sortMethod = this.sortMethod;\n if (this.routinesDisplay.length > 0) {\n const nameSorter = index == 0 ? (c: any) => c.name.toLowerCase() : [this.tableHeadings[index].value, (c: any) => c.name.toLowerCase()];\n const orderByResults = orderBy(\n this.routinesDisplay,\n nameSorter,\n [this.sortMethod as any]\n );\n this.routinesDisplay = orderByResults;\n }\n }\n }\n }\n\n private addToInvestigation(r: RoutineView) {\n const _investigationId = r.investigationId;\n let newInvestigation: InvestigationView = {};\n this.apiService.InvestigationApi?.apiV2InvestigationGetInvestigationByIdInvestigationIdGet(_investigationId)\n .then(res => {\n newInvestigation = res.data.data;\n newInvestigation.id = 0;\n this.eventCtrl.emit('showAddEditInvestigationModal', newInvestigation, true, r.id);\n })\n .catch(err => {\n this.ai.trackException('Error, Unable to add investigation: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to add investigation:');\n });\n }\n\n}\n","import { render } from \"./routines.html?vue&type=template&id=45d891ac&scoped=true&ts=true&external\"\nimport script from \"./routines.ts?vue&type=script&lang=ts&external\"\nexport * from \"./routines.ts?vue&type=script&lang=ts&external\"\n\nimport \"./routines.scss?vue&type=style&index=0&id=45d891ac&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-45d891ac\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, withModifiers as _withModifiers, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, vModelSelect as _vModelSelect, vModelRadio as _vModelRadio, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-208a5194\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"follow-up\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"section-heading\"\n}\nconst _hoisted_3 = {\n key: 1,\n class: \"section-heading\"\n}\nconst _hoisted_4 = { class: \"section-heading\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Follow Up\", -1))\nconst _hoisted_6 = { class: \"search\" }\nconst _hoisted_7 = { class: \"search-inputs\" }\nconst _hoisted_8 = { class: \"search-bar\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-hm\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-search fa-lg\" })\n], -1))\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", { class: \"seperator\" }, null, -1))\nconst _hoisted_12 = { class: \"filter\" }\nconst _hoisted_13 = { class: \"form-col\" }\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Closing date(range)\", -1))\nconst _hoisted_15 = { class: \"date-range\" }\nconst _hoisted_16 = { class: \"form-col\" }\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Reinvestigation date(range)\", -1))\nconst _hoisted_18 = { class: \"date-range\" }\nconst _hoisted_19 = { class: \"form-col\" }\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Investigation type\", -1))\nconst _hoisted_21 = { class: \"sml-select\" }\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: null }, \"All\", -1))\nconst _hoisted_23 = [\"value\"]\nconst _hoisted_24 = { class: \"form-col\" }\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Period\", -1))\nconst _hoisted_26 = { class: \"sml-select\" }\nconst _hoisted_27 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: null }, \"All\", -1))\nconst _hoisted_28 = [\"value\"]\nconst _hoisted_29 = { class: \"form-col\" }\nconst _hoisted_30 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Status\", -1))\nconst _hoisted_31 = { class: \"sml-select\" }\nconst _hoisted_32 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: null }, \"All\", -1))\nconst _hoisted_33 = [\"value\"]\nconst _hoisted_34 = { class: \"form-col\" }\nconst _hoisted_35 = {\n key: 0,\n class: \"reset-filter\"\n}\nconst _hoisted_36 = { class: \"ma-4\" }\nconst _hoisted_37 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Show\", -1))\nconst _hoisted_38 = { style: {\"display\":\"flex\"} }\nconst _hoisted_39 = { style: {\"float\":\"left\"} }\nconst _hoisted_40 = { class: \"radio\" }\nconst _hoisted_41 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"Routine follow up\")\n], -1))\nconst _hoisted_42 = {\n class: \"ml-4\",\n style: {\"float\":\"left\"}\n}\nconst _hoisted_43 = { class: \"radio\" }\nconst _hoisted_44 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"Cause driven follow up\")\n], -1))\nconst _hoisted_45 = {\n class: \"bottom-half\",\n style: {\"width\":\"100%\",\"overflow\":\"auto\"}\n}\nconst _hoisted_46 = { class: \"ls-table\" }\nconst _hoisted_47 = [\"onClick\"]\nconst _hoisted_48 = { class: \"text\" }\nconst _hoisted_49 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-up\" }, null, -1))\nconst _hoisted_50 = [\n _hoisted_49\n]\nconst _hoisted_51 = { key: 0 }\nconst _hoisted_52 = [\"colspan\"]\nconst _hoisted_53 = { key: 1 }\nconst _hoisted_54 = [\"colspan\"]\nconst _hoisted_55 = { key: 2 }\nconst _hoisted_56 = [\"colspan\"]\nconst _hoisted_57 = { key: 0 }\nconst _hoisted_58 = { \"data-label\": \"Practice name\" }\nconst _hoisted_59 = { \"data-label\": \"Practice ID\" }\nconst _hoisted_60 = { \"data-label\": \"Closing date\" }\nconst _hoisted_61 = { \"data-label\": \"Last inv type\" }\nconst _hoisted_62 = { \"data-label\": \"Re inv data\" }\nconst _hoisted_63 = { \"data-label\": \"Inv type\" }\nconst _hoisted_64 = { \"data-label\": \"Action\" }\nconst _hoisted_65 = [\"onClick\", \"disabled\"]\nconst _hoisted_66 = [\"onClick\", \"disabled\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_date_picker = _resolveComponent(\"date-picker\")\n const _component_router_link = _resolveComponent(\"router-link\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (_ctx.loadingDataSet)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createVNode(_component_LoadingIndicator)\n ]))\n : (_ctx.errorLoadingDataSet)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_ErrorIndicator)\n ]))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 2 }, [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n placeholder: \"Search practice name or ID\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.searchKeyword) = $event))\n }, null, 512), [\n [_vModelText, _ctx.searchKeyword]\n ]),\n _hoisted_9\n ])\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-default transparent mr-2\",\n disabled: _ctx.loadingContent,\n onClick: _cache[1] || (_cache[1] = _withModifiers($event => (_ctx.showAdvancedFilter = !_ctx.showAdvancedFilter), [\"prevent\",\"stop\"]))\n }, [\n _createTextVNode(\" Advanced Filter\"),\n _createElementVNode(\"span\", null, [\n _createElementVNode(\"i\", {\n class: _normalizeClass(['fal', _ctx.showAdvancedFilter ? 'fa-angle-up' : 'fa-angle-down'])\n }, null, 2)\n ])\n ], 8, _hoisted_10)\n ]),\n (_ctx.showAdvancedFilter)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_11,\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, [\n _hoisted_14,\n _createElementVNode(\"div\", _hoisted_15, [\n _createVNode(_component_date_picker, {\n value: _ctx.closingDateRange,\n \"onUpdate:value\": _cache[2] || (_cache[2] = $event => ((_ctx.closingDateRange) = $event)),\n range: \"\",\n format: \"DD/MM/YYYY\",\n \"input-class\": \"narrow\"\n }, null, 8, [\"value\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n _hoisted_17,\n _createElementVNode(\"div\", _hoisted_18, [\n _createVNode(_component_date_picker, {\n value: _ctx.reinvestigationDateRange,\n \"onUpdate:value\": _cache[3] || (_cache[3] = $event => ((_ctx.reinvestigationDateRange) = $event)),\n range: \"\",\n format: \"DD/MM/YYYY\",\n \"input-class\": \"narrow\"\n }, null, 8, [\"value\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _hoisted_20,\n _createElementVNode(\"div\", _hoisted_21, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.advanceFilter.investigationTypeId) = $event))\n }, [\n _hoisted_22,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.investigationTypes, (iT) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: iT.id\n }, _toDisplayString(iT.name), 9, _hoisted_23))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.advanceFilter.investigationTypeId]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_24, [\n _hoisted_25,\n _createElementVNode(\"div\", _hoisted_26, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => ((_ctx.advanceFilter.period) = $event))\n }, [\n _hoisted_27,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.period, (p) => {\n return (_openBlock(), _createElementBlock(\"option\", { value: p }, _toDisplayString(p), 9, _hoisted_28))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.advanceFilter.period]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_29, [\n _hoisted_30,\n _createElementVNode(\"div\", _hoisted_31, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => ((_ctx.advanceFilter.statusId) = $event))\n }, [\n _hoisted_32,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.followUpStatuses, (s) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: s.id\n }, _toDisplayString(s.name), 9, _hoisted_33))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.advanceFilter.statusId]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_34, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: _cache[7] || (_cache[7] = $event => (_ctx.applyFilter()))\n }, \" Apply filter \")\n ])\n ]),\n (_ctx.filterApplied)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_35, [\n _createTextVNode(\" Or \"),\n _createElementVNode(\"a\", {\n class: \"link2\",\n onClick: _cache[8] || (_cache[8] = $event => {_ctx.resetFilter();})\n }, \"reset all\")\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_36, [\n _hoisted_37,\n _createElementVNode(\"div\", _hoisted_38, [\n _createElementVNode(\"div\", _hoisted_39, [\n _createElementVNode(\"label\", _hoisted_40, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"filter-type\",\n id: \"filterType_0\",\n checked: \"\",\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = $event => ((_ctx.radioFilter) = $event)),\n value: 1\n }, null, 512), [\n [_vModelRadio, _ctx.radioFilter]\n ]),\n _hoisted_41\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_42, [\n _createElementVNode(\"label\", _hoisted_43, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"filter-type\",\n id: \"filterType_1\",\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = $event => ((_ctx.radioFilter) = $event)),\n value: 2\n }, null, 512), [\n [_vModelRadio, _ctx.radioFilter]\n ]),\n _hoisted_44\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_45, [\n _createElementVNode(\"table\", _hoisted_46, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", {\n class: _normalizeClass([ h.sortable ? 'sortable' : '']),\n onClick: $event => (_ctx.sortTableColumn(index, h.sortable))\n }, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", _hoisted_48, _toDisplayString(h.text), 1),\n (h.sortable)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([ _ctx.activeSortHeader === index ? 'active' : '', h.sortMethod])\n }, _hoisted_50, 2))\n : _createCommentVNode(\"\", true)\n ])\n ], 10, _hoisted_47))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_51, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_52)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_53, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_54)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.followUps.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_55, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, \"No Records\", 8, _hoisted_56)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.followUps.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.followUpsDisplay, (i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (i.followUpType.id == _ctx.radioFilter)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_57, [\n _createElementVNode(\"td\", _hoisted_58, [\n _createVNode(_component_router_link, {\n to: { name: _ctx.RouteN.TA.Practice.n, query: { pId: i.practice.id } },\n class: \"link\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(i.practice.branchId == null ? i.practice.name :\n i.practice.name + ' (' + i.practice.branchTradingName + ')'), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ]),\n _createElementVNode(\"td\", _hoisted_59, _toDisplayString(i.practice.firmId + (i.practice.branchId == null ? '' : ' - ' +\n i.practice.branchId)), 1),\n _createElementVNode(\"td\", _hoisted_60, _toDisplayString(_ctx.$formatDate(i.closedDate)), 1),\n _createElementVNode(\"td\", _hoisted_61, _toDisplayString(i.lastInvestigationType?.name), 1),\n _createElementVNode(\"td\", _hoisted_62, _toDisplayString(_ctx.$formatDate(i.reInvestigationDate)), 1),\n _createElementVNode(\"td\", _hoisted_63, _toDisplayString(i.investigationType?.name), 1),\n _createElementVNode(\"td\", _hoisted_64, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml transparent ml-1\",\n onClick: $event => (_ctx.approve(i)),\n disabled: i.followUpStatus.id > 1\n }, \" Approve \", 8, _hoisted_65),\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml transparent ml-2\",\n onClick: $event => (_ctx.reject(i)),\n disabled: i.followUpStatus.id > 1\n }, \" Reject \", 8, _hoisted_66)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ], 64))\n ]))\n}","import { Inject, Options, Vue, Watch } from \"vue-property-decorator\";\nimport { AuthorizedUser } from '@/trust-admin-app/models/authorized-user';\nimport store from '@/trust-admin-app/store';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { orderBy } from 'lodash';\nimport AccessValidationMixin from '@/shared/mixins/access-validation';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { EventEmitter } from 'events';\nimport { RouteN } from '@/trust-admin-app/constants/router-name';\nimport debounce from 'lodash/debounce';\nimport { AdvanceFilter, InvestigationTypeView, FollowUpStatus, FollowUpFilterRequest, FollowUpView } from '@/shared/modules/typescript-trustapi-client/models';\nimport Tag from '@/shared/components/tag/index.vue';\nimport DatePicker from 'vue-datepicker-next';\nimport 'vue-datepicker-next/index.css';\nimport { AppInsights } from \"@/trust-admin-app/appInsights\";\n\n@Options({\n components: {\n LoadingIndicator,\n ErrorIndicator,\n Tag,\n DatePicker,\n },\n mixins: [\n AccessValidationMixin,\n FormatDateTimeMixin\n ]\n})\nexport default class FollowUp extends Vue {\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights;\n\n private searchKeyword = '';\n private showActiveOnly = true;\n private noInvestigatorAssigned = false;\n private sortMethod = 'desc';\n private activeSortHeader = 2;\n private showCauseDrivenOnly = false;\n private isReplyRequired = false;\n\n private loadingContent = false;\n private errorLoadingContent = false;\n private loadingDataSet = false;\n private errorLoadingDataSet = false;\n private showAdvancedFilter = false;\n private filterApplied = false;\n\n private closingDateRange = [null, null];\n private reinvestigationDateRange = [null, null];\n\n private advanceFilter: any = {\n keyword: null,\n statusId: null,\n followUpTypeId: null,\n closingDateFrom: null,\n closingDateTo: null,\n reInvestigationDateFrom: null,\n reInvestigationDateTo: null,\n investigationTypeId: null,\n period: null,\n take: 100,\n };\n\n private period = [3, 6, 12, 18, 24, 36, 48];\n private srchDebounced: any = null;\n\n @Watch('searchKeyword')\n private onKeywordChange(): void {\n setTimeout(this.srchDebounced.cancel, 0);\n setTimeout(this.srchDebounced, 0);\n }\n\n private tableHeadings = [\n { text: 'Practice (Trading name)', value: 'name', sortMethod: 'asc', sortable: true, activeSort: false },\n { text: 'Practice - branch ID', value: 'practiceBranchId', sortMethod: 'asc', sortable: true, activeSort: false },\n { text: 'Closing date', value: 'closingDate', sortMethod: 'desc', sortable: true, activeSort: false },\n { text: 'Last inv type', value: 'invDate', sortMethod: 'asc', sortable: true, activeSort: false },\n { text: 'Re inv date', value: 'reInvDate', sortMethod: 'asc', sortable: true, activeSort: false },\n { text: 'Investigation type', value: 'investigationTypeName', sortMethod: 'asc', sortable: true, activeSort: false },\n { text: 'Action', value: '', sortMethod: 'asc', sortable: false, activeSort: false },\n ];\n\n private investigationTypes: InvestigationTypeView[] = [];\n\n private followUps: FollowUpView[] = [];\n\n private followUpStatuses: any[] = [];\n\n private followUpsDisplay = this.followUps;\n private radioFilter = 1;\n\n created(): void {\n this.preloadData();\n }\n\n mounted(): void {\n // this.eventCtrl.on('reload-investigation-data', this.loadFollowups);\n this.srchDebounced = debounce(() => {\n this.loadFollowUps();\n }, 1000);\n }\n\n // beforeUnmount(): void {\n // this.eventCtrl.removeListener('reload-investigation-data', this.loadFollowups);\n // }\n\n private async preloadData(): Promise {\n try {\n this.loadingDataSet = true;\n this.errorLoadingDataSet = false;\n const resp: any[] = await Promise.all([\n this.apiService.ConfigTrustApi?.apiV2ConfigTrustGetInvestigationTypesPost(),\n this.apiService.CodeApi?.apiV2CodeGetFollowUpStatusesGet(),\n // this.apiService.TrustTeamMemberApi?.apiV2TrustTeamMemberGetSupervisorsGet(),\n ]);\n this.investigationTypes = resp[0].data.data as InvestigationTypeView[];\n this.followUpStatuses = resp[1].data.data as FollowUpStatus[];\n this.loadFollowUps();\n\n } catch (err) {\n this.errorLoadingDataSet = true;\n this.ai.trackException('Error, Unable to preload data: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to preload data');\n } finally {\n this.loadingDataSet = false;\n }\n }\n\n private async loadFollowUps(): Promise {\n try {\n this.loadingContent = true;\n this.errorLoadingContent = false;\n const request: FollowUpFilterRequest = {\n keyword: this.searchKeyword,\n statusId: null,\n followUpTypeId: null,\n closingDateFrom: null,\n closingDateTo: null,\n reInvestigationDateFrom: null,\n reInvestigationDateTo: null,\n investigationTypeId: null,\n period: null,\n take: 100,\n };\n\n if (this.filterApplied) {\n request.closingDateFrom = this.closingDateRange[0];\n request.closingDateTo = this.closingDateRange[1];\n request.reInvestigationDateFrom = this.reinvestigationDateRange[0];\n request.reInvestigationDateTo = this.reinvestigationDateRange[1];\n request.investigationTypeId = this.advanceFilter.investigationTypeId;\n request.period = this.advanceFilter.period;\n request.statusId = this.advanceFilter.statusId;\n }\n\n const resp: any =\n await this.apiService.FollowUpApi?.apiV2FollowUpGetFollowUpsPost(\n request\n );\n\n this.followUps = resp.data.data as FollowUpView[];\n\n this.followUpsDisplay = [...this.followUps];\n\n // convert to display table\n // for (let i = 0; i < this.followUps.length; i++) {\n // this.followUpsDisplay[i].name = this.followUps[i].practice?.branchId ?\n // this.followUps[i].practice.name + ' (' + this.followUps[i].practice.tradingName + ')' :\n // this.followUps[i].practice.name;\n // this.followUpsDisplay[i].practiceBranchId = this.followUps[i].practice.branchId ?\n // this.followUps[i].practice.firmId + ' - ' + this.followUps[i].practice.branchId :\n // this.followUps[i].practice.firmId.toString();\n // this.followUpsDisplay[i].investigationTypeName = this.followUps[i].investigationType.name + ' (' + this.followUps[i].investigationCategory.abbreviation + ')';\n // }\n\n return Promise.resolve(false);\n } catch (err) {\n this.errorLoadingContent = true;\n console.log(err);\n this.ai.trackException('Error, Unable to get followUps list: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to get followUps list');\n return Promise.reject(true);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private applyFilter(): void {\n this.filterApplied = true;\n this.loadFollowUps();\n }\n\n private resetFilter(): void {\n this.filterApplied = false;\n this.searchKeyword = '';\n this.closingDateRange = [null, null];\n this.reinvestigationDateRange = [null, null];\n this.advanceFilter = {\n investigationTypeId: null,\n period: null,\n statusId: null,\n };\n this.loadFollowUps();\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n get usrAcct(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n\n get RouteN(): typeof RouteN {\n return RouteN;\n }\n\n private sortTableColumn(index: number, sortable: boolean) {\n if (sortable) {\n if (this.tableHeadings[index].sortable) {\n this.activeSortHeader = index;\n this.sortMethod = this.sortMethod === 'desc' ? 'asc' : 'desc';\n this.tableHeadings[index].sortMethod = this.sortMethod;\n if (this.followUpsDisplay.length > 0) {\n const nameSorter = index == 0 ? (c: any) => c.name.toLowerCase() : [this.tableHeadings[index].value, (c: any) => c.name.toLowerCase()];\n const orderByResults = orderBy(\n this.followUpsDisplay,\n nameSorter,\n [this.sortMethod as any]\n );\n this.followUpsDisplay = orderByResults;\n }\n }\n }\n }\n\n private approve(f: FollowUpView) {\n this.loadingContent = true;\n this.apiService.FollowUpApi?.apiV2FollowUpApproveRoutineFollowUpPut(f.id)\n .then(res => {\n this.eventCtrl.emit('show-snackbar', 'success', 'Follow Up approved');\n this.loadFollowUps();\n this.loadingContent = false;\n })\n .catch(err => {\n this.ai.trackException('Error, Unable to approve this follow up: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to approve this follow up');\n this.loadingContent = false;\n })\n }\n\n private reject(f: FollowUpView) {\n this.loadingContent = true;\n this.apiService.FollowUpApi?.apiV2FollowUpRejectRoutineFollowUpPut(f.id)\n .then(res => {\n this.eventCtrl.emit('show-snackbar', 'success', 'Follow Up rejected');\n this.loadFollowUps();\n this.loadingContent = false;\n })\n .catch(err => {\n this.ai.trackException('Error, Unable to reject this follow up: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to reject this follow up');\n this.loadingContent = false;\n })\n }\n\n}\n\n","import { render } from \"./follow-up.html?vue&type=template&id=208a5194&scoped=true&ts=true&external\"\nimport script from \"./follow-up.ts?vue&type=script&lang=ts&external\"\nexport * from \"./follow-up.ts?vue&type=script&lang=ts&external\"\n\nimport \"./follow-up.scss?vue&type=style&index=0&id=208a5194&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-208a5194\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5fbc98d4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"practice-linked-practice\" }\nconst _hoisted_2 = { class: \"linked-practices-from\" }\nconst _hoisted_3 = { class: \"table-top\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"__left\" }, [\n /*#__PURE__*/_createElementVNode(\"h4\", null, \"Status\"),\n /*#__PURE__*/_createElementVNode(\"h2\", null, \"Linked practices (From)\")\n], -1))\nconst _hoisted_5 = { class: \"__right\" }\nconst _hoisted_6 = { class: \"ls-table\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = [\"colspan\"]\nconst _hoisted_9 = { key: 1 }\nconst _hoisted_10 = [\"colspan\"]\nconst _hoisted_11 = { key: 2 }\nconst _hoisted_12 = [\"colspan\"]\nconst _hoisted_13 = { \"data-label\": \"practiceName\" }\nconst _hoisted_14 = { \"data-label\": \"practiceBranchID\" }\nconst _hoisted_15 = { \"data-label\": \"latestTrustStatus\" }\nconst _hoisted_16 = { \"data-label\": \"Date\" }\nconst _hoisted_17 = { \"data-label\": \"Actions\" }\nconst _hoisted_18 = [\"onClick\"]\nconst _hoisted_19 = { class: \"linked-practices-to\" }\nconst _hoisted_20 = { class: \"table-top\" }\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"__left\" }, [\n /*#__PURE__*/_createElementVNode(\"h4\", null, \"Status\"),\n /*#__PURE__*/_createElementVNode(\"h2\", null, \"Linked practices (To)\")\n], -1))\nconst _hoisted_22 = { class: \"__right\" }\nconst _hoisted_23 = { class: \"ls-table\" }\nconst _hoisted_24 = { key: 0 }\nconst _hoisted_25 = [\"colspan\"]\nconst _hoisted_26 = { key: 1 }\nconst _hoisted_27 = [\"colspan\"]\nconst _hoisted_28 = { key: 2 }\nconst _hoisted_29 = [\"colspan\"]\nconst _hoisted_30 = { \"data-label\": \"practiceName\" }\nconst _hoisted_31 = { \"data-label\": \"practiceBranchID\" }\nconst _hoisted_32 = { \"data-label\": \"latestTrustStatus\" }\nconst _hoisted_33 = { \"data-label\": \"Date\" }\nconst _hoisted_34 = { \"data-label\": \"Actions\" }\nconst _hoisted_35 = [\"onClick\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_AddEditLinkedPracticeModal = _resolveComponent(\"AddEditLinkedPracticeModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n onClick: _cache[0] || (_cache[0] = $event => (_ctx.openAddEditLinkedPracticeModal({id: 0}, 1)))\n }, \"Transfer from\")\n ])\n ]),\n _createElementVNode(\"table\", _hoisted_6, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.linkedPracticesHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", null, [\n _createElementVNode(\"p\", null, _toDisplayString(h.text), 1)\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_7, [\n _createElementVNode(\"td\", {\n colspan: _ctx.linkedPracticesHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_8)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_9, [\n _createElementVNode(\"td\", {\n colspan: _ctx.linkedPracticesHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_10)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.practicesFrom.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_11, [\n _createElementVNode(\"td\", {\n colspan: _ctx.linkedPracticesHeadings.length\n }, \"No Records\", 8, _hoisted_12)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.practicesFrom.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.practicesFrom, (p) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_13, _toDisplayString(p.branchId == null ? p.name :\n (p.name + ' (' + p.tradingName + ')')), 1),\n _createElementVNode(\"td\", _hoisted_14, _toDisplayString(p.branchId == null ?\n p.firmId : (p.firmId + ' - ' +\n p.branchId)), 1),\n _createElementVNode(\"td\", _hoisted_15, _toDisplayString(p.trustAccountStatus?.name), 1),\n _createElementVNode(\"td\", _hoisted_16, _toDisplayString(_ctx.$formatDate(p.linkedDate)), 1),\n _createElementVNode(\"td\", _hoisted_17, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml\",\n onClick: $event => (_ctx.openAddEditLinkedPracticeModal(p, 1))\n }, \"Edit\", 8, _hoisted_18)\n ])\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _hoisted_21,\n _createElementVNode(\"div\", _hoisted_22, [\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n onClick: _cache[1] || (_cache[1] = $event => (_ctx.openAddEditLinkedPracticeModal({id: 0}, 2)))\n }, \"Transfer to\")\n ])\n ]),\n _createElementVNode(\"table\", _hoisted_23, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.linkedPracticesHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", null, [\n _createElementVNode(\"p\", null, _toDisplayString(h.text), 1)\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_24, [\n _createElementVNode(\"td\", {\n colspan: _ctx.linkedPracticesHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_25)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_26, [\n _createElementVNode(\"td\", {\n colspan: _ctx.linkedPracticesHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_27)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.practicesTo.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_28, [\n _createElementVNode(\"td\", {\n colspan: _ctx.linkedPracticesHeadings.length\n }, \"No Records\", 8, _hoisted_29)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.practicesTo.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.practicesTo, (p) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_30, _toDisplayString(p.branchId == null ? p.name :\n (p.name + ' (' + p.tradingName + ')')), 1),\n _createElementVNode(\"td\", _hoisted_31, _toDisplayString(p.branchId == null ?\n p.firmId : (p.firmId + ' - ' +\n p.branchId)), 1),\n _createElementVNode(\"td\", _hoisted_32, _toDisplayString(p.trustAccountStatus?.name), 1),\n _createElementVNode(\"td\", _hoisted_33, _toDisplayString(_ctx.$formatDate(p.linkedDate)), 1),\n _createElementVNode(\"td\", _hoisted_34, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml\",\n onClick: $event => (_ctx.openAddEditLinkedPracticeModal(p, 2))\n }, \"Edit\", 8, _hoisted_35)\n ])\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n (_ctx.showLinkedPracticeModal)\n ? (_openBlock(), _createBlock(_component_AddEditLinkedPracticeModal, {\n key: 0,\n linkedPractice: _ctx.selectedLinkedPractice,\n practice: _ctx.selectedPractice,\n mode: _ctx.transferMode,\n onCloseAddEditLinkedPracticeModal: _cache[2] || (_cache[2] = $event => (_ctx.closeAddEditLinkedPracticeModal()))\n }, null, 8, [\"linkedPractice\", \"practice\", \"mode\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, withKeys as _withKeys, vModelText as _vModelText, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, withModifiers as _withModifiers, normalizeClass as _normalizeClass, vShow as _vShow, createTextVNode as _createTextVNode, vModelCheckbox as _vModelCheckbox, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7973a0f9\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"addedit-linked-practice-modal\" }\nconst _hoisted_2 = { class: \"heading-text\" }\nconst _hoisted_3 = { class: \"line1\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"line2\" }, \"Linked practices\", -1))\nconst _hoisted_5 = {\n key: 0,\n class: \"body-main has-indicator\"\n}\nconst _hoisted_6 = {\n key: 1,\n class: \"body-main has-indicator\"\n}\nconst _hoisted_7 = { class: \"body-main\" }\nconst _hoisted_8 = { class: \"ls-form\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Practice name\", -1))\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_11 = {\n class: \"autocomplete\",\n style: {\"flex\":\"0 0 100%\"}\n}\nconst _hoisted_12 = { class: \"icon-hm\" }\nconst _hoisted_13 = {\n key: 0,\n class: \"fal fa-spinner fa-spin fa-lg\"\n}\nconst _hoisted_14 = {\n key: 1,\n class: \"fal fa-search fa-lg\"\n}\nconst _hoisted_15 = {\n id: \"autocomplete-results\",\n class: \"autocomplete-results\"\n}\nconst _hoisted_16 = [\"innerHTML\", \"onClick\"]\nconst _hoisted_17 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Date of transfer\", -1))\nconst _hoisted_21 = { class: \"date-picker\" }\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-calendar-check\" }, null, -1))\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_24 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Create Investigation\", -1))\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"By selecting the option you will be able to add an investigation.\", -1))\nconst _hoisted_26 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_27 = { class: \"checkbox-button\" }\nconst _hoisted_28 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"checkbox-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Yes, I would like to create an investigation.\")\n], -1))\nconst _hoisted_29 = { class: \"controls mt-4\" }\nconst _hoisted_30 = [\"disabled\"]\nconst _hoisted_31 = [\"disabled\"]\nconst _hoisted_32 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-right\" })\n], -1))\nconst _hoisted_33 = {\n key: 0,\n class: \"delete-transfer\"\n}\nconst _hoisted_34 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", null, \"Delete linked practice\", -1))\nconst _hoisted_35 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"Are you sure you want to delete the transfer?\", -1))\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_v3_date_picker = _resolveComponent(\"v3-date-picker\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n const _component_AlertBox = _resolveComponent(\"AlertBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n onClose: _cache[10] || (_cache[10] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.editMode ? 'Edit' : 'Transfer') + \" \" + _toDisplayString(_ctx.practiceName), 1),\n _hoisted_4\n ])\n ]),\n body: _withCtx(() => [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createVNode(_component_LoadingIndicator)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(_component_ErrorIndicator)\n ]))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 2 }, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"form\", _hoisted_8, [\n _createElementVNode(\"fieldset\", null, [\n _hoisted_9,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.practiceName), 1),\n _hoisted_10,\n _createElementVNode(\"label\", null, \"Transfer \" + _toDisplayString(_ctx.mode == 1 ? 'from' : 'to'), 1),\n _createElementVNode(\"div\", _hoisted_11, [\n _withDirectives(_createElementVNode(\"input\", {\n onKeydown: [\n _cache[0] || (_cache[0] = _withKeys((...args) => (_ctx.onArrowDown && _ctx.onArrowDown(...args)), [\"down\"])),\n _cache[1] || (_cache[1] = _withKeys((...args) => (_ctx.onArrowUp && _ctx.onArrowUp(...args)), [\"up\"])),\n _cache[2] || (_cache[2] = _withKeys((...args) => (_ctx.onEnter && _ctx.onEnter(...args)), [\"enter\"]))\n ],\n class: \"searchField\",\n type: \"text\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => ((_ctx.search) = $event)),\n placeholder: \"Search practice name or ID\"\n }, null, 544), [\n [_vModelText, _ctx.search]\n ]),\n _withDirectives(_createElementVNode(\"input\", {\n type: \"hidden\",\n id: \"practice\",\n name: \"practice\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.currentSelectedPractice) = $event))\n }, null, 512), [\n [_vModelText, _ctx.currentSelectedPractice]\n ]),\n _createElementVNode(\"span\", _hoisted_12, [\n (_ctx.isSearching)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_13))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_14))\n ]),\n _withDirectives(_createElementVNode(\"ul\", _hoisted_15, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.practiceList, (practice, i) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: i,\n class: _normalizeClass([\"autocomplete-result\", { 'is-active': i === _ctx.arrowCounter }]),\n innerHTML: _ctx.highlightWord(practice.firmId + ' - ' + (practice.branchId && practice.tradingName ? practice.name + ' - ' + practice.tradingName : practice.name)),\n onClick: _withModifiers($event => (_ctx.selectPractice(practice)), [\"prevent\"])\n }, null, 10, _hoisted_16))\n }), 128))\n ], 512), [\n [_vShow, _ctx.isOpen]\n ]),\n (!_ctx.currentSelectedPractice)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _hoisted_18,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.editMode)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_19,\n _hoisted_20,\n _createElementVNode(\"div\", _hoisted_21, [\n _createVNode(_component_v3_date_picker, {\n class: \"v3-date-picker\",\n modelValue: _ctx.effectiveDate,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => ((_ctx.effectiveDate) = $event)),\n style: {\"padding\":\"1em\"},\n inputFormat: \"dd-MM-yyyy\"\n }, null, 8, [\"modelValue\"]),\n _hoisted_22\n ])\n ], 64))\n : _createCommentVNode(\"\", true),\n (!_ctx.editMode)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _hoisted_23,\n _hoisted_24,\n _hoisted_25,\n _hoisted_26,\n _createElementVNode(\"label\", _hoisted_27, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => ((_ctx.createInvestigation) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.createInvestigation]\n ]),\n _hoisted_28\n ])\n ], 64))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default ml-1\",\n disabled: _ctx.submitting,\n onClick: _cache[7] || (_cache[7] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\",\"stop\"]))\n }, \" Back \", 8, _hoisted_30),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n disabled: _ctx.submitting || !(_ctx.isFormDirty && _ctx.validForm),\n onClick: _cache[8] || (_cache[8] = _withModifiers($event => (_ctx.saveLinkedPractice()), [\"prevent\",\"stop\"]))\n }, [\n _createTextVNode(_toDisplayString(_ctx.editMode? 'Save changes' : 'Transfer practice'), 1),\n _hoisted_32\n ], 8, _hoisted_31),\n (_ctx.submitting)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.editMode)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_33, [\n _createTextVNode(\" Or \"),\n _createElementVNode(\"a\", {\n class: \"link2\",\n onClick: _cache[9] || (_cache[9] = $event => (_ctx.showDeleteAlert = true))\n }, \"delete transfer\")\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n ]),\n _: 1\n }),\n (_ctx.showDeleteAlert)\n ? (_openBlock(), _createBlock(_component_AlertBox, {\n key: 0,\n onClose: _cache[13] || (_cache[13] = $event => (_ctx.showDeleteAlert = false))\n }, {\n header: _withCtx(() => [\n _hoisted_34\n ]),\n body: _withCtx(() => [\n _hoisted_35\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"btn btn-tertiary\",\n onClick: _cache[11] || (_cache[11] = $event => (_ctx.showDeleteAlert = false))\n }, \"Cancel\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary\",\n onClick: _cache[12] || (_cache[12] = (...args) => (_ctx.yesClicked && _ctx.yesClicked(...args)))\n }, \"Delete\")\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]))\n}","\nimport { Options, Vue } from 'vue-class-component';\nimport ModalBox from '@/shared/components/modal-box/index.vue';\nimport { Inject, Prop, Watch } from 'vue-property-decorator';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { EventEmitter } from 'events';\nimport store from '@/trust-admin-app/store';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport V3DatePicker from 'vue3-datepicker';\nimport AlertBox from '@/shared/components/alert-box/index.vue';\nimport debounce from 'lodash/debounce';\nimport moment from 'moment';\nimport { FirmSearchRequest, InvestigationView, LinkedPracticeRequest, LinkedPracticeView, PracticeView } from '@/shared/modules/typescript-trustapi-client/models';\n\n\n@Options({\n components: {\n ModalBox,\n LoadingIndicator,\n ErrorIndicator,\n V3DatePicker,\n AlertBox\n },\n mixins: [FormatDateTimeMixin]\n})\nexport default class AddEditLinkedPracticeModal extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n // @Inject({ from: 'correspondenceType', default: {} })\n // private correspondenceType!: CorrespondenceType[];\n\n @Prop({ default: {} })\n public linkedPractice!: LinkedPracticeView;\n\n @Prop({ default: 1 })\n public mode!: number;\n\n @Prop({ default: {} })\n public practice!: PracticeView;\n\n private formData: LinkedPracticeView = null as any;\n private submitting = false;\n private showDeleteAlert = false;\n\n private isOpen = false;\n private arrowCounter = -1;\n private practiceList: PracticeView[] = [];\n private search = '';\n private isSearching = false;\n private srchDebounced: any = null;\n private currentSelectedPractice: PracticeView = null as any;\n\n\n private createInvestigation = false;\n private effectiveDate: Date = null as any;\n private loadingContent = false;\n private errorLoadingContent = false;\n \n\n @Watch('search')\n private onKeywordChange(): void {\n if (this.search.length > 2 && this.practiceList.filter(x => x.name == this.search).length == 0) {\n this.currentSelectedPractice = null as any;\n setTimeout(this.srchDebounced.cancel, 0);\n setTimeout(this.srchDebounced, 0);\n }\n }\n\n created(): void {\n this.init();\n }\n\n mounted(): void {\n window.addEventListener('click', this.handleClickOutside);\n this.srchDebounced = debounce(() => {\n this.searchPractice();\n }, 1000);\n }\n\n beforeUnmount(): void {\n window.removeEventListener('click', this.handleClickOutside);\n }\n\n private async init(): Promise {\n\n try {\n this.loadingContent = true;\n this.errorLoadingContent = false;\n\n this.formData = JSON.parse(JSON.stringify(this.linkedPractice));\n this.formData.id = this.formData.id ?? 0;\n \n if (this.editMode) {\n this.effectiveDate = this.formData.linkedDate ? new Date(this.formData.linkedDate) : new Date();\n\n const practiceId = this.mode == 1 ? this.formData.fromPracticeId : this.formData.toPracticeId;\n\n const resp2: any = await this.apiService.PracticeApi?.apiV2PracticeGetPracticeByIdPracticeIdGet(\n practiceId\n );\n \n this.currentSelectedPractice = resp2.data.data ?? null;\n \n this.practiceList.push(this.currentSelectedPractice);\n this.search = this.currentSelectedPractice.name;\n }\n\n } catch {\n this.errorLoadingContent = true;\n } finally {\n this.loadingContent = false;\n } \n\n }\n\n private async searchPractice(): Promise {\n const _body: FirmSearchRequest = {\n keyword: this.search,\n isExactMatch: false\n }\n try {\n this.isSearching = true;\n\n const resp: any = await this.apiService.PracticeApi?.apiV2PracticeSearchPracticePost(_body);\n this.practiceList = resp.data.data as PracticeView[];\n this.isOpen = this.practiceList.length > 0;\n } catch (err) {\n this.isOpen = false;\n } finally {\n this.isSearching = false;\n }\n }\n\n private async saveLinkedPractice(): Promise {\n try {\n\n this.submitting = true;\n const linkedPracReq: LinkedPracticeRequest = {\n id: this.formData.id,\n fromPracticeId: this.mode == 1 ? this.currentSelectedPractice.id : this.practice.id,\n toPracticeId: this.mode == 1 ? this.practice.id : this.currentSelectedPractice.id,\n linkedDate: !this.editMode ? null : this.effectiveDate,\n }\n const resp: any = await this.apiService.PracticeApi?.apiV2PracticeSaveLinkedPracticePost(linkedPracReq);\n\n if (this.formData.id == 0) {\n this.eventCtrl.emit('show-snackbar', 'success', 'The linked practice has been transfered.');\n } else {\n this.eventCtrl.emit('show-snackbar', 'success', 'The linked practice has been updated');\n }\n\n if (this.createInvestigation) {\n const investigation: InvestigationView = {\n id: null,\n latestPracticeLogData: {}\n };\n investigation.latestPracticeLogData['practiceId'] = this.mode == 1 ? linkedPracReq.fromPracticeId : linkedPracReq.toPracticeId;\n\n // console.log(investigation);\n this.eventCtrl.emit('showAddEditInvestigationModal', investigation);\n }\n\n this.eventCtrl.emit('reload-linked-practices');\n this.closeModal();\n\n } catch (err) {\n if (this.formData.id == 0) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Problem transfering practice.');\n } else {\n this.eventCtrl.emit('show-snackbar', 'error', 'Problem editing transfer.');\n }\n } finally {\n this.submitting = false;\n }\n\n }\n\n private yesClicked(): void {\n this.deleteTransfer();\n }\n\n private async deleteTransfer(): Promise {\n try {\n this.submitting = true;\n const resp: any = await this.apiService.PracticeApi?.apiV2PracticeDeleteLinkedPracticeIdDelete(\n this.formData.id\n );\n this.eventCtrl.emit('reload-linked-practices');\n this.eventCtrl.emit('show-snackbar', 'success', 'Linked practice has been deleted successfully');\n this.closeModal();\n } catch {\n this.eventCtrl.emit('show-snackbar', 'error', 'Problem deleting linked practice');\n } finally {\n this.submitting = false;\n }\n }\n\n private selectPractice(p: PracticeView): void {\n this.isOpen = false;\n this.search = p.name;\n this.currentSelectedPractice = p;\n }\n\n private onArrowDown(evt: any) {\n if (this.arrowCounter < this.practiceList.length) {\n this.arrowCounter = this.arrowCounter + 1;\n }\n }\n\n private onArrowUp(): void {\n if (this.arrowCounter > 0) {\n this.arrowCounter = this.arrowCounter - 1;\n }\n }\n\n private onEnter() {\n if (this.practiceList.length > 0) {\n this.selectPractice(\n this.practiceList[this.arrowCounter === -1 ? 0 : this.arrowCounter]\n );\n }\n this.isOpen = false;\n }\n\n private handleClickOutside(evt: any): void {\n if (this.$el === (evt.target)) {\n this.isOpen = false;\n this.arrowCounter = -1;\n }\n }\n\n private highlightWord(word: string): string {\n try {\n const regex = new RegExp('(' + this.search + ')', 'ig');\n return word.replace(regex, '$1');\n } catch (err) {\n return word;\n }\n }\n\n\n\n get validForm(): boolean {\n if (this.editMode) {\n return !!this.currentSelectedPractice && !!this.effectiveDate;\n } else {\n return !!this.currentSelectedPractice;\n }\n }\n\n get isFormDirty(): boolean {\n // const chk1 = this.currentSelectedPractice.id != (this.mode == 1 ? this.formData.fromPracticeId : this.formData.toPracticeId);\n // const chk2 = moment(moment(this.formData.linkedDate ?? this.effectiveDate).format('YYYY-MM-DD')).unix() !=\n // moment(moment(this.effectiveDate).format('YYYY-MM-DD')).unix();\n\n // return chk1 && chk2;\n return true;\n }\n\n get practiceName(): string {\n return this.practice?.branchId > 0 ? (this.practice.firmName + ' (' + this.practice.branchTradingName + ')') : this.practice.firmName;\n }\n\n get editMode(): boolean {\n return this.linkedPractice.id > 0;\n }\n\n private closeModal() {\n this.$emit('closeAddEditLinkedPracticeModal');\n }\n\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n}\n\n","import { render } from \"./add-edit-linked-practice-modal.html?vue&type=template&id=7973a0f9&scoped=true&ts=true&external\"\nimport script from \"./add-edit-linked-practice-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./add-edit-linked-practice-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./add-edit-linked-practice-modal.scss?vue&type=style&index=0&id=7973a0f9&scoped=true&lang=sccs&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7973a0f9\"]])\n\nexport default __exports__","\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport store from \"@/trust-admin-app/store\";\nimport { EventEmitter } from \"events\";\nimport {Inject, Options, Vue} from \"vue-property-decorator\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport { LinkedPracticeView, PracticeView } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { AppInsights } from \"@/trust-admin-app/appInsights\";\nimport AddEditLinkedPracticeModal from \"./add-edit-linked-practice-modal/index.vue\";\n\n@Options({\n components: {\n LoadingIndicator,\n ErrorIndicator,\n AddEditLinkedPracticeModal,\n },\n mixins: [FormatDateTimeMixin]\n})\nexport default class PracticeLinkedPractices extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private linkedPracticesHeadings = [\n { text: 'Practice (Trading name)', value: 'practiceName', sortable: false },\n { text: 'Practice - branch ID', value: 'practiceBranchID', sortable: false },\n { text: 'Latest trust status', value: 'latestTrustStatus', sortable: false },\n { text: 'Date', value: 'Date', sortable: false },\n { text: 'Action', value: 'actions', sortable: false }\n ];\n\n private ai = new AppInsights;\n\n private loadingContent = false;\n private errorLoadingContent = false;\n private showLinkedPracticeModal = false;\n private selectedLinkedPractice = null as any;\n private transferMode = -1;\n private linkedPractices: LinkedPracticeView[] = [];\n\n\n created(): void {\n this.loadLinkedPractices();\n }\n\n mounted(): void {\n this.eventCtrl.on('reload-linked-practices', this.loadLinkedPractices);\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-linked-practices', this.loadLinkedPractices);\n }\n\n private async loadLinkedPractices(): Promise {\n try {\n this.loadingContent = true;\n this.errorLoadingContent = false;\n const res: any = await this.apiService.PracticeApi?.apiV2PracticeGetLinkedPracticesPracticeIdGet(this.selectedPractice.id);\n this.linkedPractices = res.data.data;\n } catch (error) {\n this.errorLoadingContent = true;\n this.eventCtrl.emit('show-snackbar', 'error', 'Error on loading linked practices - ' + error);\n this.ai.trackException('Error on loading linked practices: ' + error);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private openAddEditLinkedPracticeModal(lp: LinkedPracticeView, mode: number): void {\n this.selectedLinkedPractice = lp;\n this.transferMode = mode;\n this.showLinkedPracticeModal = true;\n }\n\n private closeAddEditLinkedPracticeModal(): void {\n this.selectedLinkedPractice = null as any;\n this.transferMode = -1;\n this.showLinkedPracticeModal = false;\n }\n\n get practicesFrom(): LinkedPracticeView[] {\n return this.linkedPractices.filter(x => x.isFromPractice);\n }\n\n get practicesTo(): LinkedPracticeView[] {\n return this.linkedPractices.filter(x => !x.isFromPractice);\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n\n}\n\n","import { render } from \"./practice-linked-practices.html?vue&type=template&id=5fbc98d4&scoped=true&ts=true&external\"\nimport script from \"./practice-linked-practices.ts?vue&type=script&lang=ts&external\"\nexport * from \"./practice-linked-practices.ts?vue&type=script&lang=ts&external\"\n\nimport \"./practice-linked-practices.scss?vue&type=style&index=0&id=5fbc98d4&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5fbc98d4\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, vModelCheckbox as _vModelCheckbox, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-64bdc7e8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"trust-data-accounting\" }\nconst _hoisted_2 = { class: \"section-heading\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Maintain trust data\", -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Accounting Software\", -1))\nconst _hoisted_5 = { class: \"search\" }\nconst _hoisted_6 = { class: \"search-inputs\" }\nconst _hoisted_7 = { class: \"search-bar\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-hm\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-search fa-lg\" })\n], -1))\nconst _hoisted_9 = { class: \"checkbox-button ml-2\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Show active only\")\n], -1))\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"space-filler\",\n style: {\"flex-grow\":\"1\"}\n}, null, -1))\nconst _hoisted_12 = { class: \"accounting-software\" }\nconst _hoisted_13 = { class: \"ls-table\" }\nconst _hoisted_14 = { key: 0 }\nconst _hoisted_15 = [\"colspan\"]\nconst _hoisted_16 = { key: 1 }\nconst _hoisted_17 = [\"colspan\"]\nconst _hoisted_18 = { key: 2 }\nconst _hoisted_19 = [\"colspan\"]\nconst _hoisted_20 = { \"data-label\": \"Name\" }\nconst _hoisted_21 = { \"data-label\": \"Certified\" }\nconst _hoisted_22 = { \"data-label\": \"Status\" }\nconst _hoisted_23 = { \"data-label\": \"Show in ATCS\" }\nconst _hoisted_24 = { \"data-label\": \"Actions\" }\nconst _hoisted_25 = [\"onClick\"]\nconst _hoisted_26 = [\"onClick\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_AddEditAccountingSoftwareModal = _resolveComponent(\"AddEditAccountingSoftwareModal\")\n const _component_AccountingSoftwareAuditTrailModal = _resolveComponent(\"AccountingSoftwareAuditTrailModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.searchKeyword) = $event)),\n placeholder: \"Search accounting software\"\n }, null, 512), [\n [_vModelText, _ctx.searchKeyword]\n ]),\n _hoisted_8\n ]),\n _createElementVNode(\"label\", _hoisted_9, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.showActiveOnly) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.showActiveOnly]\n ]),\n _hoisted_10\n ]),\n _hoisted_11,\n _createElementVNode(\"button\", {\n class: \"btn btn-primary mr-2\",\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.addAccountingSoftware()))\n }, \"Add new accounting software\")\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"table\", _hoisted_13, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", null, [\n _createElementVNode(\"div\", null, _toDisplayString(h.text), 1)\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_14, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_15)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_16, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_17)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.filteredSoftwareList.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_18, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, \"No Records\", 8, _hoisted_19)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.filteredSoftwareList.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.filteredSoftwareList, (a) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_20, _toDisplayString(a.name), 1),\n _createElementVNode(\"td\", _hoisted_21, _toDisplayString(a.certifiedType?.name), 1),\n _createElementVNode(\"td\", _hoisted_22, _toDisplayString(a.status.name), 1),\n _createElementVNode(\"td\", _hoisted_23, _toDisplayString(a.isShowInAtcs ? 'Yes' : 'No'), 1),\n _createElementVNode(\"td\", _hoisted_24, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml mr-2\",\n onClick: $event => (_ctx.editAccountingSoftware(a))\n }, \"Edit\", 8, _hoisted_25),\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml\",\n onClick: $event => (_ctx.viewAccountingSoftwareAuditTrail(a))\n }, \"Audit Trail\", 8, _hoisted_26)\n ])\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary sml mt-2\",\n onClick: _cache[3] || (_cache[3] = $event => (_ctx.addAccountingSoftware()))\n }, \"Add new accounting software\")\n ]),\n (_ctx.showAddEditModal)\n ? (_openBlock(), _createBlock(_component_AddEditAccountingSoftwareModal, {\n key: 0,\n accountingApp: _ctx.selectedAccountSoftware,\n onCloseAddEditAccountingSoftwareModal: _cache[4] || (_cache[4] = $event => {_ctx.showAddEditModal = false;})\n }, null, 8, [\"accountingApp\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showAuditTrailModal)\n ? (_openBlock(), _createBlock(_component_AccountingSoftwareAuditTrailModal, {\n key: 1,\n accountingApp: _ctx.selectedAccountSoftware,\n onCloseAuditTrailModal: _cache[5] || (_cache[5] = $event => {_ctx.showAuditTrailModal = false;})\n }, null, 8, [\"accountingApp\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vModelRadio as _vModelRadio, resolveComponent as _resolveComponent, createBlock as _createBlock, withModifiers as _withModifiers, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4a1677a8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"add-edit-accounting-software\" }\nconst _hoisted_2 = { class: \"heading-text\" }\nconst _hoisted_3 = { class: \"line1\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"line2\" }, \"Accounting Software\", -1))\nconst _hoisted_5 = { class: \"body-main\" }\nconst _hoisted_6 = { class: \"ls-form\" }\nconst _hoisted_7 = { class: \"input-box-1\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Name of accounting software *\", -1))\nconst _hoisted_9 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_11 = { class: \"radio-buttons\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Status\", -1))\nconst _hoisted_13 = { style: {\"display\":\"flex\"} }\nconst _hoisted_14 = { style: {\"float\":\"left\"} }\nconst _hoisted_15 = { class: \"radio\" }\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"Active\")\n], -1))\nconst _hoisted_17 = {\n class: \"ml-4\",\n style: {\"float\":\"left\"}\n}\nconst _hoisted_18 = { class: \"radio\" }\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"Inactive\")\n], -1))\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_21 = { class: \"radio-buttons\" }\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Show in ATCS\", -1))\nconst _hoisted_23 = { style: {\"display\":\"flex\"} }\nconst _hoisted_24 = { style: {\"float\":\"left\"} }\nconst _hoisted_25 = { class: \"radio\" }\nconst _hoisted_26 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"Yes\")\n], -1))\nconst _hoisted_27 = {\n class: \"ml-4\",\n style: {\"float\":\"left\"}\n}\nconst _hoisted_28 = { class: \"radio\" }\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"No\")\n], -1))\nconst _hoisted_30 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_31 = { class: \"radio-buttons\" }\nconst _hoisted_32 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Certified\", -1))\nconst _hoisted_33 = { style: {\"display\":\"flex\"} }\nconst _hoisted_34 = { style: {\"float\":\"left\"} }\nconst _hoisted_35 = { class: \"radio\" }\nconst _hoisted_36 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"Trust\")\n], -1))\nconst _hoisted_37 = {\n class: \"ml-4\",\n style: {\"float\":\"left\"}\n}\nconst _hoisted_38 = { class: \"radio\" }\nconst _hoisted_39 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"General\")\n], -1))\nconst _hoisted_40 = {\n class: \"ml-4\",\n style: {\"float\":\"left\"}\n}\nconst _hoisted_41 = { class: \"radio\" }\nconst _hoisted_42 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"Both\")\n], -1))\nconst _hoisted_43 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_44 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_45 = { class: \"controls\" }\nconst _hoisted_46 = [\"disabled\"]\nconst _hoisted_47 = [\"disabled\"]\nconst _hoisted_48 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-right\" })\n], -1))\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n onClose: _cache[10] || (_cache[10] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(!_ctx.editMode ? 'Add new accounting software' : 'Edit ' + _ctx.accountingApp.name), 1),\n _hoisted_4\n ])\n ]),\n body: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"form\", _hoisted_6, [\n _createElementVNode(\"fieldset\", _hoisted_7, [\n _hoisted_8,\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.formData.name) = $event)),\n maxlength: \"200\"\n }, null, 512), [\n [_vModelText, _ctx.formData.name]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [ _ctx.formData.name.length === 200 ? 'full' : '']])\n }, _toDisplayString(_ctx.formData.name.length) + \"/200 characters \", 3),\n (_ctx.formData.name === '')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _hoisted_10,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"fieldset\", _hoisted_11, [\n _hoisted_12,\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"label\", _hoisted_15, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"status\",\n value: 1,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.status) = $event))\n }, null, 512), [\n [_vModelRadio, _ctx.status]\n ]),\n _hoisted_16\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"label\", _hoisted_18, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"status\",\n value: 2,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.status) = $event))\n }, null, 512), [\n [_vModelRadio, _ctx.status]\n ]),\n _hoisted_19\n ])\n ])\n ])\n ]),\n _hoisted_20,\n _createElementVNode(\"fieldset\", _hoisted_21, [\n _hoisted_22,\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"label\", _hoisted_25, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"isShowInAtcs\",\n value: true,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => ((_ctx.isShowInAtcs) = $event))\n }, null, 512), [\n [_vModelRadio, _ctx.isShowInAtcs]\n ]),\n _hoisted_26\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_27, [\n _createElementVNode(\"label\", _hoisted_28, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"isShowInAtcs\",\n value: false,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.isShowInAtcs) = $event))\n }, null, 512), [\n [_vModelRadio, _ctx.isShowInAtcs]\n ]),\n _hoisted_29\n ])\n ])\n ])\n ]),\n _hoisted_30,\n _createElementVNode(\"fieldset\", _hoisted_31, [\n _hoisted_32,\n _createElementVNode(\"div\", _hoisted_33, [\n _createElementVNode(\"div\", _hoisted_34, [\n _createElementVNode(\"label\", _hoisted_35, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"certified\",\n value: 1,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => ((_ctx.certified) = $event))\n }, null, 512), [\n [_vModelRadio, _ctx.certified]\n ]),\n _hoisted_36\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_37, [\n _createElementVNode(\"label\", _hoisted_38, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"certified\",\n value: 2,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => ((_ctx.certified) = $event))\n }, null, 512), [\n [_vModelRadio, _ctx.certified]\n ]),\n _hoisted_39\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_40, [\n _createElementVNode(\"label\", _hoisted_41, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"certified\",\n value: 3,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => ((_ctx.certified) = $event))\n }, null, 512), [\n [_vModelRadio, _ctx.certified]\n ]),\n _hoisted_42\n ])\n ])\n ]),\n (!_ctx.certified)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_43, [\n _hoisted_44,\n _createTextVNode(\" Mandatory field \")\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_45, [\n (_ctx.submitting)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-default\",\n disabled: _ctx.submitting,\n onClick: _cache[8] || (_cache[8] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\",\"stop\"]))\n }, \"Back\", 8, _hoisted_46),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n disabled: _ctx.submitting || !_ctx.isFormDirty,\n onClick: _cache[9] || (_cache[9] = _withModifiers((...args) => (_ctx.saveAccountingSoftware && _ctx.saveAccountingSoftware(...args)), [\"prevent\",\"stop\"]))\n }, [\n _createTextVNode(_toDisplayString(!_ctx.editMode ? 'Add' : 'Save changes'), 1),\n _hoisted_48\n ], 8, _hoisted_47)\n ])\n ]),\n _: 1\n })\n ]))\n}","\nimport { Options, Vue } from 'vue-class-component';\nimport ModalBox from '@/shared/components/modal-box/index.vue';\nimport { Inject, Prop } from 'vue-property-decorator';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { EventEmitter } from 'events';\nimport store from '../../../store';\nimport { AccountingAppRequest, AccountingAppView, Status } from '@/shared/modules/typescript-trustapi-client/models';\n\n@Options({\n components: {\n ModalBox,\n LoadingIndicator,\n }\n})\nexport default class AddEditAccountingSoftwareModal extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Inject({ from: 'statusType', default: [] })\n private statusType!: Status[];\n\n @Prop({ default: {}})\n private accountingApp!: AccountingAppView;\n private formData: AccountingAppView = {};\n\n private status = 1;\n private isShowInAtcs = false; // Default is No\n private certified = null;\n private submitting = false;\n private loadingContent = false;\n private errorLoadingContent = false;\n private showCancelAlert = false;\n\n\n\n created(): void {\n this.formData = JSON.parse(JSON.stringify(this.accountingApp));\n \n if (this.editMode) {\n this.status = this.formData.status.id;\n this.certified = this.formData.certifiedType.id;\n this.isShowInAtcs = this.formData.isShowInAtcs;\n } else {\n this.formData.status = {\n id: 1\n }\n this.formData.certifiedType = {\n id: null\n }\n }\n\n }\n\n private async saveAccountingSoftware(): Promise {\n try {\n if (!this.validForm && !this.isFormDirty) {\n throw new Error('Invalid Data Filled');\n } \n this.submitting = true;\n this.formData.status = {\n id: this.status\n }\n this.formData.isShowInAtcs = this.isShowInAtcs;\n this.formData.certifiedType = {\n id: this.certified\n }\n const appReq: AccountingAppRequest = {\n id: this.formData.id,\n name: this.formData.name,\n description: this.formData.name,\n statusId: this.formData.status?.id,\n isShowInAtcs: this.formData.isShowInAtcs,\n certifiedTypeId: this.formData.certifiedType?.id,\n };\n const resp: any =\n await this.apiService.AccountingAppApi?.apiV2AccountingAppSaveAccountingAppPost(appReq);\n this.eventCtrl.emit('reload-accounting-software');\n\n if (appReq.id == 0) {\n this.eventCtrl.emit('show-snackbar', 'success', 'Added Successfully');\n } else {\n this.eventCtrl.emit('show-snackbar', 'success', 'Updated Successfully');\n }\n this.closeModal();\n } catch(err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to process request');\n } finally {\n this.submitting = false;\n }\n }\n\n \n get validForm(): boolean {\n try {\n return this.formData.name.trim() &&\n this.formData.name.trim().length <= 200 &&\n this.status && this.certified;\n } catch {\n return false;\n }\n }\n\n get isFormDirty(): boolean {\n if (this.editMode) {\n const modifiedAppName = this.accountingApp.name !== this.formData.name;\n const modifiedStatus = this.accountingApp.status.id !== this.status;\n const modifiedCertified = this.accountingApp.certifiedType.id !== this.certified;\n const modifiedIsShowInAtcs = this.accountingApp.isShowInAtcs !== this.isShowInAtcs;\n return modifiedAppName || modifiedStatus || modifiedCertified || modifiedIsShowInAtcs;\n } else {\n return !!this.formData.name && this.formData.name.length > 0;\n }\n }\n\n private closeModal() {\n this.$emit('closeAddEditAccountingSoftwareModal');\n }\n\n get editMode(): boolean {\n return this.accountingApp?.id > 0;\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n}\n\n","import { render } from \"./add-edit-modal.html?vue&type=template&id=4a1677a8&scoped=true&ts=true&external\"\nimport script from \"./add-edit-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./add-edit-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./add-edit-modal.scss?vue&type=style&index=0&id=4a1677a8&scoped=true&lang=sccs&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4a1677a8\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7ecb2e14\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"accounting-software-audit-trail-modal\" }\n\nexport function render(_ctx, _cache) {\n const _component_AuditTrailModal = _resolveComponent(\"AuditTrailModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_AuditTrailModal, {\n applicationName: _ctx.accountingApp.name,\n applicationTypeName: 'Accounting Software',\n auditTrailData: _ctx.auditTrail,\n loadingContent: _ctx.loadingContent,\n errorLoadingContent: _ctx.errorLoadingContent,\n onCloseAuditTrailModal: _cache[0] || (_cache[0] = $event => (_ctx.closeModal()))\n }, null, 8, [\"applicationName\", \"auditTrailData\", \"loadingContent\", \"errorLoadingContent\"])\n ]))\n}","\nimport { Options, Vue } from 'vue-class-component';\nimport { Inject, Prop } from 'vue-property-decorator';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport { AccountingAppView, AuditTrailView } from '@/shared/modules/typescript-trustapi-client/models';\nimport AuditTrailModal from '../../audit-trail-modal/index.vue';\nimport { orderBy } from 'lodash';\n\n@Options({\n components: {\n AuditTrailModal\n }\n})\nexport default class AccountingSoftwareAuditTrailModal extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop({ default: {}})\n private accountingApp!: AccountingAppView;\n\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private auditTrail: AuditTrailView[] = [];\n\n created(): void {\n this.loadAuditTrail();\n }\n\n private closeModal(): void {\n this.$emit('closeAuditTrailModal');\n }\n\n private async loadAuditTrail(): Promise {\n try {\n this.errorLoadingContent = false;\n this.loadingContent = true;\n const resp: any =\n await this.apiService.AccountingAppApi?.apiV2AccountingAppGetAccountingAppAuditTrailsAccountingAppIdGet(\n this.accountingApp.id\n );\n this.auditTrail = resp.data.data as AuditTrailView[];\n this.auditTrail = orderBy(\n this.auditTrail,\n ['date'],\n ['desc']\n );\n } catch (err) {\n this.errorLoadingContent = true;\n } finally {\n this.loadingContent = false;\n }\n }\n\n}\n\n","import { render } from \"./accounting-software-audit-trail-modal.html?vue&type=template&id=7ecb2e14&scoped=true&ts=true&external\"\nimport script from \"./accounting-software-audit-trail-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./accounting-software-audit-trail-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./accounting-software-audit-trail-modal.scss?vue&type=style&index=0&id=7ecb2e14&scoped=true&lang=sccs&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7ecb2e14\"]])\n\nexport default __exports__","import { TrustAPI } from '@/shared/modules/trust-api';\nimport { AccountingAppView } from '@/shared/modules/typescript-trustapi-client/models';\nimport { Options, Vue } from 'vue-class-component';\nimport { Inject } from 'vue-property-decorator';\nimport AddEditAccountingSoftwareModal from './add-edit-modal/index.vue';\nimport { orderBy } from \"lodash\";\nimport { EventEmitter } from 'events';\nimport store from '@/trust-admin-app/store';\nimport AccountingSoftwareAuditTrailModal from './accounting-software-audit-trail-modal/index.vue';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\n@Options({\n components: {\n AddEditAccountingSoftwareModal,\n AccountingSoftwareAuditTrailModal,\n LoadingIndicator,\n ErrorIndicator\n }\n})\nexport default class TrustDataAccountingSoftware extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private tableHeadings = [\n { text: 'Name', value: 'name', sortable: false },\n { text: 'Certified', value: 'certified', sortable: false },\n { text: 'Status', value: 'status', sortable: false },\n { text: 'Show in ATCS', value: 'isShowInAtcs', sortable: false},\n { text: 'Actions', value: 'actions', sortable: false },\n ];\n\n private selectedAccountSoftware: AccountingAppView = {\n id: null,\n name: null,\n description: null,\n status: null,\n certifiedType: null,\n };\n\n private searchKeyword = '';\n private showActiveOnly = true;\n private showAddEditModal = false;\n private showAuditTrailModal = false;\n private loadingContent = false;\n private errorLoadingContent = false;\n\n\n private accountingSoftwareList: AccountingAppView[] = [];\n\n created(): void {\n this.loadAccountSoftwareList();\n }\n\n mounted() {\n this.eventCtrl.on('reload-accounting-software', this.loadAccountSoftwareList);\n }\n\n beforeUnmount() {\n this.eventCtrl.off('reload-accounting-software', this.loadAccountSoftwareList);\n }\n\n private async loadAccountSoftwareList(): Promise {\n try {\n this.loadingContent = true;\n this.errorLoadingContent = false;\n const body: any = {\n 'skip': null,\n 'take': null,\n 'keyword': this.searchKeyword\n } as any;\n \n const resp: any =\n await this.apiService.AccountingAppApi?.apiV2AccountingAppGetAccountingAppsPost(body, false);\n this.accountingSoftwareList = resp.data.data as AccountingAppView[];\n this.accountingSoftwareList = orderBy(\n this.accountingSoftwareList,\n [data => data.name.toLowerCase()],\n ['asc']\n );\n } catch (err) {\n this.errorLoadingContent = true;\n console.log(err);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private editAccountingSoftware(accountingApp: AccountingAppView): void {\n this.selectedAccountSoftware = accountingApp;\n this.showAddEditModal = true;\n }\n\n private addAccountingSoftware(): void {\n this.selectedAccountSoftware = {\n id: 0,\n name: '',\n description: null,\n status: null\n };\n\n this.showAddEditModal = true;\n }\n \n private viewAccountingSoftwareAuditTrail(accountingApp: AccountingAppView): void {\n this.selectedAccountSoftware = accountingApp;\n this.showAuditTrailModal = true;\n }\n\n get filteredSoftwareList(): AccountingAppView[] {\n let accAppList: AccountingAppView[] = this.accountingSoftwareList;\n if (this.showActiveOnly) {\n accAppList = this.accountingSoftwareList.filter(\n x => x.status.name == 'Active'\n );\n }\n\n if (this.searchKeyword.trim()) {\n accAppList = this.accountingSoftwareList.filter(\n x => x.name.toLocaleLowerCase().includes(this.searchKeyword.toLocaleLowerCase())\n );\n }\n\n return accAppList;\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n}\n","import { render } from \"./trust-data-accounting-software.html?vue&type=template&id=64bdc7e8&scoped=true&ts=true&external\"\nimport script from \"./trust-data-accounting-software.ts?vue&type=script&lang=ts&external\"\nexport * from \"./trust-data-accounting-software.ts?vue&type=script&lang=ts&external\"\n\nimport \"./trust-data-accounting-software.scss?vue&type=style&index=0&id=64bdc7e8&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-64bdc7e8\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, createVNode as _createVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-218889c0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"trust-data-external-examiner\" }\nconst _hoisted_2 = { class: \"section-heading\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Maintain trust data\", -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"External Examiner\", -1))\nconst _hoisted_5 = { class: \"search\" }\nconst _hoisted_6 = { class: \"search-inputs\" }\nconst _hoisted_7 = { class: \"search-bar\" }\nconst _hoisted_8 = { class: \"icon-hm\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"fal fa-spinner fa-spin fa-lg\"\n}\nconst _hoisted_10 = {\n key: 1,\n class: \"fal fa-search fa-lg\"\n}\nconst _hoisted_11 = [\"disabled\"]\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"space-filler\",\n style: {\"flex-grow\":\"1\"}\n}, null, -1))\nconst _hoisted_13 = { class: \"table-section\" }\nconst _hoisted_14 = { class: \"ls-table\" }\nconst _hoisted_15 = [\"onClick\"]\nconst _hoisted_16 = { class: \"text\" }\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-up\" }, null, -1))\nconst _hoisted_18 = [\n _hoisted_17\n]\nconst _hoisted_19 = { key: 0 }\nconst _hoisted_20 = [\"colspan\"]\nconst _hoisted_21 = { key: 1 }\nconst _hoisted_22 = [\"colspan\"]\nconst _hoisted_23 = { key: 2 }\nconst _hoisted_24 = [\"colspan\"]\nconst _hoisted_25 = { key: 3 }\nconst _hoisted_26 = [\"colspan\"]\nconst _hoisted_27 = { \"data-label\": \"LawID\" }\nconst _hoisted_28 = { \"data-label\": \"Email\" }\nconst _hoisted_29 = { \"data-label\": \"Last Name\" }\nconst _hoisted_30 = { \"data-label\": \"First Name\" }\nconst _hoisted_31 = { \"data-label\": \"Actions\" }\nconst _hoisted_32 = [\"onClick\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_AddEeModal = _resolveComponent(\"AddEeModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n placeholder: \"Enter LawID or name\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.searchText) = $event))\n }, null, 512), [\n [_vModelText, _ctx.searchText]\n ]),\n _createElementVNode(\"span\", _hoisted_8, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_9))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_10))\n ])\n ]),\n _createElementVNode(\"button\", {\n class: \"search-btn btn btn-secondary sml\",\n onClick: _cache[1] || (_cache[1] = $event => (_ctx.searchEE())),\n disabled: _ctx.loadingContent\n }, \" Search \", 8, _hoisted_11),\n _hoisted_12,\n _createElementVNode(\"button\", {\n class: \"btn btn-primary mr-2\",\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.showAddEEModal = true))\n }, \"Add External examiner\")\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"table\", _hoisted_14, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", {\n class: _normalizeClass([ h.sortable ? 'sortable' : '']),\n onClick: $event => (_ctx.sortTableColumn(index, h.sortable))\n }, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(h.text), 1),\n (h.sortable)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([ _ctx.activeSortHeader === index ? 'active' : '', h.sortMethod])\n }, _hoisted_18, 2))\n : _createCommentVNode(\"\", true)\n ])\n ], 10, _hoisted_15))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.firstLoad)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_19, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, \"Please search for a record\", 8, _hoisted_20)\n ]))\n : (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_21, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_22)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_23, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_24)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.eeList.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_25, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, \"No results found. Please search again.\", 8, _hoisted_26)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.eeList.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 4 }, _renderList(_ctx.eeListDisplay, (ee) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_27, _toDisplayString(ee.lawId), 1),\n _createElementVNode(\"td\", _hoisted_28, _toDisplayString(ee.email), 1),\n _createElementVNode(\"td\", _hoisted_29, _toDisplayString(ee.lastName), 1),\n _createElementVNode(\"td\", _hoisted_30, _toDisplayString(ee.firstName), 1),\n _createElementVNode(\"td\", {\n \"data-label\": \"Status\",\n class: _normalizeClass(ee.inactive ? 'inactive' : 'active')\n }, _toDisplayString(ee.inactive ? 'Inactive' : 'Active'), 3),\n _createElementVNode(\"td\", _hoisted_31, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml ml-2\",\n onClick: $event => (_ctx.gotoExternalExaminerDashboard(ee.id))\n }, \"View\", 8, _hoisted_32)\n ])\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n (_ctx.showAddEEModal)\n ? (_openBlock(), _createBlock(_component_AddEeModal, {\n key: 0,\n onCloseEEModal: _cache[3] || (_cache[3] = $event => (_ctx.showAddEEModal = false))\n }))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vModelText as _vModelText, withDirectives as _withDirectives, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, vModelRadio as _vModelRadio, resolveComponent as _resolveComponent, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, vModelSelect as _vModelSelect, vModelCheckbox as _vModelCheckbox, withModifiers as _withModifiers, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-69f39176\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"add-ee-modal\" }\nconst _hoisted_2 = { class: \"heading-text\" }\nconst _hoisted_3 = { class: \"line1\" }\nconst _hoisted_4 = { class: \"body-main\" }\nconst _hoisted_5 = { key: 0 }\nconst _hoisted_6 = { key: 1 }\nconst _hoisted_7 = { key: 2 }\nconst _hoisted_8 = { class: \"input-box\" }\nconst _hoisted_9 = {\n key: 3,\n class: \"search\"\n}\nconst _hoisted_10 = { class: \"search-bar\" }\nconst _hoisted_11 = { class: \"icon-hm\" }\nconst _hoisted_12 = {\n key: 0,\n class: \"fal fa-spinner fa-spin fa-lg\"\n}\nconst _hoisted_13 = {\n key: 1,\n class: \"fal fa-search fa-lg\"\n}\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = {\n key: 4,\n class: \"error\"\n}\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"label\" }, \"LawID email\", -1))\nconst _hoisted_19 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }, null, -1))\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_22 = { class: \"col-6\" }\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"label\" }, \"Last name\", -1))\nconst _hoisted_24 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }, null, -1))\nconst _hoisted_26 = { class: \"col-6\" }\nconst _hoisted_27 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"label\" }, \"First name\", -1))\nconst _hoisted_28 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }, null, -1))\nconst _hoisted_30 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_31 = {\n key: 5,\n class: \"radio-group\",\n style: {\"width\":\"300px\"}\n}\nconst _hoisted_32 = { class: \"radio\" }\nconst _hoisted_33 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"Active\")\n], -1))\nconst _hoisted_34 = { class: \"radio\" }\nconst _hoisted_35 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text nowrap\" }, \"Inactive\")\n], -1))\nconst _hoisted_36 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_37 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Firm name\", -1))\nconst _hoisted_38 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_39 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Address\", -1))\nconst _hoisted_40 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_41 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_42 = { style: {\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"start\"} }\nconst _hoisted_43 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"fieldname\" }, \"Telephone number\", -1))\nconst _hoisted_44 = { style: {\"display\":\"flex\",\"justify-content\":\"space-between\",\"width\":\"100%\",\"align-items\":\"center\"} }\nconst _hoisted_45 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"text-field2\" }, \"+61\", -1))\nconst _hoisted_46 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"validation-msg\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }),\n /*#__PURE__*/_createTextVNode(\" Required field. \")\n], -1))\nconst _hoisted_47 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"fieldname\" }, \"Membership type\", -1))\nconst _hoisted_48 = { class: \"dropdown-menu-wrap mt-1\" }\nconst _hoisted_49 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", {\n value: null,\n disabled: \"\",\n selected: \"\"\n}, \"-- Please select --\", -1))\nconst _hoisted_50 = [\"value\"]\nconst _hoisted_51 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"validation-msg\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }),\n /*#__PURE__*/_createTextVNode(\"Required field. \")\n], -1))\nconst _hoisted_52 = { class: \"mt-4\" }\nconst _hoisted_53 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"mb-2\" }, \"Publish on Web\", -1))\nconst _hoisted_54 = { class: \"checkbox-button\" }\nconst _hoisted_55 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ])\n], -1))\nconst _hoisted_56 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"fieldname\" }, \"Proof of External Examiner Course Completion\", -1))\nconst _hoisted_57 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"validation-msg ml-1\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }),\n /*#__PURE__*/_createTextVNode(\" File required. \")\n], -1))\nconst _hoisted_58 = { class: \"file-list mb-2\" }\nconst _hoisted_59 = { class: \"file-name\" }\nconst _hoisted_60 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-file-pdf\" }, null, -1))\nconst _hoisted_61 = [\"onClick\"]\nconst _hoisted_62 = [\"onClick\"]\nconst _hoisted_63 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_64 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { style: {\"display\":\"flex\"} }, [\n /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n style: {\"font-size\":\"20px\",\"color\":\"var(--ls-slate)\"}\n }),\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"ml-2\" }, \"Please be aware that the supported file formats include .PDF, .DOC, .DOCX, .XLS, .XLSX, .RTF, .JPG and .PNG. You may upload up to five files\")\n], -1))\nconst _hoisted_65 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_66 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Reason for termination:\", -1))\nconst _hoisted_67 = [\"disabled\"]\nconst _hoisted_68 = {\n key: 0,\n class: \"validation-msg error\"\n}\nconst _hoisted_69 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }, null, -1))\nconst _hoisted_70 = { class: \"controls\" }\nconst _hoisted_71 = [\"disabled\"]\nconst _hoisted_72 = [\"disabled\"]\n\nexport function render(_ctx, _cache) {\n const _component_PostcodeSearch = _resolveComponent(\"PostcodeSearch\")\n const _component_FileDragAndDrop = _resolveComponent(\"FileDragAndDrop\")\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n const _component_ConfirmDialogue = _resolveComponent(\"ConfirmDialogue\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n onClose: _cache[21] || (_cache[21] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.line1Text), 1)\n ])\n ]),\n body: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_4, [\n (_ctx.selectedEE)\n ? (_openBlock(), _createElementBlock(\"h4\", _hoisted_5, \"Law ID\"))\n : (_openBlock(), _createElementBlock(\"h4\", _hoisted_6, \"Search\")),\n (_ctx.selectedEE)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n maxLength: \"75\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.selectedEE.lawId) = $event)),\n disabled: \"\"\n }, null, 512), [\n [_vModelText, _ctx.selectedEE.lawId]\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n placeholder: \"Search for LawID or email\",\n maxLength: \"75\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.searchText) = $event))\n }, null, 512), [\n [_vModelText, _ctx.searchText]\n ]),\n _createElementVNode(\"span\", _hoisted_11, [\n (_ctx.isSearching)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_12))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_13))\n ])\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml ml-2\",\n disabled: _ctx.searchText.length === 0 || _ctx.isSearching,\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.searchLawIDforEE()))\n }, \"Search\", 8, _hoisted_14)\n ])),\n (_ctx.invalidLawIdEmail)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _hoisted_16,\n _createTextVNode(\" Invalid LawID or email \")\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_17,\n _hoisted_18,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", this.email === '' && _ctx.submitPressed ? 'error': ''])\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n maxLength: \"75\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => ((_ctx.email) = $event)),\n disabled: \"\"\n }, null, 512), [\n [_vModelText, _ctx.email]\n ]),\n (this.email === '' && _ctx.submitPressed)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_19, [\n _hoisted_20,\n _createTextVNode(\" Required field. \")\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _hoisted_21,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"names\", this.lastName === '' && _ctx.submitPressed ? 'error': '']),\n style: {\"display\":\"flex\",\"justify-content\":\"space-between\"}\n }, [\n _createElementVNode(\"div\", _hoisted_22, [\n _hoisted_23,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", this.lastName === '' && _ctx.submitPressed ? 'error': ''])\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n maxLength: \"75\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.lastName) = $event)),\n disabled: \"\"\n }, null, 512), [\n [_vModelText, _ctx.lastName]\n ])\n ], 2),\n (this.lastName === '' && _ctx.submitPressed)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_24, [\n _hoisted_25,\n _createTextVNode(\" Required field. \")\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_26, [\n _hoisted_27,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", this.firstName === '' && _ctx.submitPressed ? 'error': ''])\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n maxLength: \"75\",\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => ((_ctx.firstName) = $event)),\n disabled: \"\"\n }, null, 512), [\n [_vModelText, _ctx.firstName]\n ])\n ], 2),\n (this.firstName === '' && _ctx.submitPressed)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_28, [\n _hoisted_29,\n _createTextVNode(\" Required field. \")\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ], 2),\n _hoisted_30,\n (_ctx.inEditMode)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_31, [\n _createElementVNode(\"label\", _hoisted_32, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"inactive\",\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => ((_ctx.inactive) = $event)),\n value: false\n }, null, 512), [\n [_vModelRadio, _ctx.inactive]\n ]),\n _hoisted_33\n ]),\n _createElementVNode(\"label\", _hoisted_34, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"inactive\",\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => ((_ctx.inactive) = $event)),\n value: true\n }, null, 512), [\n [_vModelRadio, _ctx.inactive]\n ]),\n _hoisted_35\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_36,\n _hoisted_37,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", this.firmName === '' && _ctx.submitPressed ? 'error': ''])\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n placeholder: \"Firm name\",\n maxLength: \"75\",\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => ((_ctx.firmName) = $event))\n }, null, 512), [\n [_vModelText, _ctx.firmName]\n ])\n ], 2),\n _hoisted_38,\n _hoisted_39,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", this.address === '' && _ctx.submitPressed ? 'error': ''])\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n placeholder: \"Address\",\n maxLength: \"75\",\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = $event => ((_ctx.address) = $event))\n }, null, 512), [\n [_vModelText, _ctx.address]\n ])\n ], 2),\n _hoisted_40,\n _createVNode(_component_PostcodeSearch, {\n suburbStatePostcode: _ctx.suburbStatePostcode,\n \"onUpdate:suburbStatePostcode\": _cache[10] || (_cache[10] = $event => ((_ctx.suburbStatePostcode) = $event)),\n suburbError: _ctx.suburbError,\n \"onUpdate:suburbError\": _cache[11] || (_cache[11] = $event => ((_ctx.suburbError) = $event)),\n onUpdateSuburb: _ctx.updateSuburb\n }, null, 8, [\"suburbStatePostcode\", \"suburbError\", \"onUpdateSuburb\"]),\n _hoisted_41,\n _createElementVNode(\"div\", _hoisted_42, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box col-6\", ((!_ctx.phoneNumber || _ctx.phoneNumber === '') && (_ctx.dirtyFields[3] || _ctx.submitPressed)) ? 'error': ''])\n }, [\n _hoisted_43,\n _createElementVNode(\"div\", _hoisted_44, [\n _hoisted_45,\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n maxlength: \"15\",\n \"onUpdate:modelValue\": _cache[12] || (_cache[12] = $event => ((_ctx.phoneNumber) = $event)),\n onChange: _cache[13] || (_cache[13] = $event => (_ctx.dirtyFields[3] = true)),\n placeholder: \"\"\n }, null, 544), [\n [_vModelText, _ctx.phoneNumber]\n ])\n ]),\n _hoisted_46\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"dropdown-menu col-6 ml-4\", (!_ctx.selectedMembershipType && (_ctx.dirtyFields[4] || _ctx.submitPressed)) ? 'error': ''])\n }, [\n _hoisted_47,\n _createElementVNode(\"div\", _hoisted_48, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[14] || (_cache[14] = $event => ((_ctx.selectedMembershipType) = $event)),\n onChange: _cache[15] || (_cache[15] = $event => (_ctx.dirtyFields[4] = true))\n }, [\n _hoisted_49,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.membershipStatusTypes, (membershipT) => {\n return (_openBlock(), _createElementBlock(\"option\", { value: membershipT }, _toDisplayString(membershipT.name), 9, _hoisted_50))\n }), 256))\n ], 544), [\n [_vModelSelect, _ctx.selectedMembershipType]\n ])\n ]),\n _hoisted_51\n ], 2)\n ]),\n _createElementVNode(\"div\", _hoisted_52, [\n _hoisted_53,\n _createElementVNode(\"label\", _hoisted_54, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[16] || (_cache[16] = $event => ((_ctx.publishOnWeb) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.publishOnWeb]\n ]),\n _hoisted_55\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"file-upload mt-4\", (_ctx.uploadedFileList?.length == 0 && (_ctx.dirtyFields[5] || _ctx.submitPressed)) ? 'error': ''])\n }, [\n _hoisted_56,\n _createVNode(_component_FileDragAndDrop, {\n disabled: _ctx.uploadedFileList.length == 5,\n uploading: _ctx.uploading,\n ref: \"fileDropAndDrop\",\n onFileInputChanged: _cache[17] || (_cache[17] = $event => {_ctx.fileListChanged($event); _ctx.dirtyFields[5] = true}),\n numFileLimit: 5,\n fileSizeLimit: 50\n }, null, 8, [\"disabled\", \"uploading\"]),\n _hoisted_57,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.uploadedFileList, (f) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_58, [\n _createElementVNode(\"div\", _hoisted_59, [\n _hoisted_60,\n _createTextVNode(\" \" + _toDisplayString(f.fileName), 1)\n ]),\n (_ctx.inEditMode)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn btn-outline sml\",\n onClick: _withModifiers($event => (_ctx.deleteFile(f.id, true)), [\"prevent\"])\n }, \"Delete\", 8, _hoisted_61))\n : (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-outline sml\",\n onClick: _withModifiers($event => (_ctx.deleteFile(f.id, false)), [\"prevent\"])\n }, \"Delete\", 8, _hoisted_62))\n ]))\n }), 256))\n ], 2)\n ]),\n _hoisted_63,\n _hoisted_64\n ]),\n _hoisted_65,\n (_ctx.selectedEE && _ctx.inactive)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_66,\n _withDirectives(_createElementVNode(\"textarea\", {\n \"onUpdate:modelValue\": _cache[18] || (_cache[18] = $event => ((_ctx.reasonForInactive) = $event)),\n class: _normalizeClass(_ctx.submitPressed && _ctx.reasonForInactive == '' ? 'error' :''),\n style: {\"border\":\"1px solid #aaa\",\"height\":\"130px\",\"resize\":\"vertical\",\"width\":\"100%\"},\n maxlength: 5000,\n placeholder: \"Enter reason\",\n disabled: !_ctx.inEditMode\n }, null, 10, _hoisted_67), [\n [_vModelText, _ctx.reasonForInactive]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [_ctx.reasonForInactive?.length === 5000 ? 'full' : '']])\n }, _toDisplayString(_ctx.reasonForInactive?.length || 0) + \"/5000 characters \", 3),\n (_ctx.reasonForInactive == '' & _ctx.submitPressed)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_68, [\n _hoisted_69,\n _createTextVNode(\" Required field. \")\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_70, [\n (_ctx.isLoading)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-default ml-1\",\n disabled: _ctx.isLoading,\n onClick: _cache[19] || (_cache[19] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\",\"stop\"]))\n }, \"Cancel\", 8, _hoisted_71),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary ml-2\",\n disabled: _ctx.isLoading,\n onClick: _cache[20] || (_cache[20] = $event => (_ctx.addEE()))\n }, _toDisplayString(_ctx.btnText), 9, _hoisted_72)\n ])\n ]),\n footer: _withCtx(() => []),\n _: 1\n }),\n _createVNode(_component_ConfirmDialogue, {\n ref: \"confirmDialogue\",\n modalOpened: true\n }, null, 512)\n ]))\n}","\nimport { Options, Ref, Vue } from \"vue-property-decorator\";\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport ModalBox from '@/shared/components/modal-box/index.vue';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport { EventEmitter } from 'events';\nimport store from '@/trust-admin-app/store';\nimport { Inject } from 'vue-property-decorator';\nimport { AppInsights } from '@/trust-admin-app/appInsights';\nimport PostcodeSearch from \"@/shared/components/postcodeSearch/index.vue\";\nimport { AddExternalExaminerRequest, SuburbStatePostcode, UpdateExternalExaminerRequest } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport FileDragAndDrop from \"@/shared/components/file-drag-and-drop/index.vue\";\nimport ConfirmDialogue from '@/shared/components/confirm-dialogue/index.vue';\n\n@Options({\n props: {\n selectedEE: Object,\n },\n components: {\n ModalBox,\n LoadingIndicator,\n PostcodeSearch,\n FileDragAndDrop,\n ConfirmDialogue,\n }\n})\nexport default class AddEeModal extends Vue {\n private selectedEE!: any;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights;\n\n @Ref('fileDropAndDrop') readonly fileDropAndDrop!: any;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private line1Text = 'Add new External Examiner';\n private suburbStatePostcode: SuburbStatePostcode = {};\n private isLoading = false;\n private fileList: Array = [];\n private uploadedFileList: Array = [];\n private uploading = false;\n private submitting = false;\n private submitPressed = false;\n\n private lawId = '';\n private firmName = '';\n private email = '';\n private address = '';\n private firstName = '';\n private lastName = '';\n private phoneNumber = null;\n private reasonForInactive = '';\n private inactive = false;\n private publishOnWeb = true; // Default to true\n\n private invalidLawIdEmail = false;\n private dirtyFields = [false, false, false, false, false, false];\n\n private membershipStatusTypes: any = [];\n private selectedMembershipType: any = null;\n private inEditMode = false;\n\n private loadingDataSet = false;\n private searchText = '';\n private isSearching = false;\n\n created(): void {\n this.preloadData();\n this.dirtyFields = [false, false, false, false, false, false];\n }\n\n mounted(): void {\n this.line1Text = this.selectedEE ? 'Edit External Examiner' : 'Add new External Examiner';\n this.inEditMode = this.selectedEE ? true : false;\n if (this.selectedEE) {\n this.firmName = this.selectedEE.firmName;\n this.address = this.selectedEE.address;\n this.email = this.selectedEE.email;\n this.firstName = this.selectedEE.firstName || '';\n this.lastName = this.selectedEE.lastName || '';\n this.reasonForInactive = this.selectedEE.reasonForInactive || '';\n this.inactive = this.selectedEE.inactive;\n this.publishOnWeb = this.selectedEE.publishOnWeb;\n this.suburbStatePostcode = {\n suburbName: this.selectedEE.suburb,\n postcode: this.selectedEE.postCode,\n stateName: this.selectedEE.state,\n stateCode: this.selectedEE.state,\n }\n\n this.phoneNumber = this.selectedEE.phoneDetail?.phoneNumber;\n this.selectedMembershipType = this.selectedEE.eeMembershipType;\n this.uploadedFileList = this.selectedEE.files;\n }\n }\n\n private async preloadData(): Promise {\n try {\n this.loadingDataSet = true;\n const resp: any = await Promise.all([\n this.apiService.CodeApi?.apiV2CodeGetEeMembershipTypesGet(),\n ]);\n this.membershipStatusTypes = resp[0].data.data;\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to load Membership type: ' + err);\n } finally {\n this.loadingDataSet = false;\n }\n }\n\n private async searchLawIDforEE(): Promise {\n this.isSearching = true;\n this.invalidLawIdEmail = false;\n this.apiService.LawIdApi?.apiV2LawIdAdminSearchLawIdUsersForExternalExaminerPost({ keyword: this.searchText })\n .then((res: any) => {\n if (res) {\n this.lawId = res.data.lawId || '';\n this.email = res.data.email || '';\n this.firstName = res.data.firstName || '';\n this.lastName = res.data.surname || '';\n this.isSearching = false;\n } else {\n this.eventCtrl.emit('show-snackbar', 'error', 'No LawID found with this email');\n this.isSearching = false;\n }\n })\n .catch(err => {\n if (err.response.status === 400) {\n this.invalidLawIdEmail = true;\n // this.eventCtrl.emit('show-snackbar', 'error', 'Error: ' + err.response.data.message);\n } else {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to search LawID/email: ' + err);\n }\n this.isSearching = false;\n })\n }\n\n private closeModal() {\n this.$emit('closeEEModal');\n }\n\n get btnText(): string {\n return this.inEditMode ? 'Update' : 'Add';\n }\n\n private updateSuburb(s: SuburbStatePostcode) {\n this.suburbStatePostcode = s;\n }\n\n private isFormValid(): boolean {\n return !!this.firmName && !!this.address && !!this.phoneNumber &&\n !!this.suburbStatePostcode?.postcode && this.selectedMembershipType != null &&\n this.uploadedFileList.length > 0 && (this.inactive && this.reasonForInactive.length > 0 || !this.inactive);\n }\n\n get suburbError(): boolean {\n return this.submitPressed && !this.suburbStatePostcode?.postcode;\n }\n\n private async addEE(): Promise {\n try {\n this.submitPressed = true;\n if (!this.isFormValid()) {\n throw ('Incomplete form');\n }\n this.submitting = true;\n\n if (!this.inEditMode) {\n const body: AddExternalExaminerRequest = {\n id: this.inEditMode ? this.selectedEE.id : 0,\n lawId: this.lawId,\n firmName: this.firmName,\n address: this.address,\n suburb: this.suburbStatePostcode.suburbName,\n postCode: this.suburbStatePostcode.postcode,\n state: this.suburbStatePostcode.stateCode,\n phoneDetail: {\n countryCode: '+61',\n phoneNumber: this.phoneNumber\n },\n eeMembershipType: this.selectedMembershipType,\n files: this.uploadedFileList.map(x => { return { id: x.id }; })\n };\n const resp: any = await this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerAdminAddExternalExaminerPost(body);\n this.eventCtrl.emit('show-snackbar', 'success', 'Application has been submitted');\n } else {\n const body: UpdateExternalExaminerRequest = {\n id: this.selectedEE.id,\n // lawId: this.selectedEE.lawId,\n firmName: this.firmName,\n address: this.address,\n suburb: this.suburbStatePostcode.suburbName,\n postCode: this.suburbStatePostcode.postcode,\n state: this.suburbStatePostcode.stateCode,\n reasonForInactive: this.inactive ? this.reasonForInactive : '',\n inactive: this.inactive,\n publishOnWeb: this.publishOnWeb,\n phoneDetail: {\n countryCode: '+61',\n phoneNumber: this.phoneNumber\n },\n eeMembershipType: this.selectedMembershipType,\n files: this.uploadedFileList.map(x => { return { id: x.id }; })\n }\n const resp: any = await this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerAdminUpdateExternalExaminerPost(body);\n this.eventCtrl.emit('show-snackbar', 'success', 'External Examiner has been updated');\n this.$emit('updateEE');\n }\n this.closeModal();\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error: ' + err);\n } finally {\n this.submitting = false;\n }\n }\n\n private fileListChanged(fileList: Array): void {\n this.fileList = fileList;\n this.uploadAllFiles(this.fileList);\n }\n\n private deleteFile(id: number, removeOnly: boolean): void {\n const _confirm: any = this.$refs.confirmDialogue;\n _confirm.show({\n title: 'Delete File',\n message: 'Are you sure you want to delete this file?',\n okButton: 'Delete',\n cancelButton: 'Cancel',\n }).then((res: any) => {\n if (res) {\n this.deleteFileFromServer(id, removeOnly);\n }\n })\n\n }\n\n private async deleteFileFromServer(id: number, removeOnly: boolean): Promise {\n if (removeOnly) {\n this.uploadedFileList = this.uploadedFileList.filter(x => x.id !== id);\n this.eventCtrl.emit('show-snackbar', 'success', 'File removed.');\n return;\n } else {\n try {\n await this.apiService.FileAtcsApi?.apiV2FileAtcsAdminDeleteFileFileIdDelete(id);\n this.uploadedFileList = this.uploadedFileList.filter(x => x.id !== id);\n this.eventCtrl.emit('show-snackbar', 'success', 'File removed.');\n } catch (err) {\n // this.ai.trackException('Error on delete file: ' + JSON.stringify(err));\n this.eventCtrl.emit('show-snackbar', 'error', 'Error on delete file: ' + err);\n }\n }\n\n }\n\n private async uploadAllFiles(fileList: Array): Promise {\n const allRequests: Array> = [];\n this.uploading = true;\n try {\n if (fileList.length > 0) {\n fileList.forEach((x) => allRequests.push(this.uploadFile(x)));\n await Promise.all(allRequests);\n this.eventCtrl.emit('show-snackbar', 'success', 'File(s) uploaded');\n this.fileList = [];\n this.fileDropAndDrop.selectedFiles = [];\n }\n } catch (err: any) {\n // this.ai.trackException('Error on upload file: ' + JSON.stringify(err));\n this.eventCtrl.emit('show-snackbar', 'error', 'Error on upload file: ' + err);\n } finally {\n this.uploading = false;\n }\n }\n\n private async uploadFile(file: File): Promise {\n try {\n const fileStr = await this.fileToString(file);\n const body = {\n fileName: file.name,\n fileExtension: file.name,\n fileDataUrl: fileStr,\n id: ''\n };\n\n const res: any = await this.apiService.FileAtcsApi?.apiV2FileAtcsAdminSaveExternalExaminerFilePost(body);\n body.id = res.data.data;\n body.fileDataUrl = '';\n this.uploadedFileList.push(body);\n\n return Promise.resolve(true);\n } catch (err) {\n console.log(err);\n // this.ai.trackException('Error on upload file: ' + JSON.stringify(err));\n this.eventCtrl.emit('show-snackbar', 'error', 'Error on upload file: ' + err);\n return Promise.resolve(false);\n }\n }\n\n private fileToString(file: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n return resolve(reader.result as string);\n };\n\n reader.onabort = () => {\n return reject();\n }\n\n reader.onerror = () => {\n return reject();\n }\n });\n }\n\n\n}\n\n","import { render } from \"./add-ee-modal.html?vue&type=template&id=69f39176&scoped=true&ts=true&external\"\nimport script from \"./add-ee-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./add-ee-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./add-ee-modal.scss?vue&type=style&index=0&id=69f39176&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-69f39176\"]])\n\nexport default __exports__","import { Options, Vue } from 'vue-class-component';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport { Inject } from 'vue-property-decorator';\nimport { AppInsights } from '@/trust-admin-app/appInsights';\nimport { EventEmitter } from 'events';\nimport store from '@/trust-admin-app/store';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport { orderBy } from 'lodash';\nimport AddEeModal from './add-ee-modal/index.vue';\nimport { RouteN } from '@/trust-admin-app/constants/router-name';\n@Options({\n components: {\n LoadingIndicator,\n ErrorIndicator,\n AddEeModal,\n }\n})\nexport default class TrustDataExternalExaminer extends Vue {\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private firstLoad = true;\n private loadingContent = false;\n private errorLoadingContent = false;\n private showAddEEModal = false;\n\n private eeList: any = [];\n private eeListDisplay: any = [];\n private searchText = '';\n private sortMethod = 'desc';\n private activeSortHeader = 2;\n\n private tableHeadings = [\n { text: 'LawID', value: 'lawId', sortable: false },\n { text: 'Email', value: 'email', sortable: false },\n { text: 'Last name', value: 'lastName', sortable: false },\n { text: 'First name', value: 'firstName', sortable: false },\n { text: 'Status', value: 'inactive', sortable: true, sortMethod: 'asc', activeSort: true },\n { text: 'Action', value: 'action', sortable: false },\n ];\n\n mounted() {\n //\n }\n\n private searchEE() {\n this.getEE();\n }\n\n private getEE() {\n this.firstLoad = false;\n this.loadingContent = true;\n this.errorLoadingContent = false;\n this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerAdminGetExternalExaminersPost({ keyword: this.searchText })\n .then((res: any) => {\n this.eeList = res.data.data;\n this.sortTableColumn(4, true);\n })\n .catch((err: any) => {\n this.errorLoadingContent = true;\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to load External Examiner data');\n this.ai.trackException('Error getting External Examiner data: ' + err);\n }).finally(() => {\n this.loadingContent = false;\n });\n\n }\n\n private sortTableColumn(index: number, sortable: boolean) {\n if (sortable) {\n if (this.tableHeadings[index].sortable) {\n this.activeSortHeader = index;\n this.sortMethod = this.sortMethod === 'desc' ? 'asc' : 'desc';\n this.tableHeadings[index].sortMethod = this.sortMethod;\n if (this.eeList.length > 0) {\n // const nameSorter = index == 0 ? (c: any) => c.name.toLowerCase() : [this.tableHeadings[index].value, (c: any) => c.name.toLowerCase()];\n const orderByResults = orderBy(\n this.eeList,\n ['inactive', 'lawId'],\n [this.sortMethod as any, 'asc']\n );\n this.eeListDisplay = orderByResults;\n }\n }\n }\n }\n\n private gotoExternalExaminerDashboard(id: number) {\n this.$router.push({ name: RouteN.TA.ExternalExaminer.n, query: { eeId: id } });\n }\n\n}\n\n","import { render } from \"./trust-data-external-examiner.html?vue&type=template&id=218889c0&scoped=true&ts=true&external\"\nimport script from \"./trust-data-external-examiner.ts?vue&type=script&lang=ts&external\"\nexport * from \"./trust-data-external-examiner.ts?vue&type=script&lang=ts&external\"\n\nimport \"./trust-data-external-examiner.scss?vue&type=style&index=0&id=218889c0&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-218889c0\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, vModelCheckbox as _vModelCheckbox, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-88dfa044\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"trust-data-external-examiner-approval\" }\nconst _hoisted_2 = { class: \"section-heading\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Maintain trust data\", -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"ATCS External Examiner to Practice approval\", -1))\nconst _hoisted_5 = { class: \"search\" }\nconst _hoisted_6 = { class: \"search-inputs\" }\nconst _hoisted_7 = { class: \"search-bar\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-hm\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-search fa-lg\" })\n], -1))\nconst _hoisted_9 = { class: \"checkbox-button ml-2\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Submitted\")\n], -1))\nconst _hoisted_11 = { class: \"checkbox-button ml-2\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Approved\")\n], -1))\nconst _hoisted_13 = { class: \"checkbox-button ml-2\" }\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Rejected\")\n], -1))\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"space-filler\",\n style: {\"flex-grow\":\"1\"}\n}, null, -1))\nconst _hoisted_16 = { class: \"table-section\" }\nconst _hoisted_17 = { class: \"ls-table\" }\nconst _hoisted_18 = { key: 0 }\nconst _hoisted_19 = [\"colspan\"]\nconst _hoisted_20 = { key: 1 }\nconst _hoisted_21 = [\"colspan\"]\nconst _hoisted_22 = { key: 2 }\nconst _hoisted_23 = [\"colspan\"]\nconst _hoisted_24 = { \"data-label\": \"Practice Name\" }\nconst _hoisted_25 = [\"title\"]\nconst _hoisted_26 = { \"data-label\": \"Form Type\" }\nconst _hoisted_27 = { \"data-label\": \"Actions\" }\nconst _hoisted_28 = [\"onClick\"]\nconst _hoisted_29 = [\"onClick\"]\nconst _hoisted_30 = [\"onClick\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_TrustDataExternalExaminerModal = _resolveComponent(\"TrustDataExternalExaminerModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.searchText) = $event)),\n placeholder: \"Search Practice name or ID\"\n }, null, 512), [\n [_vModelText, _ctx.searchText]\n ]),\n _hoisted_8\n ]),\n _createElementVNode(\"label\", _hoisted_9, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.isSubmitted) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.isSubmitted]\n ]),\n _hoisted_10\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.isApproved) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.isApproved]\n ]),\n _hoisted_12\n ]),\n _createElementVNode(\"label\", _hoisted_13, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => ((_ctx.isRejected) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.isRejected]\n ]),\n _hoisted_14\n ]),\n _hoisted_15,\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary mr-2\",\n onClick: _cache[4] || (_cache[4] = $event => (_ctx.loadData()))\n }, \"Apply filter\")\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"table\", _hoisted_17, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", null, [\n _createElementVNode(\"div\", null, _toDisplayString(h.text), 1)\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_18, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_19)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_20, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_21)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.filteredSoftwareList.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_22, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, \"No results found\", 8, _hoisted_23)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.filteredSoftwareList.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.filteredSoftwareList, (ee) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_24, _toDisplayString(ee.practice?.practiceName), 1),\n _createElementVNode(\"td\", {\n \"data-label\": \"Address\",\n title: ee.practice?.address\n }, _toDisplayString(ee.practice?.address), 9, _hoisted_25),\n _createElementVNode(\"td\", _hoisted_26, _toDisplayString(ee.eeRequestFormType?.name), 1),\n _createElementVNode(\"td\", {\n \"data-label\": \"Status\",\n class: _normalizeClass('status-'+ee.eeRequestFormStatus?.id)\n }, _toDisplayString(ee.eeRequestFormStatus?.name), 3),\n _createElementVNode(\"td\", _hoisted_27, [\n (ee.eeRequestFormStatus?.id == 1)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml ml-2 mr-2\",\n onClick: $event => (_ctx.openModal(ee, 1))\n }, \"Approve\", 8, _hoisted_28),\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml\",\n onClick: $event => (_ctx.openModal(ee, 2))\n }, \"Reject\", 8, _hoisted_29)\n ], 64))\n : (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-default sml ml-2\",\n onClick: $event => (_ctx.openModal(ee, 3))\n }, \"View\", 8, _hoisted_30))\n ])\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n (_ctx.showEEModal)\n ? (_openBlock(), _createBlock(_component_TrustDataExternalExaminerModal, {\n key: 0,\n formType: _ctx.formType,\n \"onUpdate:formType\": _cache[5] || (_cache[5] = $event => ((_ctx.formType) = $event)),\n selectedEE: _ctx.selectedEE,\n \"onUpdate:selectedEE\": _cache[6] || (_cache[6] = $event => ((_ctx.selectedEE) = $event)),\n onReloadData: _ctx.loadData,\n onCloseEEModal: _cache[7] || (_cache[7] = $event => {_ctx.showEEModal = false;}),\n actionType: _ctx.actionType,\n \"onUpdate:actionType\": _cache[8] || (_cache[8] = $event => ((_ctx.actionType) = $event))\n }, null, 8, [\"formType\", \"selectedEE\", \"onReloadData\", \"actionType\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vModelText as _vModelText, withDirectives as _withDirectives, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, withModifiers as _withModifiers, withCtx as _withCtx, createSlots as _createSlots, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-474eae80\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"external-examiner-modal\" }\nconst _hoisted_2 = { class: \"heading-text\" }\nconst _hoisted_3 = { class: \"line1\" }\nconst _hoisted_4 = { class: \"body-main\" }\nconst _hoisted_5 = { key: 0 }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"label\" }, \"Status:\", -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"label\" }, \"Practice Name:\", -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"label\" }, \"Address:\", -1))\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"label\" }, \"External Examiner LawID:\", -1))\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"label\" }, \"External Examiner name:\", -1))\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"label\" }, \"External Examiner email:\", -1))\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_13 = {\n key: 1,\n class: \"mb-4\"\n}\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"label\" }, \"Reason for termination:\", -1))\nconst _hoisted_15 = {\n readonly: \"\",\n style: {\"width\":\"100%\",\"max-height\":\"100px\",\"resize\":\"vertical\"}\n}\nconst _hoisted_16 = {\n key: 2,\n class: \"mb-4\"\n}\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"label\" }, \"Reason:\", -1))\nconst _hoisted_18 = {\n readonly: \"\",\n style: {\"width\":\"100%\",\"max-height\":\"100px\",\"resize\":\"vertical\"}\n}\nconst _hoisted_19 = { key: 3 }\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"label\" }, \"Reason:\", -1))\nconst _hoisted_22 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_24 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { style: {\"display\":\"flex\"} }, [\n /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle mr-2\",\n style: {\"font-size\":\"20px\",\"color\":\"var(--ls-slate)\"}\n }),\n /*#__PURE__*/_createElementVNode(\"div\", null, \"Trust Coordinators will be notified via email regarding the appointment of this External Examiner for the specified Practice, including the notes.\")\n], -1))\nconst _hoisted_26 = { class: \"controls\" }\nconst _hoisted_27 = [\"disabled\"]\nconst _hoisted_28 = [\"disabled\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n onClose: _cache[3] || (_cache[3] = $event => (_ctx.closeModal()))\n }, _createSlots({\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.line1Text), 1)\n ])\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_26, [\n (_ctx.isLoading)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-default ml-1\",\n disabled: _ctx.isLoading,\n onClick: _cache[1] || (_cache[1] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\",\"stop\"]))\n }, \"Cancel\", 8, _hoisted_27),\n (_ctx.actionType !== 3)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-primary ml-2\",\n disabled: _ctx.isLoading,\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.submitting()))\n }, _toDisplayString(_ctx.btnText), 9, _hoisted_28))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 2\n }, [\n (_ctx.selectedEE)\n ? {\n name: \"body\",\n fn: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_4, [\n (_ctx.actionType === 3)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _hoisted_6,\n _createElementVNode(\"div\", {\n class: _normalizeClass(_ctx.selectedEE.eeRequestFormStatus?.id === 3 ? 'error' : 'green' )\n }, _toDisplayString(_ctx.selectedEE.eeRequestFormStatus?.name), 3)\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_7,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.selectedEE.practice?.practiceName), 1),\n _hoisted_8,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.selectedEE.practice?.address), 1),\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.questionText), 1),\n _hoisted_9,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.selectedEE.externalExaminer?.lawId), 1),\n _hoisted_10,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.selectedEE.externalExaminer?.firstName) + \" \" + _toDisplayString(_ctx.selectedEE.externalExaminer?.lastName), 1),\n _hoisted_11,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.selectedEE.externalExaminer?.email), 1),\n _hoisted_12,\n (_ctx.formType == 2)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _hoisted_14,\n _createElementVNode(\"textarea\", _hoisted_15, _toDisplayString(_ctx.selectedEE.terminationReason), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.actionType == 3)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [\n _hoisted_17,\n _createElementVNode(\"textarea\", _hoisted_18, _toDisplayString(_ctx.selectedEE.note), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.actionType !== 3)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_19, [\n _hoisted_20,\n _hoisted_21,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"textarea_box\", _ctx.isSubmitting & _ctx.reason === '' ? 'error': ''])\n }, [\n _withDirectives(_createElementVNode(\"textarea\", {\n class: \"form-control\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.reason) = $event)),\n maxlength: \"5000\",\n placeholder: \"Enter reason\",\n style: {\"border\":\"1px solid #aaa\",\"resize\":\"vertical\",\"width\":\"100%\",\"height\":\"200px\"}\n }, null, 512), [\n [_vModelText, _ctx.reason]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [_ctx.reason?.length >= 5000 ? 'full' : '']])\n }, _toDisplayString(_ctx.reason?.length || 0) + \"/5000 characters \", 3),\n (_ctx.isSubmitting & _ctx.reason === '')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_22, [\n _hoisted_23,\n _createTextVNode(\" Please enter a reason \")\n ]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_24,\n _hoisted_25\n ])\n ]),\n key: \"0\"\n }\n : undefined\n ]), 1024)\n ]))\n}","import { Options, Vue } from 'vue-class-component';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport ModalBox from '@/shared/components/modal-box/index.vue';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport { EventEmitter } from 'events';\nimport store from '@/trust-admin-app/store';\nimport { Inject } from 'vue-property-decorator';\nimport { AppInsights } from '@/trust-admin-app/appInsights';\n\n@Options({\n props: {\n selectedEE: Object,\n formType: Number,\n actionType: Number,\n },\n components: {\n ModalBox,\n LoadingIndicator,\n }\n})\nexport default class TrustDataExternalExaminerModal extends Vue {\n private selectedEE!: any;\n private formType!: number;\n private actionType!: number;\n\n private isSubmitting = false;\n private isLoading = false;\n private isFormDirty = true;\n private reason = '';\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n get line1Text() {\n if (this.selectedEE.eeRequestFormStatus.id === 3) {\n return 'View approval details';\n }\n else {\n switch (this.formType) {\n case 1:\n return 'Appointment of External Examiner Request';\n case 2:\n return 'Termination of External Examiner Request';\n }\n }\n return '';\n }\n\n get questionText() {\n // 1: appoint, 2: terminate\n switch (this.formType) {\n case 1:\n return 'Do you wish to appoint this External Examiner to the Practice stated above?';\n case 2:\n return 'Do you wish to terminate this External Examiner to the Practice stated above?';\n }\n return '';\n }\n\n get btnText() {\n switch (this.actionType) {\n case 1:\n return 'Approve';\n case 2:\n return 'Reject';\n }\n return '';\n }\n\n mounted() {\n this.reason = '';\n }\n\n private closeModal() {\n this.$emit('closeEEModal');\n }\n\n private submitting() {\n this.isSubmitting = true;\n if (this.reason === '') {\n return;\n } else {\n switch (this.actionType) {\n case 1:\n this.approve();\n break;\n case 2:\n this.reject();\n break;\n }\n }\n\n }\n\n private async approve() {\n this.isLoading = true;\n await this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerAdminApproveEeRequestFormPost(\n {\n eeRequestFormId: this.selectedEE.id,\n note: this.reason,\n }\n ).then((res) => {\n this.eventCtrl.emit('show-snackbar', 'success', 'Approve Successfully');\n this.$emit('reloadData', res);\n this.closeModal();\n }).catch((err) => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to approve');\n this.ai.trackException('Error on approve EE: ' + err);\n }).finally(() => {\n this.isLoading = false;\n });\n }\n\n private async reject() {\n this.isLoading = true;\n await this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerAdminRejectEeRequestFormPost({\n eeRequestFormId: this.selectedEE.id,\n note: this.reason,\n })\n .then((res) => {\n this.eventCtrl.emit('show-snackbar', 'success', 'External Examiner submission Rejected');\n this.$emit('reloadData', res);\n this.closeModal();\n }).catch((err) => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to reject');\n this.ai.trackException('Error rejecting EE: ' + err);\n }).finally(() => {\n this.isLoading = false;\n });\n }\n\n}\n","import { render } from \"./trust-data-external-examiner-modal.html?vue&type=template&id=474eae80&scoped=true&ts=true&external\"\nimport script from \"./trust-data-external-examiner-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./trust-data-external-examiner-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./trust-data-external-examiner-modal.scss?vue&type=style&index=0&id=474eae80&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-474eae80\"]])\n\nexport default __exports__","import { Options, Vue } from 'vue-class-component';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport { Inject } from 'vue-property-decorator';\nimport { EventEmitter } from 'events';\nimport store from '@/trust-admin-app/store';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport TrustDataExternalExaminerModal from '../trust-data-external-examiner-modal/index.vue';\nimport { AppInsights } from '@/trust-admin-app/appInsights';\n\n@Options({\n components: {\n LoadingIndicator,\n ErrorIndicator,\n TrustDataExternalExaminerModal,\n }\n})\nexport default class TrustDataExternalExaminerApproval extends Vue {\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private tableHeadings = [\n { text: 'Practice Name', value: 'name', sortable: false },\n { text: 'Address', value: 'address', sortable: false },\n { text: 'Form type', value: 'FormType', sortable: false },\n { text: 'Status', value: 'status', sortable: false },\n { text: 'Action', value: 'action', sortable: false },\n ];\n\n private loadingContent = false;\n private errorLoadingContent = false;\n private showEEModal = false;\n\n private searchText = '';\n private isSubmitted = true;\n private isApproved = false;\n private isRejected = false;\n\n private formType = 0; // 1: appoint, 2: terminate\n private actionType = 1 // 1: approve, 2: reject, 3: terminate, 4: view\n\n private externalExaminers: any[] = [\n {\n name: 'Practice 1',\n address: 'Address 1, Street 1, City 1, Country 1',\n formType: 'Form Type 1',\n status: 'Status 1',\n action: 'Action 1',\n }\n ];\n\n private selectedEE: any = {};\n\n mounted (){\n this.loadData();\n }\n\n private loadData() {\n this.loadingContent = true;\n this.errorLoadingContent = false;\n this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerAdminGetEeRequestFormsPost({\n searchText: this.searchText,\n isSubmitted: this.isSubmitted,\n isApproved: this.isApproved,\n isRejected: this.isRejected,\n })\n .then((response) => {\n this.externalExaminers = response.data.data;\n this.loadingContent = false;\n })\n .catch((err) => {\n this.loadingContent = false;\n this.errorLoadingContent = true;\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to load External Examiner data');\n this.ai.trackException('Error getting External Examiner data: ' + err);\n });\n }\n\n private get filteredSoftwareList() {\n return this.externalExaminers;\n }\n\n private openModal(ee: any, action: number) {\n this.formType = ee.eeRequestFormType?.id;\n this.actionType = action; // 1: approve, 2: reject, 3: view\n this.selectedEE = {... ee};\n this.showEEModal = true;\n }\n \n}\n\n","import { render } from \"./trust-data-external-examiner-approval.html?vue&type=template&id=88dfa044&scoped=true&ts=true&external\"\nimport script from \"./trust-data-external-examiner-approval.ts?vue&type=script&lang=ts&external\"\nexport * from \"./trust-data-external-examiner-approval.ts?vue&type=script&lang=ts&external\"\n\nimport \"./trust-data-external-examiner-approval.scss?vue&type=style&index=0&id=88dfa044&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-88dfa044\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, vModelCheckbox as _vModelCheckbox, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-46a5073c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"trust-data-external-examiner-sign-up-approval\" }\nconst _hoisted_2 = { class: \"section-heading\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Maintain trust data\", -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"ATCS External Examiner Sign-up approval\", -1))\nconst _hoisted_5 = { class: \"search\" }\nconst _hoisted_6 = { class: \"search-inputs\" }\nconst _hoisted_7 = { class: \"search-bar\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-hm\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-search fa-lg\" })\n], -1))\nconst _hoisted_9 = { class: \"checkbox-button ml-2\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Submitted\")\n], -1))\nconst _hoisted_11 = { class: \"checkbox-button ml-2\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Rejected\")\n], -1))\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"space-filler\",\n style: {\"flex-grow\":\"1\"}\n}, null, -1))\nconst _hoisted_14 = { class: \"ee-signup-table\" }\nconst _hoisted_15 = { class: \"ls-table\" }\nconst _hoisted_16 = { key: 0 }\nconst _hoisted_17 = [\"colspan\"]\nconst _hoisted_18 = { key: 1 }\nconst _hoisted_19 = [\"colspan\"]\nconst _hoisted_20 = { key: 2 }\nconst _hoisted_21 = [\"colspan\"]\nconst _hoisted_22 = { \"data-label\": \"LawID\" }\nconst _hoisted_23 = { \"data-label\": \"Name\" }\nconst _hoisted_24 = { \"data-label\": \"Firm Name\" }\nconst _hoisted_25 = { \"data-label\": \"Suburb\" }\nconst _hoisted_26 = {\n \"data-label\": \"Status\",\n class: \"status\"\n}\nconst _hoisted_27 = { \"data-label\": \"Actions\" }\nconst _hoisted_28 = [\"onClick\"]\nconst _hoisted_29 = [\"onClick\"]\nconst _hoisted_30 = [\"onClick\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_ApproveRejectToBeEEModal = _resolveComponent(\"ApproveRejectToBeEEModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.searchKeyword) = $event)),\n placeholder: \"Enter name/ LawID\"\n }, null, 512), [\n [_vModelText, _ctx.searchKeyword]\n ]),\n _hoisted_8\n ]),\n _createElementVNode(\"label\", _hoisted_9, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.showSubmmitted) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.showSubmmitted]\n ]),\n _hoisted_10\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.showRejected) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.showRejected]\n ]),\n _hoisted_12\n ]),\n _hoisted_13\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"table\", _hoisted_15, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", null, [\n _createElementVNode(\"div\", null, _toDisplayString(h.text), 1)\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_16, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_17)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_18, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_19)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.filteredEESignUpForms.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_20, [\n _createElementVNode(\"td\", {\n colspan: _ctx.filteredEESignUpForms.length\n }, \"No Records\", 8, _hoisted_21)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.filteredEESignUpForms.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.filteredEESignUpForms, (a) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_22, _toDisplayString(a?.lawId ?? ''), 1),\n _createElementVNode(\"td\", _hoisted_23, _toDisplayString(a?.firstName ?? '') + \" \" + _toDisplayString(a?.surname ?? ''), 1),\n _createElementVNode(\"td\", _hoisted_24, _toDisplayString(a?.firmName ?? ''), 1),\n _createElementVNode(\"td\", _hoisted_25, _toDisplayString(a?.suburb ?? ''), 1),\n _createElementVNode(\"td\", _hoisted_26, [\n _createElementVNode(\"span\", {\n class: _normalizeClass(a?.eeSignUpFormStatus?.name=='Submitted' ? 'warning' : 'error')\n }, _toDisplayString(a?.eeSignUpFormStatus?.name ?? ''), 3)\n ]),\n _createElementVNode(\"td\", _hoisted_27, [\n (a?.eeSignUpFormStatus?.name == 'Submitted')\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml mr-2\",\n onClick: $event => (_ctx.approveToBeEE(a))\n }, \"Approve\", 8, _hoisted_28),\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml\",\n onClick: $event => (_ctx.rejectToBeEE(a))\n }, \"Reject\", 8, _hoisted_29)\n ], 64))\n : (a?.eeSignUpFormStatus?.name == 'Rejected' || a?.eeSignUpFormStatus?.name == 'Approved')\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-default sml\",\n onClick: $event => (_ctx.viewSignUpForm(a))\n }, \"View\", 8, _hoisted_30))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n (_ctx.showApproveRejectModal)\n ? (_openBlock(), _createBlock(_component_ApproveRejectToBeEEModal, {\n key: 0,\n actionType: _ctx.actionType,\n eeSignUpForm: _ctx.selectedEESignUpForm,\n onClose: _cache[3] || (_cache[3] = $event => (_ctx.onApproveRejectModalClosed()))\n }, null, 8, [\"actionType\", \"eeSignUpForm\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, normalizeClass as _normalizeClass, renderList as _renderList, Fragment as _Fragment, createTextVNode as _createTextVNode, withModifiers as _withModifiers, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-f757f5f0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"approve-reject-signup-modal\" }\nconst _hoisted_2 = { class: \"heading-text\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"line1\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"line1\"\n}\nconst _hoisted_5 = { class: \"body-main\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"row\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Status\", -1))\nconst _hoisted_8 = { class: \"row\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"LawID\", -1))\nconst _hoisted_10 = { class: \"row\" }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Title\", -1))\nconst _hoisted_12 = {\n class: \"row\",\n style: {\"width\":\"100%\",\"display\":\"flex\",\"flex-flow\":\"row nowrap\"}\n}\nconst _hoisted_13 = { style: {\"width\":\"50%\"} }\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"First name:\", -1))\nconst _hoisted_15 = { style: {\"width\":\"50%\"} }\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Last name:\", -1))\nconst _hoisted_17 = { class: \"row\" }\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Email\", -1))\nconst _hoisted_19 = { class: \"row\" }\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Firm name\", -1))\nconst _hoisted_21 = { class: \"row\" }\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Address\", -1))\nconst _hoisted_23 = {\n class: \"row\",\n style: {\"width\":\"100%\",\"display\":\"flex\",\"flex-flow\":\"row nowrap\"}\n}\nconst _hoisted_24 = { style: {\"width\":\"33.3%\"} }\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Suburb:\", -1))\nconst _hoisted_26 = { style: {\"width\":\"33.3%\"} }\nconst _hoisted_27 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Postcode:\", -1))\nconst _hoisted_28 = { style: {\"width\":\"33.3%\"} }\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"State:\", -1))\nconst _hoisted_30 = { class: \"row\" }\nconst _hoisted_31 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Telephone number:\", -1))\nconst _hoisted_32 = { class: \"row\" }\nconst _hoisted_33 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Membership Type:\", -1))\nconst _hoisted_34 = { class: \"row\" }\nconst _hoisted_35 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Publish on Web:\", -1))\nconst _hoisted_36 = { class: \"row\" }\nconst _hoisted_37 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Proof of External Examiner Course Completion:\", -1))\nconst _hoisted_38 = { class: \"file-list\" }\nconst _hoisted_39 = { class: \"file-item\" }\nconst _hoisted_40 = { class: \"file-name\" }\nconst _hoisted_41 = [\"onClick\"]\nconst _hoisted_42 = {\n key: 1,\n class: \"row\"\n}\nconst _hoisted_43 = { class: \"controls\" }\nconst _hoisted_44 = [\"disabled\"]\nconst _hoisted_45 = [\"disabled\"]\nconst _hoisted_46 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, null, -1))\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n onClose: _cache[2] || (_cache[2] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.actionType == 3)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_3, \"View External Examiner Sign up details\"))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_4, \"External Examiner \" + _toDisplayString(_ctx.actionType == 1 ? 'Approval' : 'Rejection'), 1))\n ])\n ]),\n body: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_5, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, { key: 0 }))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n (_ctx.actionType == 3)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _hoisted_7,\n _createElementVNode(\"div\", {\n class: _normalizeClass(_ctx.eeSignUpForm.eeSignUpFormStatus.name == 'Rejected' ? 'error' : '')\n }, _toDisplayString(_ctx.eeSignUpForm.eeSignUpFormStatus.name), 3)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_8, [\n _hoisted_9,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.eeSignUpForm.lawId), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _hoisted_11,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.eeSignUpForm.title), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, [\n _hoisted_14,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.eeSignUpForm.firstName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _hoisted_16,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.eeSignUpForm.surname), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_17, [\n _hoisted_18,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.eeSignUpForm.email), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _hoisted_20,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.eeSignUpForm.firmName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _hoisted_22,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.eeSignUpForm.address), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"div\", _hoisted_24, [\n _hoisted_25,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.eeSignUpForm.suburb), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_26, [\n _hoisted_27,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.eeSignUpForm.postCode), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_28, [\n _hoisted_29,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.eeSignUpForm.state), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_30, [\n _hoisted_31,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.eeSignUpForm.phoneDetail?.countryCode) + \" \" + _toDisplayString(_ctx.eeSignUpForm.phoneDetail?.phoneNumber), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_32, [\n _hoisted_33,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.eeSignUpForm.eeMembershipType?.name?? ''), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_34, [\n _hoisted_35,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.eeSignUpForm.publishOnWeb ? 'Yes' : 'No'), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_36, [\n _hoisted_37,\n _createElementVNode(\"div\", _hoisted_38, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.selectedEESignUpForm.files, (f) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_39, [\n _createElementVNode(\"div\", _hoisted_40, _toDisplayString(f.fileName), 1),\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: $event => (_ctx.downloadFile(f))\n }, \"Download\", 8, _hoisted_41)\n ]))\n }), 256))\n ])\n ]),\n (_ctx.actionType != 3)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_42, [\n (_ctx.actionType==1)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createTextVNode(\" Are you sure you want to approve this External Examiner? \")\n ], 64))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createTextVNode(\" Are you sure you want to reject this External Examiner? \")\n ], 64))\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n ])\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_43, [\n (_ctx.submitting || _ctx.loadingContent)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator mr-2\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-default ml-1\",\n disabled: _ctx.submitting || _ctx.loadingContent,\n onClick: _cache[0] || (_cache[0] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\",\"stop\"]))\n }, _toDisplayString(_ctx.actionType == 1 || _ctx.actionType == 2 ? 'Cancel' : 'Close'), 9, _hoisted_44),\n (_ctx.actionType != 3)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-primary\",\n disabled: _ctx.submitting || _ctx.loadingContent,\n onClick: _cache[1] || (_cache[1] = _withModifiers($event => (_ctx.mainActionButClicked()), [\"prevent\",\"stop\"]))\n }, [\n _createTextVNode(_toDisplayString(_ctx.actionType == 1 ? 'Approve' : 'Reject'), 1),\n _hoisted_46\n ], 8, _hoisted_45))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n })\n ]))\n}","\nimport { Options, Vue } from 'vue-class-component';\nimport ModalBox from '@/shared/components/modal-box/index.vue';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { EeSignUpForm } from '@/shared/modules/typescript-trustapi-client/models';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport { Inject, Prop } from 'vue-property-decorator';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport { EventEmitter } from 'events';\nimport store from '@/trust-admin-app/store';\n\n@Options({\n components: {\n ModalBox,\n LoadingIndicator,\n ErrorIndicator\n },\n mixins: [FormatDateTimeMixin]\n})\nexport default class ApproveRejectToBeEEModal extends Vue {\n\n @Prop({ default: -1})\n private actionType!: number;\n\n\n @Prop({ default: {}})\n private eeSignUpForm!: EeSignUpForm;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private loadingContent = false;\n private submitting = false;\n\n private selectedEESignUpForm: EeSignUpForm = {};\n\n created(): void {\n this.getSignUpForm();\n }\n\n private async getSignUpForm(): Promise {\n try {\n this.loadingContent = true;\n const result = await this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerAdminGetEeSignUpFormByIdEeSignUpFormIdGet(this.eeSignUpForm.id);\n this.selectedEESignUpForm = result?.data.data as EeSignUpForm;\n } catch {\n this.eventCtrl.emit('show-snackbar', 'error', 'Problems loading External Examiner Sign Up Form');\n } finally {\n this.loadingContent = false; \n }\n }\n\n private mainActionButClicked(): void {\n if (this.actionType == 1) {\n this.approveToBeEE();\n } else if (this.actionType == 2) { \n this.rejectToBeEE();\n }\n }\n\n private async approveToBeEE(): Promise {\n try {\n this.submitting = true;\n const result = await this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerAdminApproveEeSignUpFormEeSignUpFormIdPut(this.eeSignUpForm.id);\n this.eventCtrl.emit('reload-ee-signup-forms');\n this.eventCtrl.emit('show-snackbar', 'success', 'External Examiner Sign Up Form Approved Successfully');\n this.$emit('close');\n } catch{\n this.eventCtrl.emit('show-snackbar', 'error', 'Problems approving External Examiner Sign Up Form');\n } finally {\n this.submitting = false;\n }\n }\n\n private async rejectToBeEE(): Promise {\n try {\n this.submitting = true;\n const result = await this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerAdminRejectEeSignUpFormEeSignUpFormIdPut(this.eeSignUpForm.id);\n this.eventCtrl.emit('reload-ee-signup-forms');\n this.eventCtrl.emit('show-snackbar', 'success', 'External Examiner Sign Up Form Rejected Successfully');\n this.$emit('close');\n } catch{\n this.eventCtrl.emit('show-snackbar', 'error', 'Problems rejecting External Examiner Sign Up Form');\n } finally {\n this.submitting = false;\n }\n }\n\n private async downloadFile(file: any): Promise {\n\n try {\n const resp: any = await this.apiService.FileAtcsApi?.apiV2FileAtcsAdminDownloadStreamFileIdGet(\n file.id,\n { responseType: 'blob' }\n );\n // console.log(resp);\n const blob = new Blob([resp.data], { type: resp.headers['content-type'] });\n const documentURL = window.URL.createObjectURL(blob);\n const downloadLink = document.createElement('a');\n const fileName = file.fileName;\n downloadLink.href = documentURL;\n downloadLink.download = fileName;\n downloadLink.click();\n } catch (err) {\n console.log(err);\n }\n }\n\n\n\n private closeModal(): void {\n if (!this.submitting || !this.loadingContent) {\n this.$emit('close');\n }\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n}\n\n","import { render } from \"./approve-reject-signup-modal.html?vue&type=template&id=f757f5f0&scoped=true&ts=true&external\"\nimport script from \"./approve-reject-signup-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./approve-reject-signup-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./approve-reject-signup-modal.scss?vue&type=style&index=0&id=f757f5f0&scoped=true&lang=sccs&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-f757f5f0\"]])\n\nexport default __exports__","import { TrustAPI } from '@/shared/modules/trust-api';\nimport { EeSignUpForm } from '@/shared/modules/typescript-trustapi-client/models';\nimport { Options, Vue } from 'vue-class-component';\nimport { Inject } from 'vue-property-decorator';\nimport { orderBy } from \"lodash\";\nimport { EventEmitter } from 'events';\nimport store from '@/trust-admin-app/store';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport ApproveRejectToBeEEModal from './approve-reject-signup-modal/index.vue';\n@Options({\n components: {\n ApproveRejectToBeEEModal,\n LoadingIndicator,\n ErrorIndicator\n }\n})\nexport default class TrustDataExternalExaminerSignUpApproval extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private tableHeadings = [\n { text: 'LawID', value: 'lawid', sortable: false },\n { text: 'Name', value: 'name', sortable: false },\n { text: 'Firm name', value: 'firmname', sortable: false },\n { text: 'Suburb', value: 'suburb', sortable: false },\n { text: 'Status', value: 'status', sortable: false },\n { text: 'Actions', value: 'actions', sortable: false },\n ];\n\n private selectedEESignUpForm: EeSignUpForm = {};\n\n private actionType = -1;\n\n private searchKeyword = '';\n private showSubmmitted = true;\n private showRejected = false;\n private showApproveRejectModal = false;\n // private showAddEditModal = false;\n // private showAuditTrailModal = false;\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private eeSignUpForms: EeSignUpForm[] = [];\n\n\n created(): void {\n this.loadEESignUpFormsList();\n }\n\n mounted() {\n this.eventCtrl.on('reload-ee-signup-forms', this.loadEESignUpFormsList);\n }\n\n beforeUnmount() {\n this.eventCtrl.off('reload-ee-signup-forms', this.loadEESignUpFormsList);\n }\n \n\n private async loadEESignUpFormsList(): Promise {\n try {\n this.loadingContent = true;\n this.errorLoadingContent = false;\n \n const resp: any =\n await this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerAdminGetEeSignUpFormGet();\n this.eeSignUpForms = resp.data.data as EeSignUpForm[];\n this.eeSignUpForms = orderBy(\n this.eeSignUpForms,\n [data => data.lawId.toLowerCase()],\n ['asc']\n );\n } catch (err) {\n this.errorLoadingContent = true;\n console.log(err);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private approveToBeEE(eeSignUpForm: EeSignUpForm): void {\n this.actionType = 1;\n this.selectedEESignUpForm = eeSignUpForm;\n this.showApproveRejectModal = true;\n }\n\n private rejectToBeEE(eeSignUpForm: EeSignUpForm): void {\n this.actionType = 2;\n this.selectedEESignUpForm = eeSignUpForm;\n this.showApproveRejectModal = true;\n }\n \n\n private viewSignUpForm(eeSignUpForm: EeSignUpForm): void {\n this.actionType = 3;\n this.selectedEESignUpForm = eeSignUpForm;\n this.showApproveRejectModal = true;\n }\n\n private onApproveRejectModalClosed(): void {\n this.showApproveRejectModal = false;\n this.actionType = -1;\n }\n\n get filteredEESignUpForms(): EeSignUpForm[] {\n let eeSignUpFormsTemp: EeSignUpForm[] = [];\n let eeSignUpFormsSubmittedTemp: EeSignUpForm[] = [];\n let eeSignUpFormsRjectedTemp: EeSignUpForm[] = [];\n \n eeSignUpFormsSubmittedTemp = this.eeSignUpForms.filter(\n x => x.eeSignUpFormStatus.name == 'Submitted'\n );\n\n eeSignUpFormsRjectedTemp = this.eeSignUpForms.filter(\n x => x.eeSignUpFormStatus.name == 'Rejected'\n );\n\n if (this.showSubmmitted) {\n eeSignUpFormsTemp.push(...eeSignUpFormsSubmittedTemp);\n }\n\n if (this.showRejected) {\n eeSignUpFormsTemp.push(...eeSignUpFormsRjectedTemp);\n }\n\n if (!this.showSubmmitted && !this.showRejected) {\n eeSignUpFormsTemp = this.eeSignUpForms;\n }\n\n if (this.searchKeyword.trim()) {\n eeSignUpFormsTemp = this.eeSignUpForms.filter(\n x => x.firstName.toLocaleLowerCase().includes(this.searchKeyword.toLocaleLowerCase()) ||\n x.surname.toLocaleLowerCase().includes(this.searchKeyword.toLocaleLowerCase()) ||\n x.lawId.toLocaleLowerCase().includes(this.searchKeyword.toLocaleLowerCase())\n );\n }\n\n return eeSignUpFormsTemp;\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n}\n","import { render } from \"./trust-data-external-examiner-sign-up-approval.html?vue&type=template&id=46a5073c&scoped=true&ts=true&external\"\nimport script from \"./trust-data-external-examiner-sign-up-approval.ts?vue&type=script&lang=ts&external\"\nexport * from \"./trust-data-external-examiner-sign-up-approval.ts?vue&type=script&lang=ts&external\"\n\nimport \"./trust-data-external-examiner-sign-up-approval.scss?vue&type=style&index=0&id=46a5073c&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-46a5073c\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5b56ebb0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"trust-data-pagesettings\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"section-heading\" }, [\n /*#__PURE__*/_createElementVNode(\"h4\", null, \"Maintain trust data\"),\n /*#__PURE__*/_createElementVNode(\"h2\", null, \"ATCS Help and Info\")\n], -1))\nconst _hoisted_3 = { class: \"pagesettings-table\" }\nconst _hoisted_4 = { class: \"ls-table\" }\nconst _hoisted_5 = { key: 0 }\nconst _hoisted_6 = [\"colspan\"]\nconst _hoisted_7 = { key: 1 }\nconst _hoisted_8 = [\"colspan\"]\nconst _hoisted_9 = { key: 2 }\nconst _hoisted_10 = [\"colspan\"]\nconst _hoisted_11 = { \"data-label\": \"Page\" }\nconst _hoisted_12 = { class: \"two-lines\" }\nconst _hoisted_13 = { \"data-label\": \"Type\" }\nconst _hoisted_14 = { \"data-label\": \"Title\" }\nconst _hoisted_15 = { class: \"two-lines\" }\nconst _hoisted_16 = { \"data-label\": \"Internal Note\" }\nconst _hoisted_17 = { class: \"two-lines\" }\nconst _hoisted_18 = { \"data-label\": \"Status\" }\nconst _hoisted_19 = { class: \"checkbox-button\" }\nconst _hoisted_20 = [\"checked\", \"onChange\"]\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Show\")\n], -1))\nconst _hoisted_22 = { \"data-label\": \"Actions\" }\nconst _hoisted_23 = [\"onClick\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_HelpEditModal = _resolveComponent(\"HelpEditModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _hoisted_2,\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"table\", _hoisted_4, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", null, [\n _createElementVNode(\"div\", null, _toDisplayString(h.text), 1)\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_5, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_6)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_7, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_8)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.pageSettingsList.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_9, [\n _createElementVNode(\"td\", {\n colspan: _ctx.pageSettingsList.length\n }, \"No Records\", 8, _hoisted_10)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.pageSettingsList.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.pageSettingsList, (p) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_11, [\n _createElementVNode(\"div\", _hoisted_12, _toDisplayString(p?.page?.name ?? ''), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_13, _toDisplayString(p?.contentType?.name ?? ''), 1),\n _createElementVNode(\"td\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, _toDisplayString(p?.title ?? ''), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_16, [\n _createElementVNode(\"div\", _hoisted_17, _toDisplayString(p?.internalNote ?? ''), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_18, [\n _createElementVNode(\"label\", _hoisted_19, [\n _createElementVNode(\"input\", {\n type: \"checkbox\",\n checked: p.isShow,\n onChange: $event => (_ctx.pageContentStatus(p, $event.srcElement.checked))\n }, null, 40, _hoisted_20),\n _hoisted_21\n ])\n ]),\n _createElementVNode(\"td\", _hoisted_22, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml\",\n onClick: $event => (_ctx.editPageSettings(p))\n }, \"Edit\", 8, _hoisted_23)\n ])\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n (_ctx.showPopoverEdit)\n ? (_openBlock(), _createBlock(_component_HelpEditModal, {\n key: 0,\n onClose: _cache[0] || (_cache[0] = $event => (_ctx.showPopoverEdit = false)),\n helpContent: _ctx.selectedPageSettings\n }, null, 8, [\"helpContent\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, vShow as _vShow, withDirectives as _withDirectives, vModelText as _vModelText, normalizeClass as _normalizeClass, createBlock as _createBlock, Transition as _Transition, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-aecda394\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"help-edit-modal\" }\nconst _hoisted_2 = { class: \"modal-mask\" }\nconst _hoisted_3 = { class: \"modal-wrapper\" }\nconst _hoisted_4 = { class: \"button-bar\" }\nconst _hoisted_5 = { key: 0 }\nconst _hoisted_6 = {\n key: 0,\n class: \"help-page-title ml-4\",\n style: {\"color\":\"white\"}\n}\nconst _hoisted_7 = {\n key: 1,\n class: \"help-page-title ml-4\",\n style: {\"color\":\"white\"}\n}\nconst _hoisted_8 = { key: 1 }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", {\n class: \"help-page-title ml-4\",\n style: {\"color\":\"white\"}\n}, \"Edit Popovers\", -1))\nconst _hoisted_10 = [\n _hoisted_9\n]\nconst _hoisted_11 = { class: \"preview\" }\nconst _hoisted_12 = { class: \"modal-header mt-4\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_14 = {\n class: \"ql-container ql-snow ql-disabled\",\n style: {\"width\":\"100%\",\"border\":\"none\"}\n}\nconst _hoisted_15 = [\"innerHTML\"]\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Internal Note\", -1))\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { style: {\"font-family\":\"Arial, Helvetica, sans-serif\",\"color\":\"var(--ls-slate-light)\"} }, \"For internal use only\", -1))\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_21 = {\n key: 0,\n class: \"popover-preview mt-4 mb-3\"\n}\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"popover-preview-text\" }, \"Hover Icon to Preview\", -1))\nconst _hoisted_23 = {\n key: 1,\n class: \"mt-4\"\n}\nconst _hoisted_24 = { key: 2 }\nconst _hoisted_25 = { class: \"input-box\" }\nconst _hoisted_26 = { key: 3 }\nconst _hoisted_27 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_28 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Help Content *\", -1))\nconst _hoisted_29 = { style: {\"width\":\"100%\"} }\nconst _hoisted_30 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_31 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"notes mt-4 mb-4\",\n style: {\"display\":\"flex\",\"align-items\":\"center\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-info-circle mr-3\" }),\n /*#__PURE__*/_createElementVNode(\"div\", null, \"Prior to saving, we highly recommend previewing your changes by clicking the \\\"Show Preview\\\" toggle above.\")\n], -1))\nconst _hoisted_32 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"notes mt-4 mb-4\",\n style: {\"display\":\"flex\",\"align-items\":\"center\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-info-circle mr-3\" }),\n /*#__PURE__*/_createElementVNode(\"div\", null, \"Please note that your changes will take effect automatically on newly login user once you initiate the saving process. \")\n], -1))\nconst _hoisted_33 = { key: 4 }\nconst _hoisted_34 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_35 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Popover Content *\", -1))\nconst _hoisted_36 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"notes\",\n style: {\"display\":\"flex\",\"align-items\":\"center\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-info-circle mr-3\" }),\n /*#__PURE__*/_createElementVNode(\"div\", { style: {\"color\":\"var(--ls-error-red)\"} }, \"Only use normal font, bold, italics, underline, and URLs. \")\n], -1))\nconst _hoisted_37 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_38 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"notes mt-4 mb-4\",\n style: {\"display\":\"flex\",\"align-items\":\"center\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-info-circle mr-3\" }),\n /*#__PURE__*/_createElementVNode(\"div\", null, \"Prior to saving, we highly recommend reviewing your changes by hovering over the icon above.\")\n], -1))\nconst _hoisted_39 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"notes mt-4 mb-4\",\n style: {\"display\":\"flex\",\"align-items\":\"center\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-info-circle mr-3\" }),\n /*#__PURE__*/_createElementVNode(\"div\", null, \"Please note that your changes will take effect automatically on newly login user once you initiate the saving process. \")\n], -1))\nconst _hoisted_40 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_41 = { class: \"help-edit-footer\" }\nconst _hoisted_42 = { key: 5 }\n\nexport function render(_ctx, _cache) {\n const _component_ToggleSwitch = _resolveComponent(\"ToggleSwitch\")\n const _component_Popover = _resolveComponent(\"Popover\")\n const _component_QuillEditor = _resolveComponent(\"QuillEditor\")\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_Transition, { name: \"modal\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"modal-container\", [{'is-closing' : _ctx.isClosing} ]])\n }, [\n _createElementVNode(\"div\", _hoisted_4, [\n (!_ctx.isPopover)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n (!_ctx.isPreviewing)\n ? (_openBlock(), _createElementBlock(\"h4\", _hoisted_6, \"Edit Help\"))\n : (_openBlock(), _createElementBlock(\"h4\", _hoisted_7, \"Preview Help Only\")),\n _createVNode(_component_ToggleSwitch, {\n class: \"toggle-switch\",\n initState: _ctx.isPreviewing,\n \"onUpdate:initState\": _cache[0] || (_cache[0] = $event => ((_ctx.isPreviewing) = $event)),\n activeText: \"Edit Help\",\n inactiveText: \"Show Preview\",\n disabled: false\n }, null, 8, [\"initState\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.isPopover)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, _hoisted_10))\n : _createCommentVNode(\"\", true)\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"h4\", null, _toDisplayString(_ctx.tempHelpContent.title), 1)\n ]),\n _hoisted_13,\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", {\n class: \"ql-editor ql-blank\",\n \"data-gramm\": \"false\",\n contenteditable: \"false\",\n style: {\"padding\":\"0 0\"},\n innerHTML: _ctx.tempHelpContent.content\n }, null, 8, _hoisted_15)\n ])\n ], 512), [\n [_vShow, _ctx.isPreviewing]\n ]),\n _withDirectives(_createElementVNode(\"div\", null, [\n _hoisted_16,\n _hoisted_17,\n _hoisted_18,\n _withDirectives(_createElementVNode(\"textarea\", {\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.tempHelpContent.internalNote) = $event)),\n rows: \"4\",\n cols: \"50\",\n placeholder: \"Enter note (5000 characters limit)\"\n }, null, 512), [\n [_vModelText, _ctx.tempHelpContent.internalNote]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [_ctx.tempHelpContent.internalNote?.length === 5000 ? 'full' : '']])\n }, _toDisplayString(_ctx.tempHelpContent.internalNote?.length || 0) + \"/5000 characters \", 3),\n _hoisted_19,\n _hoisted_20,\n (_ctx.isPopover)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_21, [\n _createElementVNode(\"span\", null, [\n _createVNode(_component_Popover, {\n popover: _ctx.tempHelpContent,\n preview: true\n }, null, 8, [\"popover\"])\n ]),\n _hoisted_22\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.isPopover)\n ? (_openBlock(), _createElementBlock(\"h4\", _hoisted_23, \"Help Title *\"))\n : (_openBlock(), _createElementBlock(\"h4\", _hoisted_24, \"Popover Title *\")),\n _createElementVNode(\"div\", _hoisted_25, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.tempHelpContent.title) = $event)),\n placeholder: \"Enter title (100 characters limit)\",\n style: {\"width\":\"100%\"},\n maxlength: \"100\"\n }, null, 512), [\n [_vModelText, _ctx.tempHelpContent.title]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [_ctx.tempHelpContent.title?.length === 100 ? 'full' : '']])\n }, _toDisplayString(_ctx.tempHelpContent.title?.length || 0) + \"/100 characters \", 3)\n ]),\n (!_ctx.isPopover)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [\n _hoisted_27,\n _hoisted_28,\n _createElementVNode(\"div\", _hoisted_29, [\n _createVNode(_component_QuillEditor, {\n ref: \"quillEditor\",\n style: {\"min-height\":\"350px\",\"height\":\"calc(100vh - 800px)\",\"width\":\"100%\"},\n theme: \"snow\",\n onTextChange: _ctx.checkNote,\n toolbar: _ctx.toolbarOptions,\n content: _ctx.tempHelpContent.content,\n \"onUpdate:content\": _cache[3] || (_cache[3] = $event => ((_ctx.tempHelpContent.content) = $event)),\n contentType: \"html\"\n }, null, 8, [\"onTextChange\", \"toolbar\", \"content\"])\n ]),\n _hoisted_30,\n _hoisted_31,\n _hoisted_32\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_33, [\n _hoisted_34,\n _hoisted_35,\n _hoisted_36,\n _createElementVNode(\"div\", null, [\n _createVNode(_component_QuillEditor, {\n ref: \"quillEditor\",\n style: {\"width\":\"100%\"},\n theme: \"snow\",\n onTextChange: _ctx.checkNote,\n toolbar: _ctx.toolbarPopovers,\n content: _ctx.tempHelpContent.content,\n \"onUpdate:content\": _cache[4] || (_cache[4] = $event => ((_ctx.tempHelpContent.content) = $event)),\n contentType: \"html\"\n }, null, 8, [\"onTextChange\", \"toolbar\", \"content\"])\n ]),\n _hoisted_37,\n _hoisted_38,\n _hoisted_39\n ])),\n _hoisted_40,\n _createElementVNode(\"div\", _hoisted_41, [\n (_ctx.isSaving)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n loadingText: \"Saving... \",\n class: \"mr-4\"\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = (...args) => (_ctx.close && _ctx.close(...args))),\n class: \"btn btn-outline mr-2\"\n }, \"Cancel\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n onClick: _cache[6] || (_cache[6] = (...args) => (_ctx.saveContent && _ctx.saveContent(...args)))\n }, \"Save\")\n ]),\n (_ctx.isTesting)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_42, _toDisplayString(_ctx.tempHelpContent.pageId) + \", \" + _toDisplayString(_ctx.tempHelpContent.key), 1))\n : _createCommentVNode(\"\", true)\n ], 512), [\n [_vShow, !_ctx.isPreviewing]\n ])\n ], 2)\n ])\n ])\n ]),\n _: 1\n })\n ]))\n}","import { vModelCheckbox as _vModelCheckbox, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-a34bc32e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"toggle-switch\" }\nconst _hoisted_2 = [\"id\", \"disabled\"]\nconst _hoisted_3 = { class: \"outline\" }\nconst _hoisted_4 = [\"for\"]\nconst _hoisted_5 = { class: \"toggle-switch-inner\" }\nconst _hoisted_6 = { class: \"toggle-switch-active\" }\nconst _hoisted_7 = { class: \"toggle-switch-inactive\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"toggle-switch-handle\" }, null, -1))\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n name: \"toggle-switch\",\n class: \"toggle-switch-checkbox\",\n id: _ctx.id,\n tabindex: \"0\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.newState) = $event)),\n onChange: _cache[1] || (_cache[1] = $event => (_ctx.changeState())),\n disabled: _ctx.disabled\n }, null, 40, _hoisted_2), [\n [_vModelCheckbox, _ctx.newState]\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"label\", {\n class: \"toggle-switch-label\",\n for: _ctx.id\n }, [\n _createElementVNode(\"span\", _hoisted_5, [\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_ctx.activeText), 1),\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.inactiveText), 1)\n ]),\n _hoisted_8\n ], 8, _hoisted_4)\n ])\n ]))\n}","import { Options, Vue } from 'vue-class-component';\nimport { Watch } from 'vue-property-decorator';\n\n/**\n * Toggle-Switch\n * Usage: \n *\n * @export\n * @class ToggleSwitch\n * @extends {Vue}\n */\n@Options({\n props: {\n activeText: String,\n inactiveText: String,\n initState: Boolean,\n disabled: Boolean,\n },\n emits: ['update:initState'],\n components: {}\n})\nexport default class ToggleSwitch extends Vue {\n activeText!: string;\n inactiveText!: string;\n initState!: boolean;\n disabled!: boolean;\n\n private id = this.$guid();\n private newState = false;\n\n @Watch('initState')\n private onValueChange(): void {\n this.newState = this.initState;\n }\n\n private changeState() {\n this.$emit('update:initState', this.newState);\n }\n\n mounted(): void {\n this.newState = this.initState;\n }\n\n public $guid() {\n const S4 = () => {\n // tslint:disable-next-line: no-bitwise\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n };\n // then to call it, plus stitch in '4' in the third group\n // tslint:disable-next-line: max-line-length\n return (S4() + S4() + '-' + S4() + '-4' + S4().substr(0, 3) + '-' + S4() + '-' + S4() + S4() + S4()).toLowerCase();\n }\n\n\n}\n\n","import { render } from \"./toggle-switch.html?vue&type=template&id=a34bc32e&scoped=true&ts=true&external\"\nimport script from \"./toggle-switch.ts?vue&type=script&lang=ts&external\"\nexport * from \"./toggle-switch.ts?vue&type=script&lang=ts&external\"\n\nimport \"./toggle-switch.scss?vue&type=style&index=0&id=a34bc32e&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a34bc32e\"]])\n\nexport default __exports__","import { normalizeClass as _normalizeClass, resolveDirective as _resolveDirective, createElementVNode as _createElementVNode, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-29c95e4e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"popover\"\n}\n\nexport function render(_ctx, _cache) {\n const _directive_tippy = _resolveDirective(\"tippy\")\n\n return (_ctx.preview || _ctx.popover && (_ctx.popover.isShow && _ctx.popover.content?.length > 0))\n ? (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"i\", {\n class: _normalizeClass(_ctx.iconClass || 'fa fa-question-circle'),\n style: {\"font-size\":\"20px\"}\n }, null, 2), [\n [_directive_tippy, {content: '\\
' + _ctx.popover.title+ '\\
' + '\\
' + _ctx.popover.content + '\\
', interactive: true}]\n ])\n ]))\n : _createCommentVNode(\"\", true)\n}","import { Options, Vue } from \"vue-property-decorator\";\n\nexport interface PopoverView {\n title: string;\n content: string;\n key: string;\n isShow: boolean;\n pageId: number;\n}\n\n@Options({\n props: {\n popover: Object,\n iconClass: String,\n preview: Boolean,\n },\n components: {\n Popover,\n },\n})\n/* \n* usage: \n* usage: \n*/\nexport default class Popover extends Vue {\n private popover!: PopoverView;\n private iconClass?: string;\n private preview?: boolean;\n\n}\n","import { render } from \"./popover.html?vue&type=template&id=29c95e4e&scoped=true&ts=true&external\"\nimport script from \"./popover.ts?vue&type=script&lang=ts&external\"\nexport * from \"./popover.ts?vue&type=script&lang=ts&external\"\n\nimport \"./popover.scss?vue&type=style&index=0&id=29c95e4e&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-29c95e4e\"]])\n\nexport default __exports__","import { Options, Vue } from 'vue-class-component';\nimport ToggleSwitch from '@/shared/components/toggle-switch/index.vue';\nimport { QuillEditor } from '@vueup/vue-quill';\nimport '@vueup/vue-quill/dist/vue-quill.snow.css';\nimport Popover from '@/shared/components/popover/index.vue';\nimport { Inject } from 'vue-property-decorator';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { EventEmitter } from 'events';\nimport store from '@/trust-admin-app/store';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport { AppInsights } from '@/trust-admin-app/appInsights';\nimport { PageContent } from '@/shared/modules/typescript-trustapi-client/models';\n\n\n/**\n *\n * @export\n * @class HelpEdit\n * @extends {Vue}\n * @prop {Object} helpContent: The help content to edit (title, body, etc)\n * @prop {Number} contentType: The type of help content to edit, 1 = help page, 2 = popovers\n */\n@Options({\n props: {\n helpContent: Object,\n },\n components: {\n ToggleSwitch,\n LoadingIndicator,\n QuillEditor,\n Popover,\n },\n})\nexport default class HelpEditModal extends Vue {\n private helpContent!: PageContent;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private isClosing = false;\n private isSaving = false;\n private ai = new AppInsights;\n\n private tempHelpContent: PageContent = {};\n private isPreviewing = false;\n\n private isPopover = false;\n\n private blankToolbar = [];\n private toolbarOptions = [\n [{ 'header': [1, 2, 3, 4, 5, 6, false] }],\n ['bold', 'italic', 'underline', 'strike'], // toggled buttons\n ['blockquote', 'code-block'],\n\n // [{ 'header': 1 }, { 'header': 2 }], // custom button values\n [{ 'list': 'ordered' }, { 'list': 'bullet' }],\n // [{ 'script': 'sub'}, { 'script': 'super' }], // superscript/subscript\n [{ 'indent': '-1' }, { 'indent': '+1' }], // outdent/indent\n // [{ 'direction': 'rtl' }], // text direction\n\n // [{ 'size': ['small', false, 'large', 'huge'] }], // custom dropdown\n // ['link'],\n // [{ 'color': [] }, { 'background': [] }], // dropdown with defaults from theme\n // [{ 'font': [] }],\n [{ 'align': [] }],\n ['link', 'image', 'video'],\n // ['clean'] // remove formatting button\n ];\n\n private toolbarPopovers = [\n [{ 'header': [false] }],\n ['bold', 'italic', 'underline', 'strike'], // toggled buttons\n [{ 'list': 'ordered' }, { 'list': 'bullet' }],\n ['link'],\n ];\n\n mounted(): void {\n document.body.classList.add('modal-open');\n document.addEventListener('keydown', this.onEscape);\n this.$nextTick(() => {\n console.log(this.helpContent);\n this.tempHelpContent = JSON.parse(JSON.stringify(this.helpContent));\n this.isPopover = this.tempHelpContent.contentType?.id === 2;\n });\n }\n\n beforeUnmount(): void {\n document.body.classList.remove('modal-open');\n document.removeEventListener('keydown', this.onEscape);\n }\n\n private onEscape(e: KeyboardEvent) {\n if (e.key.toLowerCase() === 'escape') {\n this.close();\n }\n }\n\n private close() {\n this.isClosing = true;\n setTimeout(() => {\n this.$emit('close');\n }, 500);\n }\n\n private checkNote() {\n // if (this.editorContent !== this.meetingNote ) {\n // this.unsavedNote = true;\n // }\n }\n\n private async saveContent(): Promise {\n try {\n this.isSaving = true;\n const response: any = await this.apiService.PageAtcsApi?.apiV2PageAtcsAdminUpdatePageContentPost(this.tempHelpContent);\n this.eventCtrl.emit('show-snackbar', 'success', 'Content updated');\n this.eventCtrl.emit('reload-page-settings');\n this.close();\n } catch (err: any) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting page container: ' + err.response?.status);\n this.ai.trackException('Error updating page content: ' + err);\n } finally {\n this.isSaving = false;\n }\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n get isTesting() {\n const _local = window.location.href.indexOf('https://localhost:44') == 0;\n return _local;\n }\n\n}\n","import { render } from \"./help-edit-modal.html?vue&type=template&id=aecda394&scoped=true&ts=true&external\"\nimport script from \"./help-edit-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./help-edit-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./help-edit-modal.scss?vue&type=style&index=0&id=aecda394&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-aecda394\"]])\n\nexport default __exports__","import { TrustAPI } from '@/shared/modules/trust-api';\nimport { Options, Vue } from 'vue-class-component';\nimport { Inject } from 'vue-property-decorator';\nimport { EventEmitter } from 'events';\nimport store from '@/trust-admin-app/store';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport HelpEditModal from '../help-edit-modal/index.vue';\nimport { AppInsights } from '@/trust-atcs-app/appInsights';\nimport { orderBy } from 'lodash';\nimport { PageContent } from '@/shared/modules/typescript-trustapi-client/models';\n\n@Options({\n components: {\n LoadingIndicator,\n ErrorIndicator,\n HelpEditModal\n }\n})\nexport default class TrustDataPageSettings extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private tableHeadings = [\n { text: 'Page', value: 'page', sortable: false },\n { text: 'Type', value: 'type', sortable: false },\n { text: 'Title', value: 'title', sortable: false },\n { text: 'Internal Note', value: 'internal-note', sortable: false },\n { text: 'Status', value: 'status', sortable: false },\n { text: 'Actions', value: 'actions', sortable: false },\n ];\n\n\n private loadingContent = false;\n private errorLoadingContent = false;\n private pageSettingsList: any[] = [];\n private showPopoverEdit = false;\n private ai = new AppInsights;\n private selectedPageSettings: PageContent = null as any;\n\n created(): void {\n this.loadPageSettingsList();\n }\n\n mounted() {\n this.eventCtrl.on('reload-page-settings', this.loadPageSettingsList);\n }\n\n beforeUnmount() {\n this.eventCtrl.off('reload-page-settings', this.loadPageSettingsList);\n }\n\n private async loadPageSettingsList(): Promise {\n try {\n this.loadingContent = true;\n const response: any = await this.apiService.PageAtcsApi?.apiV2PageAtcsAdminGetAllPageContentsGet();\n this.pageSettingsList = response.data.data;\n } catch (err: any) {\n this.errorLoadingContent = true;\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting page list: ' + err.response?.status);\n this.ai.trackException('Error getting content page: ' + err);\n } finally {\n this.loadingContent = false;\n }\n\n }\n\n private async pageContentStatus(p: PageContent, value: any): Promise {\n try {\n this.pageSettingsList.forEach((item: any, index: number) => {\n if (item.id === p.id) {\n this.pageSettingsList[index].isShow = value;\n }\n });\n const response: any = await this.apiService.PageAtcsApi?.apiV2PageAtcsAdminUpdatePageContentStatusPost({\n id: p.id,\n isShow: value ?? false,\n });\n } catch (err: any) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting page list: ' + err.response?.status);\n this.ai.trackException('Error getting content page: ' + err);\n } finally {\n this.loadingContent = false;\n }\n }\n\n\n private editPageSettings(settingType: PageContent): void {\n this.showPopoverEdit = true;\n this.selectedPageSettings = settingType;\n }\n\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n}\n","import { render } from \"./trust-data-pagesettings.html?vue&type=template&id=5b56ebb0&scoped=true&ts=true&external\"\nimport script from \"./trust-data-pagesettings.ts?vue&type=script&lang=ts&external\"\nexport * from \"./trust-data-pagesettings.ts?vue&type=script&lang=ts&external\"\n\nimport \"./trust-data-pagesettings.scss?vue&type=style&index=0&id=5b56ebb0&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5b56ebb0\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, renderList as _renderList, Fragment as _Fragment, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b155f6b8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"external-examiner-main\" }\nconst _hoisted_2 = {\n key: 1,\n class: \"wrapper\"\n}\nconst _hoisted_3 = {\n class: \"control\",\n title: \"Toggle options menu\"\n}\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"icon\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-left\" })\n], -1))\nconst _hoisted_5 = {\n key: 0,\n class: \"text\"\n}\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_7 = { class: \"heading\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"heading-text\" }, \"External Examiner details\", -1))\nconst _hoisted_9 = { class: \"info-box\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"LawID\", -1))\nconst _hoisted_11 = { class: \"fielddata\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"LawID Email\", -1))\nconst _hoisted_13 = { class: \"fielddata\" }\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Last name\", -1))\nconst _hoisted_15 = { class: \"fielddata\" }\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"First name\", -1))\nconst _hoisted_17 = { class: \"fielddata\" }\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Status\", -1))\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Email\", -1))\nconst _hoisted_20 = { class: \"fielddata\" }\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Firm name\", -1))\nconst _hoisted_22 = { class: \"fielddata\" }\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Address\", -1))\nconst _hoisted_24 = { class: \"fielddata\" }\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Suburb\", -1))\nconst _hoisted_26 = { class: \"fielddata\" }\nconst _hoisted_27 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Postcode\", -1))\nconst _hoisted_28 = { class: \"fielddata\" }\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"State\", -1))\nconst _hoisted_30 = { class: \"fielddata\" }\nconst _hoisted_31 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Telephone number\", -1))\nconst _hoisted_32 = { class: \"fielddata\" }\nconst _hoisted_33 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Membership type\", -1))\nconst _hoisted_34 = { class: \"fielddata\" }\nconst _hoisted_35 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Publish on Web\", -1))\nconst _hoisted_36 = { class: \"fielddata\" }\nconst _hoisted_37 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_38 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"fieldname\" }, \"Proof of External Examiner Course Completion\")\n], -1))\nconst _hoisted_39 = { class: \"file-list\" }\nconst _hoisted_40 = { class: \"file mb-2\" }\nconst _hoisted_41 = { class: \"file-name\" }\nconst _hoisted_42 = { class: \"file-actions\" }\nconst _hoisted_43 = { class: \"action\" }\nconst _hoisted_44 = [\"onClick\"]\nconst _hoisted_45 = { class: \"right-panel\" }\n\nexport function render(_ctx, _cache) {\n const _component_LoadingSpinner = _resolveComponent(\"LoadingSpinner\")\n const _component_router_view = _resolveComponent(\"router-view\")\n const _component_AddEeModal = _resolveComponent(\"AddEeModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (_ctx.validatingEntrance)\n ? (_openBlock(), _createBlock(_component_LoadingSpinner, { key: 0 }))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", {\n class: _normalizeClass(['left-panel', _ctx.hidePracticeInfo ? 'hideInfo': ''])\n }, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: \"hide-options\",\n onClick: _cache[0] || (_cache[0] = $event => (_ctx.showHideOptions(_ctx.hideLeftPanel)))\n }, [\n _hoisted_4,\n (!_ctx.hidePracticeInfo)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, \"Hide Options\"))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.hideLeftPanel)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"show-options\",\n onClick: _cache[1] || (_cache[1] = $event => (_ctx.showHideOptions(_ctx.hideLeftPanel)))\n }, [\n _createTextVNode(\" Show\"),\n _hoisted_6,\n _createTextVNode(\"Options \")\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (!_ctx.hidePracticeInfo)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createElementVNode(\"div\", _hoisted_7, [\n _hoisted_8,\n _createElementVNode(\"button\", {\n class: \"btn btn-outline sml\",\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.editEE()))\n }, \"Edit\")\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", null, [\n _hoisted_10,\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.selectedEE.lawId), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_12,\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.selectedEE.email), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_14,\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.selectedEE.lastName), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_16,\n _createElementVNode(\"span\", _hoisted_17, _toDisplayString(_ctx.selectedEE.firstName), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_18,\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"fielddata\", _ctx.selectedEE.inactive ? 'inactive' : 'active'])\n }, _toDisplayString(_ctx.selectedEE.inactive ? 'Inactive' : 'Active'), 3)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_19,\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.selectedEE.email ?? '-'), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_21,\n _createElementVNode(\"span\", _hoisted_22, _toDisplayString(_ctx.selectedEE.firmName), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_23,\n _createElementVNode(\"span\", _hoisted_24, _toDisplayString(_ctx.selectedEE.address), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_25,\n _createElementVNode(\"span\", _hoisted_26, _toDisplayString(_ctx.selectedEE.suburb), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_27,\n _createElementVNode(\"span\", _hoisted_28, _toDisplayString(_ctx.selectedEE.postCode), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_29,\n _createElementVNode(\"span\", _hoisted_30, _toDisplayString(_ctx.selectedEE.state), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_31,\n _createElementVNode(\"span\", _hoisted_32, _toDisplayString(_ctx.selectedEE.phoneDetail?.countryCode) + \" \" + _toDisplayString(_ctx.selectedEE.phoneDetail?.phoneNumber), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_33,\n _createElementVNode(\"span\", _hoisted_34, _toDisplayString(_ctx.selectedEE.eeMembershipType?.name), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_35,\n _createElementVNode(\"span\", _hoisted_36, _toDisplayString(_ctx.selectedEE.publishOnWeb? 'Yes' : 'No'), 1)\n ]),\n _hoisted_37,\n _hoisted_38\n ]),\n _createElementVNode(\"div\", _hoisted_39, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.selectedEE.files, (file) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_40, [\n _createElementVNode(\"div\", _hoisted_41, [\n _createElementVNode(\"span\", null, _toDisplayString(file.fileName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_42, [\n _createElementVNode(\"div\", _hoisted_43, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: $event => (_ctx.downloadFile(file))\n }, \"Download\", 8, _hoisted_44)\n ])\n ])\n ]))\n }), 256))\n ])\n ], 64))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"div\", _hoisted_45, [\n _createVNode(_component_router_view)\n ])\n ])),\n (_ctx.showAddEEModal)\n ? (_openBlock(), _createBlock(_component_AddEeModal, {\n key: 2,\n onCloseEEModal: _cache[3] || (_cache[3] = $event => (_ctx.showAddEEModal = false)),\n selectedEE: _ctx.selectedEE,\n \"onUpdate:selectedEE\": _cache[4] || (_cache[4] = $event => ((_ctx.selectedEE) = $event)),\n onUpdateEE: _ctx.loadEE\n }, null, 8, [\"selectedEE\", \"onUpdateEE\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { Inject, Options, Vue } from \"vue-property-decorator\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { ExternalExaminer } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-admin-app/appInsights\";\nimport store from \"@/trust-admin-app/store\";\nimport { EventEmitter } from \"events\";\nimport { RouteN } from \"@/trust-admin-app/constants/router-name\";\nimport AddEeModal from \"../trust-data-external-examiner/add-ee-modal/index.vue\";\n\n@Options({\n components: {\n LoadingSpinner,\n LoadingIndicator,\n AddEeModal,\n },\n mixins: [FormatDateTimeMixin]\n})\nexport default class ExternalExaminerMain extends Vue {\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private validatingEntrance = false;\n private hidePracticeInfo = false;\n private hideLeftPanel = false;\n private selectedEE: ExternalExaminer = {};\n\n private showAddEEModal = false; // use AddEeModal for editing EE\n\n created(): void {\n this.validateEntrance();\n }\n\n private async validateEntrance(): Promise {\n this.validatingEntrance = true;\n const ExternalExaminerId: number = parseInt(this.$route.query.eeId as string, 10);\n\n try {\n if (!ExternalExaminerId) {\n throw new Error('No External Examiner selected');\n } else if (this.selectedEE.id === ExternalExaminerId) {\n this.validatingEntrance = false;\n } else if (this.selectedEE.id !== ExternalExaminerId) {\n\n const resp: any = await this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerAdminGetExternalExaminerByIdExternalExaminerIdGet(ExternalExaminerId);\n const selectedEE: ExternalExaminer = resp.data.data;\n this.selectedEE = selectedEE;\n if (selectedEE) {\n store.dispatch('setSelectedEE', selectedEE as ExternalExaminer);\n this.validatingEntrance = false;\n } else {\n throw new Error('Invalid External Examiner');\n }\n }\n } catch (err: any) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Invalid External Examiner');\n this.ai.trackException('Error loading page: ' + 'Invalid External Examiner');\n this.$router.push({ name: RouteN.TA.Home.n });\n }\n }\n\n private async loadEE(): Promise {\n const ExternalExaminerId: number = parseInt(this.$route.query.eeId as string, 10);\n const resp: any = await this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerAdminGetExternalExaminerByIdExternalExaminerIdGet(ExternalExaminerId);\n const selectedEE: ExternalExaminer = resp.data.data;\n this.selectedEE = selectedEE;\n if (selectedEE) {\n store.dispatch('setSelectedEE', selectedEE as ExternalExaminer);\n this.validatingEntrance = false;\n } else {\n throw new Error('Invalid External Examiner');\n }\n }\n\n private showHideOptions(hideLeftPanel: boolean) {\n this.hideLeftPanel = !hideLeftPanel;\n if (this.hideLeftPanel) {\n this.hidePracticeInfo = true;\n } else {\n setTimeout(() => {\n this.hidePracticeInfo = false;\n }, 500);\n }\n this.eventCtrl.emit('side-panel-hidden', this.hideLeftPanel);\n }\n\n private async downloadFile(file: any): Promise {\n try {\n const resp: any = await this.apiService.FileAtcsApi?.apiV2FileAtcsAdminDownloadStreamFileIdGet(\n file.id,\n { responseType: 'blob' }\n );\n const blob = new Blob([resp.data], { type: resp.headers['content-type'] });\n const documentURL = window.URL.createObjectURL(blob);\n const downloadLink = document.createElement('a');\n const fileName = file.fileName;\n downloadLink.href = documentURL;\n downloadLink.download = fileName;\n downloadLink.click();\n } catch (err) {\n console.log(err);\n }\n }\n\n private editEE(): void {\n this.showAddEEModal = true;\n }\n\n}\n\n","import { render } from \"./external-examiner-main.html?vue&type=template&id=b155f6b8&scoped=true&ts=true&external\"\nimport script from \"./external-examiner-main.ts?vue&type=script&lang=ts&external\"\nexport * from \"./external-examiner-main.ts?vue&type=script&lang=ts&external\"\n\nimport \"./external-examiner-main.scss?vue&type=style&index=0&id=b155f6b8&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-b155f6b8\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-56b0dd9c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"external-examiner-dashboard\" }\nconst _hoisted_2 = { class: \"section-heading\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Appointed\", -1))\nconst _hoisted_4 = { style: {\"display\":\"flex\"} }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Practices\", -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"space-filler\",\n style: {\"flex-grow\":\"1\"}\n}, null, -1))\nconst _hoisted_7 = { class: \"table-section\" }\nconst _hoisted_8 = { class: \"ls-table\" }\nconst _hoisted_9 = { class: \"text\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-up\" }, null, -1))\nconst _hoisted_11 = [\n _hoisted_10\n]\nconst _hoisted_12 = { key: 0 }\nconst _hoisted_13 = [\"colspan\"]\nconst _hoisted_14 = { key: 1 }\nconst _hoisted_15 = [\"colspan\"]\nconst _hoisted_16 = { key: 2 }\nconst _hoisted_17 = [\"colspan\"]\nconst _hoisted_18 = [\"title\"]\nconst _hoisted_19 = { \"data-label\": \"Law Practice ID\" }\nconst _hoisted_20 = [\"title\"]\nconst _hoisted_21 = { \"data-label\": \"Appointed Date\" }\nconst _hoisted_22 = { \"data-label\": \"Terminated Date\" }\nconst _hoisted_23 = { \"data-label\": \"Actions\" }\nconst _hoisted_24 = [\"onClick\"]\nconst _hoisted_25 = [\"onClick\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_AddAppointedPracticeModal = _resolveComponent(\"AddAppointedPracticeModal\")\n const _component_ViewTerminatePracticeModal = _resolveComponent(\"ViewTerminatePracticeModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _hoisted_6,\n _createElementVNode(\"button\", {\n class: \"btn btn-primary mr-2\",\n onClick: _cache[0] || (_cache[0] = $event => (_ctx.showAddAppointedPracticeModal = true))\n }, \"Add new practice\")\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"table\", _hoisted_8, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", {\n class: _normalizeClass([ h.sortable ? 'sortable' : ''])\n }, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(h.text), 1),\n (h.sortable)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([ _ctx.activeSortHeader === index ? 'active' : '', h.sortMethod])\n }, _hoisted_11, 2))\n : _createCommentVNode(\"\", true)\n ])\n ], 2))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_12, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_13)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_14, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_15)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.practiceList.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_16, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, \"No results found.\", 8, _hoisted_17)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.practiceList.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.practiceList, (p) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", {\n \"data-label\": \"Practice Name\",\n title: p.practiceName\n }, _toDisplayString(p.practiceName), 9, _hoisted_18),\n _createElementVNode(\"td\", _hoisted_19, _toDisplayString(p.firmId), 1),\n _createElementVNode(\"td\", {\n \"data-label\": \"Branch Address\",\n title: p.address\n }, _toDisplayString(p.address), 9, _hoisted_20),\n _createElementVNode(\"td\", _hoisted_21, _toDisplayString(_ctx.$formatDate(p.effectiveStartDate)), 1),\n _createElementVNode(\"td\", _hoisted_22, _toDisplayString(_ctx.$formatDate(p.effectiveEndDate)), 1),\n _createElementVNode(\"td\", _hoisted_23, [\n (p.effectiveEndDate)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn btn-default sml ml-1 mr-1\",\n onClick: $event => (_ctx.openView(p))\n }, \"View\", 8, _hoisted_24))\n : (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-default sml ml-1 mr-1\",\n onClick: $event => (_ctx.openView(p))\n }, \"Edit\", 8, _hoisted_25))\n ])\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n (_ctx.showAddAppointedPracticeModal)\n ? (_openBlock(), _createBlock(_component_AddAppointedPracticeModal, {\n key: 0,\n onClose: _cache[1] || (_cache[1] = $event => (_ctx.showAddAppointedPracticeModal = false)),\n onRefresh: _ctx.getPractice\n }, null, 8, [\"onRefresh\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showViewTerminatePracticeModal)\n ? (_openBlock(), _createBlock(_component_ViewTerminatePracticeModal, {\n key: 1,\n onClose: _cache[2] || (_cache[2] = $event => (_ctx.showViewTerminatePracticeModal = false)),\n onRefresh: _ctx.getPractice,\n selectedPractice: _ctx.selectedPractice,\n \"onUpdate:selectedPractice\": _cache[3] || (_cache[3] = $event => ((_ctx.selectedPractice) = $event))\n }, null, 8, [\"onRefresh\", \"selectedPractice\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, vModelCheckbox as _vModelCheckbox, withDirectives as _withDirectives, normalizeClass as _normalizeClass, createElementBlock as _createElementBlock, vModelText as _vModelText, createTextVNode as _createTextVNode, Fragment as _Fragment, withModifiers as _withModifiers, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-9a7317de\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"view-terminate-practice-modal\" }\nconst _hoisted_2 = { class: \"heading-text\" }\nconst _hoisted_3 = { class: \"line1\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Law Practice ID:\", -1))\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Law Practice name:\", -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Branch Address\", -1))\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_10 = { class: \"row ma-0\" }\nconst _hoisted_11 = { class: \"col-6 ma-0\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Appointed Date:\", -1))\nconst _hoisted_13 = { class: \"mt-1\" }\nconst _hoisted_14 = { class: \"col-6 ma-0\" }\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Termination Date:\", -1))\nconst _hoisted_16 = { key: 0 }\nconst _hoisted_17 = { class: \"checkbox-button\" }\nconst _hoisted_18 = {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n], -1))\nconst _hoisted_20 = { class: \"checkbox-text\" }\nconst _hoisted_21 = {\n key: 1,\n class: \"mt-1\"\n}\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Reason for termination:\", -1))\nconst _hoisted_24 = [\"disabled\"]\nconst _hoisted_25 = {\n key: 0,\n class: \"validation-msg error\"\n}\nconst _hoisted_26 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }, null, -1))\nconst _hoisted_27 = { class: \"controls mt-4\" }\nconst _hoisted_28 = [\"disabled\"]\nconst _hoisted_29 = [\"disabled\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n halfScreen: \"true\",\n onClose: _cache[4] || (_cache[4] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.inEditMode ? 'Edit' : 'View') + \" Practice\", 1)\n ])\n ]),\n body: _withCtx(() => [\n (_ctx.isLoading)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _hoisted_4,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.practice?.firmId), 1),\n _hoisted_5,\n _hoisted_6,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.practice?.practiceName), 1),\n _hoisted_7,\n _hoisted_8,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.practice?.address), 1),\n _hoisted_9,\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"div\", _hoisted_11, [\n _hoisted_12,\n _createElementVNode(\"div\", _hoisted_13, _toDisplayString(_ctx.$formatDate(_ctx.practice?.effectiveStartDate)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _hoisted_15,\n (_ctx.inEditMode)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"checkbox\", _ctx.submitButtonPressed && !_ctx.terminated ? 'error' :''])\n }, [\n _createElementVNode(\"label\", _hoisted_17, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.terminated) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.terminated]\n ]),\n _createElementVNode(\"div\", _hoisted_18, [\n _hoisted_19,\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.$formatDate(new Date())) + \" (Today)\", 1)\n ])\n ])\n ], 2)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_21, _toDisplayString(_ctx.$formatDate(_ctx.practice?.effectiveEndDate)), 1))\n ])\n ]),\n _hoisted_22,\n _hoisted_23,\n _withDirectives(_createElementVNode(\"textarea\", {\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.practice.terminationReason) = $event)),\n class: _normalizeClass(_ctx.submitButtonPressed && _ctx.practice.terminationReason == '' ? 'error' :''),\n style: {\"border\":\"1px solid #aaa\",\"height\":\"130px\",\"resize\":\"vertical\",\"width\":\"100%\"},\n maxlength: 5000,\n placeholder: \"Enter reason\",\n disabled: !_ctx.inEditMode\n }, null, 10, _hoisted_24), [\n [_vModelText, _ctx.practice.terminationReason]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [_ctx.practice.terminationReason?.length === 5000 ? 'full' : '']])\n }, _toDisplayString(_ctx.practice.terminationReason?.length || 0) + \"/5000 characters \", 3),\n (_ctx.practice.terminationReason == '' & _ctx.submitButtonPressed)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_25, [\n _hoisted_26,\n _createTextVNode(\" Required field. \")\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_27, [\n (_ctx.submitting)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-outline\",\n disabled: _ctx.submitting,\n onClick: _cache[2] || (_cache[2] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\",\"stop\"]))\n }, \" Cancel \", 8, _hoisted_28),\n (_ctx.inEditMode)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-primary ml-2\",\n disabled: _ctx.submitting,\n onClick: _cache[3] || (_cache[3] = _withModifiers($event => (_ctx.save()), [\"prevent\",\"stop\"]))\n }, \" Save \", 8, _hoisted_29))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n })\n ]))\n}","import { Inject, Options, Vue, Watch } from \"vue-property-decorator\";\nimport ModalBox from \"@/shared/components/modal-box/index.vue\";\nimport LoadingIndicator from \"@/shared/components/loading-indicator/index.vue\";\nimport ErrorIndicator from \"@/shared/components/error-indicator/index.vue\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-admin-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-admin-app/store\";\n\n@Options({\n props: {\n selectedPractice: Object,\n },\n components: {\n ModalBox,\n LoadingIndicator,\n ErrorIndicator,\n },\n mixins: [FormatDateTimeMixin]\n})\nexport default class ViewTerminatePracticeModal extends Vue {\n private selectedPractice!: any;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private inEditMode = false;\n private submitButtonPressed = false;\n private terminated = false;\n private submitting = false;\n\n private isLoading = false;\n private practice: any = {};\n\n @Watch('terminated')\n private onTerminatedChanged(): void {\n if (this.terminated) {\n this.practice.effectiveEndDate = new Date();\n } else {\n this.practice.effectiveEndDate = null;\n }\n }\n\n private closeModal(): void {\n this.$emit('close');\n }\n\n mounted(): void {\n this.inEditMode = this.selectedPractice.effectiveEndDate ? false : true;\n this.getPractice();\n }\n\n private async getPractice(): Promise {\n this.isLoading = true;\n await this.apiService?.PracticeAtcsApi?.apiV2AtcsPracticeAdminGetIndividualPracticeForExternalExaminerIndividualPracticeIdGet(\n this.selectedPractice.individualPracticeId\n ).then((response) => {\n this.practice = response.data.data;\n if (this.inEditMode) {\n this.practice.terminationReason = '';\n }\n this.isLoading = false;\n }).catch((error) => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting Practice data: ' + error);\n this.ai.trackException('Error getting Practice data: ' + error);\n this.isLoading = false;\n });\n }\n\n private isFormValid(): boolean {\n return this.practice.effectiveEndDate != null && this.practice.terminationReason != '';\n }\n\n private async save(): Promise {\n try {\n this.submitButtonPressed = true;\n this.submitting = true;\n if (!this.isFormValid()) {\n throw ('Incomplete form data');\n }\n const res = await this.apiService.PracticeAtcsApi?.apiV2AtcsPracticeAdminTerminateIndividualPracticeForExternalExaminerPost(\n {\n \"id\": this.selectedPractice.individualPracticeId,\n \"effectiveEndDate\": new Date(),\n \"terminationReason\": this.practice.terminationReason,\n }\n )\n this.eventCtrl.emit('show-snackbar', 'success', 'Practice terminated successfully');\n this.$emit('refresh');\n this.closeModal();\n }\n catch (error) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error terminating Practice: ' + error);\n this.ai.trackException('Error terminating Practice: ' + error);\n\n }\n finally {\n this.submitting = false;\n }\n }\n\n\n\n // if (this.inEditMode) {\n\n // await this.apiService.PracticeAtcsApi?.apiV2AtcsPracticeAdminTerminateIndividualPracticeForExternalExaminerPost(\n // {\n // \"id\": this.selectedPractice.individualPracticeId,\n // \"effectiveEndDate\": new Date(),\n // \"terminationReason\": this.practice.terminationReason,\n // }\n // )\n // .then(() => {\n // this.eventCtrl.emit('show-snackbar', 'success', 'Practice terminated successfully');\n // this.submitting = false;\n // this.$emit('refresh');\n // this.closeModal();\n // })\n // .catch((error) => {\n // this.eventCtrl.emit('show-snackbar', 'error', 'Error terminating Practice: ' + error);\n // this.ai.trackException('Error terminating Practice: ' + error);\n // this.submitting = false;\n // });\n // }\n // }\n\n}\n\n","import { render } from \"./view-terminate-practice-modal.html?vue&type=template&id=9a7317de&scoped=true&ts=true&external\"\nimport script from \"./view-terminate-practice-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./view-terminate-practice-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./view-terminate-practice-modal.scss?vue&type=style&index=0&id=9a7317de&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-9a7317de\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createBlock as _createBlock, withModifiers as _withModifiers, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7f75f126\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"add-appointed-practice-modal\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"heading-text\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"line1\" }, \"Appoint new Practice\"),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"line2\" }, \"Practices\")\n], -1))\nconst _hoisted_3 = { class: \"body-main\" }\nconst _hoisted_4 = { class: \"search\" }\nconst _hoisted_5 = { class: \"icon-hm\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"fal fa-spinner fa-spin fa-lg\"\n}\nconst _hoisted_7 = {\n key: 1,\n class: \"fal fa-search fa-lg\"\n}\nconst _hoisted_8 = [\"disabled\"]\nconst _hoisted_9 = {\n key: 0,\n class: \"error\"\n}\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-exclamation-circle mt-2 mr-1\" }, null, -1))\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"Please search and select a branch\", -1))\nconst _hoisted_12 = [\n _hoisted_10,\n _hoisted_11\n]\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-info-circle mt-2\" }),\n /*#__PURE__*/_createElementVNode(\"span\", null, \" Please be aware that an email notification will be sent to the Trust Coordinator of the relevant office location \")\n], -1))\nconst _hoisted_14 = { key: 0 }\nconst _hoisted_15 = [\"disabled\", \"onClick\"]\nconst _hoisted_16 = {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n], -1))\nconst _hoisted_18 = { class: \"checkbox-text\" }\nconst _hoisted_19 = {\n key: 0,\n style: {\"color\":\"var(--ls-slate)\"}\n}\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-info-circle mt-2 mr-1\" }, null, -1))\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Law Practice ID\", -1))\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Law Practice Name\", -1))\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Branch address\", -1))\nconst _hoisted_24 = {\n key: 3,\n class: \"showMore mt-2 mb-1\"\n}\nconst _hoisted_25 = {\n key: 1,\n class: \"error\"\n}\nconst _hoisted_26 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-exclamation-circle mt-2 mr-1\" }, null, -1))\nconst _hoisted_27 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"Please select a branch\", -1))\nconst _hoisted_28 = [\n _hoisted_26,\n _hoisted_27\n]\nconst _hoisted_29 = { class: \"controls mt-4\" }\nconst _hoisted_30 = [\"disabled\"]\nconst _hoisted_31 = [\"disabled\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n halfScreen: \"true\",\n onClose: _cache[5] || (_cache[5] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _hoisted_2\n ]),\n body: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"search-bar\", _ctx.submitPressed && _ctx.searchText == '' ? 'error':''])\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n placeholder: \"Search Practice ID or Practice name\",\n maxLength: \"75\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.searchText) = $event))\n }, null, 512), [\n [_vModelText, _ctx.searchText]\n ]),\n _createElementVNode(\"span\", _hoisted_5, [\n (_ctx.isSearching)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_6))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_7))\n ])\n ], 2),\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml ml-2\",\n disabled: _ctx.isSearching || _ctx.searchText.length === 0,\n onClick: _cache[1] || (_cache[1] = $event => (_ctx.searchPractice(_ctx.skip, 5, true)))\n }, \"Search\", 8, _hoisted_8)\n ]),\n (_ctx.submitPressed && _ctx.searchText == '')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, _hoisted_12))\n : _createCommentVNode(\"\", true),\n _hoisted_13,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"results\", (_ctx.searchPressed && _ctx.submitPressed && this.practiceList.length > 0 && this.selectedPracticeList.length == 0) ? 'empty' : '' ])\n }, [\n (!_ctx.isSearching && _ctx.searchPressed && _ctx.practiceList.length == 0 )\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, \" No results found \"))\n : (_openBlock(true), _createElementBlock(_Fragment, { key: 1 }, _renderList(_ctx.practiceList, (p) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"label\", {\n class: _normalizeClass([\"checkbox-button\", p.isSelectable ? '' : 'disabled'])\n }, [\n _createElementVNode(\"input\", {\n type: \"checkbox\",\n disabled: !p.isSelectable,\n onClick: $event => (_ctx.updateSelected(p))\n }, null, 8, _hoisted_15),\n _createElementVNode(\"div\", _hoisted_16, [\n _hoisted_17,\n _createElementVNode(\"span\", _hoisted_18, [\n (!p.isSelectable)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_19, [\n _hoisted_20,\n _createElementVNode(\"span\", null, _toDisplayString(p.notSelectableCriteria?.description), 1)\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_21,\n _createElementVNode(\"div\", null, _toDisplayString(p.firmId), 1),\n _hoisted_22,\n _createElementVNode(\"div\", null, _toDisplayString(p.practiceName), 1),\n _hoisted_23,\n _createElementVNode(\"div\", null, _toDisplayString(p.address), 1)\n ])\n ])\n ], 2)\n ]))\n }), 256)),\n (_ctx.isSearching)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 2,\n class: \"loading-indicator ml-2\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.displayShowMoreButton && !_ctx.isSearching)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_24, [\n (!_ctx.isSearching)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n class: \"link\",\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.searchPractice(_ctx.numResultsShowing, 5, false)))\n }, \"Show more\"))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n (_ctx.searchPressed && _ctx.submitPressed && this.practiceList.length > 0 && this.selectedPracticeList.length == 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_25, _hoisted_28))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_29, [\n (_ctx.submitting)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-outline\",\n disabled: _ctx.submitting,\n onClick: _cache[3] || (_cache[3] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\",\"stop\"]))\n }, \" Cancel \", 8, _hoisted_30),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary ml-2\",\n disabled: _ctx.submitting || _ctx.isSearching,\n onClick: _cache[4] || (_cache[4] = _withModifiers($event => (_ctx.submitButtonPressed()), [\"prevent\",\"stop\"]))\n }, \" Appoint \", 8, _hoisted_31)\n ])\n ]),\n _: 1\n })\n ]))\n}","import { Inject, Options, Vue } from \"vue-property-decorator\";\nimport ModalBox from \"@/shared/components/modal-box/index.vue\";\nimport LoadingIndicator from \"@/shared/components/loading-indicator/index.vue\";\nimport ErrorIndicator from \"@/shared/components/error-indicator/index.vue\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { AppInsights } from \"@/trust-admin-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-admin-app/store\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AddIndividualPracticeRequest, PracticeAtcs } from \"@/shared/modules/typescript-trustapi-client/models\";\n\n@Options({\n components: {\n ModalBox,\n LoadingIndicator,\n ErrorIndicator,\n },\n mixins: [FormatDateTimeMixin]\n})\nexport default class AddAppointedPracticeModal extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private searchText = '';\n private submitPressed = false;\n private searchPressed = false;\n private isSearching = false;\n private submitting = false;\n private practiceList: any[] = [];\n private selectedPracticeList: any[] = [];\n\n private totalResultCount = 0;\n private numResultsShowing = 0;\n private skip = 0;\n\n private closeModal(): void {\n this.$emit('close');\n }\n\n private isFormValid(): boolean {\n return this.selectedPracticeList != null && this.selectedPracticeList?.length > 0;\n }\n\n private async searchPractice(skip: number, take: 5, reset: boolean): Promise {\n this.isSearching = true;\n this.searchPressed = true;\n if (reset) {\n this.practiceList = [];\n this.selectedPracticeList = [];\n this.skip = 0;\n }\n await this.apiService?.PracticeAtcsApi?.apiV2AtcsPracticeAdminSearchPracticeForExternalExaminerPost({\n skip: skip,\n take: take,\n keyword: this.searchText,\n })\n .then((res: any) => {\n res.data.data.forEach((element: any) => {\n this.practiceList.push(element);\n });\n this.totalResultCount = res.data.totalCount;\n this.numResultsShowing = this.practiceList.length;\n this.isSearching = false;\n })\n .catch((err: any) => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error on searching practice: ' + err);\n this.isSearching = false;\n });\n\n }\n\n get displayShowMoreButton(): boolean {\n return this.totalResultCount > this.numResultsShowing;\n }\n\n private async submitButtonPressed(): Promise {\n try {\n this.submitPressed = true;\n if (!this.isFormValid()) {\n throw ('Incomplete form - no Practice selected');\n }\n this.submitting = true;\n // Push selected practicesCoreID to array\n const practiceCoreIds: number[] = [];\n this.selectedPracticeList.forEach((element: any) => {\n practiceCoreIds.push(element.practiceCoreId);\n });\n\n const body: AddIndividualPracticeRequest = {\n practiceCoreIds: practiceCoreIds,\n }\n const ExternalExaminerId: number = parseInt(this.$route.query.eeId as string, 10);\n\n await this.apiService.PracticeAtcsApi?.apiV2AtcsPracticeAdminAddIndividualPracticeForExternalExaminerExternalExaminerIdPost(\n ExternalExaminerId,\n body\n );\n this.eventCtrl.emit('show-snackbar', 'success', 'Appoint Practice has been submitted');\n this.$emit('refresh');\n this.closeModal();\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error submitting request: ' + err);\n this.ai.trackException('Error submitting request: ' + err);\n } finally {\n this.submitting = false;\n }\n }\n\n private updateSelected(p: PracticeAtcs) {\n // Search if practice is already in the list\n const index = this.selectedPracticeList.findIndex(x => x?.practiceCoreId === p.practiceCoreId);\n if (index > -1) {\n this.selectedPracticeList.splice(index, 1);\n } else {\n this.selectedPracticeList.push(p);\n }\n }\n\n}\n\n","import { render } from \"./add-appointed-practice-modal.html?vue&type=template&id=7f75f126&scoped=true&ts=true&external\"\nimport script from \"./add-appointed-practice-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./add-appointed-practice-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./add-appointed-practice-modal.scss?vue&type=style&index=0&id=7f75f126&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7f75f126\"]])\n\nexport default __exports__","import { Inject, Options, Vue } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-admin-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-admin-app/store\";\nimport ErrorIndicator from \"@/shared/components/error-indicator/index.vue\";\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport ViewTerminatePracticeModal from \"./view-terminate-practice-modal/index.vue\";\nimport AddAppointedPracticeModal from \"./add-appointed-practice-modal/index.vue\";\nimport { IndividualPracticeSummaryForExternalExaminer } from \"@/shared/modules/typescript-trustapi-client/models\";\n\n@Options({\n components: {\n LoadingIndicator,\n ErrorIndicator,\n ViewTerminatePracticeModal,\n AddAppointedPracticeModal,\n },\n mixins: [FormatDateTimeMixin]\n})\nexport default class ExternalExaminerDashboard extends Vue {\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private firstLoad = true;\n private loadingContent = false;\n private errorLoadingContent = false;\n private showAddEEModal = false;\n\n private practiceList: any = [];\n private showViewTerminatePracticeModal = false;\n private showAddAppointedPracticeModal = false;\n private selectedPractice: any = {};\n\n private tableHeadings = [\n { text: 'Practice Name', value: 'name', sortable: false },\n { text: 'Law Practice ID', value: 'lawPracticeID', sortable: false },\n { text: 'Branch Address', value: 'address', sortable: false },\n { text: 'Appointed Date', value: 'startDate', sortable: false },\n { text: 'Terminated Date', value: 'endDate', sortable: false },\n { text: 'Action', value: 'action', sortable: false },\n ];\n\n mounted(): void {\n this.getPractice();\n }\n\n private getPractice(): void {\n this.firstLoad = false;\n this.loadingContent = true;\n this.errorLoadingContent = false;\n const ExternalExaminerId: number = parseInt(this.$route.query.eeId as string, 10);\n if (ExternalExaminerId) {\n this.apiService.PracticeAtcsApi?.apiV2AtcsPracticeAdminGetIndividualPracticesForExternalExaminerExternalExaminerIdGet(ExternalExaminerId)\n .then((resp: any) => {\n this.practiceList = this.sortPracticeList(resp.data.data);\n this.loadingContent = false;\n }).catch((err: any) => {\n this.loadingContent = false;\n this.errorLoadingContent = true;\n this.ai.trackException(err);\n });\n }\n\n }\n\n private sortPracticeList(list: IndividualPracticeSummaryForExternalExaminer[]): IndividualPracticeSummaryForExternalExaminer[] {\n // set to two groups, with and without effectiveEndDate\n // then sort by effectiveStartDate in descending order\n const withEndDate = list.filter((p: any) => p.effectiveEndDate !== null);\n const withoutEndDate = list.filter((p: any) => p.effectiveEndDate === null);\n withEndDate.sort((a: any, b: any) => {\n return new Date(b.effectiveStartDate).getTime() - new Date(a.effectiveStartDate).getTime();\n });\n withoutEndDate.sort((a: any, b: any) => {\n return new Date(b.effectiveStartDate).getTime() - new Date(a.effectiveStartDate).getTime();\n });\n return [...withoutEndDate, ...withEndDate];\n }\n\n private openView(p: any) {\n this.selectedPractice = p;\n this.showViewTerminatePracticeModal = true;\n }\n}\n\n","import { render } from \"./external-examiner-dashboard.html?vue&type=template&id=56b0dd9c&scoped=true&ts=true&external\"\nimport script from \"./external-examiner-dashboard.ts?vue&type=script&lang=ts&external\"\nexport * from \"./external-examiner-dashboard.ts?vue&type=script&lang=ts&external\"\n\nimport \"./external-examiner-dashboard.scss?vue&type=style&index=0&id=56b0dd9c&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-56b0dd9c\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, normalizeStyle as _normalizeStyle, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-13904a28\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"practice-trust-compliance\" }\nconst _hoisted_2 = { class: \"table-top\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"__left\" }, [\n /*#__PURE__*/_createElementVNode(\"h2\", null, \"Trust Compliance\")\n], -1))\nconst _hoisted_4 = { class: \"__right\" }\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = { class: \"ls-table\" }\nconst _hoisted_7 = [\"onClick\"]\nconst _hoisted_8 = { class: \"text\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-up\" }, null, -1))\nconst _hoisted_10 = [\n _hoisted_9\n]\nconst _hoisted_11 = { key: 0 }\nconst _hoisted_12 = [\"colspan\"]\nconst _hoisted_13 = { key: 1 }\nconst _hoisted_14 = [\"colspan\"]\nconst _hoisted_15 = [\"colspan\"]\nconst _hoisted_16 = { \"data-label\": \"Compliance Year\" }\nconst _hoisted_17 = { \"data-label\": \"Progress\" }\nconst _hoisted_18 = { class: \"status\" }\nconst _hoisted_19 = { class: \"status-icon\" }\nconst _hoisted_20 = { class: \"status-text\" }\nconst _hoisted_21 = { \"data-label\": \"Non-compliant\" }\nconst _hoisted_22 = { \"data-label\": \"Absolution\" }\nconst _hoisted_23 = {\n \"data-label\": \"Action\",\n class: \"col-action\"\n}\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_DropdownActions = _resolveComponent(\"DropdownActions\")\n const _component_GenerateNextYearComplianceModel = _resolveComponent(\"GenerateNextYearComplianceModel\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n onClick: _cache[0] || (_cache[0] = $event => {_ctx.generateNextYearComplianceFormButtonClicked();}),\n disabled: !_ctx.generateComplianceFormAllowed\n }, \"Generate Trust Compliance Form\", 8, _hoisted_5)\n ])\n ]),\n _createElementVNode(\"table\", _hoisted_6, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", {\n class: _normalizeClass([ h.sortable ? 'sortable' : '']),\n onClick: $event => (_ctx.sortTableColumn(index, h.sortable))\n }, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(h.text), 1),\n (h.sortable)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([ _ctx.activeSortHeader === index ? 'active' : '', _ctx.sortMethod])\n }, _hoisted_10, 2))\n : _createCommentVNode(\"\", true)\n ])\n ], 10, _hoisted_7))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_11, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_12)\n ]))\n : (_ctx.trustComplianceTableData.length == 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_13, [\n (!_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"td\", {\n key: 0,\n colspan: _ctx.tableHeadings.length\n }, \"No Records\", 8, _hoisted_14))\n : (_openBlock(), _createElementBlock(\"td\", {\n key: 1,\n colspan: _ctx.trustComplianceTableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_15))\n ]))\n : (_openBlock(true), _createElementBlock(_Fragment, { key: 2 }, _renderList(_ctx.trustComplianceTableData, (tc, index) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_16, _toDisplayString(tc.complianceYear?.name), 1),\n _createElementVNode(\"td\", _hoisted_17, [\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"i\", {\n class: \"fas fa-circle\",\n style: _normalizeStyle(_ctx.statusColorCSS(tc.progress?.id))\n }, null, 4)\n ]),\n _createElementVNode(\"div\", _hoisted_20, _toDisplayString(tc.progress?.name), 1)\n ])\n ]),\n _createElementVNode(\"td\", _hoisted_21, _toDisplayString(_ctx.getNonCompliant(tc)), 1),\n _createElementVNode(\"td\", _hoisted_22, _toDisplayString(_ctx.getAbsolution(tc)), 1),\n _createElementVNode(\"td\", _hoisted_23, [\n _createVNode(_component_DropdownActions, {\n practice: _ctx.trustComplianceTableData[index],\n \"onUpdate:practice\": $event => ((_ctx.trustComplianceTableData[index]) = $event),\n onReloadData: _ctx.reloadData\n }, null, 8, [\"practice\", \"onUpdate:practice\", \"onReloadData\"])\n ])\n ]))\n }), 256))\n ])\n ]),\n _createVNode(_component_GenerateNextYearComplianceModel, {\n selectedPractice: _ctx.selectedPractice,\n modalOpened: _ctx.showGenerateNextYearConfirmation,\n complianceForm: _ctx.generateComplianceForm,\n onClose: _cache[1] || (_cache[1] = $event => (_ctx.showGenerateNextYearConfirmation = !_ctx.showGenerateNextYearConfirmation)),\n onConfirmed: _ctx.generateNextYearComplianceForm\n }, null, 8, [\"selectedPractice\", \"modalOpened\", \"complianceForm\", \"onConfirmed\"])\n ]))\n}","import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-66f6a1c8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"dropdown-actions\" }\nconst _hoisted_2 = [\"id\"]\nconst _hoisted_3 = [\"onClick\"]\n\nexport function render(_ctx, _cache) {\n const _component_ActionModal = _resolveComponent(\"ActionModal\")\n const _component_AdditionalDocumentsModal = _resolveComponent(\"AdditionalDocumentsModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"button\", {\n class: \"btn btn-outline sml ml-2\",\n ref: _ctx.buttonRef,\n onClick: _cache[0] || (_cache[0] = $event => (_ctx.buttonClicked()))\n }, [\n _createTextVNode(\" Actions \"),\n _createElementVNode(\"i\", {\n class: \"fal fa-angle-down ml-2 mr-0\",\n ref: _ctx.iconRef\n }, null, 512)\n ], 512),\n _createElementVNode(\"div\", {\n id: _ctx.dropdownRef,\n ref: _ctx.dropdownRef,\n class: \"dropdown-content\"\n }, [\n _createElementVNode(\"ul\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.menuOptions, (o, idx) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n onClick: $event => (_ctx.menuSelected(o)),\n class: _normalizeClass(o.isDisabled ? 'disabled': '')\n }, [\n _createTextVNode(_toDisplayString(o.menuText), 1),\n (o.showIcon)\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: _normalizeClass(o.icon)\n }, null, 2))\n : _createCommentVNode(\"\", true)\n ], 10, _hoisted_3))\n }), 256))\n ])\n ], 8, _hoisted_2),\n (_ctx.showModal)\n ? (_openBlock(), _createBlock(_component_ActionModal, {\n key: 0,\n practice: _ctx.practice,\n \"onUpdate:practice\": _cache[1] || (_cache[1] = $event => ((_ctx.practice) = $event)),\n actionType: _ctx.actionType,\n \"onUpdate:actionType\": _cache[2] || (_cache[2] = $event => ((_ctx.actionType) = $event)),\n onCloseModal: _cache[3] || (_cache[3] = $event => (_ctx.showModal = false)),\n onReloadData: _cache[4] || (_cache[4] = $event => (_ctx.reloadData()))\n }, null, 8, [\"practice\", \"actionType\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showAdditionalDocumentsModal)\n ? (_openBlock(), _createBlock(_component_AdditionalDocumentsModal, {\n key: 1,\n practice: _ctx.practice,\n \"onUpdate:practice\": _cache[5] || (_cache[5] = $event => ((_ctx.practice) = $event)),\n onClose: _cache[6] || (_cache[6] = $event => (_ctx.showAdditionalDocumentsModal = false)),\n onReloadData: _cache[7] || (_cache[7] = $event => (_ctx.reloadData()))\n }, null, 8, [\"practice\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, vModelText as _vModelText, withDirectives as _withDirectives, normalizeClass as _normalizeClass, vModelCheckbox as _vModelCheckbox, withModifiers as _withModifiers, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-46864efe\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"action-modal\" }\nconst _hoisted_2 = { class: \"heading-text\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"line1\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"line1\"\n}\nconst _hoisted_5 = {\n key: 2,\n class: \"line1\"\n}\nconst _hoisted_6 = {\n key: 3,\n class: \"line1\"\n}\nconst _hoisted_7 = {\n key: 4,\n class: \"line1\"\n}\nconst _hoisted_8 = {\n key: 5,\n class: \"line1\"\n}\nconst _hoisted_9 = {\n key: 6,\n class: \"line1\"\n}\nconst _hoisted_10 = {\n key: 0,\n class: \"body-main\"\n}\nconst _hoisted_11 = {\n key: 1,\n class: \"file-area\"\n}\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Uploaded files\", -1))\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", { class: \"ml-2\" }, \"General Trust Money Bank Reconciliation:\", -1))\nconst _hoisted_15 = { class: \"file ml-2\" }\nconst _hoisted_16 = { class: \"row\" }\nconst _hoisted_17 = { class: \"col-8\" }\nconst _hoisted_18 = { class: \"file-name\" }\nconst _hoisted_19 = { class: \"col-4\" }\nconst _hoisted_20 = { class: \"file-download\" }\nconst _hoisted_21 = [\"onClick\"]\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", { class: \"ml-2\" }, \"General Trust Money Overdrawn Ledger:\", -1))\nconst _hoisted_24 = { class: \"file ml-2\" }\nconst _hoisted_25 = { class: \"row\" }\nconst _hoisted_26 = { class: \"col-8\" }\nconst _hoisted_27 = { class: \"file-name\" }\nconst _hoisted_28 = { class: \"col-4\" }\nconst _hoisted_29 = { class: \"file-download\" }\nconst _hoisted_30 = [\"onClick\"]\nconst _hoisted_31 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_32 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", { class: \"ml-2\" }, \"Controlled Money:\", -1))\nconst _hoisted_33 = { class: \"file ml-2\" }\nconst _hoisted_34 = { class: \"row\" }\nconst _hoisted_35 = { class: \"col-8\" }\nconst _hoisted_36 = { class: \"file-name\" }\nconst _hoisted_37 = { class: \"col-4\" }\nconst _hoisted_38 = { class: \"file-download\" }\nconst _hoisted_39 = [\"onClick\"]\nconst _hoisted_40 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_41 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", { class: \"ml-2\" }, \"Investment Money:\", -1))\nconst _hoisted_42 = { class: \"file ml-2\" }\nconst _hoisted_43 = { class: \"row\" }\nconst _hoisted_44 = { class: \"col-8\" }\nconst _hoisted_45 = { class: \"file-name\" }\nconst _hoisted_46 = { class: \"col-4\" }\nconst _hoisted_47 = { class: \"file-download\" }\nconst _hoisted_48 = [\"onClick\"]\nconst _hoisted_49 = {\n key: 1,\n class: \"body-main\"\n}\nconst _hoisted_50 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_51 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, [\n /*#__PURE__*/_createTextVNode(\"Comment(s) \"),\n /*#__PURE__*/_createElementVNode(\"span\", { style: {\"font-family\":\"open sans\",\"font-size\":\"0.95rem\"} }, \"(Optional)\")\n], -1))\nconst _hoisted_52 = { class: \"textarea_box\" }\nconst _hoisted_53 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"info-line\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-info-circle mr-2\" }),\n /*#__PURE__*/_createElementVNode(\"div\", null, \"If you confirm to resubmit Part A, the progress or submission of Part B and EER will be removed.\")\n], -1))\nconst _hoisted_54 = {\n key: 2,\n class: \"body-main\"\n}\nconst _hoisted_55 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_56 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, [\n /*#__PURE__*/_createTextVNode(\"Comment(s) \"),\n /*#__PURE__*/_createElementVNode(\"span\", { style: {\"font-family\":\"open sans\",\"font-size\":\"0.95rem\"} }, \"(Optional)\")\n], -1))\nconst _hoisted_57 = { class: \"textarea_box\" }\nconst _hoisted_58 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"info-line\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-info-circle mr-2\" }),\n /*#__PURE__*/_createElementVNode(\"div\", null, \"If you confirm to resubmit Part B, the progress or submission of EER will be removed.\")\n], -1))\nconst _hoisted_59 = {\n key: 3,\n class: \"body-main\"\n}\nconst _hoisted_60 = [\"disabled\"]\nconst _hoisted_61 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Part A (Applies to all branches)\")\n], -1))\nconst _hoisted_62 = [\"disabled\"]\nconst _hoisted_63 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Part B\")\n], -1))\nconst _hoisted_64 = [\"disabled\"]\nconst _hoisted_65 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"External Examiner Report\")\n], -1))\nconst _hoisted_66 = {\n key: 4,\n class: \"body-main\"\n}\nconst _hoisted_67 = { class: \"ls-table\" }\nconst _hoisted_68 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"thead\", null, [\n /*#__PURE__*/_createElementVNode(\"tr\", null, [\n /*#__PURE__*/_createElementVNode(\"th\", null, \"Versions\"),\n /*#__PURE__*/_createElementVNode(\"th\", null, \"Date and Time created\"),\n /*#__PURE__*/_createElementVNode(\"th\", null, \"Reason report regenerated\"),\n /*#__PURE__*/_createElementVNode(\"th\", null, \"Actions\")\n ])\n], -1))\nconst _hoisted_69 = {\n key: 0,\n class: \"fal fa-check-circle check-icon\",\n style: {\"color\":\"green\"}\n}\nconst _hoisted_70 = {\n key: 1,\n class: \"fal fa-times-circle close-icon error\"\n}\nconst _hoisted_71 = [\"onClick\"]\nconst _hoisted_72 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_73 = { class: \"controls mt-4\" }\nconst _hoisted_74 = [\"disabled\"]\nconst _hoisted_75 = [\"disabled\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n onClose: _cache[7] || (_cache[7] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.actionType === 'file-attachment')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_3, \"File attachments\"))\n : _createCommentVNode(\"\", true),\n (_ctx.actionType === 'resubmit-part-a')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, \"Part A resubmission\"))\n : _createCommentVNode(\"\", true),\n (_ctx.actionType === 'resubmit-part-b')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_5, \"Part B resubmission\"))\n : _createCommentVNode(\"\", true),\n (_ctx.actionType === 'absolution')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_6, \"Not required\"))\n : _createCommentVNode(\"\", true),\n (_ctx.actionType === 'multiple-part-a')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_7, \"Part A Version History\"))\n : _createCommentVNode(\"\", true),\n (_ctx.actionType === 'multiple-part-b')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_8, \"Part B Version History\"))\n : _createCommentVNode(\"\", true),\n (_ctx.actionType === 'multiple-eer')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_9, \"EE Report Version History\"))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n body: _withCtx(() => [\n (_ctx.actionType === 'file-attachment')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, { key: 0 }))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _hoisted_12,\n _hoisted_13,\n _createElementVNode(\"div\", null, [\n _hoisted_14,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.fileList?.generalTrustMoneyBankReconciliationFiles, (f, i) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", _hoisted_18, _toDisplayString(f?.fileName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: $event => (_ctx.downloadFile(f))\n }, \"Download\", 8, _hoisted_21)\n ])\n ])\n ])\n ]))\n }), 256)),\n _hoisted_22,\n _hoisted_23,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.fileList?.generalTrustMoneyOverdrawnLedgerFiles, (f, i) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_24, [\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"div\", _hoisted_27, _toDisplayString(f?.fileName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_28, [\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: $event => (_ctx.downloadFile(f))\n }, \"Download\", 8, _hoisted_30)\n ])\n ])\n ])\n ]))\n }), 256)),\n _hoisted_31,\n _hoisted_32,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.fileList?.controlledMoneyFiles, (f, i) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_33, [\n _createElementVNode(\"div\", _hoisted_34, [\n _createElementVNode(\"div\", _hoisted_35, [\n _createElementVNode(\"div\", _hoisted_36, _toDisplayString(f?.fileName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_37, [\n _createElementVNode(\"div\", _hoisted_38, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: $event => (_ctx.downloadFile(f))\n }, \"Download\", 8, _hoisted_39)\n ])\n ])\n ])\n ]))\n }), 256)),\n _hoisted_40,\n _hoisted_41,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.fileList?.investmentMoneyFiles, (f, i) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_42, [\n _createElementVNode(\"div\", _hoisted_43, [\n _createElementVNode(\"div\", _hoisted_44, [\n _createElementVNode(\"div\", _hoisted_45, _toDisplayString(f?.fileName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_46, [\n _createElementVNode(\"div\", _hoisted_47, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: $event => (_ctx.downloadFile(f))\n }, \"Download\", 8, _hoisted_48)\n ])\n ])\n ])\n ]))\n }), 256))\n ])\n ]))\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.actionType === 'resubmit-part-a')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_49, [\n _createElementVNode(\"div\", null, [\n _createTextVNode(\"Are you sure you want to resubmit Part A for \"),\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.selectedPractice.firmName), 1),\n _createTextVNode(\" / \"),\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.selectedPractice.firmId), 1),\n _createTextVNode(\"? \")\n ]),\n _hoisted_50,\n _hoisted_51,\n _createElementVNode(\"div\", _hoisted_52, [\n _withDirectives(_createElementVNode(\"textarea\", {\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.comments) = $event)),\n style: {\"border\":\"1px solid #aaa\",\"height\":\"130px\",\"resize\":\"vertical\",\"width\":\"100%\"},\n maxlength: 5000,\n placeholder: \"Enter comments\"\n }, null, 512), [\n [_vModelText, _ctx.comments]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [_ctx.comments.length === 5000 ? 'full' : '']])\n }, _toDisplayString(_ctx.comments.length || 0) + \"/5000 characters \", 3)\n ]),\n _hoisted_53\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.actionType === 'resubmit-part-b')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_54, [\n _createElementVNode(\"div\", null, [\n _createTextVNode(\"Are you sure you want to resubmit Part B for \"),\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.selectedPractice.firmName), 1),\n _createTextVNode(\" / \"),\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.selectedPractice.firmId), 1),\n _createTextVNode(\"? \")\n ]),\n _hoisted_55,\n _hoisted_56,\n _createElementVNode(\"div\", _hoisted_57, [\n _withDirectives(_createElementVNode(\"textarea\", {\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.comments) = $event)),\n style: {\"border\":\"1px solid #aaa\",\"height\":\"130px\",\"resize\":\"vertical\",\"width\":\"100%\"},\n maxlength: 5000,\n placeholder: \"Enter comments\"\n }, null, 512), [\n [_vModelText, _ctx.comments]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [_ctx.comments.length === 5000 ? 'full' : '']])\n }, _toDisplayString(_ctx.comments.length || 0) + \"/5000 characters \", 3)\n ]),\n _hoisted_58\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.actionType === 'absolution')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_59, [\n _createElementVNode(\"h4\", null, \"Compliance year: \" + _toDisplayString(_ctx.practice.complianceYear?.name), 1),\n _createElementVNode(\"label\", {\n class: _normalizeClass([\"checkbox-button\", _ctx.isDisabledPartA ? 'disabled':''])\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.isAbsolvedPartA) = $event)),\n disabled: _ctx.isDisabledPartA\n }, null, 8, _hoisted_60), [\n [_vModelCheckbox, _ctx.isAbsolvedPartA]\n ]),\n _hoisted_61\n ], 2),\n _createElementVNode(\"label\", {\n class: _normalizeClass([\"checkbox-button\", _ctx.isDisabledPartB ? 'disabled':''])\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => ((_ctx.isAbsolvedPartB) = $event)),\n disabled: _ctx.isDisabledPartB\n }, null, 8, _hoisted_62), [\n [_vModelCheckbox, _ctx.isAbsolvedPartB]\n ]),\n _hoisted_63\n ], 2),\n _createElementVNode(\"label\", {\n class: _normalizeClass([\"checkbox-button\", _ctx.isDisabledEeReport ? 'disabled':''])\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.isAbsolvedEeReport) = $event)),\n disabled: _ctx.isDisabledEeReport\n }, null, 8, _hoisted_64), [\n [_vModelCheckbox, _ctx.isAbsolvedEeReport]\n ]),\n _hoisted_65\n ], 2)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.actionType === 'multiple-part-a' || _ctx.actionType === 'multiple-part-b' || _ctx.actionType === 'multiple-eer' )\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_66, [\n _createElementVNode(\"table\", _hoisted_67, [\n _hoisted_68,\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.fileList, (file, index) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", null, [\n (index === 0)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_69))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_70)),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"ml-2\", index === 0 ? 'green' : 'error'])\n }, _toDisplayString(file.version), 3)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", {\n class: _normalizeClass(index === 0 ? 'green' : 'error')\n }, _toDisplayString(_ctx.$formatDateTimeTypeA(file.dateAndTimeCreated)), 3)\n ]),\n _createElementVNode(\"td\", null, _toDisplayString(file.notes), 1),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"button\", {\n class: \"btn btn-default sml ml-2\",\n onClick: $event => (_ctx.viewPDF(file.id))\n }, \"View PDF\", 8, _hoisted_71)\n ])\n ]))\n }), 256))\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n footer: _withCtx(() => [\n _hoisted_72,\n _createElementVNode(\"div\", _hoisted_73, [\n (_ctx.isSaving)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n loadingText: _ctx.savingText,\n class: \"mr-4\"\n }, null, 8, [\"loadingText\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-default\",\n onClick: _cache[5] || (_cache[5] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\",\"stop\"])),\n disabled: _ctx.isSaving\n }, \" Close \", 8, _hoisted_74),\n (_ctx.showConfirmButton)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-primary\",\n onClick: _cache[6] || (_cache[6] = _withModifiers($event => (_ctx.confirm(_ctx.actionType)), [\"prevent\",\"stop\"])),\n disabled: _ctx.isSaving\n }, \" Confirm \", 8, _hoisted_75))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n })\n ]))\n}","import { Inject, Options, Vue, Watch } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-admin-app/appInsights\";\nimport store from \"@/trust-admin-app/store\";\nimport { EventEmitter } from \"events\";\nimport ModalBox from \"@/shared/components/modal-box/index.vue\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport LoadingIndicator from \"@/shared/components/loading-indicator/index.vue\";\nimport ErrorIndicator from \"@/shared/components/error-indicator/index.vue\";\nimport { ComplianceFormAbsolutionRequest, PartAResubmissionRequestRequest, PartBResubmissionRequestRequest, PracticeView } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\n\n\n@Options({\n props: {\n practice: Object,\n actionType: String,\n },\n components: {\n ModalBox,\n LoadingSpinner,\n LoadingIndicator,\n ErrorIndicator,\n },\n mixins: [FormatDateTimeMixin],\n})\nexport default class ActionModal extends Vue {\n private practice!: any;\n private actionType!: string;\n\n private loadingContent = false;\n private errorLoadingContent = false;\n private isSaving = false;\n\n private savingText = 'Saving...';\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private fileList: any[] = [];\n private selectedFileForPreview: any = {};\n private blob: any;\n private documentURL: string = null as any;\n\n private isAbsolvedPartA = false;\n private isDisabledPartA = false;\n private isAbsolvedPartB = false;\n private isDisabledPartB = false;\n private isAbsolvedEeReport = false;\n private isDisabledEeReport = false;\n\n private comments = '';\n\n @Watch('isAbsolvedPartA')\n private onIsAbsolvedPartAChanged(value: boolean): void {\n this.setCheckboxes('a');\n }\n\n @Watch('isAbsolvedPartB')\n private onIsAbsolvedPartBChanged(value: boolean): void {\n this.setCheckboxes('b');\n }\n\n @Watch('isAbsolvedEeReport')\n private onIsAbsolvedEeReportChanged(value: boolean): void {\n this.setCheckboxes('c');\n }\n\n private setCheckboxes(a: string): void {\n switch (a) {\n case 'a':\n if (this.isAbsolvedPartA) {\n this.isAbsolvedPartB = true;\n this.isDisabledPartB = true;\n this.isAbsolvedEeReport = true;\n this.isDisabledEeReport = true;\n } else {\n this.isAbsolvedPartB = false;\n this.isDisabledPartB = false;\n this.isAbsolvedEeReport = false;\n this.isDisabledEeReport = false;\n }\n break;\n case 'b':\n if (this.isAbsolvedPartB) {\n this.isAbsolvedEeReport = true;\n this.isDisabledEeReport = true;\n } else {\n this.isAbsolvedEeReport = false;\n this.isDisabledEeReport = false;\n }\n break;\n case 'c':\n // if (this.isAbsolvedEeReport) {\n // this.isAbsolvedPartA = true;\n // this.isDisabledPartA = true;\n // this.isAbsolvedPartB = true;\n // this.isDisabledPartB = true;\n // } else {\n // this.isAbsolvedPartA = false;\n // this.isDisabledPartA = false;\n // this.isAbsolvedPartB = false;\n // this.isDisabledPartB = false;\n // }\n // break;\n }\n\n }\n\n mounted(): void {\n // if (this.actionType === 'file-attachment') {\n // this.getFiles();\n // } else {\n\n // }\n switch (this.actionType) {\n case 'file-attachment':\n this.getFiles();\n break;\n case 'multiple-part-a':\n this.getMultiplePartA();\n break;\n case 'multiple-part-b':\n this.getMultiplePartB();\n break;\n case 'multiple-eer':\n this.getMultipleEER();\n break;\n\n }\n this.isAbsolvedPartA = this.practice.isAbsolvedPartA;\n this.isAbsolvedPartB = this.practice.isAbsolvedPartB;\n this.isAbsolvedEeReport = this.practice.isAbsolvedEeReport;\n }\n\n private async getFiles(): Promise {\n this.loadingContent = true;\n await this.apiService.ComplianceFormApi?.apiV2ComplianceFormAdminGetComplianceFormFilesComplianceFormIdGet(\n this.practice.id\n )\n .then(res => {\n this.fileList = res.data as any;\n this.loadingContent = false;\n })\n .catch(err => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to load file list');\n this.ai.trackException('Error getting load file list: ' + err);\n this.loadingContent = false;\n this.errorLoadingContent = true;\n })\n }\n\n private async getMultiplePartA(): Promise {\n this.loadingContent = true;\n await this.apiService.FileAtcsApi?.apiV2FileAtcsAdminGetPartAFileLogsPartAIdGet(\n this.practice.partA.id\n )\n .then(res => {\n this.fileList = res.data.data as any;\n this.loadingContent = false;\n })\n .catch(err => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to load PDF file list');\n this.ai.trackException('Error getting Part A PDF file list: ' + err);\n this.loadingContent = false;\n this.errorLoadingContent = true;\n })\n }\n\n private async getMultiplePartB(): Promise {\n this.loadingContent = true;\n await this.apiService.FileAtcsApi?.apiV2FileAtcsAdminGetPartBFileLogsPartBIdGet(\n this.practice.partB.id\n )\n .then(res => {\n this.fileList = res.data.data as any;\n this.loadingContent = false;\n })\n .catch(err => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to load PDF file list');\n this.ai.trackException('Error getting Part B PDF file list: ' + err);\n this.loadingContent = false;\n this.errorLoadingContent = true;\n })\n }\n\n private async getMultipleEER(): Promise {\n this.loadingContent = true;\n await this.apiService.FileAtcsApi?.apiV2FileAtcsAdminGetEeReportFileLogsEeReportIdGet(\n this.practice.eeReport.id\n )\n .then(res => {\n this.fileList = res.data.data as any;\n this.loadingContent = false;\n })\n .catch(err => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to load PDF file list');\n this.ai.trackException('Error getting EER PDF file list: ' + err);\n this.loadingContent = false;\n this.errorLoadingContent = true;\n })\n }\n\n private closeModal(): void {\n this.$emit('closeModal');\n }\n\n private confirm(actionType: string): void {\n switch (actionType) {\n case 'resubmit-part-a':\n this.resubmitPartA();\n break;\n case 'resubmit-part-b':\n this.resubmitPartB();\n break;\n case 'absolution':\n this.resubmitEEReport();\n break;\n }\n\n }\n\n private async resubmitPartA(): Promise {\n this.isSaving = true;\n const body: PartAResubmissionRequestRequest = {\n partAId: this.practice.partA.id,\n comment: this.comments\n }\n await this.apiService.PartAFormApi?.apiV2PartAFormAdminSavePartAResubmissionRequestPost(body)\n .then(res => {\n this.eventCtrl.emit('show-snackbar', 'success', 'Part A resubmission request sent');\n setTimeout(() => {\n this.$emit('reloadData');\n this.isSaving = false;\n this.closeModal();\n }, 500);\n })\n .catch(err => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to resubmit Part A');\n this.ai.trackException('Error resubmitting Part A: ' + err);\n this.isSaving = false;\n })\n\n }\n\n private async resubmitPartB(): Promise {\n this.isSaving = true;\n const body: PartBResubmissionRequestRequest = {\n partBId: this.practice.partB.id,\n comment: this.comments\n }\n await this.apiService.PartBFormApi?.apiV2PartBFormAdminSavePartBResubmissionRequestPost(body)\n .then(res => {\n this.eventCtrl.emit('show-snackbar', 'success', 'Part B resubmission request sent');\n setTimeout(() => {\n this.$emit('reloadData');\n this.isSaving = false;\n this.closeModal();\n }, 500);\n })\n .catch(err => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to resubmit Part B');\n this.ai.trackException('Error resubmitting Part B: ' + err);\n this.isSaving = false;\n })\n }\n\n private async resubmitEEReport(): Promise {\n this.isSaving = true;\n const body: ComplianceFormAbsolutionRequest = {\n complianceFormId: this.practice.id,\n isAbsolvedPartA: this.isAbsolvedPartA,\n isAbsolvedPartB: this.isAbsolvedPartB,\n isAbsolvedEeReport: this.isAbsolvedEeReport\n }\n await this.apiService.ComplianceFormApi?.apiV2ComplianceFormAdminUpdateComplianceFormAbsolutionPost(\n body\n )\n .then(res => {\n this.eventCtrl.emit('show-snackbar', 'success', 'Absolution sent');\n setTimeout(() => {\n this.isSaving = false;\n this.$emit('reloadData');\n this.closeModal();\n }, 500);\n })\n .catch(err => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to sent absolution');\n this.ai.trackException('Error sending absolution: ' + err);\n this.isSaving = false;\n })\n }\n\n private async downloadFile(file: any) {\n await this.apiService.FileAtcsApi?.apiV2FileAtcsAdminDownloadStreamFileIdGet(\n file.id, { responseType: 'blob' }\n )\n .then((res: any) => {\n this.selectedFileForPreview.FileStream = res.data;\n this.selectedFileForPreview.ContentType = res.headers['content-type'];\n this.selectedFileForPreview.FileName = file.fileName\n this.download();\n })\n .catch((err: any) => {\n this.ai.trackException('Unable to download file ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to download file: ' + err);\n })\n }\n\n\n private download() {\n this.blob = new Blob([this.selectedFileForPreview.FileStream], { type: this.selectedFileForPreview.ContentType });\n this.documentURL = window.URL.createObjectURL(this.blob);\n const downloadLink = document.createElement('a');\n const fileName = this.selectedFileForPreview.FileName;\n downloadLink.href = this.documentURL;\n downloadLink.download = fileName as string;\n downloadLink.click();\n }\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n\n get showConfirmButton(): boolean {\n return this.actionType === 'resubmit-part-a' || this.actionType === 'resubmit-part-b' || this.actionType === 'absolution';\n }\n\n private async viewPDF(fileId: number): Promise {\n let apiCall = null;\n switch (this.actionType) {\n case 'multiple-part-a':\n apiCall = this.apiService.FileAtcsApi?.apiV2FileAtcsAdminGetPartAFilePartAIdRegeneratedFileLogIdGet(this.practice.partA.id, fileId);\n break;\n case 'multiple-part-b':\n apiCall = this.apiService.FileAtcsApi?.apiV2FileAtcsAdminGetPartBFilePartBIdRegeneratedFileLogIdGet(this.practice.partB.id, fileId);\n break;\n case 'multiple-eer':\n apiCall = this.apiService.FileAtcsApi?.apiV2FileAtcsAdminGetEeReportFileEeReportIdRegeneratedFileLogIdGet(this.practice.eeReport.id, fileId);\n break;\n default:\n console.log('Invalid API action type', this.actionType);\n break;\n }\n try {\n const resp: any = await apiCall;\n const base64Data = resp.data.data.base64AsString;\n const base64Response = await fetch(`data:application/pdf;base64,${base64Data}`);\n const blob = await base64Response.blob();\n const documentURL = window.URL.createObjectURL(blob);\n window.open(documentURL, '_blank');\n setTimeout(() => {\n URL.revokeObjectURL(documentURL);\n }, 300000);\n Promise.resolve(0);\n } catch (e: any) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error on opening PDF: ' + e?.response?.data?.message);\n Promise.resolve(0);\n }\n }\n\n}\n\n","import { render } from \"./action-modal.html?vue&type=template&id=46864efe&scoped=true&ts=true&external\"\nimport script from \"./action-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./action-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./action-modal.scss?vue&type=style&index=0&id=46864efe&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-46864efe\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, withModifiers as _withModifiers, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-57f7dc0d\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"additional-documents-modal\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"heading-text\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"line1\" }, \"Additional Documents\")\n], -1))\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"left\" }, [\n /*#__PURE__*/_createElementVNode(\"small\", null, \"Max 100MB per file\"),\n /*#__PURE__*/_createTextVNode(\", \"),\n /*#__PURE__*/_createElementVNode(\"small\", null, \"5 files max\")\n], -1))\nconst _hoisted_5 = { class: \"ls-table mt-4\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"thead\", null, [\n /*#__PURE__*/_createElementVNode(\"tr\", null, [\n /*#__PURE__*/_createElementVNode(\"th\", null, \"File name\"),\n /*#__PURE__*/_createElementVNode(\"th\", null, \"Date uploaded\"),\n /*#__PURE__*/_createElementVNode(\"th\", null, \"Action\")\n ])\n], -1))\nconst _hoisted_7 = [\"title\"]\nconst _hoisted_8 = { style: {\"display\":\"block\",\"white-space\":\"nowrap\",\"overflow\":\"hidden\",\"text-overflow\":\"ellipsis\"} }\nconst _hoisted_9 = { style: {\"width\":\"160px\"} }\nconst _hoisted_10 = { style: {\"width\":\"200px\"} }\nconst _hoisted_11 = [\"disabled\", \"onClick\"]\nconst _hoisted_12 = [\"disabled\", \"onClick\"]\nconst _hoisted_13 = { key: 0 }\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"td\", { colspan: 3 }, \"No Records\", -1))\nconst _hoisted_15 = [\n _hoisted_14\n]\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"left\" }, \"DELETE FILE\", -1))\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"left\" }, \"Are you sure you want to delete this file?\", -1))\nconst _hoisted_18 = { class: \"left\" }\n\nexport function render(_ctx, _cache) {\n const _component_FileDragAndDrop = _resolveComponent(\"FileDragAndDrop\")\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n const _component_FilePreview = _resolveComponent(\"FilePreview\")\n const _component_AlertBox = _resolveComponent(\"AlertBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n onClose: _cache[0] || (_cache[0] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _hoisted_2\n ]),\n body: _withCtx(() => [\n (_ctx.appName === 'TA')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_FileDragAndDrop, {\n disabled: _ctx.readOnly,\n ref: \"fileDropAndDrop\",\n numFileLimit: 5,\n onFileInputChanged: _ctx.uploadAllFiles,\n fileSizeLimit: 100,\n acceptAnyFileTypes: _ctx.acceptAnyFileTypes\n }, null, 8, [\"disabled\", \"onFileInputChanged\", \"acceptAnyFileTypes\"]),\n _hoisted_4\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"table\", _hoisted_5, [\n _hoisted_6,\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.files, (f) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", {\n class: \"file-item\",\n style: {\"max-width\":\"300px\",\"overflow\":\"hidden\"},\n title: f?.fileName\n }, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(f?.fileName), 1)\n ], 8, _hoisted_7),\n _createElementVNode(\"td\", _hoisted_9, _toDisplayString(_ctx.$formatDateTimeTypeD(f?.createdOn)), 1),\n _createElementVNode(\"td\", _hoisted_10, [\n (_ctx.isSuperAdmin)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn btn-tertiary sml ml-1 mr-2\",\n disabled: _ctx.readOnly,\n onClick: _withModifiers($event => (_ctx.deleteFile(f)), [\"prevent\",\"stop\"])\n }, \" Delete \", 8, _hoisted_11))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-tertiary sml ml-1\",\n disabled: _ctx.readOnly,\n onClick: _withModifiers($event => (_ctx.getFileStream(f)), [\"prevent\",\"stop\"]),\n style: {\"width\":\"6rem\"}\n }, _toDisplayString(_ctx.getViewButtonLabel(f)), 9, _hoisted_12)\n ])\n ]))\n }), 256)),\n (_ctx.files.length === 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_13, _hoisted_15))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n (_ctx.isLoadingStream)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 1,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }),\n _createVNode(_component_FilePreview, {\n showPreview: _ctx.showFilePreview,\n previewFile: _ctx.selectedFileForPreview,\n state: _ctx.filePreviewState,\n disableBackgroundScroll: true,\n onCloseFilePreview: _cache[1] || (_cache[1] = $event => (_ctx.closeFilePreview()))\n }, null, 8, [\"showPreview\", \"previewFile\", \"state\"]),\n (_ctx.showDeleteConfirmation)\n ? (_openBlock(), _createBlock(_component_AlertBox, {\n key: 0,\n onClose: _cache[4] || (_cache[4] = $event => (_ctx.showDeleteConfirmation = false))\n }, {\n header: _withCtx(() => [\n _hoisted_16\n ]),\n body: _withCtx(() => [\n _hoisted_17\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.deleteIt()))\n }, \"Yes\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-tertiary sml\",\n onClick: _cache[3] || (_cache[3] = $event => (_ctx.showDeleteConfirmation = false))\n }, \"No\")\n ])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]))\n}","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 1.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { Configuration } from \"./configuration\";\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\n\nexport const BASE_PATH = \"/\".replace(/\\/+$/, \"\");\n\n/**\n *\n * @export\n */\nexport const COLLECTION_FORMATS = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\\t\",\n pipes: \"|\",\n};\n\n/**\n *\n * @export\n * @interface RequestArgs\n */\nexport interface RequestArgs {\n url: string;\n options: any;\n}\n\n/**\n *\n * @export\n * @class BaseAPI\n */\nexport class BaseAPI {\n protected configuration: Configuration | undefined;\n\n constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) {\n if (configuration) {\n this.configuration = configuration;\n this.basePath = configuration.basePath || this.basePath;\n }\n }\n};\n\n/**\n *\n * @export\n * @class RequiredError\n * @extends {Error}\n */\nexport class RequiredError extends Error {\n name: \"RequiredError\" = \"RequiredError\";\n constructor(public field: string, msg?: string) {\n super(msg);\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 1.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { AccountRequest } from '../models';\nimport { AccountViewIEnumerableResponse } from '../models';\nimport { BankBranchRequest } from '../models';\nimport { BankBranchViewIEnumerableResponse } from '../models';\nimport { BooleanResponse } from '../models';\n/**\n * AccountApi - axios parameter creator\n * @export\n */\nexport const AccountApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @param {number} accountId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1AccountDeleteAccountAccountIdDelete: async (accountId: number, options: any = {}): Promise => {\n // verify required parameter 'accountId' is not null or undefined\n if (accountId === null || accountId === undefined) {\n throw new RequiredError('accountId','Required parameter accountId was null or undefined when calling apiV1AccountDeleteAccountAccountIdDelete.');\n }\n const localVarPath = `/api/v1/Account/DeleteAccount/{accountId}`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary READER | Returns Classification Types\n * @param {number} practiceId \n * @param {number} [accountTypeId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1AccountGetAccountsByPracticeIdPracticeIdGet: async (practiceId: number, accountTypeId?: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV1AccountGetAccountsByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v1/Account/GetAccountsByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (accountTypeId !== undefined) {\n localVarQueryParameter['accountTypeId'] = accountTypeId;\n }\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {BankBranchRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1AccountGetBankBranchByKeywordSearchPost: async (body?: BankBranchRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Account/GetBankBranchByKeywordSearch`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {AccountRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1AccountSaveAccountPost: async (body?: AccountRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Account/SaveAccount`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * AccountApi - functional programming interface\n * @export\n */\nexport const AccountApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @param {number} accountId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1AccountDeleteAccountAccountIdDelete(accountId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await AccountApiAxiosParamCreator(configuration).apiV1AccountDeleteAccountAccountIdDelete(accountId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary READER | Returns Classification Types\n * @param {number} practiceId \n * @param {number} [accountTypeId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1AccountGetAccountsByPracticeIdPracticeIdGet(practiceId: number, accountTypeId?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await AccountApiAxiosParamCreator(configuration).apiV1AccountGetAccountsByPracticeIdPracticeIdGet(practiceId, accountTypeId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {BankBranchRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1AccountGetBankBranchByKeywordSearchPost(body?: BankBranchRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await AccountApiAxiosParamCreator(configuration).apiV1AccountGetBankBranchByKeywordSearchPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {AccountRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1AccountSaveAccountPost(body?: AccountRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await AccountApiAxiosParamCreator(configuration).apiV1AccountSaveAccountPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * AccountApi - factory interface\n * @export\n */\nexport const AccountApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @param {number} accountId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1AccountDeleteAccountAccountIdDelete(accountId: number, options?: any): AxiosPromise {\n return AccountApiFp(configuration).apiV1AccountDeleteAccountAccountIdDelete(accountId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary READER | Returns Classification Types\n * @param {number} practiceId \n * @param {number} [accountTypeId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1AccountGetAccountsByPracticeIdPracticeIdGet(practiceId: number, accountTypeId?: number, options?: any): AxiosPromise {\n return AccountApiFp(configuration).apiV1AccountGetAccountsByPracticeIdPracticeIdGet(practiceId, accountTypeId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {BankBranchRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1AccountGetBankBranchByKeywordSearchPost(body?: BankBranchRequest, options?: any): AxiosPromise {\n return AccountApiFp(configuration).apiV1AccountGetBankBranchByKeywordSearchPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {AccountRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1AccountSaveAccountPost(body?: AccountRequest, options?: any): AxiosPromise {\n return AccountApiFp(configuration).apiV1AccountSaveAccountPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * AccountApi - object-oriented interface\n * @export\n * @class AccountApi\n * @extends {BaseAPI}\n */\nexport class AccountApi extends BaseAPI {\n /**\n * \n * @param {number} accountId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountApi\n */\n public apiV1AccountDeleteAccountAccountIdDelete(accountId: number, options?: any) {\n return AccountApiFp(this.configuration).apiV1AccountDeleteAccountAccountIdDelete(accountId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary READER | Returns Classification Types\n * @param {number} practiceId \n * @param {number} [accountTypeId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountApi\n */\n public apiV1AccountGetAccountsByPracticeIdPracticeIdGet(practiceId: number, accountTypeId?: number, options?: any) {\n return AccountApiFp(this.configuration).apiV1AccountGetAccountsByPracticeIdPracticeIdGet(practiceId, accountTypeId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {BankBranchRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountApi\n */\n public apiV1AccountGetBankBranchByKeywordSearchPost(body?: BankBranchRequest, options?: any) {\n return AccountApiFp(this.configuration).apiV1AccountGetBankBranchByKeywordSearchPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {AccountRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountApi\n */\n public apiV1AccountSaveAccountPost(body?: AccountRequest, options?: any) {\n return AccountApiFp(this.configuration).apiV1AccountSaveAccountPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 1.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { AccountingAppViewIEnumerableResponse } from '../models';\nimport { Request } from '../models';\n/**\n * AccountAppApi - axios parameter creator\n * @export\n */\nexport const AccountAppApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1AccountAppGetAccountingAppsPost: async (body?: Request, showActiveOnly?: boolean, options: any = {}): Promise => {\n const localVarPath = `/api/v1/AccountApp/GetAccountingApps`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (showActiveOnly !== undefined) {\n localVarQueryParameter['showActiveOnly'] = showActiveOnly;\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * AccountAppApi - functional programming interface\n * @export\n */\nexport const AccountAppApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1AccountAppGetAccountingAppsPost(body?: Request, showActiveOnly?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await AccountAppApiAxiosParamCreator(configuration).apiV1AccountAppGetAccountingAppsPost(body, showActiveOnly, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * AccountAppApi - factory interface\n * @export\n */\nexport const AccountAppApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1AccountAppGetAccountingAppsPost(body?: Request, showActiveOnly?: boolean, options?: any): AxiosPromise {\n return AccountAppApiFp(configuration).apiV1AccountAppGetAccountingAppsPost(body, showActiveOnly, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * AccountAppApi - object-oriented interface\n * @export\n * @class AccountAppApi\n * @extends {BaseAPI}\n */\nexport class AccountAppApi extends BaseAPI {\n /**\n * \n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountAppApi\n */\n public apiV1AccountAppGetAccountingAppsPost(body?: Request, showActiveOnly?: boolean, options?: any) {\n return AccountAppApiFp(this.configuration).apiV1AccountAppGetAccountingAppsPost(body, showActiveOnly, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 1.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { ReportGenerationBreachRequest } from '../models';\nimport { ReportGenerationBreachViewIEnumerableResponse } from '../models';\nimport { TABreachRequest } from '../models';\nimport { TABreachViewIEnumerableResponse } from '../models';\n/**\n * BreachApi - axios parameter creator\n * @export\n */\nexport const BreachApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @param {TABreachRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1BreachGetBreachesPost: async (body?: TABreachRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Breach/GetBreaches`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {ReportGenerationBreachRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1BreachGetReportGenerationBreachesPost: async (body?: ReportGenerationBreachRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Breach/GetReportGenerationBreaches`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * BreachApi - functional programming interface\n * @export\n */\nexport const BreachApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @param {TABreachRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1BreachGetBreachesPost(body?: TABreachRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await BreachApiAxiosParamCreator(configuration).apiV1BreachGetBreachesPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {ReportGenerationBreachRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1BreachGetReportGenerationBreachesPost(body?: ReportGenerationBreachRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await BreachApiAxiosParamCreator(configuration).apiV1BreachGetReportGenerationBreachesPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * BreachApi - factory interface\n * @export\n */\nexport const BreachApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @param {TABreachRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1BreachGetBreachesPost(body?: TABreachRequest, options?: any): AxiosPromise {\n return BreachApiFp(configuration).apiV1BreachGetBreachesPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {ReportGenerationBreachRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1BreachGetReportGenerationBreachesPost(body?: ReportGenerationBreachRequest, options?: any): AxiosPromise {\n return BreachApiFp(configuration).apiV1BreachGetReportGenerationBreachesPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * BreachApi - object-oriented interface\n * @export\n * @class BreachApi\n * @extends {BaseAPI}\n */\nexport class BreachApi extends BaseAPI {\n /**\n * \n * @param {TABreachRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof BreachApi\n */\n public apiV1BreachGetBreachesPost(body?: TABreachRequest, options?: any) {\n return BreachApiFp(this.configuration).apiV1BreachGetBreachesPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {ReportGenerationBreachRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof BreachApi\n */\n public apiV1BreachGetReportGenerationBreachesPost(body?: ReportGenerationBreachRequest, options?: any) {\n return BreachApiFp(this.configuration).apiV1BreachGetReportGenerationBreachesPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 1.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { EventRequest } from '../models';\nimport { EventViewIEnumerableResponse } from '../models';\nimport { PublicHolidayViewIEnumerableResponse } from '../models';\nimport { Request } from '../models';\n/**\n * CalendarApi - axios parameter creator\n * @export\n */\nexport const CalendarApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @param {EventRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CalendarGetEventsPost: async (body?: EventRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Calendar/GetEvents`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {Request} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CalendarGetPublicHolidaysPost: async (body?: Request, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Calendar/GetPublicHolidays`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * CalendarApi - functional programming interface\n * @export\n */\nexport const CalendarApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @param {EventRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CalendarGetEventsPost(body?: EventRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CalendarApiAxiosParamCreator(configuration).apiV1CalendarGetEventsPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {Request} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CalendarGetPublicHolidaysPost(body?: Request, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CalendarApiAxiosParamCreator(configuration).apiV1CalendarGetPublicHolidaysPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * CalendarApi - factory interface\n * @export\n */\nexport const CalendarApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @param {EventRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CalendarGetEventsPost(body?: EventRequest, options?: any): AxiosPromise {\n return CalendarApiFp(configuration).apiV1CalendarGetEventsPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {Request} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CalendarGetPublicHolidaysPost(body?: Request, options?: any): AxiosPromise {\n return CalendarApiFp(configuration).apiV1CalendarGetPublicHolidaysPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * CalendarApi - object-oriented interface\n * @export\n * @class CalendarApi\n * @extends {BaseAPI}\n */\nexport class CalendarApi extends BaseAPI {\n /**\n * \n * @param {EventRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CalendarApi\n */\n public apiV1CalendarGetEventsPost(body?: EventRequest, options?: any) {\n return CalendarApiFp(this.configuration).apiV1CalendarGetEventsPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {Request} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CalendarApi\n */\n public apiV1CalendarGetPublicHolidaysPost(body?: Request, options?: any) {\n return CalendarApiFp(this.configuration).apiV1CalendarGetPublicHolidaysPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 1.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { AccountTypeIEnumerableResponse } from '../models';\nimport { AppointmentStatusIEnumerableResponse } from '../models';\nimport { BreachTypeIEnumerableResponse } from '../models';\nimport { CategoryIEnumerableResponse } from '../models';\nimport { CertifiedTypeIEnumerableResponse } from '../models';\nimport { CorrespondenceDescriptionIEnumerableResponse } from '../models';\nimport { CorrespondenceTypeIEnumerableResponse } from '../models';\nimport { EventTypeIEnumerableResponse } from '../models';\nimport { InvestigationCategoryIEnumerableResponse } from '../models';\nimport { InvestigationStatusIEnumerableResponse } from '../models';\nimport { LeaveTypeIEnumerableResponse } from '../models';\nimport { LetterTemplateIEnumerableResponse } from '../models';\nimport { NotesTypeIEnumerableResponse } from '../models';\nimport { PracticeRiskIEnumerableResponse } from '../models';\nimport { PriorityIEnumerableResponse } from '../models';\nimport { ReportResultIEnumerableResponse } from '../models';\nimport { SectionGroupFlagIEnumerableResponse } from '../models';\nimport { SolelyJointlyIEnumerableResponse } from '../models';\nimport { StatusIEnumerableResponse } from '../models';\nimport { TimeEntryActivityIEnumerableResponse } from '../models';\nimport { TimeEntryStatusIEnumerableResponse } from '../models';\nimport { TimeEntryTypeIEnumerableResponse } from '../models';\nimport { TimesheetStatusIEnumerableResponse } from '../models';\nimport { TrustAccountStatusIEnumerableResponse } from '../models';\nimport { UserGroupIEnumerableResponse } from '../models';\n/**\n * CodeApi - axios parameter creator\n * @export\n */\nexport const CodeApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetAccountTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetAccountTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetAppointmentStatusesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetAppointmentStatuses`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetBreachTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetBreachTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetCategoriesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetCategories`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetCertifiedTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetCertifiedTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetCorrespondenceDescriptionsGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetCorrespondenceDescriptions`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetCorrespondenceTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetCorrespondenceTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetEventTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetEventTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetInvestigationCategoryGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetInvestigationCategory`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetInvestigationStatusesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetInvestigationStatuses`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetLeaveTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetLeaveTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetLetterTemplatesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetLetterTemplates`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetNoteTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetNoteTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetPracticeRiskIndicatorsGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetPracticeRiskIndicators`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetPracticeRisksGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetPracticeRisks`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetPrioritiesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetPriorities`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetReportResultsGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetReportResults`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetSectionGroupFlagsGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetSectionGroupFlags`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetSolelyJointliesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetSolelyJointlies`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetStatusGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetStatus`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetTimeEntryActivitiesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetTimeEntryActivities`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetTimeEntryStatusesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetTimeEntryStatuses`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetTimeEntryTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetTimeEntryTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetTimesheetStatusesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetTimesheetStatuses`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetTrustAccountStatusesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetTrustAccountStatuses`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetUserGroupsGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Code/GetUserGroups`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * CodeApi - functional programming interface\n * @export\n */\nexport const CodeApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetAccountTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetAccountTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetAppointmentStatusesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetAppointmentStatusesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetBreachTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetBreachTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetCategoriesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetCategoriesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetCertifiedTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetCertifiedTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetCorrespondenceDescriptionsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetCorrespondenceDescriptionsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetCorrespondenceTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetCorrespondenceTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetEventTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetEventTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetInvestigationCategoryGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetInvestigationCategoryGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetInvestigationStatusesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetInvestigationStatusesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetLeaveTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetLeaveTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetLetterTemplatesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetLetterTemplatesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetNoteTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetNoteTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetPracticeRiskIndicatorsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetPracticeRiskIndicatorsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetPracticeRisksGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetPracticeRisksGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetPrioritiesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetPrioritiesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetReportResultsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetReportResultsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetSectionGroupFlagsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetSectionGroupFlagsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetSolelyJointliesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetSolelyJointliesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetStatusGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetStatusGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetTimeEntryActivitiesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetTimeEntryActivitiesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetTimeEntryStatusesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetTimeEntryStatusesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetTimeEntryTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetTimeEntryTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetTimesheetStatusesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetTimesheetStatusesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetTrustAccountStatusesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetTrustAccountStatusesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CodeGetUserGroupsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV1CodeGetUserGroupsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * CodeApi - factory interface\n * @export\n */\nexport const CodeApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetAccountTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetAccountTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetAppointmentStatusesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetAppointmentStatusesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetBreachTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetBreachTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetCategoriesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetCategoriesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetCertifiedTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetCertifiedTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetCorrespondenceDescriptionsGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetCorrespondenceDescriptionsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetCorrespondenceTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetCorrespondenceTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetEventTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetEventTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetInvestigationCategoryGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetInvestigationCategoryGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetInvestigationStatusesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetInvestigationStatusesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetLeaveTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetLeaveTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetLetterTemplatesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetLetterTemplatesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetNoteTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetNoteTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetPracticeRiskIndicatorsGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetPracticeRiskIndicatorsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetPracticeRisksGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetPracticeRisksGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetPrioritiesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetPrioritiesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetReportResultsGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetReportResultsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetSectionGroupFlagsGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetSectionGroupFlagsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetSolelyJointliesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetSolelyJointliesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetStatusGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetStatusGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetTimeEntryActivitiesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetTimeEntryActivitiesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetTimeEntryStatusesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetTimeEntryStatusesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetTimeEntryTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetTimeEntryTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetTimesheetStatusesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetTimesheetStatusesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetTrustAccountStatusesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetTrustAccountStatusesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CodeGetUserGroupsGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV1CodeGetUserGroupsGet(options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * CodeApi - object-oriented interface\n * @export\n * @class CodeApi\n * @extends {BaseAPI}\n */\nexport class CodeApi extends BaseAPI {\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetAccountTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetAccountTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetAppointmentStatusesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetAppointmentStatusesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetBreachTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetBreachTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetCategoriesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetCategoriesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetCertifiedTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetCertifiedTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetCorrespondenceDescriptionsGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetCorrespondenceDescriptionsGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetCorrespondenceTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetCorrespondenceTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetEventTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetEventTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetInvestigationCategoryGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetInvestigationCategoryGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetInvestigationStatusesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetInvestigationStatusesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetLeaveTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetLeaveTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetLetterTemplatesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetLetterTemplatesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetNoteTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetNoteTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetPracticeRiskIndicatorsGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetPracticeRiskIndicatorsGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetPracticeRisksGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetPracticeRisksGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetPrioritiesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetPrioritiesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetReportResultsGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetReportResultsGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetSectionGroupFlagsGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetSectionGroupFlagsGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetSolelyJointliesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetSolelyJointliesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetStatusGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetStatusGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetTimeEntryActivitiesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetTimeEntryActivitiesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetTimeEntryStatusesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetTimeEntryStatusesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetTimeEntryTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetTimeEntryTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetTimesheetStatusesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetTimesheetStatusesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetTrustAccountStatusesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetTrustAccountStatusesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV1CodeGetUserGroupsGet(options?: any) {\n return CodeApiFp(this.configuration).apiV1CodeGetUserGroupsGet(options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 1.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { ComplianceFormAdditionalFileViewIEnumerableResponse } from '../models';\nimport { ComplianceFormFileViewResponse } from '../models';\nimport { ComplianceFormRequest } from '../models';\nimport { ComplianceFormTipViewIEnumerableResponse } from '../models';\nimport { ComplianceFormViewIEnumerableResponse } from '../models';\nimport { FileViewResponse } from '../models';\nimport { RegeneratedFileLogViewIEnumerableResponse } from '../models';\n/**\n * ComplianceFormApi - axios parameter creator\n * @export\n */\nexport const ComplianceFormApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormDownloadAdditionalFileStreamComplianceFormIdFileIdGet: async (complianceFormId: number, fileId: number, options: any = {}): Promise => {\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV1ComplianceFormDownloadAdditionalFileStreamComplianceFormIdFileIdGet.');\n }\n // verify required parameter 'fileId' is not null or undefined\n if (fileId === null || fileId === undefined) {\n throw new RequiredError('fileId','Required parameter fileId was null or undefined when calling apiV1ComplianceFormDownloadAdditionalFileStreamComplianceFormIdFileIdGet.');\n }\n const localVarPath = `/api/v1/ComplianceForm/DownloadAdditionalFile-stream/{complianceFormId}/{fileId}`\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)))\n .replace(`{${\"fileId\"}}`, encodeURIComponent(String(fileId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormDownloadComplianceFormAdditionalFileComplianceFormIdFileIdGet: async (complianceFormId: number, fileId: number, options: any = {}): Promise => {\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV1ComplianceFormDownloadComplianceFormAdditionalFileComplianceFormIdFileIdGet.');\n }\n // verify required parameter 'fileId' is not null or undefined\n if (fileId === null || fileId === undefined) {\n throw new RequiredError('fileId','Required parameter fileId was null or undefined when calling apiV1ComplianceFormDownloadComplianceFormAdditionalFileComplianceFormIdFileIdGet.');\n }\n const localVarPath = `/api/v1/ComplianceForm/DownloadComplianceFormAdditionalFile/{complianceFormId}/{fileId}`\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)))\n .replace(`{${\"fileId\"}}`, encodeURIComponent(String(fileId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormDownloadEeReportEeReportIdGet: async (eeReportId: number, options: any = {}): Promise => {\n // verify required parameter 'eeReportId' is not null or undefined\n if (eeReportId === null || eeReportId === undefined) {\n throw new RequiredError('eeReportId','Required parameter eeReportId was null or undefined when calling apiV1ComplianceFormDownloadEeReportEeReportIdGet.');\n }\n const localVarPath = `/api/v1/ComplianceForm/DownloadEeReport/{eeReportId}`\n .replace(`{${\"eeReportId\"}}`, encodeURIComponent(String(eeReportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} eeReportId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormDownloadEeReportEeReportIdRegeneratedFileLogIdGet: async (eeReportId: number, regeneratedFileLogId: number, options: any = {}): Promise => {\n // verify required parameter 'eeReportId' is not null or undefined\n if (eeReportId === null || eeReportId === undefined) {\n throw new RequiredError('eeReportId','Required parameter eeReportId was null or undefined when calling apiV1ComplianceFormDownloadEeReportEeReportIdRegeneratedFileLogIdGet.');\n }\n // verify required parameter 'regeneratedFileLogId' is not null or undefined\n if (regeneratedFileLogId === null || regeneratedFileLogId === undefined) {\n throw new RequiredError('regeneratedFileLogId','Required parameter regeneratedFileLogId was null or undefined when calling apiV1ComplianceFormDownloadEeReportEeReportIdRegeneratedFileLogIdGet.');\n }\n const localVarPath = `/api/v1/ComplianceForm/DownloadEeReport/{eeReportId}/{regeneratedFileLogId}`\n .replace(`{${\"eeReportId\"}}`, encodeURIComponent(String(eeReportId)))\n .replace(`{${\"regeneratedFileLogId\"}}`, encodeURIComponent(String(regeneratedFileLogId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} fileId \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormDownloadFileFileIdComplianceFormIdGet: async (fileId: number, complianceFormId: number, options: any = {}): Promise => {\n // verify required parameter 'fileId' is not null or undefined\n if (fileId === null || fileId === undefined) {\n throw new RequiredError('fileId','Required parameter fileId was null or undefined when calling apiV1ComplianceFormDownloadFileFileIdComplianceFormIdGet.');\n }\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV1ComplianceFormDownloadFileFileIdComplianceFormIdGet.');\n }\n const localVarPath = `/api/v1/ComplianceForm/DownloadFile/{fileId}/{complianceFormId}`\n .replace(`{${\"fileId\"}}`, encodeURIComponent(String(fileId)))\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormDownloadPartAPartAIdGet: async (partAId: number, options: any = {}): Promise => {\n // verify required parameter 'partAId' is not null or undefined\n if (partAId === null || partAId === undefined) {\n throw new RequiredError('partAId','Required parameter partAId was null or undefined when calling apiV1ComplianceFormDownloadPartAPartAIdGet.');\n }\n const localVarPath = `/api/v1/ComplianceForm/DownloadPartA/{partAId}`\n .replace(`{${\"partAId\"}}`, encodeURIComponent(String(partAId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} partAId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormDownloadPartAPartAIdRegeneratedFileLogIdGet: async (partAId: number, regeneratedFileLogId: number, options: any = {}): Promise => {\n // verify required parameter 'partAId' is not null or undefined\n if (partAId === null || partAId === undefined) {\n throw new RequiredError('partAId','Required parameter partAId was null or undefined when calling apiV1ComplianceFormDownloadPartAPartAIdRegeneratedFileLogIdGet.');\n }\n // verify required parameter 'regeneratedFileLogId' is not null or undefined\n if (regeneratedFileLogId === null || regeneratedFileLogId === undefined) {\n throw new RequiredError('regeneratedFileLogId','Required parameter regeneratedFileLogId was null or undefined when calling apiV1ComplianceFormDownloadPartAPartAIdRegeneratedFileLogIdGet.');\n }\n const localVarPath = `/api/v1/ComplianceForm/DownloadPartA/{partAId}/{regeneratedFileLogId}`\n .replace(`{${\"partAId\"}}`, encodeURIComponent(String(partAId)))\n .replace(`{${\"regeneratedFileLogId\"}}`, encodeURIComponent(String(regeneratedFileLogId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormDownloadPartBPartBIdGet: async (partBId: number, options: any = {}): Promise => {\n // verify required parameter 'partBId' is not null or undefined\n if (partBId === null || partBId === undefined) {\n throw new RequiredError('partBId','Required parameter partBId was null or undefined when calling apiV1ComplianceFormDownloadPartBPartBIdGet.');\n }\n const localVarPath = `/api/v1/ComplianceForm/DownloadPartB/{partBId}`\n .replace(`{${\"partBId\"}}`, encodeURIComponent(String(partBId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} partBId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormDownloadPartBPartBIdRegeneratedFileLogIdGet: async (partBId: number, regeneratedFileLogId: number, options: any = {}): Promise => {\n // verify required parameter 'partBId' is not null or undefined\n if (partBId === null || partBId === undefined) {\n throw new RequiredError('partBId','Required parameter partBId was null or undefined when calling apiV1ComplianceFormDownloadPartBPartBIdRegeneratedFileLogIdGet.');\n }\n // verify required parameter 'regeneratedFileLogId' is not null or undefined\n if (regeneratedFileLogId === null || regeneratedFileLogId === undefined) {\n throw new RequiredError('regeneratedFileLogId','Required parameter regeneratedFileLogId was null or undefined when calling apiV1ComplianceFormDownloadPartBPartBIdRegeneratedFileLogIdGet.');\n }\n const localVarPath = `/api/v1/ComplianceForm/DownloadPartB/{partBId}/{regeneratedFileLogId}`\n .replace(`{${\"partBId\"}}`, encodeURIComponent(String(partBId)))\n .replace(`{${\"regeneratedFileLogId\"}}`, encodeURIComponent(String(regeneratedFileLogId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormGetComplianceFormAdditionalFileComplianceFormIdGet: async (complianceFormId: number, options: any = {}): Promise => {\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV1ComplianceFormGetComplianceFormAdditionalFileComplianceFormIdGet.');\n }\n const localVarPath = `/api/v1/ComplianceForm/GetComplianceFormAdditionalFile/{complianceFormId}`\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormGetComplianceFormsPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/ComplianceForm/GetComplianceForms`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormGetComplianceFormsTipPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/ComplianceForm/GetComplianceFormsTip`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormGetEeReportFileLogsEeReportIdGet: async (eeReportId: number, options: any = {}): Promise => {\n // verify required parameter 'eeReportId' is not null or undefined\n if (eeReportId === null || eeReportId === undefined) {\n throw new RequiredError('eeReportId','Required parameter eeReportId was null or undefined when calling apiV1ComplianceFormGetEeReportFileLogsEeReportIdGet.');\n }\n const localVarPath = `/api/v1/ComplianceForm/GetEeReportFileLogs/{eeReportId}`\n .replace(`{${\"eeReportId\"}}`, encodeURIComponent(String(eeReportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormGetFileAttachmentsComplianceFormIdGet: async (complianceFormId: number, options: any = {}): Promise => {\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV1ComplianceFormGetFileAttachmentsComplianceFormIdGet.');\n }\n const localVarPath = `/api/v1/ComplianceForm/GetFileAttachments/{complianceFormId}`\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormGetPartAFileLogsPartAIdGet: async (partAId: number, options: any = {}): Promise => {\n // verify required parameter 'partAId' is not null or undefined\n if (partAId === null || partAId === undefined) {\n throw new RequiredError('partAId','Required parameter partAId was null or undefined when calling apiV1ComplianceFormGetPartAFileLogsPartAIdGet.');\n }\n const localVarPath = `/api/v1/ComplianceForm/GetPartAFileLogs/{partAId}`\n .replace(`{${\"partAId\"}}`, encodeURIComponent(String(partAId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormGetPartBFileLogsPartBIdGet: async (partBId: number, options: any = {}): Promise => {\n // verify required parameter 'partBId' is not null or undefined\n if (partBId === null || partBId === undefined) {\n throw new RequiredError('partBId','Required parameter partBId was null or undefined when calling apiV1ComplianceFormGetPartBFileLogsPartBIdGet.');\n }\n const localVarPath = `/api/v1/ComplianceForm/GetPartBFileLogs/{partBId}`\n .replace(`{${\"partBId\"}}`, encodeURIComponent(String(partBId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * ComplianceFormApi - functional programming interface\n * @export\n */\nexport const ComplianceFormApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1ComplianceFormDownloadAdditionalFileStreamComplianceFormIdFileIdGet(complianceFormId: number, fileId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV1ComplianceFormDownloadAdditionalFileStreamComplianceFormIdFileIdGet(complianceFormId, fileId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1ComplianceFormDownloadComplianceFormAdditionalFileComplianceFormIdFileIdGet(complianceFormId: number, fileId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV1ComplianceFormDownloadComplianceFormAdditionalFileComplianceFormIdFileIdGet(complianceFormId, fileId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1ComplianceFormDownloadEeReportEeReportIdGet(eeReportId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV1ComplianceFormDownloadEeReportEeReportIdGet(eeReportId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} eeReportId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1ComplianceFormDownloadEeReportEeReportIdRegeneratedFileLogIdGet(eeReportId: number, regeneratedFileLogId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV1ComplianceFormDownloadEeReportEeReportIdRegeneratedFileLogIdGet(eeReportId, regeneratedFileLogId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} fileId \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1ComplianceFormDownloadFileFileIdComplianceFormIdGet(fileId: number, complianceFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV1ComplianceFormDownloadFileFileIdComplianceFormIdGet(fileId, complianceFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1ComplianceFormDownloadPartAPartAIdGet(partAId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV1ComplianceFormDownloadPartAPartAIdGet(partAId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} partAId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1ComplianceFormDownloadPartAPartAIdRegeneratedFileLogIdGet(partAId: number, regeneratedFileLogId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV1ComplianceFormDownloadPartAPartAIdRegeneratedFileLogIdGet(partAId, regeneratedFileLogId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1ComplianceFormDownloadPartBPartBIdGet(partBId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV1ComplianceFormDownloadPartBPartBIdGet(partBId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} partBId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1ComplianceFormDownloadPartBPartBIdRegeneratedFileLogIdGet(partBId: number, regeneratedFileLogId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV1ComplianceFormDownloadPartBPartBIdRegeneratedFileLogIdGet(partBId, regeneratedFileLogId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1ComplianceFormGetComplianceFormAdditionalFileComplianceFormIdGet(complianceFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV1ComplianceFormGetComplianceFormAdditionalFileComplianceFormIdGet(complianceFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1ComplianceFormGetComplianceFormsPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV1ComplianceFormGetComplianceFormsPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1ComplianceFormGetComplianceFormsTipPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV1ComplianceFormGetComplianceFormsTipPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1ComplianceFormGetEeReportFileLogsEeReportIdGet(eeReportId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV1ComplianceFormGetEeReportFileLogsEeReportIdGet(eeReportId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1ComplianceFormGetFileAttachmentsComplianceFormIdGet(complianceFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV1ComplianceFormGetFileAttachmentsComplianceFormIdGet(complianceFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1ComplianceFormGetPartAFileLogsPartAIdGet(partAId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV1ComplianceFormGetPartAFileLogsPartAIdGet(partAId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1ComplianceFormGetPartBFileLogsPartBIdGet(partBId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV1ComplianceFormGetPartBFileLogsPartBIdGet(partBId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * ComplianceFormApi - factory interface\n * @export\n */\nexport const ComplianceFormApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormDownloadAdditionalFileStreamComplianceFormIdFileIdGet(complianceFormId: number, fileId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV1ComplianceFormDownloadAdditionalFileStreamComplianceFormIdFileIdGet(complianceFormId, fileId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormDownloadComplianceFormAdditionalFileComplianceFormIdFileIdGet(complianceFormId: number, fileId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV1ComplianceFormDownloadComplianceFormAdditionalFileComplianceFormIdFileIdGet(complianceFormId, fileId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormDownloadEeReportEeReportIdGet(eeReportId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV1ComplianceFormDownloadEeReportEeReportIdGet(eeReportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} eeReportId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormDownloadEeReportEeReportIdRegeneratedFileLogIdGet(eeReportId: number, regeneratedFileLogId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV1ComplianceFormDownloadEeReportEeReportIdRegeneratedFileLogIdGet(eeReportId, regeneratedFileLogId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} fileId \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormDownloadFileFileIdComplianceFormIdGet(fileId: number, complianceFormId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV1ComplianceFormDownloadFileFileIdComplianceFormIdGet(fileId, complianceFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormDownloadPartAPartAIdGet(partAId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV1ComplianceFormDownloadPartAPartAIdGet(partAId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} partAId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormDownloadPartAPartAIdRegeneratedFileLogIdGet(partAId: number, regeneratedFileLogId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV1ComplianceFormDownloadPartAPartAIdRegeneratedFileLogIdGet(partAId, regeneratedFileLogId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormDownloadPartBPartBIdGet(partBId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV1ComplianceFormDownloadPartBPartBIdGet(partBId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} partBId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormDownloadPartBPartBIdRegeneratedFileLogIdGet(partBId: number, regeneratedFileLogId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV1ComplianceFormDownloadPartBPartBIdRegeneratedFileLogIdGet(partBId, regeneratedFileLogId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormGetComplianceFormAdditionalFileComplianceFormIdGet(complianceFormId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV1ComplianceFormGetComplianceFormAdditionalFileComplianceFormIdGet(complianceFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormGetComplianceFormsPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV1ComplianceFormGetComplianceFormsPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormGetComplianceFormsTipPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV1ComplianceFormGetComplianceFormsTipPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormGetEeReportFileLogsEeReportIdGet(eeReportId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV1ComplianceFormGetEeReportFileLogsEeReportIdGet(eeReportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormGetFileAttachmentsComplianceFormIdGet(complianceFormId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV1ComplianceFormGetFileAttachmentsComplianceFormIdGet(complianceFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormGetPartAFileLogsPartAIdGet(partAId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV1ComplianceFormGetPartAFileLogsPartAIdGet(partAId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ComplianceFormGetPartBFileLogsPartBIdGet(partBId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV1ComplianceFormGetPartBFileLogsPartBIdGet(partBId, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * ComplianceFormApi - object-oriented interface\n * @export\n * @class ComplianceFormApi\n * @extends {BaseAPI}\n */\nexport class ComplianceFormApi extends BaseAPI {\n /**\n * \n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV1ComplianceFormDownloadAdditionalFileStreamComplianceFormIdFileIdGet(complianceFormId: number, fileId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV1ComplianceFormDownloadAdditionalFileStreamComplianceFormIdFileIdGet(complianceFormId, fileId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV1ComplianceFormDownloadComplianceFormAdditionalFileComplianceFormIdFileIdGet(complianceFormId: number, fileId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV1ComplianceFormDownloadComplianceFormAdditionalFileComplianceFormIdFileIdGet(complianceFormId, fileId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV1ComplianceFormDownloadEeReportEeReportIdGet(eeReportId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV1ComplianceFormDownloadEeReportEeReportIdGet(eeReportId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} eeReportId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV1ComplianceFormDownloadEeReportEeReportIdRegeneratedFileLogIdGet(eeReportId: number, regeneratedFileLogId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV1ComplianceFormDownloadEeReportEeReportIdRegeneratedFileLogIdGet(eeReportId, regeneratedFileLogId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} fileId \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV1ComplianceFormDownloadFileFileIdComplianceFormIdGet(fileId: number, complianceFormId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV1ComplianceFormDownloadFileFileIdComplianceFormIdGet(fileId, complianceFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV1ComplianceFormDownloadPartAPartAIdGet(partAId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV1ComplianceFormDownloadPartAPartAIdGet(partAId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} partAId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV1ComplianceFormDownloadPartAPartAIdRegeneratedFileLogIdGet(partAId: number, regeneratedFileLogId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV1ComplianceFormDownloadPartAPartAIdRegeneratedFileLogIdGet(partAId, regeneratedFileLogId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV1ComplianceFormDownloadPartBPartBIdGet(partBId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV1ComplianceFormDownloadPartBPartBIdGet(partBId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} partBId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV1ComplianceFormDownloadPartBPartBIdRegeneratedFileLogIdGet(partBId: number, regeneratedFileLogId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV1ComplianceFormDownloadPartBPartBIdRegeneratedFileLogIdGet(partBId, regeneratedFileLogId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV1ComplianceFormGetComplianceFormAdditionalFileComplianceFormIdGet(complianceFormId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV1ComplianceFormGetComplianceFormAdditionalFileComplianceFormIdGet(complianceFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV1ComplianceFormGetComplianceFormsPost(body?: ComplianceFormRequest, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV1ComplianceFormGetComplianceFormsPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV1ComplianceFormGetComplianceFormsTipPost(body?: ComplianceFormRequest, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV1ComplianceFormGetComplianceFormsTipPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV1ComplianceFormGetEeReportFileLogsEeReportIdGet(eeReportId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV1ComplianceFormGetEeReportFileLogsEeReportIdGet(eeReportId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV1ComplianceFormGetFileAttachmentsComplianceFormIdGet(complianceFormId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV1ComplianceFormGetFileAttachmentsComplianceFormIdGet(complianceFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV1ComplianceFormGetPartAFileLogsPartAIdGet(partAId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV1ComplianceFormGetPartAFileLogsPartAIdGet(partAId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV1ComplianceFormGetPartBFileLogsPartBIdGet(partBId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV1ComplianceFormGetPartBFileLogsPartBIdGet(partBId, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 1.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BankViewIEnumerableResponse } from '../models';\nimport { InvestigationTypeViewIEnumerableResponse } from '../models';\nimport { Request } from '../models';\n/**\n * ConfigTrustApi - axios parameter creator\n * @export\n */\nexport const ConfigTrustApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ConfigTrustGetBanksPost: async (body?: Request, showActiveOnly?: boolean, options: any = {}): Promise => {\n const localVarPath = `/api/v1/ConfigTrust/GetBanks`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (showActiveOnly !== undefined) {\n localVarQueryParameter['showActiveOnly'] = showActiveOnly;\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ConfigTrustGetInvestigationTypesPost: async (body?: Request, showActiveOnly?: boolean, options: any = {}): Promise => {\n const localVarPath = `/api/v1/ConfigTrust/GetInvestigationTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (showActiveOnly !== undefined) {\n localVarQueryParameter['showActiveOnly'] = showActiveOnly;\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * ConfigTrustApi - functional programming interface\n * @export\n */\nexport const ConfigTrustApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1ConfigTrustGetBanksPost(body?: Request, showActiveOnly?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ConfigTrustApiAxiosParamCreator(configuration).apiV1ConfigTrustGetBanksPost(body, showActiveOnly, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1ConfigTrustGetInvestigationTypesPost(body?: Request, showActiveOnly?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ConfigTrustApiAxiosParamCreator(configuration).apiV1ConfigTrustGetInvestigationTypesPost(body, showActiveOnly, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * ConfigTrustApi - factory interface\n * @export\n */\nexport const ConfigTrustApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ConfigTrustGetBanksPost(body?: Request, showActiveOnly?: boolean, options?: any): AxiosPromise {\n return ConfigTrustApiFp(configuration).apiV1ConfigTrustGetBanksPost(body, showActiveOnly, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ConfigTrustGetInvestigationTypesPost(body?: Request, showActiveOnly?: boolean, options?: any): AxiosPromise {\n return ConfigTrustApiFp(configuration).apiV1ConfigTrustGetInvestigationTypesPost(body, showActiveOnly, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * ConfigTrustApi - object-oriented interface\n * @export\n * @class ConfigTrustApi\n * @extends {BaseAPI}\n */\nexport class ConfigTrustApi extends BaseAPI {\n /**\n * \n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ConfigTrustApi\n */\n public apiV1ConfigTrustGetBanksPost(body?: Request, showActiveOnly?: boolean, options?: any) {\n return ConfigTrustApiFp(this.configuration).apiV1ConfigTrustGetBanksPost(body, showActiveOnly, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ConfigTrustApi\n */\n public apiV1ConfigTrustGetInvestigationTypesPost(body?: Request, showActiveOnly?: boolean, options?: any) {\n return ConfigTrustApiFp(this.configuration).apiV1ConfigTrustGetInvestigationTypesPost(body, showActiveOnly, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 1.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\nimport { CorrespondenceRequest } from '../models';\nimport { CorrespondenceViewIEnumerableResponse } from '../models';\n/**\n * CorrespondenceApi - axios parameter creator\n * @export\n */\nexport const CorrespondenceApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV1CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v1/Correspondence/GetCorrespondenceByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet: async (correspondenceId: number, options: any = {}): Promise => {\n // verify required parameter 'correspondenceId' is not null or undefined\n if (correspondenceId === null || correspondenceId === undefined) {\n throw new RequiredError('correspondenceId','Required parameter correspondenceId was null or undefined when calling apiV1CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet.');\n }\n const localVarPath = `/api/v1/Correspondence/GetFileStreamByCorrespondenceId/{correspondenceId}`\n .replace(`{${\"correspondenceId\"}}`, encodeURIComponent(String(correspondenceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {CorrespondenceRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CorrespondenceSaveCorrespondencePost: async (body?: CorrespondenceRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Correspondence/SaveCorrespondence`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * CorrespondenceApi - functional programming interface\n * @export\n */\nexport const CorrespondenceApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CorrespondenceApiAxiosParamCreator(configuration).apiV1CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet(correspondenceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CorrespondenceApiAxiosParamCreator(configuration).apiV1CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet(correspondenceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {CorrespondenceRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1CorrespondenceSaveCorrespondencePost(body?: CorrespondenceRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CorrespondenceApiAxiosParamCreator(configuration).apiV1CorrespondenceSaveCorrespondencePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * CorrespondenceApi - factory interface\n * @export\n */\nexport const CorrespondenceApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return CorrespondenceApiFp(configuration).apiV1CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet(correspondenceId: number, options?: any): AxiosPromise {\n return CorrespondenceApiFp(configuration).apiV1CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet(correspondenceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {CorrespondenceRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1CorrespondenceSaveCorrespondencePost(body?: CorrespondenceRequest, options?: any): AxiosPromise {\n return CorrespondenceApiFp(configuration).apiV1CorrespondenceSaveCorrespondencePost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * CorrespondenceApi - object-oriented interface\n * @export\n * @class CorrespondenceApi\n * @extends {BaseAPI}\n */\nexport class CorrespondenceApi extends BaseAPI {\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CorrespondenceApi\n */\n public apiV1CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet(practiceId: number, options?: any) {\n return CorrespondenceApiFp(this.configuration).apiV1CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CorrespondenceApi\n */\n public apiV1CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet(correspondenceId: number, options?: any) {\n return CorrespondenceApiFp(this.configuration).apiV1CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet(correspondenceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {CorrespondenceRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CorrespondenceApi\n */\n public apiV1CorrespondenceSaveCorrespondencePost(body?: CorrespondenceRequest, options?: any) {\n return CorrespondenceApiFp(this.configuration).apiV1CorrespondenceSaveCorrespondencePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 1.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\nimport { InvestigationAccountingAppViewIEnumerableResponse } from '../models';\nimport { InvestigationBreachViewIEnumerableResponse } from '../models';\nimport { InvestigationFileViewResponse } from '../models';\nimport { InvestigationMaintainFileRequest } from '../models';\nimport { InvestigationMaintainFileViewIEnumerableResponse } from '../models';\nimport { InvestigationOverdrawnLedgerViewIEnumerableResponse } from '../models';\nimport { InvestigationOverdrawnRequest } from '../models';\nimport { InvestigationParameterRequest } from '../models';\nimport { InvestigationParameterViewResponse } from '../models';\nimport { InvestigationViewIEnumerableResponse } from '../models';\nimport { InvestigationViewResponse } from '../models';\nimport { InvestigationViewResponseFinaliseError } from '../models';\nimport { InvestigationWithQuestionnaireViewResponse } from '../models';\nimport { InvestigatorWorkingPaperFileRequest } from '../models';\nimport { InvestigatorWorkingPaperRequest } from '../models';\nimport { InvestigatorWorkingPaperViewIEnumerableResponse } from '../models';\nimport { IwpFileStreamRequest } from '../models';\nimport { PrincipalInformationRequest } from '../models';\nimport { QuestionnaireView } from '../models';\nimport { SectionGroupView } from '../models';\nimport { SectionView } from '../models';\nimport { TrustTeamMemberInvestigationFilterRequest } from '../models';\n/**\n * InvestigationApi - axios parameter creator\n * @export\n */\nexport const InvestigationApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationDeleteInvestigationMaintainFileIdDelete: async (id: number, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling apiV1InvestigationDeleteInvestigationMaintainFileIdDelete.');\n }\n const localVarPath = `/api/v1/Investigation/DeleteInvestigationMaintainFile/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationDeleteInvestigationOverdrawnLedgerIdDelete: async (id: number, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling apiV1InvestigationDeleteInvestigationOverdrawnLedgerIdDelete.');\n }\n const localVarPath = `/api/v1/Investigation/DeleteInvestigationOverdrawnLedger/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} investigationFileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationDeleteInvestigatorWorkingPaperFileInvestigationFileIdDelete: async (investigationFileId: string, options: any = {}): Promise => {\n // verify required parameter 'investigationFileId' is not null or undefined\n if (investigationFileId === null || investigationFileId === undefined) {\n throw new RequiredError('investigationFileId','Required parameter investigationFileId was null or undefined when calling apiV1InvestigationDeleteInvestigatorWorkingPaperFileInvestigationFileIdDelete.');\n }\n const localVarPath = `/api/v1/Investigation/DeleteInvestigatorWorkingPaperFile/{investigationFileId}`\n .replace(`{${\"investigationFileId\"}}`, encodeURIComponent(String(investigationFileId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationDeleteInvestigatorWorkingPaperIdDelete: async (id: number, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling apiV1InvestigationDeleteInvestigatorWorkingPaperIdDelete.');\n }\n const localVarPath = `/api/v1/Investigation/DeleteInvestigatorWorkingPaper/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {InvestigatorWorkingPaperRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationEditInvestigatorWorkingPaperPost: async (body?: InvestigatorWorkingPaperRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Investigation/EditInvestigatorWorkingPaper`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationFinaliseInvestigationInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV1InvestigationFinaliseInvestigationInvestigationIdGet.');\n }\n const localVarPath = `/api/v1/Investigation/FinaliseInvestigation/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetFileByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet: async (investigatorWorkingPaperId: number, options: any = {}): Promise => {\n // verify required parameter 'investigatorWorkingPaperId' is not null or undefined\n if (investigatorWorkingPaperId === null || investigatorWorkingPaperId === undefined) {\n throw new RequiredError('investigatorWorkingPaperId','Required parameter investigatorWorkingPaperId was null or undefined when calling apiV1InvestigationGetFileByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet.');\n }\n const localVarPath = `/api/v1/Investigation/GetFileByInvestigatorWorkingPaperId/{investigatorWorkingPaperId}`\n .replace(`{${\"investigatorWorkingPaperId\"}}`, encodeURIComponent(String(investigatorWorkingPaperId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetFileStreamByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet: async (investigatorWorkingPaperId: number, options: any = {}): Promise => {\n // verify required parameter 'investigatorWorkingPaperId' is not null or undefined\n if (investigatorWorkingPaperId === null || investigatorWorkingPaperId === undefined) {\n throw new RequiredError('investigatorWorkingPaperId','Required parameter investigatorWorkingPaperId was null or undefined when calling apiV1InvestigationGetFileStreamByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet.');\n }\n const localVarPath = `/api/v1/Investigation/GetFileStreamByInvestigatorWorkingPaperId/{investigatorWorkingPaperId}`\n .replace(`{${\"investigatorWorkingPaperId\"}}`, encodeURIComponent(String(investigatorWorkingPaperId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV1InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v1/Investigation/GetInvestigationAccountingDetailsByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetInvestigationBreachesByIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV1InvestigationGetInvestigationBreachesByIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v1/Investigation/GetInvestigationBreachesById/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetInvestigationByInvestigationIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV1InvestigationGetInvestigationByInvestigationIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v1/Investigation/GetInvestigationByInvestigationId/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetInvestigationMaintainFilesInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV1InvestigationGetInvestigationMaintainFilesInvestigationIdGet.');\n }\n const localVarPath = `/api/v1/Investigation/GetInvestigationMaintainFiles/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetInvestigationOverdrawnLedgersByInvestigationIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV1InvestigationGetInvestigationOverdrawnLedgersByInvestigationIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v1/Investigation/GetInvestigationOverdrawnLedgersByInvestigationId/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetInvestigationParametersInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV1InvestigationGetInvestigationParametersInvestigationIdGet.');\n }\n const localVarPath = `/api/v1/Investigation/GetInvestigationParameters/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetInvestigationWithQuestionnaireByIdIdGet: async (id: number, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling apiV1InvestigationGetInvestigationWithQuestionnaireByIdIdGet.');\n }\n const localVarPath = `/api/v1/Investigation/GetInvestigationWithQuestionnaireById/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetInvestigationsByPracticeIdPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV1InvestigationGetInvestigationsByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v1/Investigation/GetInvestigationsByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {TrustTeamMemberInvestigationFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetInvestigationsByTrustTeamMemberIdPost: async (body?: TrustTeamMemberInvestigationFilterRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Investigation/GetInvestigationsByTrustTeamMemberId`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetInvestigationsGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/Investigation/GetInvestigations`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetInvestigatorWorkingPapersByInvestigationIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV1InvestigationGetInvestigatorWorkingPapersByInvestigationIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v1/Investigation/GetInvestigatorWorkingPapersByInvestigationId/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {IwpFileStreamRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetIwpFileStreamPost: async (body?: IwpFileStreamRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Investigation/GetIwpFileStream`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetIwpsByInvestigationIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV1InvestigationGetIwpsByInvestigationIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v1/Investigation/GetIwpsByInvestigationId/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {InvestigationMaintainFileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationSaveInvestigationMaintainFilePost: async (body?: InvestigationMaintainFileRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Investigation/SaveInvestigationMaintainFile`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {InvestigationOverdrawnRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationSaveInvestigationOverdrawnLedgerPost: async (body?: InvestigationOverdrawnRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Investigation/SaveInvestigationOverdrawnLedger`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {InvestigationParameterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationSaveInvestigationParametersPost: async (body?: InvestigationParameterRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Investigation/SaveInvestigationParameters`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {InvestigatorWorkingPaperFileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationSaveInvestigatorWorkingPaperFilePost: async (body?: InvestigatorWorkingPaperFileRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Investigation/SaveInvestigatorWorkingPaperFile`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {InvestigatorWorkingPaperRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationSaveInvestigatorWorkingPaperPost: async (body?: InvestigatorWorkingPaperRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Investigation/SaveInvestigatorWorkingPaper`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {PrincipalInformationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationSavePrincipalInformationPost: async (body?: PrincipalInformationRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Investigation/SavePrincipalInformation`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {SectionView} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationSaveQuestionSectionPost: async (body?: SectionView, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Investigation/SaveQuestionSection`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {QuestionnaireView} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationSaveQuestionnairePost: async (body?: QuestionnaireView, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Investigation/SaveQuestionnaire`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {SectionGroupView} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationSaveSectionGroupOverviewPost: async (body?: SectionGroupView, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Investigation/SaveSectionGroupOverview`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * InvestigationApi - functional programming interface\n * @export\n */\nexport const InvestigationApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationDeleteInvestigationMaintainFileIdDelete(id: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationDeleteInvestigationMaintainFileIdDelete(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationDeleteInvestigationOverdrawnLedgerIdDelete(id: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationDeleteInvestigationOverdrawnLedgerIdDelete(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {string} investigationFileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationDeleteInvestigatorWorkingPaperFileInvestigationFileIdDelete(investigationFileId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationDeleteInvestigatorWorkingPaperFileInvestigationFileIdDelete(investigationFileId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationDeleteInvestigatorWorkingPaperIdDelete(id: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationDeleteInvestigatorWorkingPaperIdDelete(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {InvestigatorWorkingPaperRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationEditInvestigatorWorkingPaperPost(body?: InvestigatorWorkingPaperRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationEditInvestigatorWorkingPaperPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationFinaliseInvestigationInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationFinaliseInvestigationInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationGetFileByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationGetFileByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationGetFileStreamByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationGetFileStreamByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationGetInvestigationBreachesByIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationGetInvestigationBreachesByIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationGetInvestigationByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationGetInvestigationByInvestigationIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationGetInvestigationMaintainFilesInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationGetInvestigationMaintainFilesInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationGetInvestigationOverdrawnLedgersByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationGetInvestigationOverdrawnLedgersByInvestigationIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationGetInvestigationParametersInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationGetInvestigationParametersInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationGetInvestigationWithQuestionnaireByIdIdGet(id: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationGetInvestigationWithQuestionnaireByIdIdGet(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationGetInvestigationsByPracticeIdPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationGetInvestigationsByPracticeIdPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {TrustTeamMemberInvestigationFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationGetInvestigationsByTrustTeamMemberIdPost(body?: TrustTeamMemberInvestigationFilterRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationGetInvestigationsByTrustTeamMemberIdPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationGetInvestigationsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationGetInvestigationsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationGetInvestigatorWorkingPapersByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationGetInvestigatorWorkingPapersByInvestigationIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {IwpFileStreamRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationGetIwpFileStreamPost(body?: IwpFileStreamRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationGetIwpFileStreamPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationGetIwpsByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationGetIwpsByInvestigationIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {InvestigationMaintainFileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationSaveInvestigationMaintainFilePost(body?: InvestigationMaintainFileRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationSaveInvestigationMaintainFilePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {InvestigationOverdrawnRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationSaveInvestigationOverdrawnLedgerPost(body?: InvestigationOverdrawnRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationSaveInvestigationOverdrawnLedgerPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {InvestigationParameterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationSaveInvestigationParametersPost(body?: InvestigationParameterRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationSaveInvestigationParametersPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {InvestigatorWorkingPaperFileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationSaveInvestigatorWorkingPaperFilePost(body?: InvestigatorWorkingPaperFileRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationSaveInvestigatorWorkingPaperFilePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {InvestigatorWorkingPaperRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationSaveInvestigatorWorkingPaperPost(body?: InvestigatorWorkingPaperRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationSaveInvestigatorWorkingPaperPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {PrincipalInformationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationSavePrincipalInformationPost(body?: PrincipalInformationRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationSavePrincipalInformationPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {SectionView} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationSaveQuestionSectionPost(body?: SectionView, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationSaveQuestionSectionPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {QuestionnaireView} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationSaveQuestionnairePost(body?: QuestionnaireView, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationSaveQuestionnairePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {SectionGroupView} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1InvestigationSaveSectionGroupOverviewPost(body?: SectionGroupView, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV1InvestigationSaveSectionGroupOverviewPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * InvestigationApi - factory interface\n * @export\n */\nexport const InvestigationApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationDeleteInvestigationMaintainFileIdDelete(id: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationDeleteInvestigationMaintainFileIdDelete(id, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationDeleteInvestigationOverdrawnLedgerIdDelete(id: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationDeleteInvestigationOverdrawnLedgerIdDelete(id, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} investigationFileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationDeleteInvestigatorWorkingPaperFileInvestigationFileIdDelete(investigationFileId: string, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationDeleteInvestigatorWorkingPaperFileInvestigationFileIdDelete(investigationFileId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationDeleteInvestigatorWorkingPaperIdDelete(id: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationDeleteInvestigatorWorkingPaperIdDelete(id, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {InvestigatorWorkingPaperRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationEditInvestigatorWorkingPaperPost(body?: InvestigatorWorkingPaperRequest, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationEditInvestigatorWorkingPaperPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationFinaliseInvestigationInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationFinaliseInvestigationInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetFileByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationGetFileByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetFileStreamByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationGetFileStreamByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetInvestigationBreachesByIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationGetInvestigationBreachesByIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetInvestigationByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationGetInvestigationByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetInvestigationMaintainFilesInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationGetInvestigationMaintainFilesInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetInvestigationOverdrawnLedgersByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationGetInvestigationOverdrawnLedgersByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetInvestigationParametersInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationGetInvestigationParametersInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetInvestigationWithQuestionnaireByIdIdGet(id: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationGetInvestigationWithQuestionnaireByIdIdGet(id, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetInvestigationsByPracticeIdPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationGetInvestigationsByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {TrustTeamMemberInvestigationFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetInvestigationsByTrustTeamMemberIdPost(body?: TrustTeamMemberInvestigationFilterRequest, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationGetInvestigationsByTrustTeamMemberIdPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetInvestigationsGet(options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationGetInvestigationsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetInvestigatorWorkingPapersByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationGetInvestigatorWorkingPapersByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {IwpFileStreamRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetIwpFileStreamPost(body?: IwpFileStreamRequest, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationGetIwpFileStreamPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationGetIwpsByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationGetIwpsByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {InvestigationMaintainFileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationSaveInvestigationMaintainFilePost(body?: InvestigationMaintainFileRequest, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationSaveInvestigationMaintainFilePost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {InvestigationOverdrawnRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationSaveInvestigationOverdrawnLedgerPost(body?: InvestigationOverdrawnRequest, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationSaveInvestigationOverdrawnLedgerPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {InvestigationParameterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationSaveInvestigationParametersPost(body?: InvestigationParameterRequest, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationSaveInvestigationParametersPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {InvestigatorWorkingPaperFileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationSaveInvestigatorWorkingPaperFilePost(body?: InvestigatorWorkingPaperFileRequest, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationSaveInvestigatorWorkingPaperFilePost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {InvestigatorWorkingPaperRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationSaveInvestigatorWorkingPaperPost(body?: InvestigatorWorkingPaperRequest, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationSaveInvestigatorWorkingPaperPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {PrincipalInformationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationSavePrincipalInformationPost(body?: PrincipalInformationRequest, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationSavePrincipalInformationPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {SectionView} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationSaveQuestionSectionPost(body?: SectionView, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationSaveQuestionSectionPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {QuestionnaireView} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationSaveQuestionnairePost(body?: QuestionnaireView, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationSaveQuestionnairePost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {SectionGroupView} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1InvestigationSaveSectionGroupOverviewPost(body?: SectionGroupView, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV1InvestigationSaveSectionGroupOverviewPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * InvestigationApi - object-oriented interface\n * @export\n * @class InvestigationApi\n * @extends {BaseAPI}\n */\nexport class InvestigationApi extends BaseAPI {\n /**\n * \n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationDeleteInvestigationMaintainFileIdDelete(id: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationDeleteInvestigationMaintainFileIdDelete(id, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationDeleteInvestigationOverdrawnLedgerIdDelete(id: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationDeleteInvestigationOverdrawnLedgerIdDelete(id, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {string} investigationFileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationDeleteInvestigatorWorkingPaperFileInvestigationFileIdDelete(investigationFileId: string, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationDeleteInvestigatorWorkingPaperFileInvestigationFileIdDelete(investigationFileId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationDeleteInvestigatorWorkingPaperIdDelete(id: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationDeleteInvestigatorWorkingPaperIdDelete(id, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {InvestigatorWorkingPaperRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationEditInvestigatorWorkingPaperPost(body?: InvestigatorWorkingPaperRequest, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationEditInvestigatorWorkingPaperPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationFinaliseInvestigationInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationFinaliseInvestigationInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationGetFileByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationGetFileByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} investigatorWorkingPaperId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationGetFileStreamByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationGetFileStreamByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet(investigatorWorkingPaperId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet(practiceId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationGetInvestigationBreachesByIdInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationGetInvestigationBreachesByIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationGetInvestigationByInvestigationIdInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationGetInvestigationByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationGetInvestigationMaintainFilesInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationGetInvestigationMaintainFilesInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationGetInvestigationOverdrawnLedgersByInvestigationIdInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationGetInvestigationOverdrawnLedgersByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationGetInvestigationParametersInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationGetInvestigationParametersInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationGetInvestigationWithQuestionnaireByIdIdGet(id: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationGetInvestigationWithQuestionnaireByIdIdGet(id, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationGetInvestigationsByPracticeIdPracticeIdGet(practiceId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationGetInvestigationsByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {TrustTeamMemberInvestigationFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationGetInvestigationsByTrustTeamMemberIdPost(body?: TrustTeamMemberInvestigationFilterRequest, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationGetInvestigationsByTrustTeamMemberIdPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationGetInvestigationsGet(options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationGetInvestigationsGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationGetInvestigatorWorkingPapersByInvestigationIdInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationGetInvestigatorWorkingPapersByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {IwpFileStreamRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationGetIwpFileStreamPost(body?: IwpFileStreamRequest, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationGetIwpFileStreamPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationGetIwpsByInvestigationIdInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationGetIwpsByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {InvestigationMaintainFileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationSaveInvestigationMaintainFilePost(body?: InvestigationMaintainFileRequest, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationSaveInvestigationMaintainFilePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {InvestigationOverdrawnRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationSaveInvestigationOverdrawnLedgerPost(body?: InvestigationOverdrawnRequest, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationSaveInvestigationOverdrawnLedgerPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {InvestigationParameterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationSaveInvestigationParametersPost(body?: InvestigationParameterRequest, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationSaveInvestigationParametersPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {InvestigatorWorkingPaperFileRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationSaveInvestigatorWorkingPaperFilePost(body?: InvestigatorWorkingPaperFileRequest, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationSaveInvestigatorWorkingPaperFilePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {InvestigatorWorkingPaperRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationSaveInvestigatorWorkingPaperPost(body?: InvestigatorWorkingPaperRequest, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationSaveInvestigatorWorkingPaperPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {PrincipalInformationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationSavePrincipalInformationPost(body?: PrincipalInformationRequest, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationSavePrincipalInformationPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {SectionView} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationSaveQuestionSectionPost(body?: SectionView, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationSaveQuestionSectionPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {QuestionnaireView} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationSaveQuestionnairePost(body?: QuestionnaireView, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationSaveQuestionnairePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {SectionGroupView} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV1InvestigationSaveSectionGroupOverviewPost(body?: SectionGroupView, options?: any) {\n return InvestigationApiFp(this.configuration).apiV1InvestigationSaveSectionGroupOverviewPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 1.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\nimport { NoteRequest } from '../models';\nimport { NoteViewIEnumerableResponse } from '../models';\nimport { NoteViewResponse } from '../models';\nimport { NotesFilterRequest } from '../models';\nimport { ReviewOfficeNotesViewResponse } from '../models';\n/**\n * NotesApi - axios parameter creator\n * @export\n */\nexport const NotesApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1NotesDeleteNoteIdDelete: async (id: number, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling apiV1NotesDeleteNoteIdDelete.');\n }\n const localVarPath = `/api/v1/Notes/DeleteNote/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1NotesGetNotesByInvestigationIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV1NotesGetNotesByInvestigationIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v1/Notes/GetNotesByInvestigationId/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {NotesFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1NotesGetNotesByPracticeIdPost: async (body?: NotesFilterRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Notes/GetNotesByPracticeId`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1NotesGetReviewOfficeNotesByInvestigationIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV1NotesGetReviewOfficeNotesByInvestigationIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v1/Notes/GetReviewOfficeNotesByInvestigationId/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1NotesGetScratchPadByInvestigationIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV1NotesGetScratchPadByInvestigationIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v1/Notes/GetScratchPadByInvestigationId/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {NoteRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1NotesSaveNotePost: async (body?: NoteRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Notes/SaveNote`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * NotesApi - functional programming interface\n * @export\n */\nexport const NotesApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1NotesDeleteNoteIdDelete(id: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await NotesApiAxiosParamCreator(configuration).apiV1NotesDeleteNoteIdDelete(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1NotesGetNotesByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await NotesApiAxiosParamCreator(configuration).apiV1NotesGetNotesByInvestigationIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {NotesFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1NotesGetNotesByPracticeIdPost(body?: NotesFilterRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await NotesApiAxiosParamCreator(configuration).apiV1NotesGetNotesByPracticeIdPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1NotesGetReviewOfficeNotesByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await NotesApiAxiosParamCreator(configuration).apiV1NotesGetReviewOfficeNotesByInvestigationIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1NotesGetScratchPadByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await NotesApiAxiosParamCreator(configuration).apiV1NotesGetScratchPadByInvestigationIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {NoteRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1NotesSaveNotePost(body?: NoteRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await NotesApiAxiosParamCreator(configuration).apiV1NotesSaveNotePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * NotesApi - factory interface\n * @export\n */\nexport const NotesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1NotesDeleteNoteIdDelete(id: number, options?: any): AxiosPromise {\n return NotesApiFp(configuration).apiV1NotesDeleteNoteIdDelete(id, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1NotesGetNotesByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return NotesApiFp(configuration).apiV1NotesGetNotesByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {NotesFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1NotesGetNotesByPracticeIdPost(body?: NotesFilterRequest, options?: any): AxiosPromise {\n return NotesApiFp(configuration).apiV1NotesGetNotesByPracticeIdPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1NotesGetReviewOfficeNotesByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return NotesApiFp(configuration).apiV1NotesGetReviewOfficeNotesByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1NotesGetScratchPadByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return NotesApiFp(configuration).apiV1NotesGetScratchPadByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {NoteRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1NotesSaveNotePost(body?: NoteRequest, options?: any): AxiosPromise {\n return NotesApiFp(configuration).apiV1NotesSaveNotePost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * NotesApi - object-oriented interface\n * @export\n * @class NotesApi\n * @extends {BaseAPI}\n */\nexport class NotesApi extends BaseAPI {\n /**\n * \n * @param {number} id \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NotesApi\n */\n public apiV1NotesDeleteNoteIdDelete(id: number, options?: any) {\n return NotesApiFp(this.configuration).apiV1NotesDeleteNoteIdDelete(id, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NotesApi\n */\n public apiV1NotesGetNotesByInvestigationIdInvestigationIdGet(investigationId: number, options?: any) {\n return NotesApiFp(this.configuration).apiV1NotesGetNotesByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {NotesFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NotesApi\n */\n public apiV1NotesGetNotesByPracticeIdPost(body?: NotesFilterRequest, options?: any) {\n return NotesApiFp(this.configuration).apiV1NotesGetNotesByPracticeIdPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NotesApi\n */\n public apiV1NotesGetReviewOfficeNotesByInvestigationIdInvestigationIdGet(investigationId: number, options?: any) {\n return NotesApiFp(this.configuration).apiV1NotesGetReviewOfficeNotesByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NotesApi\n */\n public apiV1NotesGetScratchPadByInvestigationIdInvestigationIdGet(investigationId: number, options?: any) {\n return NotesApiFp(this.configuration).apiV1NotesGetScratchPadByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {NoteRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NotesApi\n */\n public apiV1NotesSaveNotePost(body?: NoteRequest, options?: any) {\n return NotesApiFp(this.configuration).apiV1NotesSaveNotePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 1.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\nimport { ILPDirectorRequest } from '../models';\nimport { ILPDirectorViewIEnumerableResponse } from '../models';\nimport { IndividualFirmViewIEnumerableResponse } from '../models';\nimport { IndividualViewIEnumerableResponse } from '../models';\nimport { LawIdUserLsApiViewIEnumerableResponse } from '../models';\nimport { PeopleStatsViewResponse } from '../models';\nimport { SearchLawIdUsersRequest } from '../models';\nimport { SignatoryFilterRequest } from '../models';\nimport { SignatoryRequest } from '../models';\nimport { SignatoryViewIEnumerableResponse } from '../models';\n/**\n * PeopleApi - axios parameter creator\n * @export\n */\nexport const PeopleApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleGetILPDirectorsByPracticeIdPracticeIdGet: async (practiceId: number, keyword?: string, showActiveOnly?: boolean, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV1PeopleGetILPDirectorsByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v1/People/GetILPDirectorsByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (keyword !== undefined) {\n localVarQueryParameter['keyword'] = keyword;\n }\n\n if (showActiveOnly !== undefined) {\n localVarQueryParameter['showActiveOnly'] = showActiveOnly;\n }\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleGetIndividualsByPracticeIdPracticeIdGet: async (practiceId: number, keyword?: string, showActiveOnly?: boolean, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV1PeopleGetIndividualsByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v1/People/GetIndividualsByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (keyword !== undefined) {\n localVarQueryParameter['keyword'] = keyword;\n }\n\n if (showActiveOnly !== undefined) {\n localVarQueryParameter['showActiveOnly'] = showActiveOnly;\n }\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleGetPeopleStatsByPracticeIdPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV1PeopleGetPeopleStatsByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v1/People/GetPeopleStatsByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleGetPrincipalsByPracticeIdPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV1PeopleGetPrincipalsByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v1/People/GetPrincipalsByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleGetPrincipalsByPracticeStatusPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV1PeopleGetPrincipalsByPracticeStatusPracticeIdGet.');\n }\n const localVarPath = `/api/v1/People/GetPrincipalsByPracticeStatus/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {SearchLawIdUsersRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleGetSearchLawIdUsersPost: async (body?: SearchLawIdUsersRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/People/GetSearchLawIdUsers`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleGetSignatoriesByPracticeIdPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV1PeopleGetSignatoriesByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v1/People/GetSignatoriesByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {SignatoryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleGetSignatoriesPost: async (body?: SignatoryFilterRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/People/GetSignatories`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleGetTrustContactsPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV1PeopleGetTrustContactsPracticeIdGet.');\n }\n const localVarPath = `/api/v1/People/GetTrustContacts/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleGetTrustCoordinatorsPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV1PeopleGetTrustCoordinatorsPracticeIdGet.');\n }\n const localVarPath = `/api/v1/People/GetTrustCoordinators/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {ILPDirectorRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleSaveIlpDirectorPost: async (body?: ILPDirectorRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/People/SaveIlpDirector`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {SignatoryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleSaveSignatoryPost: async (body?: SignatoryRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/People/SaveSignatory`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * PeopleApi - functional programming interface\n * @export\n */\nexport const PeopleApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1PeopleGetILPDirectorsByPracticeIdPracticeIdGet(practiceId: number, keyword?: string, showActiveOnly?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV1PeopleGetILPDirectorsByPracticeIdPracticeIdGet(practiceId, keyword, showActiveOnly, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1PeopleGetIndividualsByPracticeIdPracticeIdGet(practiceId: number, keyword?: string, showActiveOnly?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV1PeopleGetIndividualsByPracticeIdPracticeIdGet(practiceId, keyword, showActiveOnly, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1PeopleGetPeopleStatsByPracticeIdPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV1PeopleGetPeopleStatsByPracticeIdPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1PeopleGetPrincipalsByPracticeIdPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV1PeopleGetPrincipalsByPracticeIdPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1PeopleGetPrincipalsByPracticeStatusPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV1PeopleGetPrincipalsByPracticeStatusPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {SearchLawIdUsersRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1PeopleGetSearchLawIdUsersPost(body?: SearchLawIdUsersRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV1PeopleGetSearchLawIdUsersPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1PeopleGetSignatoriesByPracticeIdPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV1PeopleGetSignatoriesByPracticeIdPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {SignatoryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1PeopleGetSignatoriesPost(body?: SignatoryFilterRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV1PeopleGetSignatoriesPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1PeopleGetTrustContactsPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV1PeopleGetTrustContactsPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1PeopleGetTrustCoordinatorsPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV1PeopleGetTrustCoordinatorsPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {ILPDirectorRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1PeopleSaveIlpDirectorPost(body?: ILPDirectorRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV1PeopleSaveIlpDirectorPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {SignatoryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1PeopleSaveSignatoryPost(body?: SignatoryRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV1PeopleSaveSignatoryPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * PeopleApi - factory interface\n * @export\n */\nexport const PeopleApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleGetILPDirectorsByPracticeIdPracticeIdGet(practiceId: number, keyword?: string, showActiveOnly?: boolean, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV1PeopleGetILPDirectorsByPracticeIdPracticeIdGet(practiceId, keyword, showActiveOnly, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleGetIndividualsByPracticeIdPracticeIdGet(practiceId: number, keyword?: string, showActiveOnly?: boolean, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV1PeopleGetIndividualsByPracticeIdPracticeIdGet(practiceId, keyword, showActiveOnly, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleGetPeopleStatsByPracticeIdPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV1PeopleGetPeopleStatsByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleGetPrincipalsByPracticeIdPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV1PeopleGetPrincipalsByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleGetPrincipalsByPracticeStatusPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV1PeopleGetPrincipalsByPracticeStatusPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {SearchLawIdUsersRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleGetSearchLawIdUsersPost(body?: SearchLawIdUsersRequest, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV1PeopleGetSearchLawIdUsersPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleGetSignatoriesByPracticeIdPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV1PeopleGetSignatoriesByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {SignatoryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleGetSignatoriesPost(body?: SignatoryFilterRequest, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV1PeopleGetSignatoriesPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleGetTrustContactsPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV1PeopleGetTrustContactsPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleGetTrustCoordinatorsPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV1PeopleGetTrustCoordinatorsPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {ILPDirectorRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleSaveIlpDirectorPost(body?: ILPDirectorRequest, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV1PeopleSaveIlpDirectorPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {SignatoryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PeopleSaveSignatoryPost(body?: SignatoryRequest, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV1PeopleSaveSignatoryPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * PeopleApi - object-oriented interface\n * @export\n * @class PeopleApi\n * @extends {BaseAPI}\n */\nexport class PeopleApi extends BaseAPI {\n /**\n * \n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV1PeopleGetILPDirectorsByPracticeIdPracticeIdGet(practiceId: number, keyword?: string, showActiveOnly?: boolean, options?: any) {\n return PeopleApiFp(this.configuration).apiV1PeopleGetILPDirectorsByPracticeIdPracticeIdGet(practiceId, keyword, showActiveOnly, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV1PeopleGetIndividualsByPracticeIdPracticeIdGet(practiceId: number, keyword?: string, showActiveOnly?: boolean, options?: any) {\n return PeopleApiFp(this.configuration).apiV1PeopleGetIndividualsByPracticeIdPracticeIdGet(practiceId, keyword, showActiveOnly, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV1PeopleGetPeopleStatsByPracticeIdPracticeIdGet(practiceId: number, options?: any) {\n return PeopleApiFp(this.configuration).apiV1PeopleGetPeopleStatsByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV1PeopleGetPrincipalsByPracticeIdPracticeIdGet(practiceId: number, options?: any) {\n return PeopleApiFp(this.configuration).apiV1PeopleGetPrincipalsByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV1PeopleGetPrincipalsByPracticeStatusPracticeIdGet(practiceId: number, options?: any) {\n return PeopleApiFp(this.configuration).apiV1PeopleGetPrincipalsByPracticeStatusPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {SearchLawIdUsersRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV1PeopleGetSearchLawIdUsersPost(body?: SearchLawIdUsersRequest, options?: any) {\n return PeopleApiFp(this.configuration).apiV1PeopleGetSearchLawIdUsersPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV1PeopleGetSignatoriesByPracticeIdPracticeIdGet(practiceId: number, options?: any) {\n return PeopleApiFp(this.configuration).apiV1PeopleGetSignatoriesByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {SignatoryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV1PeopleGetSignatoriesPost(body?: SignatoryFilterRequest, options?: any) {\n return PeopleApiFp(this.configuration).apiV1PeopleGetSignatoriesPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV1PeopleGetTrustContactsPracticeIdGet(practiceId: number, options?: any) {\n return PeopleApiFp(this.configuration).apiV1PeopleGetTrustContactsPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV1PeopleGetTrustCoordinatorsPracticeIdGet(practiceId: number, options?: any) {\n return PeopleApiFp(this.configuration).apiV1PeopleGetTrustCoordinatorsPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {ILPDirectorRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV1PeopleSaveIlpDirectorPost(body?: ILPDirectorRequest, options?: any) {\n return PeopleApiFp(this.configuration).apiV1PeopleSaveIlpDirectorPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {SignatoryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV1PeopleSaveSignatoryPost(body?: SignatoryRequest, options?: any) {\n return PeopleApiFp(this.configuration).apiV1PeopleSaveSignatoryPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 1.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { FirmSearchRequest } from '../models';\nimport { LinkedPracticeViewResponse } from '../models';\nimport { PracticeAdditionalContactViewResponse } from '../models';\nimport { PracticeViewResponse } from '../models';\nimport { SearchPracticeViewIEnumerableResponse } from '../models';\n/**\n * PracticeApi - axios parameter creator\n * @export\n */\nexport const PracticeApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PracticeGetLinkedPracticesPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV1PracticeGetLinkedPracticesPracticeIdGet.');\n }\n const localVarPath = `/api/v1/Practice/GetLinkedPractices/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PracticeGetPracticeAdditionalContactPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV1PracticeGetPracticeAdditionalContactPracticeIdGet.');\n }\n const localVarPath = `/api/v1/Practice/GetPracticeAdditionalContact/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PracticeGetPracticeByIdPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV1PracticeGetPracticeByIdPracticeIdGet.');\n }\n const localVarPath = `/api/v1/Practice/GetPracticeById/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {FirmSearchRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PracticeSearchPracticePost: async (body?: FirmSearchRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Practice/SearchPractice`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * PracticeApi - functional programming interface\n * @export\n */\nexport const PracticeApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1PracticeGetLinkedPracticesPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV1PracticeGetLinkedPracticesPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1PracticeGetPracticeAdditionalContactPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV1PracticeGetPracticeAdditionalContactPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1PracticeGetPracticeByIdPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV1PracticeGetPracticeByIdPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {FirmSearchRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1PracticeSearchPracticePost(body?: FirmSearchRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV1PracticeSearchPracticePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * PracticeApi - factory interface\n * @export\n */\nexport const PracticeApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PracticeGetLinkedPracticesPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV1PracticeGetLinkedPracticesPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PracticeGetPracticeAdditionalContactPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV1PracticeGetPracticeAdditionalContactPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PracticeGetPracticeByIdPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV1PracticeGetPracticeByIdPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {FirmSearchRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1PracticeSearchPracticePost(body?: FirmSearchRequest, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV1PracticeSearchPracticePost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * PracticeApi - object-oriented interface\n * @export\n * @class PracticeApi\n * @extends {BaseAPI}\n */\nexport class PracticeApi extends BaseAPI {\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV1PracticeGetLinkedPracticesPracticeIdGet(practiceId: number, options?: any) {\n return PracticeApiFp(this.configuration).apiV1PracticeGetLinkedPracticesPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV1PracticeGetPracticeAdditionalContactPracticeIdGet(practiceId: number, options?: any) {\n return PracticeApiFp(this.configuration).apiV1PracticeGetPracticeAdditionalContactPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV1PracticeGetPracticeByIdPracticeIdGet(practiceId: number, options?: any) {\n return PracticeApiFp(this.configuration).apiV1PracticeGetPracticeByIdPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {FirmSearchRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV1PracticeSearchPracticePost(body?: FirmSearchRequest, options?: any) {\n return PracticeApiFp(this.configuration).apiV1PracticeSearchPracticePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 1.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\nimport { ReportRequest } from '../models';\nimport { StringResponse } from '../models';\n/**\n * ReportApi - axios parameter creator\n * @export\n */\nexport const ReportApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @param {ReportRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ReportGenerateReportPost: async (body?: ReportRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/Report/GenerateReport`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ReportGetLatestReportFileInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV1ReportGetLatestReportFileInvestigationIdGet.');\n }\n const localVarPath = `/api/v1/Report/GetLatestReportFile/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ReportGetReportGeneratedStatusInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV1ReportGetReportGeneratedStatusInvestigationIdGet.');\n }\n const localVarPath = `/api/v1/Report/GetReportGeneratedStatus/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * ReportApi - functional programming interface\n * @export\n */\nexport const ReportApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @param {ReportRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1ReportGenerateReportPost(body?: ReportRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ReportApiAxiosParamCreator(configuration).apiV1ReportGenerateReportPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1ReportGetLatestReportFileInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ReportApiAxiosParamCreator(configuration).apiV1ReportGetLatestReportFileInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1ReportGetReportGeneratedStatusInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ReportApiAxiosParamCreator(configuration).apiV1ReportGetReportGeneratedStatusInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * ReportApi - factory interface\n * @export\n */\nexport const ReportApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @param {ReportRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ReportGenerateReportPost(body?: ReportRequest, options?: any): AxiosPromise {\n return ReportApiFp(configuration).apiV1ReportGenerateReportPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ReportGetLatestReportFileInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return ReportApiFp(configuration).apiV1ReportGetLatestReportFileInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1ReportGetReportGeneratedStatusInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return ReportApiFp(configuration).apiV1ReportGetReportGeneratedStatusInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * ReportApi - object-oriented interface\n * @export\n * @class ReportApi\n * @extends {BaseAPI}\n */\nexport class ReportApi extends BaseAPI {\n /**\n * \n * @param {ReportRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReportApi\n */\n public apiV1ReportGenerateReportPost(body?: ReportRequest, options?: any) {\n return ReportApiFp(this.configuration).apiV1ReportGenerateReportPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReportApi\n */\n public apiV1ReportGetLatestReportFileInvestigationIdGet(investigationId: number, options?: any) {\n return ReportApiFp(this.configuration).apiV1ReportGetLatestReportFileInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReportApi\n */\n public apiV1ReportGetReportGeneratedStatusInvestigationIdGet(investigationId: number, options?: any) {\n return ReportApiFp(this.configuration).apiV1ReportGetReportGeneratedStatusInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 1.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { StatutoryDepositRequest } from '../models';\nimport { StatutoryDepositSummaryViewIEnumerableResponse } from '../models';\nimport { StatutoryDepositTransactionViewIEnumerableResponse } from '../models';\n/**\n * StatutoryDepositApi - axios parameter creator\n * @export\n */\nexport const StatutoryDepositApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1StatutoryDepositGetSummaryBankInformationPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV1StatutoryDepositGetSummaryBankInformationPracticeIdGet.');\n }\n const localVarPath = `/api/v1/StatutoryDeposit/GetSummaryBankInformation/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {StatutoryDepositRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1StatutoryDepositGetTransactionsPost: async (body?: StatutoryDepositRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/StatutoryDeposit/GetTransactions`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * StatutoryDepositApi - functional programming interface\n * @export\n */\nexport const StatutoryDepositApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1StatutoryDepositGetSummaryBankInformationPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await StatutoryDepositApiAxiosParamCreator(configuration).apiV1StatutoryDepositGetSummaryBankInformationPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {StatutoryDepositRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1StatutoryDepositGetTransactionsPost(body?: StatutoryDepositRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await StatutoryDepositApiAxiosParamCreator(configuration).apiV1StatutoryDepositGetTransactionsPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * StatutoryDepositApi - factory interface\n * @export\n */\nexport const StatutoryDepositApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1StatutoryDepositGetSummaryBankInformationPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return StatutoryDepositApiFp(configuration).apiV1StatutoryDepositGetSummaryBankInformationPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {StatutoryDepositRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1StatutoryDepositGetTransactionsPost(body?: StatutoryDepositRequest, options?: any): AxiosPromise {\n return StatutoryDepositApiFp(configuration).apiV1StatutoryDepositGetTransactionsPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * StatutoryDepositApi - object-oriented interface\n * @export\n * @class StatutoryDepositApi\n * @extends {BaseAPI}\n */\nexport class StatutoryDepositApi extends BaseAPI {\n /**\n * \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof StatutoryDepositApi\n */\n public apiV1StatutoryDepositGetSummaryBankInformationPracticeIdGet(practiceId: number, options?: any) {\n return StatutoryDepositApiFp(this.configuration).apiV1StatutoryDepositGetSummaryBankInformationPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {StatutoryDepositRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof StatutoryDepositApi\n */\n public apiV1StatutoryDepositGetTransactionsPost(body?: StatutoryDepositRequest, options?: any) {\n return StatutoryDepositApiFp(this.configuration).apiV1StatutoryDepositGetTransactionsPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 1.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\nimport { FileSyncStatusRequest } from '../models';\nimport { FileSyncStatusViewIEnumerableResponse } from '../models';\nimport { InvestigationSyncStatusRequest } from '../models';\nimport { InvestigationSyncStatusViewIEnumerableResponse } from '../models';\nimport { OtherDataSyncStatusViewIEnumerableResponse } from '../models';\nimport { StringResponse } from '../models';\nimport { SyncConflictViewIEnumerableResponse } from '../models';\nimport { SyncHistoryViewIEnumerableResponse } from '../models';\nimport { SyncHistoryViewResponse } from '../models';\nimport { SyncModuleRequest } from '../models';\nimport { SyncNotificationView } from '../models';\nimport { TimesheetSyncStatusRequest } from '../models';\nimport { TimesheetSyncStatusViewIEnumerableResponse } from '../models';\n/**\n * SyncHistoryApi - axios parameter creator\n * @export\n */\nexport const SyncHistoryApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @param {FileSyncStatusRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryGetFileSyncStatusPost: async (body?: FileSyncStatusRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/SyncHistory/GetFileSyncStatus`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {InvestigationSyncStatusRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryGetInvestigationSyncStatusPost: async (body?: InvestigationSyncStatusRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/SyncHistory/GetInvestigationSyncStatus`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryGetLatestSyncJobStatusGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/SyncHistory/GetLatestSyncJobStatus`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryGetOtherDataSyncStatusGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/SyncHistory/GetOtherDataSyncStatus`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} syncHistoryId \n * @param {boolean} isResolvedOnly \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryGetSyncConflictsSyncHistoryIdIsResolvedOnlyGet: async (syncHistoryId: number, isResolvedOnly: boolean, options: any = {}): Promise => {\n // verify required parameter 'syncHistoryId' is not null or undefined\n if (syncHistoryId === null || syncHistoryId === undefined) {\n throw new RequiredError('syncHistoryId','Required parameter syncHistoryId was null or undefined when calling apiV1SyncHistoryGetSyncConflictsSyncHistoryIdIsResolvedOnlyGet.');\n }\n // verify required parameter 'isResolvedOnly' is not null or undefined\n if (isResolvedOnly === null || isResolvedOnly === undefined) {\n throw new RequiredError('isResolvedOnly','Required parameter isResolvedOnly was null or undefined when calling apiV1SyncHistoryGetSyncConflictsSyncHistoryIdIsResolvedOnlyGet.');\n }\n const localVarPath = `/api/v1/SyncHistory/GetSyncConflicts/{syncHistoryId}/{isResolvedOnly}`\n .replace(`{${\"syncHistoryId\"}}`, encodeURIComponent(String(syncHistoryId)))\n .replace(`{${\"isResolvedOnly\"}}`, encodeURIComponent(String(isResolvedOnly)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {boolean} isConflictsOnly \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryGetSyncHistoriesIsConflictsOnlyGet: async (isConflictsOnly: boolean, options: any = {}): Promise => {\n // verify required parameter 'isConflictsOnly' is not null or undefined\n if (isConflictsOnly === null || isConflictsOnly === undefined) {\n throw new RequiredError('isConflictsOnly','Required parameter isConflictsOnly was null or undefined when calling apiV1SyncHistoryGetSyncHistoriesIsConflictsOnlyGet.');\n }\n const localVarPath = `/api/v1/SyncHistory/GetSyncHistories/{isConflictsOnly}`\n .replace(`{${\"isConflictsOnly\"}}`, encodeURIComponent(String(isConflictsOnly)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryGetSyncNotificationGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/SyncHistory/GetSyncNotification`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} tableName \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryGetSyncStatusTableNameGet: async (tableName: string, options: any = {}): Promise => {\n // verify required parameter 'tableName' is not null or undefined\n if (tableName === null || tableName === undefined) {\n throw new RequiredError('tableName','Required parameter tableName was null or undefined when calling apiV1SyncHistoryGetSyncStatusTableNameGet.');\n }\n const localVarPath = `/api/v1/SyncHistory/GetSyncStatus/{tableName}`\n .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryGetTableNamesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/SyncHistory/GetTableNames`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {TimesheetSyncStatusRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryGetTimesheetSyncStatusPost: async (body?: TimesheetSyncStatusRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/SyncHistory/GetTimesheetSyncStatus`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistorySyncAllGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/SyncHistory/SyncAll`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {SyncModuleRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryUpdateInvestigationByActionPost: async (body?: SyncModuleRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/SyncHistory/UpdateInvestigationByAction`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {SyncModuleRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryUpdateOtherDataByActionPost: async (body?: SyncModuleRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/SyncHistory/UpdateOtherDataByAction`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {SyncModuleRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryUpdateTimesheetByActionPost: async (body?: SyncModuleRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/SyncHistory/UpdateTimesheetByAction`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * SyncHistoryApi - functional programming interface\n * @export\n */\nexport const SyncHistoryApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @param {FileSyncStatusRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1SyncHistoryGetFileSyncStatusPost(body?: FileSyncStatusRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await SyncHistoryApiAxiosParamCreator(configuration).apiV1SyncHistoryGetFileSyncStatusPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {InvestigationSyncStatusRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1SyncHistoryGetInvestigationSyncStatusPost(body?: InvestigationSyncStatusRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await SyncHistoryApiAxiosParamCreator(configuration).apiV1SyncHistoryGetInvestigationSyncStatusPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1SyncHistoryGetLatestSyncJobStatusGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await SyncHistoryApiAxiosParamCreator(configuration).apiV1SyncHistoryGetLatestSyncJobStatusGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1SyncHistoryGetOtherDataSyncStatusGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await SyncHistoryApiAxiosParamCreator(configuration).apiV1SyncHistoryGetOtherDataSyncStatusGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} syncHistoryId \n * @param {boolean} isResolvedOnly \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1SyncHistoryGetSyncConflictsSyncHistoryIdIsResolvedOnlyGet(syncHistoryId: number, isResolvedOnly: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await SyncHistoryApiAxiosParamCreator(configuration).apiV1SyncHistoryGetSyncConflictsSyncHistoryIdIsResolvedOnlyGet(syncHistoryId, isResolvedOnly, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {boolean} isConflictsOnly \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1SyncHistoryGetSyncHistoriesIsConflictsOnlyGet(isConflictsOnly: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await SyncHistoryApiAxiosParamCreator(configuration).apiV1SyncHistoryGetSyncHistoriesIsConflictsOnlyGet(isConflictsOnly, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1SyncHistoryGetSyncNotificationGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await SyncHistoryApiAxiosParamCreator(configuration).apiV1SyncHistoryGetSyncNotificationGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {string} tableName \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1SyncHistoryGetSyncStatusTableNameGet(tableName: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await SyncHistoryApiAxiosParamCreator(configuration).apiV1SyncHistoryGetSyncStatusTableNameGet(tableName, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1SyncHistoryGetTableNamesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await SyncHistoryApiAxiosParamCreator(configuration).apiV1SyncHistoryGetTableNamesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {TimesheetSyncStatusRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1SyncHistoryGetTimesheetSyncStatusPost(body?: TimesheetSyncStatusRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await SyncHistoryApiAxiosParamCreator(configuration).apiV1SyncHistoryGetTimesheetSyncStatusPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1SyncHistorySyncAllGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await SyncHistoryApiAxiosParamCreator(configuration).apiV1SyncHistorySyncAllGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {SyncModuleRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1SyncHistoryUpdateInvestigationByActionPost(body?: SyncModuleRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await SyncHistoryApiAxiosParamCreator(configuration).apiV1SyncHistoryUpdateInvestigationByActionPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {SyncModuleRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1SyncHistoryUpdateOtherDataByActionPost(body?: SyncModuleRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await SyncHistoryApiAxiosParamCreator(configuration).apiV1SyncHistoryUpdateOtherDataByActionPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {SyncModuleRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1SyncHistoryUpdateTimesheetByActionPost(body?: SyncModuleRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await SyncHistoryApiAxiosParamCreator(configuration).apiV1SyncHistoryUpdateTimesheetByActionPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * SyncHistoryApi - factory interface\n * @export\n */\nexport const SyncHistoryApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @param {FileSyncStatusRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryGetFileSyncStatusPost(body?: FileSyncStatusRequest, options?: any): AxiosPromise {\n return SyncHistoryApiFp(configuration).apiV1SyncHistoryGetFileSyncStatusPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {InvestigationSyncStatusRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryGetInvestigationSyncStatusPost(body?: InvestigationSyncStatusRequest, options?: any): AxiosPromise {\n return SyncHistoryApiFp(configuration).apiV1SyncHistoryGetInvestigationSyncStatusPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryGetLatestSyncJobStatusGet(options?: any): AxiosPromise {\n return SyncHistoryApiFp(configuration).apiV1SyncHistoryGetLatestSyncJobStatusGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryGetOtherDataSyncStatusGet(options?: any): AxiosPromise {\n return SyncHistoryApiFp(configuration).apiV1SyncHistoryGetOtherDataSyncStatusGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} syncHistoryId \n * @param {boolean} isResolvedOnly \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryGetSyncConflictsSyncHistoryIdIsResolvedOnlyGet(syncHistoryId: number, isResolvedOnly: boolean, options?: any): AxiosPromise {\n return SyncHistoryApiFp(configuration).apiV1SyncHistoryGetSyncConflictsSyncHistoryIdIsResolvedOnlyGet(syncHistoryId, isResolvedOnly, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {boolean} isConflictsOnly \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryGetSyncHistoriesIsConflictsOnlyGet(isConflictsOnly: boolean, options?: any): AxiosPromise {\n return SyncHistoryApiFp(configuration).apiV1SyncHistoryGetSyncHistoriesIsConflictsOnlyGet(isConflictsOnly, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryGetSyncNotificationGet(options?: any): AxiosPromise {\n return SyncHistoryApiFp(configuration).apiV1SyncHistoryGetSyncNotificationGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} tableName \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryGetSyncStatusTableNameGet(tableName: string, options?: any): AxiosPromise {\n return SyncHistoryApiFp(configuration).apiV1SyncHistoryGetSyncStatusTableNameGet(tableName, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryGetTableNamesGet(options?: any): AxiosPromise {\n return SyncHistoryApiFp(configuration).apiV1SyncHistoryGetTableNamesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {TimesheetSyncStatusRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryGetTimesheetSyncStatusPost(body?: TimesheetSyncStatusRequest, options?: any): AxiosPromise {\n return SyncHistoryApiFp(configuration).apiV1SyncHistoryGetTimesheetSyncStatusPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistorySyncAllGet(options?: any): AxiosPromise {\n return SyncHistoryApiFp(configuration).apiV1SyncHistorySyncAllGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {SyncModuleRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryUpdateInvestigationByActionPost(body?: SyncModuleRequest, options?: any): AxiosPromise {\n return SyncHistoryApiFp(configuration).apiV1SyncHistoryUpdateInvestigationByActionPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {SyncModuleRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryUpdateOtherDataByActionPost(body?: SyncModuleRequest, options?: any): AxiosPromise {\n return SyncHistoryApiFp(configuration).apiV1SyncHistoryUpdateOtherDataByActionPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {SyncModuleRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SyncHistoryUpdateTimesheetByActionPost(body?: SyncModuleRequest, options?: any): AxiosPromise {\n return SyncHistoryApiFp(configuration).apiV1SyncHistoryUpdateTimesheetByActionPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * SyncHistoryApi - object-oriented interface\n * @export\n * @class SyncHistoryApi\n * @extends {BaseAPI}\n */\nexport class SyncHistoryApi extends BaseAPI {\n /**\n * \n * @param {FileSyncStatusRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SyncHistoryApi\n */\n public apiV1SyncHistoryGetFileSyncStatusPost(body?: FileSyncStatusRequest, options?: any) {\n return SyncHistoryApiFp(this.configuration).apiV1SyncHistoryGetFileSyncStatusPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {InvestigationSyncStatusRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SyncHistoryApi\n */\n public apiV1SyncHistoryGetInvestigationSyncStatusPost(body?: InvestigationSyncStatusRequest, options?: any) {\n return SyncHistoryApiFp(this.configuration).apiV1SyncHistoryGetInvestigationSyncStatusPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SyncHistoryApi\n */\n public apiV1SyncHistoryGetLatestSyncJobStatusGet(options?: any) {\n return SyncHistoryApiFp(this.configuration).apiV1SyncHistoryGetLatestSyncJobStatusGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SyncHistoryApi\n */\n public apiV1SyncHistoryGetOtherDataSyncStatusGet(options?: any) {\n return SyncHistoryApiFp(this.configuration).apiV1SyncHistoryGetOtherDataSyncStatusGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} syncHistoryId \n * @param {boolean} isResolvedOnly \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SyncHistoryApi\n */\n public apiV1SyncHistoryGetSyncConflictsSyncHistoryIdIsResolvedOnlyGet(syncHistoryId: number, isResolvedOnly: boolean, options?: any) {\n return SyncHistoryApiFp(this.configuration).apiV1SyncHistoryGetSyncConflictsSyncHistoryIdIsResolvedOnlyGet(syncHistoryId, isResolvedOnly, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {boolean} isConflictsOnly \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SyncHistoryApi\n */\n public apiV1SyncHistoryGetSyncHistoriesIsConflictsOnlyGet(isConflictsOnly: boolean, options?: any) {\n return SyncHistoryApiFp(this.configuration).apiV1SyncHistoryGetSyncHistoriesIsConflictsOnlyGet(isConflictsOnly, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SyncHistoryApi\n */\n public apiV1SyncHistoryGetSyncNotificationGet(options?: any) {\n return SyncHistoryApiFp(this.configuration).apiV1SyncHistoryGetSyncNotificationGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {string} tableName \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SyncHistoryApi\n */\n public apiV1SyncHistoryGetSyncStatusTableNameGet(tableName: string, options?: any) {\n return SyncHistoryApiFp(this.configuration).apiV1SyncHistoryGetSyncStatusTableNameGet(tableName, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SyncHistoryApi\n */\n public apiV1SyncHistoryGetTableNamesGet(options?: any) {\n return SyncHistoryApiFp(this.configuration).apiV1SyncHistoryGetTableNamesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {TimesheetSyncStatusRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SyncHistoryApi\n */\n public apiV1SyncHistoryGetTimesheetSyncStatusPost(body?: TimesheetSyncStatusRequest, options?: any) {\n return SyncHistoryApiFp(this.configuration).apiV1SyncHistoryGetTimesheetSyncStatusPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SyncHistoryApi\n */\n public apiV1SyncHistorySyncAllGet(options?: any) {\n return SyncHistoryApiFp(this.configuration).apiV1SyncHistorySyncAllGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {SyncModuleRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SyncHistoryApi\n */\n public apiV1SyncHistoryUpdateInvestigationByActionPost(body?: SyncModuleRequest, options?: any) {\n return SyncHistoryApiFp(this.configuration).apiV1SyncHistoryUpdateInvestigationByActionPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {SyncModuleRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SyncHistoryApi\n */\n public apiV1SyncHistoryUpdateOtherDataByActionPost(body?: SyncModuleRequest, options?: any) {\n return SyncHistoryApiFp(this.configuration).apiV1SyncHistoryUpdateOtherDataByActionPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {SyncModuleRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SyncHistoryApi\n */\n public apiV1SyncHistoryUpdateTimesheetByActionPost(body?: SyncModuleRequest, options?: any) {\n return SyncHistoryApiFp(this.configuration).apiV1SyncHistoryUpdateTimesheetByActionPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 1.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\n/**\n * SystemApi - axios parameter creator\n * @export\n */\nexport const SystemApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SystemGetOfflineStatusGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/System/GetOfflineStatus`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * SystemApi - functional programming interface\n * @export\n */\nexport const SystemApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1SystemGetOfflineStatusGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await SystemApiAxiosParamCreator(configuration).apiV1SystemGetOfflineStatusGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * SystemApi - factory interface\n * @export\n */\nexport const SystemApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1SystemGetOfflineStatusGet(options?: any): AxiosPromise {\n return SystemApiFp(configuration).apiV1SystemGetOfflineStatusGet(options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * SystemApi - object-oriented interface\n * @export\n * @class SystemApi\n * @extends {BaseAPI}\n */\nexport class SystemApi extends BaseAPI {\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SystemApi\n */\n public apiV1SystemGetOfflineStatusGet(options?: any) {\n return SystemApiFp(this.configuration).apiV1SystemGetOfflineStatusGet(options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 1.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\nimport { LeaveTimeEntryRequest } from '../models';\nimport { Request } from '../models';\nimport { TimeEntryApprovalViewResponse } from '../models';\nimport { TimeEntryExportViewIEnumerableResponse } from '../models';\nimport { TimeEntryRequest } from '../models';\nimport { TimeEntryViewListResponse } from '../models';\nimport { TimeEntryViewResponse } from '../models';\nimport { TimesheetRequest } from '../models';\nimport { TrustTeamMemberTimeEntryFilterRequest } from '../models';\n/**\n * TimeEntryApi - axios parameter creator\n * @export\n */\nexport const TimeEntryApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @param {number} timeEntryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1TimeEntryDeleteTimeEntryTimeEntryIdDelete: async (timeEntryId: number, options: any = {}): Promise => {\n // verify required parameter 'timeEntryId' is not null or undefined\n if (timeEntryId === null || timeEntryId === undefined) {\n throw new RequiredError('timeEntryId','Required parameter timeEntryId was null or undefined when calling apiV1TimeEntryDeleteTimeEntryTimeEntryIdDelete.');\n }\n const localVarPath = `/api/v1/TimeEntry/DeleteTimeEntry/{timeEntryId}`\n .replace(`{${\"timeEntryId\"}}`, encodeURIComponent(String(timeEntryId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {TrustTeamMemberTimeEntryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1TimeEntryExportTimeEntriesByTrustTeamMemberIdPost: async (body?: TrustTeamMemberTimeEntryFilterRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/TimeEntry/ExportTimeEntriesByTrustTeamMemberId`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {Request} [body] \n * @param {boolean} [showMissingTime] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1TimeEntryGetTimeEntriesPost: async (body?: Request, showMissingTime?: boolean, options: any = {}): Promise => {\n const localVarPath = `/api/v1/TimeEntry/GetTimeEntries`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (showMissingTime !== undefined) {\n localVarQueryParameter['showMissingTime'] = showMissingTime;\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {TimesheetRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1TimeEntryGetTimeEntryApprovalPost: async (body?: TimesheetRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/TimeEntry/GetTimeEntryApproval`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {number} timeEntryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1TimeEntryGetTimeEntryByIdTimeEntryIdGet: async (timeEntryId: number, options: any = {}): Promise => {\n // verify required parameter 'timeEntryId' is not null or undefined\n if (timeEntryId === null || timeEntryId === undefined) {\n throw new RequiredError('timeEntryId','Required parameter timeEntryId was null or undefined when calling apiV1TimeEntryGetTimeEntryByIdTimeEntryIdGet.');\n }\n const localVarPath = `/api/v1/TimeEntry/GetTimeEntryById/{timeEntryId}`\n .replace(`{${\"timeEntryId\"}}`, encodeURIComponent(String(timeEntryId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {LeaveTimeEntryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1TimeEntrySaveLeaveTimeEntryPost: async (body?: LeaveTimeEntryRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/TimeEntry/SaveLeaveTimeEntry`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {TimeEntryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1TimeEntrySaveTimeEntryPost: async (body?: TimeEntryRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/TimeEntry/SaveTimeEntry`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * TimeEntryApi - functional programming interface\n * @export\n */\nexport const TimeEntryApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @param {number} timeEntryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1TimeEntryDeleteTimeEntryTimeEntryIdDelete(timeEntryId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TimeEntryApiAxiosParamCreator(configuration).apiV1TimeEntryDeleteTimeEntryTimeEntryIdDelete(timeEntryId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {TrustTeamMemberTimeEntryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1TimeEntryExportTimeEntriesByTrustTeamMemberIdPost(body?: TrustTeamMemberTimeEntryFilterRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TimeEntryApiAxiosParamCreator(configuration).apiV1TimeEntryExportTimeEntriesByTrustTeamMemberIdPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {Request} [body] \n * @param {boolean} [showMissingTime] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1TimeEntryGetTimeEntriesPost(body?: Request, showMissingTime?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TimeEntryApiAxiosParamCreator(configuration).apiV1TimeEntryGetTimeEntriesPost(body, showMissingTime, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {TimesheetRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1TimeEntryGetTimeEntryApprovalPost(body?: TimesheetRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TimeEntryApiAxiosParamCreator(configuration).apiV1TimeEntryGetTimeEntryApprovalPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {number} timeEntryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1TimeEntryGetTimeEntryByIdTimeEntryIdGet(timeEntryId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TimeEntryApiAxiosParamCreator(configuration).apiV1TimeEntryGetTimeEntryByIdTimeEntryIdGet(timeEntryId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {LeaveTimeEntryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1TimeEntrySaveLeaveTimeEntryPost(body?: LeaveTimeEntryRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TimeEntryApiAxiosParamCreator(configuration).apiV1TimeEntrySaveLeaveTimeEntryPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @param {TimeEntryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1TimeEntrySaveTimeEntryPost(body?: TimeEntryRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TimeEntryApiAxiosParamCreator(configuration).apiV1TimeEntrySaveTimeEntryPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * TimeEntryApi - factory interface\n * @export\n */\nexport const TimeEntryApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @param {number} timeEntryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1TimeEntryDeleteTimeEntryTimeEntryIdDelete(timeEntryId: number, options?: any): AxiosPromise {\n return TimeEntryApiFp(configuration).apiV1TimeEntryDeleteTimeEntryTimeEntryIdDelete(timeEntryId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {TrustTeamMemberTimeEntryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1TimeEntryExportTimeEntriesByTrustTeamMemberIdPost(body?: TrustTeamMemberTimeEntryFilterRequest, options?: any): AxiosPromise {\n return TimeEntryApiFp(configuration).apiV1TimeEntryExportTimeEntriesByTrustTeamMemberIdPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {Request} [body] \n * @param {boolean} [showMissingTime] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1TimeEntryGetTimeEntriesPost(body?: Request, showMissingTime?: boolean, options?: any): AxiosPromise {\n return TimeEntryApiFp(configuration).apiV1TimeEntryGetTimeEntriesPost(body, showMissingTime, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {TimesheetRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1TimeEntryGetTimeEntryApprovalPost(body?: TimesheetRequest, options?: any): AxiosPromise {\n return TimeEntryApiFp(configuration).apiV1TimeEntryGetTimeEntryApprovalPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {number} timeEntryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1TimeEntryGetTimeEntryByIdTimeEntryIdGet(timeEntryId: number, options?: any): AxiosPromise {\n return TimeEntryApiFp(configuration).apiV1TimeEntryGetTimeEntryByIdTimeEntryIdGet(timeEntryId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {LeaveTimeEntryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1TimeEntrySaveLeaveTimeEntryPost(body?: LeaveTimeEntryRequest, options?: any): AxiosPromise {\n return TimeEntryApiFp(configuration).apiV1TimeEntrySaveLeaveTimeEntryPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {TimeEntryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1TimeEntrySaveTimeEntryPost(body?: TimeEntryRequest, options?: any): AxiosPromise {\n return TimeEntryApiFp(configuration).apiV1TimeEntrySaveTimeEntryPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * TimeEntryApi - object-oriented interface\n * @export\n * @class TimeEntryApi\n * @extends {BaseAPI}\n */\nexport class TimeEntryApi extends BaseAPI {\n /**\n * \n * @param {number} timeEntryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TimeEntryApi\n */\n public apiV1TimeEntryDeleteTimeEntryTimeEntryIdDelete(timeEntryId: number, options?: any) {\n return TimeEntryApiFp(this.configuration).apiV1TimeEntryDeleteTimeEntryTimeEntryIdDelete(timeEntryId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {TrustTeamMemberTimeEntryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TimeEntryApi\n */\n public apiV1TimeEntryExportTimeEntriesByTrustTeamMemberIdPost(body?: TrustTeamMemberTimeEntryFilterRequest, options?: any) {\n return TimeEntryApiFp(this.configuration).apiV1TimeEntryExportTimeEntriesByTrustTeamMemberIdPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {Request} [body] \n * @param {boolean} [showMissingTime] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TimeEntryApi\n */\n public apiV1TimeEntryGetTimeEntriesPost(body?: Request, showMissingTime?: boolean, options?: any) {\n return TimeEntryApiFp(this.configuration).apiV1TimeEntryGetTimeEntriesPost(body, showMissingTime, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {TimesheetRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TimeEntryApi\n */\n public apiV1TimeEntryGetTimeEntryApprovalPost(body?: TimesheetRequest, options?: any) {\n return TimeEntryApiFp(this.configuration).apiV1TimeEntryGetTimeEntryApprovalPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {number} timeEntryId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TimeEntryApi\n */\n public apiV1TimeEntryGetTimeEntryByIdTimeEntryIdGet(timeEntryId: number, options?: any) {\n return TimeEntryApiFp(this.configuration).apiV1TimeEntryGetTimeEntryByIdTimeEntryIdGet(timeEntryId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {LeaveTimeEntryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TimeEntryApi\n */\n public apiV1TimeEntrySaveLeaveTimeEntryPost(body?: LeaveTimeEntryRequest, options?: any) {\n return TimeEntryApiFp(this.configuration).apiV1TimeEntrySaveLeaveTimeEntryPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @param {TimeEntryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TimeEntryApi\n */\n public apiV1TimeEntrySaveTimeEntryPost(body?: TimeEntryRequest, options?: any) {\n return TimeEntryApiFp(this.configuration).apiV1TimeEntrySaveTimeEntryPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 1.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { TrustTeamMemberViewResponse } from '../models';\n/**\n * TrustTeamMemberApi - axios parameter creator\n * @export\n */\nexport const TrustTeamMemberApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1TrustTeamMemberGetTrustTeamMemberGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/TrustTeamMember/GetTrustTeamMember`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * TrustTeamMemberApi - functional programming interface\n * @export\n */\nexport const TrustTeamMemberApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV1TrustTeamMemberGetTrustTeamMemberGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TrustTeamMemberApiAxiosParamCreator(configuration).apiV1TrustTeamMemberGetTrustTeamMemberGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * TrustTeamMemberApi - factory interface\n * @export\n */\nexport const TrustTeamMemberApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV1TrustTeamMemberGetTrustTeamMemberGet(options?: any): AxiosPromise {\n return TrustTeamMemberApiFp(configuration).apiV1TrustTeamMemberGetTrustTeamMemberGet(options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * TrustTeamMemberApi - object-oriented interface\n * @export\n * @class TrustTeamMemberApi\n * @extends {BaseAPI}\n */\nexport class TrustTeamMemberApi extends BaseAPI {\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TrustTeamMemberApi\n */\n public apiV1TrustTeamMemberGetTrustTeamMemberGet(options?: any) {\n return TrustTeamMemberApiFp(this.configuration).apiV1TrustTeamMemberGetTrustTeamMemberGet(options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { Configuration } from \"./configuration\";\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\n\nexport const BASE_PATH = \"/\".replace(/\\/+$/, \"\");\n\n/**\n *\n * @export\n */\nexport const COLLECTION_FORMATS = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\\t\",\n pipes: \"|\",\n};\n\n/**\n *\n * @export\n * @interface RequestArgs\n */\nexport interface RequestArgs {\n url: string;\n options: any;\n}\n\n/**\n *\n * @export\n * @class BaseAPI\n */\nexport class BaseAPI {\n protected configuration: Configuration | undefined;\n\n constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) {\n if (configuration) {\n this.configuration = configuration;\n this.basePath = configuration.basePath || this.basePath;\n }\n }\n};\n\n/**\n *\n * @export\n * @class RequiredError\n * @extends {Error}\n */\nexport class RequiredError extends Error {\n name: \"RequiredError\" = \"RequiredError\";\n constructor(public field: string, msg?: string) {\n super(msg);\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { AccountIEnumerableResponse } from '../models';\n/**\n * AccountApi - axios parameter creator\n * @export\n */\nexport const AccountApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns Accounts\n * @param {number} practiceId \n * @param {number} [accountTypeId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AccountGetAccountsByPracticeIdPracticeIdGet: async (practiceId: number, accountTypeId?: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2AccountGetAccountsByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v2/Account/GetAccountsByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (accountTypeId !== undefined) {\n localVarQueryParameter['accountTypeId'] = accountTypeId;\n }\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * AccountApi - functional programming interface\n * @export\n */\nexport const AccountApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns Accounts\n * @param {number} practiceId \n * @param {number} [accountTypeId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AccountGetAccountsByPracticeIdPracticeIdGet(practiceId: number, accountTypeId?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await AccountApiAxiosParamCreator(configuration).apiV2AccountGetAccountsByPracticeIdPracticeIdGet(practiceId, accountTypeId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * AccountApi - factory interface\n * @export\n */\nexport const AccountApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary Returns Accounts\n * @param {number} practiceId \n * @param {number} [accountTypeId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AccountGetAccountsByPracticeIdPracticeIdGet(practiceId: number, accountTypeId?: number, options?: any): AxiosPromise {\n return AccountApiFp(configuration).apiV2AccountGetAccountsByPracticeIdPracticeIdGet(practiceId, accountTypeId, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * AccountApi - object-oriented interface\n * @export\n * @class AccountApi\n * @extends {BaseAPI}\n */\nexport class AccountApi extends BaseAPI {\n /**\n * \n * @summary Returns Accounts\n * @param {number} practiceId \n * @param {number} [accountTypeId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountApi\n */\n public apiV2AccountGetAccountsByPracticeIdPracticeIdGet(practiceId: number, accountTypeId?: number, options?: any) {\n return AccountApiFp(this.configuration).apiV2AccountGetAccountsByPracticeIdPracticeIdGet(practiceId, accountTypeId, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { AccountingAppIEnumerableResponse } from '../models';\nimport { Request } from '../models';\n/**\n * AccountingAppApi - axios parameter creator\n * @export\n */\nexport const AccountingAppApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns AccountingApps\n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AccountingAppGetAccountingAppsPost: async (body?: Request, showActiveOnly?: boolean, options: any = {}): Promise => {\n const localVarPath = `/api/v2/AccountingApp/GetAccountingApps`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (showActiveOnly !== undefined) {\n localVarQueryParameter['showActiveOnly'] = showActiveOnly;\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * AccountingAppApi - functional programming interface\n * @export\n */\nexport const AccountingAppApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns AccountingApps\n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2AccountingAppGetAccountingAppsPost(body?: Request, showActiveOnly?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await AccountingAppApiAxiosParamCreator(configuration).apiV2AccountingAppGetAccountingAppsPost(body, showActiveOnly, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * AccountingAppApi - factory interface\n * @export\n */\nexport const AccountingAppApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary Returns AccountingApps\n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2AccountingAppGetAccountingAppsPost(body?: Request, showActiveOnly?: boolean, options?: any): AxiosPromise {\n return AccountingAppApiFp(configuration).apiV2AccountingAppGetAccountingAppsPost(body, showActiveOnly, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * AccountingAppApi - object-oriented interface\n * @export\n * @class AccountingAppApi\n * @extends {BaseAPI}\n */\nexport class AccountingAppApi extends BaseAPI {\n /**\n * \n * @summary Returns AccountingApps\n * @param {Request} [body] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountingAppApi\n */\n public apiV2AccountingAppGetAccountingAppsPost(body?: Request, showActiveOnly?: boolean, options?: any) {\n return AccountingAppApiFp(this.configuration).apiV2AccountingAppGetAccountingAppsPost(body, showActiveOnly, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { EventIEnumerableResponse } from '../models';\nimport { EventRequest } from '../models';\n/**\n * CalendarApi - axios parameter creator\n * @export\n */\nexport const CalendarApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns Events\n * @param {EventRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CalendarGetEventsPost: async (body?: EventRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Calendar/GetEvents`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * CalendarApi - functional programming interface\n * @export\n */\nexport const CalendarApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns Events\n * @param {EventRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CalendarGetEventsPost(body?: EventRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CalendarApiAxiosParamCreator(configuration).apiV2CalendarGetEventsPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * CalendarApi - factory interface\n * @export\n */\nexport const CalendarApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary Returns Events\n * @param {EventRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CalendarGetEventsPost(body?: EventRequest, options?: any): AxiosPromise {\n return CalendarApiFp(configuration).apiV2CalendarGetEventsPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * CalendarApi - object-oriented interface\n * @export\n * @class CalendarApi\n * @extends {BaseAPI}\n */\nexport class CalendarApi extends BaseAPI {\n /**\n * \n * @summary Returns Events\n * @param {EventRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CalendarApi\n */\n public apiV2CalendarGetEventsPost(body?: EventRequest, options?: any) {\n return CalendarApiFp(this.configuration).apiV2CalendarGetEventsPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { LeaveTypeIEnumerableResponse } from '../models';\nimport { TimeEntryActivityIEnumerableResponse } from '../models';\nimport { TimeEntryTypeIEnumerableResponse } from '../models';\n/**\n * CodeApi - axios parameter creator\n * @export\n */\nexport const CodeApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns LeaveTypes\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetLeaveTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetLeaveTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns TimeEntryActivities\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetTimeEntryActivitiesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetTimeEntryActivities`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns TimeEntryTypes\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetTimeEntryTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Code/GetTimeEntryTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * CodeApi - functional programming interface\n * @export\n */\nexport const CodeApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns LeaveTypes\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetLeaveTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetLeaveTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns TimeEntryActivities\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetTimeEntryActivitiesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetTimeEntryActivitiesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns TimeEntryTypes\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CodeGetTimeEntryTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CodeApiAxiosParamCreator(configuration).apiV2CodeGetTimeEntryTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * CodeApi - factory interface\n * @export\n */\nexport const CodeApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary Returns LeaveTypes\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetLeaveTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetLeaveTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns TimeEntryActivities\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetTimeEntryActivitiesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetTimeEntryActivitiesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns TimeEntryTypes\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CodeGetTimeEntryTypesGet(options?: any): AxiosPromise {\n return CodeApiFp(configuration).apiV2CodeGetTimeEntryTypesGet(options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * CodeApi - object-oriented interface\n * @export\n * @class CodeApi\n * @extends {BaseAPI}\n */\nexport class CodeApi extends BaseAPI {\n /**\n * \n * @summary Returns LeaveTypes\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetLeaveTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetLeaveTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns TimeEntryActivities\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetTimeEntryActivitiesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetTimeEntryActivitiesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns TimeEntryTypes\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CodeApi\n */\n public apiV2CodeGetTimeEntryTypesGet(options?: any) {\n return CodeApiFp(this.configuration).apiV2CodeGetTimeEntryTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { ComplianceFormAdditionalFileIEnumerableResponse } from '../models';\nimport { ComplianceFormFileResponse } from '../models';\nimport { ComplianceFormIEnumerableResponse } from '../models';\nimport { ComplianceFormRequest } from '../models';\nimport { FileResponse } from '../models';\nimport { RegeneratedFileLogIEnumerableResponse } from '../models';\n/**\n * ComplianceFormApi - axios parameter creator\n * @export\n */\nexport const ComplianceFormApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns ComplianceFormAdditionalFile\n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormDownloadAdditionalFileStreamComplianceFormIdFileIdGet: async (complianceFormId: number, fileId: number, options: any = {}): Promise => {\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV2ComplianceFormDownloadAdditionalFileStreamComplianceFormIdFileIdGet.');\n }\n // verify required parameter 'fileId' is not null or undefined\n if (fileId === null || fileId === undefined) {\n throw new RequiredError('fileId','Required parameter fileId was null or undefined when calling apiV2ComplianceFormDownloadAdditionalFileStreamComplianceFormIdFileIdGet.');\n }\n const localVarPath = `/api/v2/ComplianceForm/DownloadAdditionalFile-stream/{complianceFormId}/{fileId}`\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)))\n .replace(`{${\"fileId\"}}`, encodeURIComponent(String(fileId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns ComplianceFormAdditionalFile\n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormDownloadComplianceFormAdditionalFileComplianceFormIdFileIdGet: async (complianceFormId: number, fileId: number, options: any = {}): Promise => {\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV2ComplianceFormDownloadComplianceFormAdditionalFileComplianceFormIdFileIdGet.');\n }\n // verify required parameter 'fileId' is not null or undefined\n if (fileId === null || fileId === undefined) {\n throw new RequiredError('fileId','Required parameter fileId was null or undefined when calling apiV2ComplianceFormDownloadComplianceFormAdditionalFileComplianceFormIdFileIdGet.');\n }\n const localVarPath = `/api/v2/ComplianceForm/DownloadComplianceFormAdditionalFile/{complianceFormId}/{fileId}`\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)))\n .replace(`{${\"fileId\"}}`, encodeURIComponent(String(fileId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns EeReport File\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormDownloadEeReportEeReportIdGet: async (eeReportId: number, options: any = {}): Promise => {\n // verify required parameter 'eeReportId' is not null or undefined\n if (eeReportId === null || eeReportId === undefined) {\n throw new RequiredError('eeReportId','Required parameter eeReportId was null or undefined when calling apiV2ComplianceFormDownloadEeReportEeReportIdGet.');\n }\n const localVarPath = `/api/v2/ComplianceForm/DownloadEeReport/{eeReportId}`\n .replace(`{${\"eeReportId\"}}`, encodeURIComponent(String(eeReportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns EeReport File\n * @param {number} eeReportId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormDownloadEeReportEeReportIdRegeneratedFileLogIdGet: async (eeReportId: number, regeneratedFileLogId: number, options: any = {}): Promise => {\n // verify required parameter 'eeReportId' is not null or undefined\n if (eeReportId === null || eeReportId === undefined) {\n throw new RequiredError('eeReportId','Required parameter eeReportId was null or undefined when calling apiV2ComplianceFormDownloadEeReportEeReportIdRegeneratedFileLogIdGet.');\n }\n // verify required parameter 'regeneratedFileLogId' is not null or undefined\n if (regeneratedFileLogId === null || regeneratedFileLogId === undefined) {\n throw new RequiredError('regeneratedFileLogId','Required parameter regeneratedFileLogId was null or undefined when calling apiV2ComplianceFormDownloadEeReportEeReportIdRegeneratedFileLogIdGet.');\n }\n const localVarPath = `/api/v2/ComplianceForm/DownloadEeReport/{eeReportId}/{regeneratedFileLogId}`\n .replace(`{${\"eeReportId\"}}`, encodeURIComponent(String(eeReportId)))\n .replace(`{${\"regeneratedFileLogId\"}}`, encodeURIComponent(String(regeneratedFileLogId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns ComplianceForm File\n * @param {number} fileId \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormDownloadFileFileIdComplianceFormIdGet: async (fileId: number, complianceFormId: number, options: any = {}): Promise => {\n // verify required parameter 'fileId' is not null or undefined\n if (fileId === null || fileId === undefined) {\n throw new RequiredError('fileId','Required parameter fileId was null or undefined when calling apiV2ComplianceFormDownloadFileFileIdComplianceFormIdGet.');\n }\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV2ComplianceFormDownloadFileFileIdComplianceFormIdGet.');\n }\n const localVarPath = `/api/v2/ComplianceForm/DownloadFile/{fileId}/{complianceFormId}`\n .replace(`{${\"fileId\"}}`, encodeURIComponent(String(fileId)))\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns PartA File\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormDownloadPartAPartAIdGet: async (partAId: number, options: any = {}): Promise => {\n // verify required parameter 'partAId' is not null or undefined\n if (partAId === null || partAId === undefined) {\n throw new RequiredError('partAId','Required parameter partAId was null or undefined when calling apiV2ComplianceFormDownloadPartAPartAIdGet.');\n }\n const localVarPath = `/api/v2/ComplianceForm/DownloadPartA/{partAId}`\n .replace(`{${\"partAId\"}}`, encodeURIComponent(String(partAId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns PartA File\n * @param {number} partAId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormDownloadPartAPartAIdRegeneratedFileLogIdGet: async (partAId: number, regeneratedFileLogId: number, options: any = {}): Promise => {\n // verify required parameter 'partAId' is not null or undefined\n if (partAId === null || partAId === undefined) {\n throw new RequiredError('partAId','Required parameter partAId was null or undefined when calling apiV2ComplianceFormDownloadPartAPartAIdRegeneratedFileLogIdGet.');\n }\n // verify required parameter 'regeneratedFileLogId' is not null or undefined\n if (regeneratedFileLogId === null || regeneratedFileLogId === undefined) {\n throw new RequiredError('regeneratedFileLogId','Required parameter regeneratedFileLogId was null or undefined when calling apiV2ComplianceFormDownloadPartAPartAIdRegeneratedFileLogIdGet.');\n }\n const localVarPath = `/api/v2/ComplianceForm/DownloadPartA/{partAId}/{regeneratedFileLogId}`\n .replace(`{${\"partAId\"}}`, encodeURIComponent(String(partAId)))\n .replace(`{${\"regeneratedFileLogId\"}}`, encodeURIComponent(String(regeneratedFileLogId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns PartB File\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormDownloadPartBPartBIdGet: async (partBId: number, options: any = {}): Promise => {\n // verify required parameter 'partBId' is not null or undefined\n if (partBId === null || partBId === undefined) {\n throw new RequiredError('partBId','Required parameter partBId was null or undefined when calling apiV2ComplianceFormDownloadPartBPartBIdGet.');\n }\n const localVarPath = `/api/v2/ComplianceForm/DownloadPartB/{partBId}`\n .replace(`{${\"partBId\"}}`, encodeURIComponent(String(partBId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns PartB File\n * @param {number} partBId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormDownloadPartBPartBIdRegeneratedFileLogIdGet: async (partBId: number, regeneratedFileLogId: number, options: any = {}): Promise => {\n // verify required parameter 'partBId' is not null or undefined\n if (partBId === null || partBId === undefined) {\n throw new RequiredError('partBId','Required parameter partBId was null or undefined when calling apiV2ComplianceFormDownloadPartBPartBIdRegeneratedFileLogIdGet.');\n }\n // verify required parameter 'regeneratedFileLogId' is not null or undefined\n if (regeneratedFileLogId === null || regeneratedFileLogId === undefined) {\n throw new RequiredError('regeneratedFileLogId','Required parameter regeneratedFileLogId was null or undefined when calling apiV2ComplianceFormDownloadPartBPartBIdRegeneratedFileLogIdGet.');\n }\n const localVarPath = `/api/v2/ComplianceForm/DownloadPartB/{partBId}/{regeneratedFileLogId}`\n .replace(`{${\"partBId\"}}`, encodeURIComponent(String(partBId)))\n .replace(`{${\"regeneratedFileLogId\"}}`, encodeURIComponent(String(regeneratedFileLogId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns ComplianceFormAdditionalFile\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormGetComplianceFormAdditionalFileComplianceFormIdGet: async (complianceFormId: number, options: any = {}): Promise => {\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV2ComplianceFormGetComplianceFormAdditionalFileComplianceFormIdGet.');\n }\n const localVarPath = `/api/v2/ComplianceForm/GetComplianceFormAdditionalFile/{complianceFormId}`\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns ComplianceForms\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormGetComplianceFormsPost: async (body?: ComplianceFormRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/ComplianceForm/GetComplianceForms`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns EeReportLogs\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormGetEeReportFileLogsEeReportIdGet: async (eeReportId: number, options: any = {}): Promise => {\n // verify required parameter 'eeReportId' is not null or undefined\n if (eeReportId === null || eeReportId === undefined) {\n throw new RequiredError('eeReportId','Required parameter eeReportId was null or undefined when calling apiV2ComplianceFormGetEeReportFileLogsEeReportIdGet.');\n }\n const localVarPath = `/api/v2/ComplianceForm/GetEeReportFileLogs/{eeReportId}`\n .replace(`{${\"eeReportId\"}}`, encodeURIComponent(String(eeReportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns ComplianceFormFile\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormGetFileAttachmentsComplianceFormIdGet: async (complianceFormId: number, options: any = {}): Promise => {\n // verify required parameter 'complianceFormId' is not null or undefined\n if (complianceFormId === null || complianceFormId === undefined) {\n throw new RequiredError('complianceFormId','Required parameter complianceFormId was null or undefined when calling apiV2ComplianceFormGetFileAttachmentsComplianceFormIdGet.');\n }\n const localVarPath = `/api/v2/ComplianceForm/GetFileAttachments/{complianceFormId}`\n .replace(`{${\"complianceFormId\"}}`, encodeURIComponent(String(complianceFormId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns PartALogs\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormGetPartAFileLogsPartAIdGet: async (partAId: number, options: any = {}): Promise => {\n // verify required parameter 'partAId' is not null or undefined\n if (partAId === null || partAId === undefined) {\n throw new RequiredError('partAId','Required parameter partAId was null or undefined when calling apiV2ComplianceFormGetPartAFileLogsPartAIdGet.');\n }\n const localVarPath = `/api/v2/ComplianceForm/GetPartAFileLogs/{partAId}`\n .replace(`{${\"partAId\"}}`, encodeURIComponent(String(partAId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns PartBLogs\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormGetPartBFileLogsPartBIdGet: async (partBId: number, options: any = {}): Promise => {\n // verify required parameter 'partBId' is not null or undefined\n if (partBId === null || partBId === undefined) {\n throw new RequiredError('partBId','Required parameter partBId was null or undefined when calling apiV2ComplianceFormGetPartBFileLogsPartBIdGet.');\n }\n const localVarPath = `/api/v2/ComplianceForm/GetPartBFileLogs/{partBId}`\n .replace(`{${\"partBId\"}}`, encodeURIComponent(String(partBId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * ComplianceFormApi - functional programming interface\n * @export\n */\nexport const ComplianceFormApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns ComplianceFormAdditionalFile\n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormDownloadAdditionalFileStreamComplianceFormIdFileIdGet(complianceFormId: number, fileId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormDownloadAdditionalFileStreamComplianceFormIdFileIdGet(complianceFormId, fileId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns ComplianceFormAdditionalFile\n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormDownloadComplianceFormAdditionalFileComplianceFormIdFileIdGet(complianceFormId: number, fileId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormDownloadComplianceFormAdditionalFileComplianceFormIdFileIdGet(complianceFormId, fileId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns EeReport File\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormDownloadEeReportEeReportIdGet(eeReportId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormDownloadEeReportEeReportIdGet(eeReportId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns EeReport File\n * @param {number} eeReportId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormDownloadEeReportEeReportIdRegeneratedFileLogIdGet(eeReportId: number, regeneratedFileLogId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormDownloadEeReportEeReportIdRegeneratedFileLogIdGet(eeReportId, regeneratedFileLogId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns ComplianceForm File\n * @param {number} fileId \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormDownloadFileFileIdComplianceFormIdGet(fileId: number, complianceFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormDownloadFileFileIdComplianceFormIdGet(fileId, complianceFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns PartA File\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormDownloadPartAPartAIdGet(partAId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormDownloadPartAPartAIdGet(partAId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns PartA File\n * @param {number} partAId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormDownloadPartAPartAIdRegeneratedFileLogIdGet(partAId: number, regeneratedFileLogId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormDownloadPartAPartAIdRegeneratedFileLogIdGet(partAId, regeneratedFileLogId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns PartB File\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormDownloadPartBPartBIdGet(partBId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormDownloadPartBPartBIdGet(partBId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns PartB File\n * @param {number} partBId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormDownloadPartBPartBIdRegeneratedFileLogIdGet(partBId: number, regeneratedFileLogId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormDownloadPartBPartBIdRegeneratedFileLogIdGet(partBId, regeneratedFileLogId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns ComplianceFormAdditionalFile\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormGetComplianceFormAdditionalFileComplianceFormIdGet(complianceFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormGetComplianceFormAdditionalFileComplianceFormIdGet(complianceFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns ComplianceForms\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormGetComplianceFormsPost(body?: ComplianceFormRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormGetComplianceFormsPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns EeReportLogs\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormGetEeReportFileLogsEeReportIdGet(eeReportId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormGetEeReportFileLogsEeReportIdGet(eeReportId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns ComplianceFormFile\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormGetFileAttachmentsComplianceFormIdGet(complianceFormId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormGetFileAttachmentsComplianceFormIdGet(complianceFormId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns PartALogs\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormGetPartAFileLogsPartAIdGet(partAId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormGetPartAFileLogsPartAIdGet(partAId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns PartBLogs\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2ComplianceFormGetPartBFileLogsPartBIdGet(partBId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ComplianceFormApiAxiosParamCreator(configuration).apiV2ComplianceFormGetPartBFileLogsPartBIdGet(partBId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * ComplianceFormApi - factory interface\n * @export\n */\nexport const ComplianceFormApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary Returns ComplianceFormAdditionalFile\n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormDownloadAdditionalFileStreamComplianceFormIdFileIdGet(complianceFormId: number, fileId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormDownloadAdditionalFileStreamComplianceFormIdFileIdGet(complianceFormId, fileId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns ComplianceFormAdditionalFile\n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormDownloadComplianceFormAdditionalFileComplianceFormIdFileIdGet(complianceFormId: number, fileId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormDownloadComplianceFormAdditionalFileComplianceFormIdFileIdGet(complianceFormId, fileId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns EeReport File\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormDownloadEeReportEeReportIdGet(eeReportId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormDownloadEeReportEeReportIdGet(eeReportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns EeReport File\n * @param {number} eeReportId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormDownloadEeReportEeReportIdRegeneratedFileLogIdGet(eeReportId: number, regeneratedFileLogId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormDownloadEeReportEeReportIdRegeneratedFileLogIdGet(eeReportId, regeneratedFileLogId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns ComplianceForm File\n * @param {number} fileId \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormDownloadFileFileIdComplianceFormIdGet(fileId: number, complianceFormId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormDownloadFileFileIdComplianceFormIdGet(fileId, complianceFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns PartA File\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormDownloadPartAPartAIdGet(partAId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormDownloadPartAPartAIdGet(partAId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns PartA File\n * @param {number} partAId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormDownloadPartAPartAIdRegeneratedFileLogIdGet(partAId: number, regeneratedFileLogId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormDownloadPartAPartAIdRegeneratedFileLogIdGet(partAId, regeneratedFileLogId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns PartB File\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormDownloadPartBPartBIdGet(partBId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormDownloadPartBPartBIdGet(partBId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns PartB File\n * @param {number} partBId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormDownloadPartBPartBIdRegeneratedFileLogIdGet(partBId: number, regeneratedFileLogId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormDownloadPartBPartBIdRegeneratedFileLogIdGet(partBId, regeneratedFileLogId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns ComplianceFormAdditionalFile\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormGetComplianceFormAdditionalFileComplianceFormIdGet(complianceFormId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormGetComplianceFormAdditionalFileComplianceFormIdGet(complianceFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns ComplianceForms\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormGetComplianceFormsPost(body?: ComplianceFormRequest, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormGetComplianceFormsPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns EeReportLogs\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormGetEeReportFileLogsEeReportIdGet(eeReportId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormGetEeReportFileLogsEeReportIdGet(eeReportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns ComplianceFormFile\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormGetFileAttachmentsComplianceFormIdGet(complianceFormId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormGetFileAttachmentsComplianceFormIdGet(complianceFormId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns PartALogs\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormGetPartAFileLogsPartAIdGet(partAId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormGetPartAFileLogsPartAIdGet(partAId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns PartBLogs\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2ComplianceFormGetPartBFileLogsPartBIdGet(partBId: number, options?: any): AxiosPromise {\n return ComplianceFormApiFp(configuration).apiV2ComplianceFormGetPartBFileLogsPartBIdGet(partBId, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * ComplianceFormApi - object-oriented interface\n * @export\n * @class ComplianceFormApi\n * @extends {BaseAPI}\n */\nexport class ComplianceFormApi extends BaseAPI {\n /**\n * \n * @summary Returns ComplianceFormAdditionalFile\n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormDownloadAdditionalFileStreamComplianceFormIdFileIdGet(complianceFormId: number, fileId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormDownloadAdditionalFileStreamComplianceFormIdFileIdGet(complianceFormId, fileId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns ComplianceFormAdditionalFile\n * @param {number} complianceFormId \n * @param {number} fileId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormDownloadComplianceFormAdditionalFileComplianceFormIdFileIdGet(complianceFormId: number, fileId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormDownloadComplianceFormAdditionalFileComplianceFormIdFileIdGet(complianceFormId, fileId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns EeReport File\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormDownloadEeReportEeReportIdGet(eeReportId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormDownloadEeReportEeReportIdGet(eeReportId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns EeReport File\n * @param {number} eeReportId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormDownloadEeReportEeReportIdRegeneratedFileLogIdGet(eeReportId: number, regeneratedFileLogId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormDownloadEeReportEeReportIdRegeneratedFileLogIdGet(eeReportId, regeneratedFileLogId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns ComplianceForm File\n * @param {number} fileId \n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormDownloadFileFileIdComplianceFormIdGet(fileId: number, complianceFormId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormDownloadFileFileIdComplianceFormIdGet(fileId, complianceFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns PartA File\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormDownloadPartAPartAIdGet(partAId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormDownloadPartAPartAIdGet(partAId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns PartA File\n * @param {number} partAId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormDownloadPartAPartAIdRegeneratedFileLogIdGet(partAId: number, regeneratedFileLogId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormDownloadPartAPartAIdRegeneratedFileLogIdGet(partAId, regeneratedFileLogId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns PartB File\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormDownloadPartBPartBIdGet(partBId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormDownloadPartBPartBIdGet(partBId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns PartB File\n * @param {number} partBId \n * @param {number} regeneratedFileLogId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormDownloadPartBPartBIdRegeneratedFileLogIdGet(partBId: number, regeneratedFileLogId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormDownloadPartBPartBIdRegeneratedFileLogIdGet(partBId, regeneratedFileLogId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns ComplianceFormAdditionalFile\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormGetComplianceFormAdditionalFileComplianceFormIdGet(complianceFormId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormGetComplianceFormAdditionalFileComplianceFormIdGet(complianceFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns ComplianceForms\n * @param {ComplianceFormRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormGetComplianceFormsPost(body?: ComplianceFormRequest, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormGetComplianceFormsPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns EeReportLogs\n * @param {number} eeReportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormGetEeReportFileLogsEeReportIdGet(eeReportId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormGetEeReportFileLogsEeReportIdGet(eeReportId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns ComplianceFormFile\n * @param {number} complianceFormId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormGetFileAttachmentsComplianceFormIdGet(complianceFormId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormGetFileAttachmentsComplianceFormIdGet(complianceFormId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns PartALogs\n * @param {number} partAId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormGetPartAFileLogsPartAIdGet(partAId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormGetPartAFileLogsPartAIdGet(partAId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns PartBLogs\n * @param {number} partBId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ComplianceFormApi\n */\n public apiV2ComplianceFormGetPartBFileLogsPartBIdGet(partBId: number, options?: any) {\n return ComplianceFormApiFp(this.configuration).apiV2ComplianceFormGetPartBFileLogsPartBIdGet(partBId, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\nimport { CorrespondenceIEnumerableResponse } from '../models';\nimport { CorrespondenceRequest } from '../models';\nimport { FileStreamResultResponse } from '../models';\n/**\n * CorrespondenceApi - axios parameter creator\n * @export\n */\nexport const CorrespondenceApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns Correspondences\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v2/Correspondence/GetCorrespondenceByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns Correspondence File\n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet: async (correspondenceId: number, options: any = {}): Promise => {\n // verify required parameter 'correspondenceId' is not null or undefined\n if (correspondenceId === null || correspondenceId === undefined) {\n throw new RequiredError('correspondenceId','Required parameter correspondenceId was null or undefined when calling apiV2CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet.');\n }\n const localVarPath = `/api/v2/Correspondence/GetFileStreamByCorrespondenceId/{correspondenceId}`\n .replace(`{${\"correspondenceId\"}}`, encodeURIComponent(String(correspondenceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns boolean value\n * @param {CorrespondenceRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CorrespondenceSaveCorrespondencePost: async (body?: CorrespondenceRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Correspondence/SaveCorrespondence`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * CorrespondenceApi - functional programming interface\n * @export\n */\nexport const CorrespondenceApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns Correspondences\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CorrespondenceApiAxiosParamCreator(configuration).apiV2CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns Correspondence File\n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet(correspondenceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CorrespondenceApiAxiosParamCreator(configuration).apiV2CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet(correspondenceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns boolean value\n * @param {CorrespondenceRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2CorrespondenceSaveCorrespondencePost(body?: CorrespondenceRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await CorrespondenceApiAxiosParamCreator(configuration).apiV2CorrespondenceSaveCorrespondencePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * CorrespondenceApi - factory interface\n * @export\n */\nexport const CorrespondenceApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary Returns Correspondences\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return CorrespondenceApiFp(configuration).apiV2CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns Correspondence File\n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet(correspondenceId: number, options?: any): AxiosPromise {\n return CorrespondenceApiFp(configuration).apiV2CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet(correspondenceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns boolean value\n * @param {CorrespondenceRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2CorrespondenceSaveCorrespondencePost(body?: CorrespondenceRequest, options?: any): AxiosPromise {\n return CorrespondenceApiFp(configuration).apiV2CorrespondenceSaveCorrespondencePost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * CorrespondenceApi - object-oriented interface\n * @export\n * @class CorrespondenceApi\n * @extends {BaseAPI}\n */\nexport class CorrespondenceApi extends BaseAPI {\n /**\n * \n * @summary Returns Correspondences\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CorrespondenceApi\n */\n public apiV2CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet(practiceId: number, options?: any) {\n return CorrespondenceApiFp(this.configuration).apiV2CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns Correspondence File\n * @param {number} correspondenceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CorrespondenceApi\n */\n public apiV2CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet(correspondenceId: number, options?: any) {\n return CorrespondenceApiFp(this.configuration).apiV2CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet(correspondenceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns boolean value\n * @param {CorrespondenceRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CorrespondenceApi\n */\n public apiV2CorrespondenceSaveCorrespondencePost(body?: CorrespondenceRequest, options?: any) {\n return CorrespondenceApiFp(this.configuration).apiV2CorrespondenceSaveCorrespondencePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\nimport { InvestigationAccountingDetailIEnumerableResponse } from '../models';\nimport { InvestigationAccountingDetailResponse } from '../models';\nimport { InvestigationBreachIEnumerableResponse } from '../models';\nimport { InvestigationDetailResponse } from '../models';\nimport { InvestigationFilter } from '../models';\nimport { InvestigationIEnumerableResponse } from '../models';\nimport { InvestigationPameterRequest } from '../models';\nimport { InvestigationParameterResponse } from '../models';\nimport { InvestigationQuestionnaireResponse } from '../models';\nimport { InvestigationStatsResponse } from '../models';\nimport { InvestigatorWorkingPaperIEnumerableResponse } from '../models';\nimport { PrincipalInformationRequest } from '../models';\nimport { SectionGroupRequest } from '../models';\n/**\n * InvestigationApi - axios parameter creator\n * @export\n */\nexport const InvestigationApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns InvestigationAccountingDetails\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationAccountingAppsByIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV2InvestigationGetInvestigationAccountingAppsByIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v2/Investigation/GetInvestigationAccountingAppsById/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns InvestigationAccountingDetails\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v2/Investigation/GetInvestigationAccountingDetailsByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns InvestigationBreaches\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationBreachesByIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV2InvestigationGetInvestigationBreachesByIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v2/Investigation/GetInvestigationBreachesById/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns InvestigationDetails\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationDetailsByIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV2InvestigationGetInvestigationDetailsByIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v2/Investigation/GetInvestigationDetailsById/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns InvestigationParameter\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationParametersInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV2InvestigationGetInvestigationParametersInvestigationIdGet.');\n }\n const localVarPath = `/api/v2/Investigation/GetInvestigationParameters/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns InvestigationQuestionnaire\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationWithQuestionnaireByIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV2InvestigationGetInvestigationWithQuestionnaireByIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v2/Investigation/GetInvestigationWithQuestionnaireById/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns Investigations\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationsByPracticeIdPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2InvestigationGetInvestigationsByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v2/Investigation/GetInvestigationsByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns InvestigatorWorkingPapers\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetIwpsByInvestigationIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV2InvestigationGetIwpsByInvestigationIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v2/Investigation/GetIwpsByInvestigationId/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns My InvestigationStats\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetMyInvestigationStatsGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Investigation/GetMyInvestigationStats`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns My Investigations\n * @param {InvestigationFilter} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetMyInvestigationsPost: async (body?: InvestigationFilter, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Investigation/GetMyInvestigations`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns boolean value if Investigation Parameters is saved\n * @param {InvestigationPameterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationSaveInvestigationParametersPost: async (body?: InvestigationPameterRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Investigation/SaveInvestigationParameters`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns boolean value if Principal Information is saved\n * @param {PrincipalInformationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationSavePrincipalInformationPost: async (body?: PrincipalInformationRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Investigation/SavePrincipalInformation`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns boolean value if SectionGroup is saved\n * @param {number} investigationId \n * @param {SectionGroupRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationSaveSectionGroupOverviewInvestigationIdPost: async (investigationId: number, body?: SectionGroupRequest, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV2InvestigationSaveSectionGroupOverviewInvestigationIdPost.');\n }\n const localVarPath = `/api/v2/Investigation/SaveSectionGroupOverview/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * InvestigationApi - functional programming interface\n * @export\n */\nexport const InvestigationApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns InvestigationAccountingDetails\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationGetInvestigationAccountingAppsByIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationGetInvestigationAccountingAppsByIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns InvestigationAccountingDetails\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns InvestigationBreaches\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationGetInvestigationBreachesByIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationGetInvestigationBreachesByIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns InvestigationDetails\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationGetInvestigationDetailsByIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationGetInvestigationDetailsByIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns InvestigationParameter\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationGetInvestigationParametersInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationGetInvestigationParametersInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns InvestigationQuestionnaire\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationGetInvestigationWithQuestionnaireByIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationGetInvestigationWithQuestionnaireByIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns Investigations\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationGetInvestigationsByPracticeIdPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationGetInvestigationsByPracticeIdPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns InvestigatorWorkingPapers\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationGetIwpsByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationGetIwpsByInvestigationIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns My InvestigationStats\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationGetMyInvestigationStatsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationGetMyInvestigationStatsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns My Investigations\n * @param {InvestigationFilter} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationGetMyInvestigationsPost(body?: InvestigationFilter, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationGetMyInvestigationsPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns boolean value if Investigation Parameters is saved\n * @param {InvestigationPameterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationSaveInvestigationParametersPost(body?: InvestigationPameterRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationSaveInvestigationParametersPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns boolean value if Principal Information is saved\n * @param {PrincipalInformationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationSavePrincipalInformationPost(body?: PrincipalInformationRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationSavePrincipalInformationPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns boolean value if SectionGroup is saved\n * @param {number} investigationId \n * @param {SectionGroupRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2InvestigationSaveSectionGroupOverviewInvestigationIdPost(investigationId: number, body?: SectionGroupRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await InvestigationApiAxiosParamCreator(configuration).apiV2InvestigationSaveSectionGroupOverviewInvestigationIdPost(investigationId, body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * InvestigationApi - factory interface\n * @export\n */\nexport const InvestigationApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary Returns InvestigationAccountingDetails\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationAccountingAppsByIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationGetInvestigationAccountingAppsByIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns InvestigationAccountingDetails\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns InvestigationBreaches\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationBreachesByIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationGetInvestigationBreachesByIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns InvestigationDetails\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationDetailsByIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationGetInvestigationDetailsByIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns InvestigationParameter\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationParametersInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationGetInvestigationParametersInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns InvestigationQuestionnaire\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationWithQuestionnaireByIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationGetInvestigationWithQuestionnaireByIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns Investigations\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetInvestigationsByPracticeIdPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationGetInvestigationsByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns InvestigatorWorkingPapers\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetIwpsByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationGetIwpsByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns My InvestigationStats\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetMyInvestigationStatsGet(options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationGetMyInvestigationStatsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns My Investigations\n * @param {InvestigationFilter} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationGetMyInvestigationsPost(body?: InvestigationFilter, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationGetMyInvestigationsPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns boolean value if Investigation Parameters is saved\n * @param {InvestigationPameterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationSaveInvestigationParametersPost(body?: InvestigationPameterRequest, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationSaveInvestigationParametersPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns boolean value if Principal Information is saved\n * @param {PrincipalInformationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationSavePrincipalInformationPost(body?: PrincipalInformationRequest, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationSavePrincipalInformationPost(body, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns boolean value if SectionGroup is saved\n * @param {number} investigationId \n * @param {SectionGroupRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2InvestigationSaveSectionGroupOverviewInvestigationIdPost(investigationId: number, body?: SectionGroupRequest, options?: any): AxiosPromise {\n return InvestigationApiFp(configuration).apiV2InvestigationSaveSectionGroupOverviewInvestigationIdPost(investigationId, body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * InvestigationApi - object-oriented interface\n * @export\n * @class InvestigationApi\n * @extends {BaseAPI}\n */\nexport class InvestigationApi extends BaseAPI {\n /**\n * \n * @summary Returns InvestigationAccountingDetails\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationGetInvestigationAccountingAppsByIdInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationGetInvestigationAccountingAppsByIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns InvestigationAccountingDetails\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet(practiceId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns InvestigationBreaches\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationGetInvestigationBreachesByIdInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationGetInvestigationBreachesByIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns InvestigationDetails\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationGetInvestigationDetailsByIdInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationGetInvestigationDetailsByIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns InvestigationParameter\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationGetInvestigationParametersInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationGetInvestigationParametersInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns InvestigationQuestionnaire\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationGetInvestigationWithQuestionnaireByIdInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationGetInvestigationWithQuestionnaireByIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns Investigations\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationGetInvestigationsByPracticeIdPracticeIdGet(practiceId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationGetInvestigationsByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns InvestigatorWorkingPapers\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationGetIwpsByInvestigationIdInvestigationIdGet(investigationId: number, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationGetIwpsByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns My InvestigationStats\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationGetMyInvestigationStatsGet(options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationGetMyInvestigationStatsGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns My Investigations\n * @param {InvestigationFilter} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationGetMyInvestigationsPost(body?: InvestigationFilter, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationGetMyInvestigationsPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns boolean value if Investigation Parameters is saved\n * @param {InvestigationPameterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationSaveInvestigationParametersPost(body?: InvestigationPameterRequest, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationSaveInvestigationParametersPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns boolean value if Principal Information is saved\n * @param {PrincipalInformationRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationSavePrincipalInformationPost(body?: PrincipalInformationRequest, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationSavePrincipalInformationPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns boolean value if SectionGroup is saved\n * @param {number} investigationId \n * @param {SectionGroupRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvestigationApi\n */\n public apiV2InvestigationSaveSectionGroupOverviewInvestigationIdPost(investigationId: number, body?: SectionGroupRequest, options?: any) {\n return InvestigationApiFp(this.configuration).apiV2InvestigationSaveSectionGroupOverviewInvestigationIdPost(investigationId, body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { NoteIEnumerableResponse } from '../models';\nimport { NotesFilterRequest } from '../models';\n/**\n * NotesApi - axios parameter creator\n * @export\n */\nexport const NotesApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns Notes\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2NotesGetNotesByInvestigationIdInvestigationIdGet: async (investigationId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV2NotesGetNotesByInvestigationIdInvestigationIdGet.');\n }\n const localVarPath = `/api/v2/Notes/GetNotesByInvestigationId/{investigationId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns LeaveTypes\n * @param {NotesFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2NotesGetNotesByPracticeIdPost: async (body?: NotesFilterRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Notes/GetNotesByPracticeId`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * NotesApi - functional programming interface\n * @export\n */\nexport const NotesApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns Notes\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2NotesGetNotesByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await NotesApiAxiosParamCreator(configuration).apiV2NotesGetNotesByInvestigationIdInvestigationIdGet(investigationId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns LeaveTypes\n * @param {NotesFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2NotesGetNotesByPracticeIdPost(body?: NotesFilterRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await NotesApiAxiosParamCreator(configuration).apiV2NotesGetNotesByPracticeIdPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * NotesApi - factory interface\n * @export\n */\nexport const NotesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary Returns Notes\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2NotesGetNotesByInvestigationIdInvestigationIdGet(investigationId: number, options?: any): AxiosPromise {\n return NotesApiFp(configuration).apiV2NotesGetNotesByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns LeaveTypes\n * @param {NotesFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2NotesGetNotesByPracticeIdPost(body?: NotesFilterRequest, options?: any): AxiosPromise {\n return NotesApiFp(configuration).apiV2NotesGetNotesByPracticeIdPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * NotesApi - object-oriented interface\n * @export\n * @class NotesApi\n * @extends {BaseAPI}\n */\nexport class NotesApi extends BaseAPI {\n /**\n * \n * @summary Returns Notes\n * @param {number} investigationId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NotesApi\n */\n public apiV2NotesGetNotesByInvestigationIdInvestigationIdGet(investigationId: number, options?: any) {\n return NotesApiFp(this.configuration).apiV2NotesGetNotesByInvestigationIdInvestigationIdGet(investigationId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns LeaveTypes\n * @param {NotesFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NotesApi\n */\n public apiV2NotesGetNotesByPracticeIdPost(body?: NotesFilterRequest, options?: any) {\n return NotesApiFp(this.configuration).apiV2NotesGetNotesByPracticeIdPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { IlpDirectorIEnumerableResponse } from '../models';\nimport { IndividualFirmIEnumerableResponse } from '../models';\nimport { IndividualIEnumerableResponse } from '../models';\nimport { PeopleStatsResponse } from '../models';\nimport { SignatoryFilterRequest } from '../models';\nimport { SignatoryIEnumerableResponse } from '../models';\n/**\n * PeopleApi - axios parameter creator\n * @export\n */\nexport const PeopleApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns IlpDirectors\n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetILPDirectorsByPracticeIdPracticeIdGet: async (practiceId: number, keyword?: string, showActiveOnly?: boolean, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2PeopleGetILPDirectorsByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v2/People/GetILPDirectorsByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (keyword !== undefined) {\n localVarQueryParameter['keyword'] = keyword;\n }\n\n if (showActiveOnly !== undefined) {\n localVarQueryParameter['showActiveOnly'] = showActiveOnly;\n }\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns IndividualFirms\n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetIndividualsByPracticeIdPracticeIdGet: async (practiceId: number, keyword?: string, showActiveOnly?: boolean, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2PeopleGetIndividualsByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v2/People/GetIndividualsByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (keyword !== undefined) {\n localVarQueryParameter['keyword'] = keyword;\n }\n\n if (showActiveOnly !== undefined) {\n localVarQueryParameter['showActiveOnly'] = showActiveOnly;\n }\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns PeopleStats\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetPeopleStatsByPracticeIdPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2PeopleGetPeopleStatsByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v2/People/GetPeopleStatsByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns TrustContacts\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetPracticeTrustContactsPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2PeopleGetPracticeTrustContactsPracticeIdGet.');\n }\n const localVarPath = `/api/v2/People/GetPracticeTrustContacts/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns TrustCoordinators\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetPracticeTrustCoordinatorsPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2PeopleGetPracticeTrustCoordinatorsPracticeIdGet.');\n }\n const localVarPath = `/api/v2/People/GetPracticeTrustCoordinators/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns IndividualFirms\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetPrincipalsByPracticeIdPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2PeopleGetPrincipalsByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v2/People/GetPrincipalsByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns Signatories\n * @param {SignatoryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetSignatoriesPost: async (body?: SignatoryFilterRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/People/GetSignatories`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * PeopleApi - functional programming interface\n * @export\n */\nexport const PeopleApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns IlpDirectors\n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PeopleGetILPDirectorsByPracticeIdPracticeIdGet(practiceId: number, keyword?: string, showActiveOnly?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV2PeopleGetILPDirectorsByPracticeIdPracticeIdGet(practiceId, keyword, showActiveOnly, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns IndividualFirms\n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PeopleGetIndividualsByPracticeIdPracticeIdGet(practiceId: number, keyword?: string, showActiveOnly?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV2PeopleGetIndividualsByPracticeIdPracticeIdGet(practiceId, keyword, showActiveOnly, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns PeopleStats\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PeopleGetPeopleStatsByPracticeIdPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV2PeopleGetPeopleStatsByPracticeIdPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns TrustContacts\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PeopleGetPracticeTrustContactsPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV2PeopleGetPracticeTrustContactsPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns TrustCoordinators\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PeopleGetPracticeTrustCoordinatorsPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV2PeopleGetPracticeTrustCoordinatorsPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns IndividualFirms\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PeopleGetPrincipalsByPracticeIdPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV2PeopleGetPrincipalsByPracticeIdPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns Signatories\n * @param {SignatoryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PeopleGetSignatoriesPost(body?: SignatoryFilterRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PeopleApiAxiosParamCreator(configuration).apiV2PeopleGetSignatoriesPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * PeopleApi - factory interface\n * @export\n */\nexport const PeopleApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary Returns IlpDirectors\n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetILPDirectorsByPracticeIdPracticeIdGet(practiceId: number, keyword?: string, showActiveOnly?: boolean, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV2PeopleGetILPDirectorsByPracticeIdPracticeIdGet(practiceId, keyword, showActiveOnly, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns IndividualFirms\n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetIndividualsByPracticeIdPracticeIdGet(practiceId: number, keyword?: string, showActiveOnly?: boolean, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV2PeopleGetIndividualsByPracticeIdPracticeIdGet(practiceId, keyword, showActiveOnly, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns PeopleStats\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetPeopleStatsByPracticeIdPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV2PeopleGetPeopleStatsByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns TrustContacts\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetPracticeTrustContactsPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV2PeopleGetPracticeTrustContactsPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns TrustCoordinators\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetPracticeTrustCoordinatorsPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV2PeopleGetPracticeTrustCoordinatorsPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns IndividualFirms\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetPrincipalsByPracticeIdPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV2PeopleGetPrincipalsByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns Signatories\n * @param {SignatoryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PeopleGetSignatoriesPost(body?: SignatoryFilterRequest, options?: any): AxiosPromise {\n return PeopleApiFp(configuration).apiV2PeopleGetSignatoriesPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * PeopleApi - object-oriented interface\n * @export\n * @class PeopleApi\n * @extends {BaseAPI}\n */\nexport class PeopleApi extends BaseAPI {\n /**\n * \n * @summary Returns IlpDirectors\n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV2PeopleGetILPDirectorsByPracticeIdPracticeIdGet(practiceId: number, keyword?: string, showActiveOnly?: boolean, options?: any) {\n return PeopleApiFp(this.configuration).apiV2PeopleGetILPDirectorsByPracticeIdPracticeIdGet(practiceId, keyword, showActiveOnly, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns IndividualFirms\n * @param {number} practiceId \n * @param {string} [keyword] \n * @param {boolean} [showActiveOnly] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV2PeopleGetIndividualsByPracticeIdPracticeIdGet(practiceId: number, keyword?: string, showActiveOnly?: boolean, options?: any) {\n return PeopleApiFp(this.configuration).apiV2PeopleGetIndividualsByPracticeIdPracticeIdGet(practiceId, keyword, showActiveOnly, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns PeopleStats\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV2PeopleGetPeopleStatsByPracticeIdPracticeIdGet(practiceId: number, options?: any) {\n return PeopleApiFp(this.configuration).apiV2PeopleGetPeopleStatsByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns TrustContacts\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV2PeopleGetPracticeTrustContactsPracticeIdGet(practiceId: number, options?: any) {\n return PeopleApiFp(this.configuration).apiV2PeopleGetPracticeTrustContactsPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns TrustCoordinators\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV2PeopleGetPracticeTrustCoordinatorsPracticeIdGet(practiceId: number, options?: any) {\n return PeopleApiFp(this.configuration).apiV2PeopleGetPracticeTrustCoordinatorsPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns IndividualFirms\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV2PeopleGetPrincipalsByPracticeIdPracticeIdGet(practiceId: number, options?: any) {\n return PeopleApiFp(this.configuration).apiV2PeopleGetPrincipalsByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns Signatories\n * @param {SignatoryFilterRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PeopleApi\n */\n public apiV2PeopleGetSignatoriesPost(body?: SignatoryFilterRequest, options?: any) {\n return PeopleApiFp(this.configuration).apiV2PeopleGetSignatoriesPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { ExternalExaminerResponse } from '../models';\nimport { FirmSearchRequest } from '../models';\nimport { LinkedPracticeIEnumerableResponse } from '../models';\nimport { PracticeAdditionalContactResponse } from '../models';\nimport { PracticeResponse } from '../models';\nimport { SearchPracticeIEnumerableResponse } from '../models';\n/**\n * PracticeApi - axios parameter creator\n * @export\n */\nexport const PracticeApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns External Examiner\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeGetExternalExaminerByPracticeIdPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2PracticeGetExternalExaminerByPracticeIdPracticeIdGet.');\n }\n const localVarPath = `/api/v2/Practice/GetExternalExaminerByPracticeId/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns Practice\n * @param {number} investigationId \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeGetInvestigationPracticeByIdInvestigationIdPracticeIdGet: async (investigationId: number, practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'investigationId' is not null or undefined\n if (investigationId === null || investigationId === undefined) {\n throw new RequiredError('investigationId','Required parameter investigationId was null or undefined when calling apiV2PracticeGetInvestigationPracticeByIdInvestigationIdPracticeIdGet.');\n }\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2PracticeGetInvestigationPracticeByIdInvestigationIdPracticeIdGet.');\n }\n const localVarPath = `/api/v2/Practice/GetInvestigationPracticeById/{investigationId}/{practiceId}`\n .replace(`{${\"investigationId\"}}`, encodeURIComponent(String(investigationId)))\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns LinkedPractices\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeGetLinkedPracticesPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2PracticeGetLinkedPracticesPracticeIdGet.');\n }\n const localVarPath = `/api/v2/Practice/GetLinkedPractices/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns PracticeAdditionalContact\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeGetPracticeAdditionalContactPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2PracticeGetPracticeAdditionalContactPracticeIdGet.');\n }\n const localVarPath = `/api/v2/Practice/GetPracticeAdditionalContact/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns Practice\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeGetPracticeByIdPracticeIdGet: async (practiceId: number, options: any = {}): Promise => {\n // verify required parameter 'practiceId' is not null or undefined\n if (practiceId === null || practiceId === undefined) {\n throw new RequiredError('practiceId','Required parameter practiceId was null or undefined when calling apiV2PracticeGetPracticeByIdPracticeIdGet.');\n }\n const localVarPath = `/api/v2/Practice/GetPracticeById/{practiceId}`\n .replace(`{${\"practiceId\"}}`, encodeURIComponent(String(practiceId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns Practices\n * @param {FirmSearchRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeSearchPracticePost: async (body?: FirmSearchRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/Practice/SearchPractice`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * PracticeApi - functional programming interface\n * @export\n */\nexport const PracticeApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns External Examiner\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PracticeGetExternalExaminerByPracticeIdPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV2PracticeGetExternalExaminerByPracticeIdPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns Practice\n * @param {number} investigationId \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PracticeGetInvestigationPracticeByIdInvestigationIdPracticeIdGet(investigationId: number, practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV2PracticeGetInvestigationPracticeByIdInvestigationIdPracticeIdGet(investigationId, practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns LinkedPractices\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PracticeGetLinkedPracticesPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV2PracticeGetLinkedPracticesPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns PracticeAdditionalContact\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PracticeGetPracticeAdditionalContactPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV2PracticeGetPracticeAdditionalContactPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns Practice\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PracticeGetPracticeByIdPracticeIdGet(practiceId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV2PracticeGetPracticeByIdPracticeIdGet(practiceId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns Practices\n * @param {FirmSearchRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2PracticeSearchPracticePost(body?: FirmSearchRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await PracticeApiAxiosParamCreator(configuration).apiV2PracticeSearchPracticePost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * PracticeApi - factory interface\n * @export\n */\nexport const PracticeApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary Returns External Examiner\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeGetExternalExaminerByPracticeIdPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV2PracticeGetExternalExaminerByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns Practice\n * @param {number} investigationId \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeGetInvestigationPracticeByIdInvestigationIdPracticeIdGet(investigationId: number, practiceId: number, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV2PracticeGetInvestigationPracticeByIdInvestigationIdPracticeIdGet(investigationId, practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns LinkedPractices\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeGetLinkedPracticesPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV2PracticeGetLinkedPracticesPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns PracticeAdditionalContact\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeGetPracticeAdditionalContactPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV2PracticeGetPracticeAdditionalContactPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns Practice\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeGetPracticeByIdPracticeIdGet(practiceId: number, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV2PracticeGetPracticeByIdPracticeIdGet(practiceId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns Practices\n * @param {FirmSearchRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2PracticeSearchPracticePost(body?: FirmSearchRequest, options?: any): AxiosPromise {\n return PracticeApiFp(configuration).apiV2PracticeSearchPracticePost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * PracticeApi - object-oriented interface\n * @export\n * @class PracticeApi\n * @extends {BaseAPI}\n */\nexport class PracticeApi extends BaseAPI {\n /**\n * \n * @summary Returns External Examiner\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV2PracticeGetExternalExaminerByPracticeIdPracticeIdGet(practiceId: number, options?: any) {\n return PracticeApiFp(this.configuration).apiV2PracticeGetExternalExaminerByPracticeIdPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns Practice\n * @param {number} investigationId \n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV2PracticeGetInvestigationPracticeByIdInvestigationIdPracticeIdGet(investigationId: number, practiceId: number, options?: any) {\n return PracticeApiFp(this.configuration).apiV2PracticeGetInvestigationPracticeByIdInvestigationIdPracticeIdGet(investigationId, practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns LinkedPractices\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV2PracticeGetLinkedPracticesPracticeIdGet(practiceId: number, options?: any) {\n return PracticeApiFp(this.configuration).apiV2PracticeGetLinkedPracticesPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns PracticeAdditionalContact\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV2PracticeGetPracticeAdditionalContactPracticeIdGet(practiceId: number, options?: any) {\n return PracticeApiFp(this.configuration).apiV2PracticeGetPracticeAdditionalContactPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns Practice\n * @param {number} practiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV2PracticeGetPracticeByIdPracticeIdGet(practiceId: number, options?: any) {\n return PracticeApiFp(this.configuration).apiV2PracticeGetPracticeByIdPracticeIdGet(practiceId, options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns Practices\n * @param {FirmSearchRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof PracticeApi\n */\n public apiV2PracticeSearchPracticePost(body?: FirmSearchRequest, options?: any) {\n return PracticeApiFp(this.configuration).apiV2PracticeSearchPracticePost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\nimport { SyncInvestigationIEnumerableResponse } from '../models';\nimport { SyncOtherIEnumerableResponse } from '../models';\nimport { SyncPracticeIEnumerableResponse } from '../models';\nimport { SyncStatusResponse } from '../models';\n/**\n * SyncApi - axios parameter creator\n * @export\n */\nexport const SyncApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns SyncInvestigations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2SyncGetSyncInvestigationsGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Sync/GetSyncInvestigations`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns SyncOthers\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2SyncGetSyncOthersGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Sync/GetSyncOthers`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns SyncPractices\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2SyncGetSyncPracticesGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Sync/GetSyncPractices`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns SyncStatus\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2SyncGetSyncStatusGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Sync/GetSyncStatus`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns boolean value whether SyncOther is ready\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2SyncIsSyncOtherReadyGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/Sync/IsSyncOtherReady`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * SyncApi - functional programming interface\n * @export\n */\nexport const SyncApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns SyncInvestigations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2SyncGetSyncInvestigationsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await SyncApiAxiosParamCreator(configuration).apiV2SyncGetSyncInvestigationsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns SyncOthers\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2SyncGetSyncOthersGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await SyncApiAxiosParamCreator(configuration).apiV2SyncGetSyncOthersGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns SyncPractices\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2SyncGetSyncPracticesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await SyncApiAxiosParamCreator(configuration).apiV2SyncGetSyncPracticesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns SyncStatus\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2SyncGetSyncStatusGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await SyncApiAxiosParamCreator(configuration).apiV2SyncGetSyncStatusGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns boolean value whether SyncOther is ready\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2SyncIsSyncOtherReadyGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await SyncApiAxiosParamCreator(configuration).apiV2SyncIsSyncOtherReadyGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * SyncApi - factory interface\n * @export\n */\nexport const SyncApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary Returns SyncInvestigations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2SyncGetSyncInvestigationsGet(options?: any): AxiosPromise {\n return SyncApiFp(configuration).apiV2SyncGetSyncInvestigationsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns SyncOthers\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2SyncGetSyncOthersGet(options?: any): AxiosPromise {\n return SyncApiFp(configuration).apiV2SyncGetSyncOthersGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns SyncPractices\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2SyncGetSyncPracticesGet(options?: any): AxiosPromise {\n return SyncApiFp(configuration).apiV2SyncGetSyncPracticesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns SyncStatus\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2SyncGetSyncStatusGet(options?: any): AxiosPromise {\n return SyncApiFp(configuration).apiV2SyncGetSyncStatusGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns boolean value whether SyncOther is ready\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2SyncIsSyncOtherReadyGet(options?: any): AxiosPromise {\n return SyncApiFp(configuration).apiV2SyncIsSyncOtherReadyGet(options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * SyncApi - object-oriented interface\n * @export\n * @class SyncApi\n * @extends {BaseAPI}\n */\nexport class SyncApi extends BaseAPI {\n /**\n * \n * @summary Returns SyncInvestigations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SyncApi\n */\n public apiV2SyncGetSyncInvestigationsGet(options?: any) {\n return SyncApiFp(this.configuration).apiV2SyncGetSyncInvestigationsGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns SyncOthers\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SyncApi\n */\n public apiV2SyncGetSyncOthersGet(options?: any) {\n return SyncApiFp(this.configuration).apiV2SyncGetSyncOthersGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns SyncPractices\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SyncApi\n */\n public apiV2SyncGetSyncPracticesGet(options?: any) {\n return SyncApiFp(this.configuration).apiV2SyncGetSyncPracticesGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns SyncStatus\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SyncApi\n */\n public apiV2SyncGetSyncStatusGet(options?: any) {\n return SyncApiFp(this.configuration).apiV2SyncGetSyncStatusGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns boolean value whether SyncOther is ready\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SyncApi\n */\n public apiV2SyncIsSyncOtherReadyGet(options?: any) {\n return SyncApiFp(this.configuration).apiV2SyncIsSyncOtherReadyGet(options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { BooleanResponse } from '../models';\n/**\n * SystemApi - axios parameter creator\n * @export\n */\nexport const SystemApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns boolean value of offline status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2SystemGetOfflineStatusGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/System/GetOfflineStatus`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * SystemApi - functional programming interface\n * @export\n */\nexport const SystemApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns boolean value of offline status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2SystemGetOfflineStatusGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await SystemApiAxiosParamCreator(configuration).apiV2SystemGetOfflineStatusGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * SystemApi - factory interface\n * @export\n */\nexport const SystemApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary Returns boolean value of offline status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2SystemGetOfflineStatusGet(options?: any): AxiosPromise {\n return SystemApiFp(configuration).apiV2SystemGetOfflineStatusGet(options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * SystemApi - object-oriented interface\n * @export\n * @class SystemApi\n * @extends {BaseAPI}\n */\nexport class SystemApi extends BaseAPI {\n /**\n * \n * @summary Returns boolean value of offline status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SystemApi\n */\n public apiV2SystemGetOfflineStatusGet(options?: any) {\n return SystemApiFp(this.configuration).apiV2SystemGetOfflineStatusGet(options).then((request) => request(this.axios, this.basePath));\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Trust Investigator APP\n * The Law Society Trust Investigation Api with Swagger, Swashbuckle, and API Versioning.\n *\n * OpenAPI spec version: 2.0\n * Contact: hitesh.patel@lawsociety.com.au\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\nimport { DoubleResponse } from '../models';\nimport { TimeEntryIEnumerableResponse } from '../models';\nimport { TimeEntryRequest } from '../models';\n/**\n * TimeEntryApi - axios parameter creator\n * @export\n */\nexport const TimeEntryApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns My MissingTime\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryGetMyMissingTimeGet: async (options: any = {}): Promise => {\n const localVarPath = `/api/v2/TimeEntry/GetMyMissingTime`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Returns Events\n * @param {TimeEntryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryGetTimeEntriesPost: async (body?: TimeEntryRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v2/TimeEntry/GetTimeEntries`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, 'https://example.com');\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n const query = new URLSearchParams(localVarUrlObj.search);\n for (const key in localVarQueryParameter) {\n query.set(key, localVarQueryParameter[key]);\n }\n for (const key in options.query) {\n query.set(key, options.query[key]);\n }\n localVarUrlObj.search = (new URLSearchParams(query)).toString();\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof body !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || \"\");\n\n return {\n url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * TimeEntryApi - functional programming interface\n * @export\n */\nexport const TimeEntryApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary Returns My MissingTime\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2TimeEntryGetMyMissingTimeGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TimeEntryApiAxiosParamCreator(configuration).apiV2TimeEntryGetMyMissingTimeGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Returns Events\n * @param {TimeEntryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async apiV2TimeEntryGetTimeEntriesPost(body?: TimeEntryRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TimeEntryApiAxiosParamCreator(configuration).apiV2TimeEntryGetTimeEntriesPost(body, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * TimeEntryApi - factory interface\n * @export\n */\nexport const TimeEntryApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary Returns My MissingTime\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryGetMyMissingTimeGet(options?: any): AxiosPromise {\n return TimeEntryApiFp(configuration).apiV2TimeEntryGetMyMissingTimeGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Returns Events\n * @param {TimeEntryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n apiV2TimeEntryGetTimeEntriesPost(body?: TimeEntryRequest, options?: any): AxiosPromise {\n return TimeEntryApiFp(configuration).apiV2TimeEntryGetTimeEntriesPost(body, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * TimeEntryApi - object-oriented interface\n * @export\n * @class TimeEntryApi\n * @extends {BaseAPI}\n */\nexport class TimeEntryApi extends BaseAPI {\n /**\n * \n * @summary Returns My MissingTime\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TimeEntryApi\n */\n public apiV2TimeEntryGetMyMissingTimeGet(options?: any) {\n return TimeEntryApiFp(this.configuration).apiV2TimeEntryGetMyMissingTimeGet(options).then((request) => request(this.axios, this.basePath));\n }\n /**\n * \n * @summary Returns Events\n * @param {TimeEntryRequest} [body] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TimeEntryApi\n */\n public apiV2TimeEntryGetTimeEntriesPost(body?: TimeEntryRequest, options?: any) {\n return TimeEntryApiFp(this.configuration).apiV2TimeEntryGetTimeEntriesPost(body, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","import globalAxios, { AxiosInstance } from 'axios';\nimport {\n CodeApi,\n InvestigationApi,\n TimeEntryApi,\n TrustTeamMemberApi,\n SyncHistoryApi,\n CalendarApi,\n BreachApi,\n SystemApi,\n AccountAppApi,\n ConfigTrustApi,\n StatutoryDepositApi,\n ReportApi,\n ComplianceFormApi,\n} from '../typescript-trust-ti-api-client/api';\nimport { AccountApi } from '../typescript-trust-ti-api-client/apis/account-api';\nimport { NotesApi } from '../typescript-trust-ti-api-client/apis/notes-api';\nimport { PracticeApi } from '../typescript-trust-ti-api-client/apis/practice-api';\nimport { Configuration } from '../typescript-trust-ti-api-client/configuration';\nimport { PeopleApi } from '../typescript-trust-ti-api-client/apis/people-api';\nimport { CorrespondenceApi } from '../typescript-trust-ti-api-client/apis/correspondence-api';\n\nimport { AccountApi as AccountApiV2 } from '../typescript-trust-ti-api-client-v2/api';\nimport { AccountingAppApi as AccountAppApiV2 } from '../typescript-trust-ti-api-client-v2/api';\nimport { CalendarApi as CalendarApiV2 } from '../typescript-trust-ti-api-client-v2/api';\nimport { CodeApi as CodeApiV2 } from '../typescript-trust-ti-api-client-v2/api';\nimport { ComplianceFormApi as ComplianceFormApiV2 } from '../typescript-trust-ti-api-client-v2/api';\nimport { CorrespondenceApi as CorrespondenceApiV2 } from '../typescript-trust-ti-api-client-v2/api';\nimport { InvestigationApi as InvestigationApiV2 } from '../typescript-trust-ti-api-client-v2/api';\nimport { NotesApi as NotesApiV2 } from '../typescript-trust-ti-api-client-v2/api';\nimport { PeopleApi as PeopleApiV2 } from '../typescript-trust-ti-api-client-v2/api';\nimport { PracticeApi as PracticeApiV2 } from '../typescript-trust-ti-api-client-v2/api';\nimport { SyncApi as SyncApiV2 } from '../typescript-trust-ti-api-client-v2/api';\nimport { SystemApi as SystemApiV2 } from '../typescript-trust-ti-api-client-v2/api';\nimport { TimeEntryApi as TimeEntryApiV2 } from '../typescript-trust-ti-api-client-v2/api';\n\nexport const BASE_PATH = '/'.replace(/\\/+$/, '');\n\nexport class TrustTIAPI {\n public CodeApi?: CodeApi;\n public InvestigationApi?: InvestigationApi;\n public TimeEntryApi?: TimeEntryApi;\n public TrustTeamMemberApi?: TrustTeamMemberApi;\n public SyncHistoryApi?: SyncHistoryApi;\n public CalendarApi?: CalendarApi;\n public PracticeApi?: PracticeApi;\n public NotesApi?: NotesApi;\n public AccountApi?: AccountApi;\n public PeopleApi?: PeopleApi;\n public CorrespondenceApi?: CorrespondenceApi;\n public SystemApi?: SystemApi;\n public BreachApi?: BreachApi;\n public AccountAppApi?: AccountAppApi;\n public ConfigTrustApi?: ConfigTrustApi;\n public StatutoryDepositApi?: StatutoryDepositApi;\n public ReportApi?: ReportApi;\n public ComplianceFormApi?: ComplianceFormApi;\n\n public AccountApiV2?: AccountApiV2;\n public AccountAppApiV2?: AccountAppApiV2;\n public CalendarApiV2?: CalendarApiV2;\n public CodeApiV2?: CodeApiV2;\n public ComplianceFormApiV2?: ComplianceFormApiV2;\n public CorrespondenceApiV2?: CorrespondenceApiV2;\n public InvestigationApiV2?: InvestigationApiV2;\n public NotesApiV2?: NotesApiV2;\n public PeopleApiV2?: PeopleApiV2;\n public PracticeApiV2?: PracticeApiV2;\n public SyncApiV2?: SyncApiV2;\n public SystemApiV2?: SystemApiV2;\n public TimeEntryApiV2?: TimeEntryApiV2;\n\n constructor(\n configuration?: Configuration,\n protected basePath: string = BASE_PATH,\n protected axios: AxiosInstance = globalAxios,\n ) {\n this.CodeApi = new CodeApi(configuration, basePath, axios);\n this.InvestigationApi = new InvestigationApi(configuration, basePath, axios);\n this.TimeEntryApi = new TimeEntryApi(configuration, basePath, axios);\n this.TrustTeamMemberApi = new TrustTeamMemberApi(configuration, basePath, axios);\n this.SyncHistoryApi = new SyncHistoryApi(configuration, basePath, axios);\n this.CalendarApi = new CalendarApi(configuration, basePath, axios);\n this.PracticeApi = new PracticeApi(configuration, basePath, axios);\n this.NotesApi = new NotesApi(configuration, basePath, axios);\n this.AccountApi = new AccountApi(configuration, basePath, axios);\n this.PeopleApi = new PeopleApi(configuration, basePath, axios);\n this.CorrespondenceApi = new CorrespondenceApi(configuration, basePath, axios);\n this.SystemApi = new SystemApi(configuration, basePath, axios);\n this.BreachApi = new BreachApi(configuration, basePath, axios);\n this.AccountAppApi = new AccountAppApi(configuration, basePath, axios);\n this.ConfigTrustApi = new ConfigTrustApi(configuration, basePath, axios);\n this.StatutoryDepositApi = new StatutoryDepositApi(configuration, basePath, axios);\n this.ReportApi = new ReportApi(configuration, basePath, axios);\n this.ComplianceFormApi = new ComplianceFormApi(configuration, basePath, axios);\n\n this.AccountApiV2 = new AccountApiV2(configuration, basePath, axios);\n this.AccountAppApiV2 = new AccountAppApiV2(configuration, basePath, axios);\n this.CalendarApiV2 = new CalendarApiV2(configuration, basePath, axios);\n this.CodeApiV2 = new CodeApiV2(configuration, basePath, axios);\n this.ComplianceFormApiV2 = new ComplianceFormApiV2(configuration, basePath, axios);\n this.CorrespondenceApiV2 = new CorrespondenceApiV2(configuration, basePath, axios);\n this.InvestigationApiV2 = new InvestigationApiV2(configuration, basePath, axios);\n this.NotesApiV2 = new NotesApiV2(configuration, basePath, axios);\n this.PeopleApiV2 = new PeopleApiV2(configuration, basePath, axios);\n this.PracticeApiV2 = new PracticeApiV2(configuration, basePath, axios);\n this.SyncApiV2 = new SyncApiV2(configuration, basePath, axios);\n this.SystemApiV2 = new SystemApiV2(configuration, basePath, axios);\n this.TimeEntryApiV2 = new TimeEntryApiV2(configuration, basePath, axios);\n }\n}\n","export class User {\n constructor(\n public id: number = 0,\n public externalId: string = '',\n public email: string = '',\n public firstName: string = '',\n public lastName: string = '',\n public title: string = '',\n public userName: string = '',\n public fullName: string = '',\n public isMember: boolean = false,\n public isPcHolder: boolean = false,\n public securityGroups: string = '',\n public roles: Role[] = [],\n ) { }\n}\n\nexport type Role = RoleType.TrustAdmin | RoleType.TrustInvestigator |\nRoleType.TrustManager | RoleType.TrustSectionLeader | RoleType.TrustSuperAdmin;\n\nexport enum RoleType {\n TrustAdmin = 'TrustAdmin',\n TrustInvestigator = 'TrustInvestigator',\n TrustManager = 'Manager',\n TrustSectionLeader = 'SectionLeader',\n TrustSuperAdmin = 'SuperAdmin'\n}\n\n","export type AuthenticationStatus = AuthenticationStatusType.Unknown | AuthenticationStatusType.NotLogin |\n AuthenticationStatusType.LoggedIn | AuthenticationStatusType.AppAccessPermitted |\n AuthenticationStatusType.AppAccessDenied;\n\nexport enum AuthenticationStatusType {\n Unknown,\n NotLogin,\n LoggedIn,\n AppAccessDenied,\n AppAccessPermitted,\n}\n","export class Token {\n constructor(\n public clientId: number | null = null,\n public tokenStr: string | null = null,\n public userId: number | null = null\n ) {\n }\n}\n","export class Session {\n\n constructor(\n public issued: number = 0,\n public expires: number = 0,\n ) {}\n\n public hasExpired(): boolean {\n return Math.round(new Date().getTime() / 1000) >= this.expires;\n }\n}\n","import { User } from './user'\nimport { Token } from './token'\nimport { AuthenticationStatus, AuthenticationStatusType } from '../modules/authentication/authentication-status'\nimport { Session } from './session'\n\nexport class AuthorizedUser {\n constructor(\n public user: User = new User(),\n public token: Token = new Token(),\n public session: Session = new Session(),\n public authenticationStatus: AuthenticationStatus = AuthenticationStatusType.Unknown,\n public redirect: boolean = false\n ) { }\n}","import { TrustTeamMemberView } from \"@/shared/modules/typescript-trust-ti-api-client/models/trust-team-member-view\";\nimport { Module } from \"vuex\";\n\n\nconst trustMemberStoreModule: Module = {\n state: {\n selectedTrustTeamMember: {},\n },\n mutations: {\n setSelectedTrustTeamMember(state, i: TrustTeamMemberView) {\n state.selectedTrustTeamMember = i;\n }\n },\n actions: {\n setSelectedTrustTeamMember({ commit }, i: TrustTeamMemberView) {\n commit('setSelectedTrustTeamMember', i);\n }\n },\n getters: {\n getSelectedTrustTeamMember: (state) => state.selectedTrustTeamMember,\n }\n}\nexport default trustMemberStoreModule;","import { InvestigationView } from \"@/shared/modules/typescript-trust-ti-api-client/models/investigation-view\";\nimport { Module } from \"vuex\";\n\n\nconst investigationStoreModule: Module = {\n state: {\n selectedInvestigation: {},\n },\n mutations: {\n setSelectedInvestigation(state, i: InvestigationView) {\n state.selectedInvestigation = i;\n }\n\n },\n actions: {\n setSelectedInvestigation({ commit }, i: InvestigationView) {\n commit('setSelectedInvestigation', i);\n }\n },\n getters: {\n getSelectedInvestigation: (state) => state.selectedInvestigation,\n }\n}\nexport default investigationStoreModule;","import { AccountingAppView } from \"@/shared/modules/typescript-trust-ti-api-client/models\";\nimport { Module } from \"vuex\";\n\nconst accountAppStoreModule: Module = {\n state: {\n accountingApps: [],\n },\n mutations: {\n setAccountingApps(state, i: AccountingAppView[]) {\n state.accountingApps = i;\n }\n },\n actions: {\n setAccountingApps({ commit }, i: AccountingAppView[]) {\n commit('setAccountingApps', i);\n }\n },\n getters: {\n getAccountingApps: (state) => state.accountingApps,\n }\n}\nexport default accountAppStoreModule;","import { createStore } from 'vuex';\nimport { EventEmitter } from 'events';\nimport { AuthorizedUser } from '../models/authorized-user';\nimport snackBarStoreModule from '@/shared/components/snackbar/snack-bar-store-module';\nimport trustMemberStoreModule from './trust-member-store.module';\nimport investigationStoreModule from './investigation-store-module';\nimport accountAppStoreModule from './account-app-store-module';\n\n\nexport default createStore({\n modules: {\n trustMemberStoreModule,\n snackBarStoreModule,\n investigationStoreModule,\n accountAppStoreModule,\n },\n state: {\n authorizedUser: new AuthorizedUser(),\n eventController: new EventEmitter(),\n },\n mutations: {\n setUserAccount(state, authorizedUser: AuthorizedUser) {\n state.authorizedUser = authorizedUser;\n },\n },\n actions: { // store.dispatch\n setUserAccount({ commit }, authorizedUser: AuthorizedUser) {\n commit('setUserAccount', authorizedUser);\n }\n },\n getters: {\n getUserAccount: (state) => state.authorizedUser,\n getEventController: (state) => state.eventController,\n }\n})\n","import { Inject, Options, Prop, Ref, Vue } from 'vue-property-decorator';\nimport ModalBox from '@/shared/components/modal-box/index.vue';\nimport FileDragAndDrop from '@/shared/components/file-drag-and-drop/index.vue';\nimport { TrustTIAPI } from '@/shared/modules/trust-ti-api';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport { AppInsights } from '@/trust-investigator-app/appInsights';\nimport storeTI from '@/trust-investigator-app/store';\nimport storeTA from '@/trust-admin-app/store';\nimport { EventEmitter } from 'events';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport {\n AdditionalFile,\n ComplianceFormFileRequest,\n InvestigatorWorkingPaperView,\n} from '@/shared/modules/typescript-trustapi-client/models';\nimport FilePreview from '@/shared/components/file-preview/index.vue';\nimport { FilePreviewData } from '@/shared/components/file-preview/file-preview-data';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport LoadingIndicator from '../loading-indicator/index.vue';\nimport AlertBox from '../alert-box/index.vue';\nimport { RoleType } from '@/trust-admin-app/models/user';\nimport { AuthorizedUser } from '@/trust-admin-app/models/authorized-user';\nimport AccessValidationMixin from '@/shared/mixins/access-validation';\n\n@Options({\n components: {\n ModalBox,\n FileDragAndDrop,\n ErrorIndicator,\n LoadingIndicator,\n FilePreview,\n AlertBox,\n },\n mixins: [FormatDateTimeMixin, AccessValidationMixin],\n})\nexport default class AdditionalDocumentsModal extends Vue {\n @Inject({ from: 'apiService', default: new TrustTIAPI() })\n private apiServiceTI!: TrustTIAPI;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiServiceTA!: TrustAPI;\n\n @Ref('fileDropAndDrop') readonly fileDropAndDrop!: any;\n\n @Prop({ default: null })\n private practice!: any;\n\n @Prop({ default: 'TA' })\n private appName!: string;\n\n private isSubmitting = false;\n private showFileEditModal = false;\n\n private acceptAnyFileTypes = true;\n\n private showFilePreview = false;\n\n private selectedWorkingPaper: InvestigatorWorkingPaperView = null as any;\n\n private selectedFileForPreview: FilePreviewData = new FilePreviewData();\n\n private files: AdditionalFile[] = [];\n\n private readOnly = false;\n\n private filePreviewState = 1;\n private isLoadingStream = false;\n\n created(): void {\n this.getFileList();\n }\n\n private openWorkingPaperEditor(f: InvestigatorWorkingPaperView): void {\n this.selectedWorkingPaper = f;\n this.showFileEditModal = true;\n }\n\n private closeWorkingPaperEditor(): void {\n this.selectedWorkingPaper = null as any;\n this.showFileEditModal = false;\n }\n\n private getFileList(): void {\n const _complianceFormId: number = this.practice.id;\n if (this.appName === 'TA') {\n this.apiServiceTA.ComplianceFormApi?.apiV2ComplianceFormAdminGetComplianceFormAdditionalFilesComplianceFormIdGet(\n _complianceFormId,\n )\n .then((res) => {\n this.files = res.data.data;\n // sort by createdOn desc\n this.files.sort((a, b) => {\n return new Date(b.createdOn).getTime() - new Date(a.createdOn).getTime();\n });\n })\n .catch((err) => {\n // this.ai.trackException('Error on getting working papers: ' + JSON.stringify(err));\n this.eventCtrl.emit('show-snackbar', 'error', 'Error on getting working papers: ' + err);\n });\n } else {\n this.apiServiceTI.ComplianceFormApi?.apiV1ComplianceFormGetComplianceFormAdditionalFileComplianceFormIdGet(\n _complianceFormId,\n )\n .then((res) => {\n this.files = res.data.data;\n // sort by createdOn desc\n this.files.sort((a, b) => {\n return new Date(b.createdOn).getTime() - new Date(a.createdOn).getTime();\n });\n })\n .catch((err) => {\n // this.ai.trackException('Error on getting working papers: ' + JSON.stringify(err));\n this.eventCtrl.emit('show-snackbar', 'error', 'Error on getting working papers: ' + err);\n });\n }\n }\n\n private async getFileStream(file: AdditionalFile): Promise {\n this.isLoadingStream = true;\n try {\n this.filePreviewState = 1;\n let resp: any;\n if (this.appName === 'TA') {\n resp = await this.apiServiceTA.FileAtcsApi?.apiV2FileAtcsAdminDownloadStreamFileIdGet(file.fileId, {\n responseType: 'blob',\n });\n } else {\n const _complianceFormId: number = this.practice.id;\n resp =\n await this.apiServiceTI.ComplianceFormApi?.apiV1ComplianceFormDownloadAdditionalFileStreamComplianceFormIdFileIdGet(\n _complianceFormId,\n file.fileId,\n {\n responseType: 'blob',\n },\n );\n }\n\n this.selectedFileForPreview = new FilePreviewData(\n file.fileName,\n file.fileExtension,\n resp.data,\n resp.headers['content-type'],\n );\n this.openFilePreviewer(this.selectedFileForPreview);\n this.isLoadingStream = false;\n this.filePreviewState = 2;\n } catch (error) {\n this.isLoadingStream = false;\n this.filePreviewState = 3;\n this.eventCtrl.emit('show-snackbar', 'error', 'Error on getting file stream: ' + error);\n console.log(error);\n }\n }\n\n private openFilePreviewer(file: FilePreviewData): void {\n this.selectedFileForPreview = file;\n this.showFilePreview = true;\n }\n\n private async uploadAllFiles(fileList: Array): Promise {\n const allRequests: Array> = [];\n this.isSubmitting = true;\n try {\n if (fileList.length > 0) {\n fileList.forEach((x) => allRequests.push(this.uploadFile(x)));\n const resp: any = await Promise.all(allRequests);\n this.fileDropAndDrop.selectedFiles = [];\n\n const failedUpload = resp.filter((x: any) => x.err).map((x: any) => x.file.name);\n\n if (failedUpload.length > 0) {\n const filesInString = failedUpload.join('
');\n this.eventCtrl.emit('show-snackbar', 'error', 'File(s) failed to upload:
' + filesInString);\n } else {\n this.eventCtrl.emit('show-snackbar', 'success', 'File(s) uploaded');\n }\n this.getFileList();\n }\n } catch (err: any) {\n console.log(err);\n // this.ai.trackException('Error on upload file: ' + JSON.stringify(err));\n this.eventCtrl.emit('show-snackbar', 'error', 'Error on upload file: ' + err);\n } finally {\n this.isSubmitting = false;\n }\n }\n\n private async uploadFile(file: File): Promise {\n const _id: number = this.practice.id;\n try {\n const body: ComplianceFormFileRequest = {\n complianceFormId: _id,\n fileName: file.name,\n fileDataUrl: '',\n fileExtension: file.name.split('.').pop() as string,\n };\n\n const fileStr = await this.fileToString(file);\n body.fileDataUrl = fileStr;\n await this.apiServiceTA.FileAtcsApi?.apiV2FileAtcsAdminSaveComplianceFormAdditionalFilePost(body);\n return Promise.resolve({ err: false, file });\n } catch (err) {\n console.log(err);\n return Promise.reject({ err: true, file });\n }\n }\n\n private fileToString(file: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n return resolve(reader.result as string);\n };\n\n reader.onabort = () => {\n return reject();\n };\n\n reader.onerror = () => {\n return reject();\n };\n });\n }\n\n get eventCtrl(): EventEmitter {\n return this.appName === 'TA' ? storeTA.getters.getEventController : storeTI.getters.getEventController;\n }\n\n private closeModal() {\n this.$emit('reloadData');\n this.$emit('close');\n }\n\n private closeFilePreview() {\n this.showFilePreview = false;\n }\n\n private showDeleteConfirmation = false;\n private fileToDelete = null as any;\n\n private async deleteFile(file: AdditionalFile): Promise {\n this.fileToDelete = file;\n this.showDeleteConfirmation = true;\n }\n\n private async deleteIt() {\n try {\n await this.apiServiceTA.FileAtcsApi?.apiV2FileAtcsAdminDeleteAdditionalFileComplianceFormIdFileIdDelete(\n this.practice.id,\n this.fileToDelete.fileId,\n );\n this.showDeleteConfirmation = false;\n this.getFileList();\n } catch (err) {\n console.log(err);\n this.showDeleteConfirmation = false;\n }\n }\n\n get usrAcct(): AuthorizedUser {\n return this.appName === 'TA' ? storeTA.getters.getUserAccount : storeTI.getters.getUserAccount;\n }\n\n get isSuperAdmin(): boolean {\n return this.$accessPermitted(this.usrAcct.user.roles, [RoleType.TrustSuperAdmin]);\n }\n\n private getViewButtonLabel(f: AdditionalFile): string {\n try {\n if (f.fileExtension?.toLocaleLowerCase() === 'pdf') {\n return 'View';\n } else {\n const fileType: string[] = ['png', 'jpg', 'bmp', 'jpeg'];\n const fileExtension = f.fileExtension?.toLocaleLowerCase() || '';\n return fileType.indexOf(fileExtension) >= 0 ? 'View' : 'Download';\n }\n } catch (e) {\n return 'Download';\n }\n }\n}\n","import { render } from \"./additional-documents-modal.html?vue&type=template&id=57f7dc0d&scoped=true&ts=true&external\"\nimport script from \"./additional-documents-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./additional-documents-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./additional-documents-modal.scss?vue&type=style&index=0&id=57f7dc0d&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-57f7dc0d\"]])\n\nexport default __exports__","import { TrustAPI } from '@/shared/modules/trust-api';\nimport { ComplianceFormTip } from '@/shared/modules/typescript-trustapi-client/models';\nimport { AppInsights } from '@/trust-admin-app/appInsights';\nimport store from '@/trust-admin-app/store';\nimport { EventEmitter } from 'events';\nimport { Inject, Options, Vue } from 'vue-property-decorator';\nimport ActionModal from './action-modal/index.vue';\nimport AdditionalDocumentsModal from '@/shared/components/additional-documents-modal/index.vue';\n\nexport interface MenuOption {\n id: number;\n menuText: string;\n menuAction: string;\n menuTarget: string;\n isDisabled?: boolean;\n icon?: string;\n showIcon?: boolean;\n}\n\n@Options({\n props: {\n practice: Object,\n },\n components: {\n ActionModal,\n AdditionalDocumentsModal,\n },\n})\nexport default class DropdownActions extends Vue {\n private practice!: any;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights();\n private showAdditionalDocumentsModal = false;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private dropdownRef = 'dropdown_' + this.guid();\n private buttonRef = 'button' + this.guid();\n private iconRef = 'icon' + this.guid();\n\n private menuOptions: MenuOption[] = [];\n private actionType = '';\n private showModal = false;\n\n private buttonClicked(): void {\n this.constructMenuOptions();\n const el = this.$refs[this.dropdownRef] as HTMLElement;\n const elBtn = this.$refs[this.buttonRef] as HTMLElement;\n el.classList.toggle('show');\n elBtn.classList.toggle('show');\n }\n\n private menuSelected(menuOption: any) {\n const el = this.$refs[this.dropdownRef] as HTMLElement;\n const elBtn = this.$refs[this.buttonRef] as HTMLElement;\n el.classList.remove('show');\n elBtn.classList.remove('show');\n\n if (menuOption.isDisabled) return;\n\n switch (menuOption.menuAction) {\n case 'open-modal':\n this.actionType = menuOption.menuTarget;\n if (this.actionType === 'file-uploads') {\n this.showAdditionalDocumentsModal = true;\n } else {\n this.showModal = true;\n }\n break;\n case 'view-pdf':\n switch (menuOption.menuTarget) {\n case 'pdf-part-a':\n this.viewPartA(this.practice);\n break;\n case 'pdf-part-b':\n this.viewPartB(this.practice);\n break;\n case 'pdf-eer':\n this.viewEer(this.practice);\n break;\n }\n break;\n }\n }\n\n mounted(): void {\n window.addEventListener('click', this.clickedElement);\n }\n\n private constructMenuOptions(): void {\n this.menuOptions = [];\n if (this.practice) {\n this.menuOptions.push({\n id: 1,\n menuText: 'View Part A',\n menuAction: 'view-pdf',\n menuTarget: 'pdf-part-a',\n isDisabled: !this.practice.trustAdminAction?.isEnableViewPartA,\n });\n this.menuOptions.push({\n id: 2,\n menuText: 'View Part B',\n menuAction: 'view-pdf',\n menuTarget: 'pdf-part-b',\n isDisabled: !this.practice.trustAdminAction?.isEnableViewPartB,\n });\n this.menuOptions.push({\n id: 3,\n menuText: 'View EE report',\n menuAction: 'view-pdf',\n menuTarget: 'pdf-eer',\n isDisabled: !this.practice.trustAdminAction?.isEnableViewEeReport,\n });\n this.menuOptions.push({\n id: 4,\n menuText: 'View file attachment',\n menuAction: 'open-modal',\n menuTarget: 'file-attachment',\n isDisabled: !this.practice.trustAdminAction?.isEnableViewFile,\n });\n this.menuOptions.push({\n id: 5,\n menuText: 'Additional documents',\n menuAction: 'open-modal',\n menuTarget: 'file-uploads',\n isDisabled: false,\n showIcon: this.practice?.hasAdditionalFiles,\n icon: 'fal fa-file ml-2',\n });\n this.menuOptions.push({\n id: 6,\n menuText: 'Resubmit Part A',\n menuAction: 'open-modal',\n menuTarget: 'resubmit-part-a',\n isDisabled: !this.practice.trustAdminAction?.isEnableResubmitPartA,\n });\n this.menuOptions.push({\n id: 7,\n menuText: 'Resubmit Part B',\n menuAction: 'open-modal',\n menuTarget: 'resubmit-part-b',\n isDisabled: !this.practice.trustAdminAction?.isEnableResubmitPartB,\n });\n this.menuOptions.push({\n id: 8,\n menuText: 'Not required',\n menuAction: 'open-modal',\n menuTarget: 'absolution',\n isDisabled: !this.practice.trustAdminAction?.isEnableNotRequired,\n });\n }\n }\n\n private async reloadData() {\n this.$emit('reloadData');\n }\n\n private clickedElement(e: MouseEvent): void | boolean {\n const el = this.$refs[this.dropdownRef] as HTMLElement;\n const elBtn = this.$refs[this.buttonRef] as HTMLElement;\n const elIcon = this.$refs[this.iconRef] as HTMLElement;\n const target: HTMLElement = e?.target as HTMLElement;\n if (el !== target && elBtn !== target && elIcon !== target) {\n el?.classList.remove('show');\n elBtn?.classList.remove('show');\n }\n }\n\n public guid(): string {\n const S4 = () => {\n // tslint:disable-next-line: no-bitwise\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n };\n // then to call it, plus stitch in '4' in the third group\n // tslint:disable-next-line: max-line-length\n return (S4() + S4() + '-' + S4() + '-4' + S4().substr(0, 3) + '-' + S4() + '-' + S4() + S4() + S4()).toLowerCase();\n }\n\n private async viewPartA(p: ComplianceFormTip): Promise {\n if (p.partAPdfHasMultipleVersions) {\n // this.eventCtrl.emit('show-snackbar', 'error', 'Part A has multiple versions. Please download the PDF to view the latest version)');\n this.actionType = 'multiple-part-a';\n this.showModal = true;\n } else {\n try {\n const resp: any = await this.apiService.FileAtcsApi?.apiV2FileAtcsAdminGetPartAFilePartAIdGet(p.partA.id);\n const base64Data = resp.data.data.base64AsString;\n const base64Response = await fetch(`data:application/pdf;base64,${base64Data}`);\n const blob = await base64Response.blob();\n const documentURL = window.URL.createObjectURL(blob);\n window.open(documentURL, '_blank');\n setTimeout(() => {\n URL.revokeObjectURL(documentURL);\n }, 300000);\n Promise.resolve(0);\n } catch {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error downloading Part A PDF');\n Promise.resolve(0);\n }\n }\n }\n\n private async viewPartB(p: ComplianceFormTip): Promise {\n if (p.partBPdfHasMultipleVersions) {\n // this.eventCtrl.emit('show-snackbar', 'error', 'Part B has multiple versions. Please download the PDF to view the latest version)');\n this.actionType = 'multiple-part-b';\n this.showModal = true;\n } else {\n try {\n const resp: any = await this.apiService.FileAtcsApi?.apiV2FileAtcsAdminGetPartBFilePartBIdGet(p.partB.id);\n const base64Data = resp.data.data.base64AsString;\n const base64Response = await fetch(`data:application/pdf;base64,${base64Data}`);\n const blob = await base64Response.blob();\n const documentURL = window.URL.createObjectURL(blob);\n window.open(documentURL, '_blank');\n setTimeout(() => {\n URL.revokeObjectURL(documentURL);\n }, 300000);\n Promise.resolve(0);\n } catch {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error downloading Part B PDF');\n Promise.resolve(0);\n }\n }\n }\n\n async viewEer(p: ComplianceFormTip): Promise {\n if (p.eeReportPdfHasMultipleVersions) {\n // this.eventCtrl.emit('show-snackbar', 'error', 'EE report has multiple versions. Please download the PDF to view the latest version)');\n this.actionType = 'multiple-eer';\n this.showModal = true;\n } else {\n try {\n const resp: any = await this.apiService.FileAtcsApi?.apiV2FileAtcsAdminGetEeReportFileEeReportIdGet(\n p.eeReport.id,\n );\n const base64Data = resp.data.data.base64AsString;\n const base64Response = await fetch(`data:application/pdf;base64,${base64Data}`);\n const blob = await base64Response.blob();\n const documentURL = window.URL.createObjectURL(blob);\n window.open(documentURL, '_blank');\n setTimeout(() => {\n URL.revokeObjectURL(documentURL);\n }, 300000);\n Promise.resolve(0);\n } catch {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error downloading EE report PDF');\n Promise.resolve(0);\n }\n }\n }\n}\n","import { render } from \"./dropdown-actions.html?vue&type=template&id=66f6a1c8&scoped=true&ts=true&external\"\nimport script from \"./dropdown-actions.ts?vue&type=script&lang=ts&external\"\nexport * from \"./dropdown-actions.ts?vue&type=script&lang=ts&external\"\n\nimport \"./dropdown-actions.scss?vue&type=style&index=0&id=66f6a1c8&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-66f6a1c8\"]])\n\nexport default __exports__","import { withModifiers as _withModifiers, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, Transition as _Transition, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7dbf6505\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"generate-ny-cform\"\n}\nconst _hoisted_2 = { class: \"modal-mask\" }\nconst _hoisted_3 = {\n class: \"modal-wrapper\",\n ref: \"modalWrapper\"\n}\nconst _hoisted_4 = { class: \"modal-container\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"modal-header\" }, [\n /*#__PURE__*/_createElementVNode(\"h3\", null, \"Generate Trust Compliance Form\")\n], -1))\nconst _hoisted_6 = { class: \"modal-body\" }\nconst _hoisted_7 = { class: \"text\" }\nconst _hoisted_8 = { class: \"modal-footer\" }\nconst _hoisted_9 = { class: \"button-controls\" }\n\nexport function render(_ctx, _cache) {\n return (_ctx.modalOpened)\n ? (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_Transition, { name: \"modal\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"i\", {\n class: \"fal fa-times close-icon\",\n onClick: _cache[0] || (_cache[0] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\"]))\n }),\n _hoisted_5,\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createTextVNode(\" Are you sure you want to generate the \"),\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.nextYear), 1),\n _createTextVNode(\" compliance form for \"),\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.selectedPractice.firmName), 1),\n _createTextVNode(\"? \")\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"button\", {\n class: \"btn btn-outline\",\n onClick: _cache[1] || (_cache[1] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\"]))\n }, \"Cancel\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary dark\",\n onClick: _cache[2] || (_cache[2] = _withModifiers($event => (_ctx.confirmModal()), [\"prevent\"]))\n }, \"Confirm\")\n ])\n ])\n ])\n ], 512)\n ])\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true)\n}","import { PracticeView } from \"@/shared/modules/typescript-trust-ti-api-client/models/practice-view\";\nimport { FormStatus, GenerateNextYearTrustComplianceForm } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { Options, Prop, Vue, Watch } from \"vue-property-decorator\";\n\n@Options({})\nexport default class GenerateNextYearComplianceModel extends Vue {\n\n\n @Prop({ default: false })\n private modalOpened!: boolean;\n\n @Prop({ default: null })\n private selectedPractice!: PracticeView;\n\n @Prop({ default: null })\n private complianceForm!: \tGenerateNextYearTrustComplianceForm;\n\n @Watch('modalOpened')\n private onModalOpenedChanged(): void {\n if (this.modalOpened) {\n document.body.classList.add('modal-open');\n } else {\n document.body.classList.remove('modal-open');\n }\n }\n\n mounted() {\n if (this.modalOpened) {\n document.body.classList.add('modal-open');\n }\n }\n\n beforeUnmount() {\n if (this.modalOpened) {\n document.body.classList.remove('modal-open');\n }\n }\n\n private closeModal(): void {\n this.$emit('close');\n }\n\n private confirmModal(): void {\n this.$emit('confirmed');\n }\n\n get nextYear(): string {\n return this.complianceForm?.complianceYear?.name || '';\n }\n\n}\n\n","import { render } from \"./generate-nextyear-compliance-model.html?vue&type=template&id=7dbf6505&scoped=true&ts=true&external\"\nimport script from \"./generate-nextyear-compliance-model.ts?vue&type=script&lang=ts&external\"\nexport * from \"./generate-nextyear-compliance-model.ts?vue&type=script&lang=ts&external\"\n\nimport \"./generate-nextyear-compliance-model.scss?vue&type=style&index=0&id=7dbf6505&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7dbf6505\"]])\n\nexport default __exports__","import { Inject, Options, Vue } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-admin-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-admin-app/store\";\nimport ErrorIndicator from \"@/shared/components/error-indicator/index.vue\";\nimport { GenerateNextYearTrustComplianceForm, PracticeView } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { orderBy } from \"lodash\";\nimport DropdownActions from \"../dropdown-actions/index.vue\";\nimport GenerateNextYearComplianceModel from \"./generate-nextyear-compliance-model/index.vue\";\nimport LoadingIndicator from \"@/shared/components/loading-indicator/index.vue\";\n\n@Options({\n components: {\n ErrorIndicator,\n DropdownActions,\n LoadingIndicator,\n GenerateNextYearComplianceModel\n }\n})\nexport default class PracticeTrustCompliance extends Vue {\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private generateComplianceFormAllowed = false;\n\n private tableHeadings = [\n { text: 'Compliance Year', value: 'complianceYear.name', sortable: true, sortMethod: 'desc' },\n { text: 'Progress', value: 'progress', sortable: false },\n { text: 'Non-compliant', value: 'nonCompliant', sortable: false },\n { text: 'Not required', value: 'absolution', sortable: false },\n { text: 'Action', value: 'controlled', sortable: false },\n ];\n\n private activeSortHeader = 1;\n private sortMethod = 'asc';\n private showGenerateNextYearConfirmation = false;\n private generateComplianceForm: GenerateNextYearTrustComplianceForm = null as any;\n\n private trustComplianceTableData = [];\n\n mounted(): void {\n this.loadTableData();\n this.getGenerateComplianceFormEnabled();\n }\n\n private loadTableData() {\n this.loadingContent = true;\n this.apiService.ComplianceFormApi?.apiV2ComplianceFormAdminGetComplianceFormsPost(\n { skip: 0, take: 0, practiceId: this.selectedPractice.id }\n )\n .then(res => {\n this.trustComplianceTableData = res.data.data;\n this.loadingContent = false;\n this.sortTableColumn(0, true);\n })\n .catch(err => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to load Trust compliance data');\n this.ai.trackException('Error getting Trust compliance data: ' + err);\n this.loadingContent = false;\n this.errorLoadingContent = true;\n })\n\n }\n\n private async getGenerateComplianceFormEnabled(): Promise {\n try {\n const resp: any = await this.apiService.ComplianceFormApi?.apiV2ComplianceFormAdminIsGenerateTrustComplianceFormEnablePracticeIdGet(\n this.selectedPractice.id\n );\n this.generateComplianceForm = resp.data;\n this.generateComplianceFormAllowed = resp.data.isEnabled;\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable get generate compliance form setting');\n this.ai.trackException('Error Unable get generate compliance form setting: ' + err);\n }\n }\n\n private async generateNextYearComplianceForm(): Promise {\n try {\n if (!this.generateComplianceFormAllowed) {\n throw Error('Generate next year compliance form is disabled');\n }\n const resp: any = await this.apiService.ComplianceFormApi?.apiV2ComplianceFormAdminGenerateNextYearTrustComplianceFormPracticeIdGet(\n this.selectedPractice.id\n );\n this.showGenerateNextYearConfirmation = !this.showGenerateNextYearConfirmation;\n this.loadTableData();\n this.getGenerateComplianceFormEnabled();\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to generate next year compliance form');\n this.ai.trackException('Error Unable get generate compliance form setting: ' + err);\n }\n }\n\n private generateNextYearComplianceFormButtonClicked(): void {\n this.showGenerateNextYearConfirmation = !this.showGenerateNextYearConfirmation;\n }\n\n private statusColorCSS(statusId: number) {\n switch (statusId) {\n case 1:\n // In progress\n return \"color: #D7B301\";\n case 2:\n // Part A Resubmission required\n return \"color: #638886\";\n case 3:\n case 12:\n // Part B Resubmission required\n return \"color: #638886\";\n case 4:\n // Not yet started\n return \"color: #9EA5AB\";\n case 5:\n case 11:\n // Awaiting External Examiner response\n // EE: Ready to be reviewed\n return \"color: #1968AB\";\n case 6:\n case 13:\n // Non-compliant\n // EE: Trust Compliance not received\n return \"color: #C0392B\";\n case 7:\n case 14:\n // Completed\n return \"color: #27AE60\";\n default:\n return \"color: #000\";\n }\n }\n\n private sortTableColumn(index: number, sortable: boolean) {\n if (sortable) {\n if (this.tableHeadings[index].sortable) {\n this.activeSortHeader = index;\n this.sortMethod = this.sortMethod === 'desc' ? 'asc' : 'desc';\n this.tableHeadings[index].sortMethod = this.sortMethod;\n // console.log(this.tableHeadings[index].sortMethod );\n if (this.trustComplianceTableData.length > 0) {\n const orderByResults: any = orderBy(\n this.trustComplianceTableData,\n this.tableHeadings[index].value,\n [this.sortMethod as any]\n );\n this.trustComplianceTableData = orderByResults;\n }\n }\n }\n }\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n\n private getAbsolution(tc: any): string {\n let absolution = '-';\n\n const part_a = tc.isAbsolvedPartA ? 'Part A' : '';\n const part_b = tc.isAbsolvedPartB ? ', Part B' : '';\n const eer = tc.isAbsolvedEeReport ? ', EE Report' : '';\n\n if (part_a === '' && part_b === '' && eer === '') {\n return absolution;\n } else {\n absolution = part_a + part_b + eer;\n }\n return absolution.replace(/^,|,$/g, '');\n }\n\n private getNonCompliant(tc: any): string {\n let nonCompliant = '-';\n const part_a = tc.isNonCompliantPartA ? 'Part A' : '';\n const part_b = tc.isNonCompliantPartB ? ', Part B' : '';\n const eer = tc.isNonCompliantEeReport ? ', EE Report' : '';\n\n if (part_a === '' && part_b === '' && eer === '') {\n return nonCompliant;\n } else {\n nonCompliant = part_a + part_b + eer;\n }\n return nonCompliant.replace(/^,|,$/g, '');\n\n }\n\n private async reloadData() {\n this.sortMethod = 'asc';\n this.loadTableData();\n }\n\n}\n\n","import { render } from \"./practice-trust-compliance.html?vue&type=template&id=13904a28&scoped=true&ts=true&external\"\nimport script from \"./practice-trust-compliance.ts?vue&type=script&lang=ts&external\"\nexport * from \"./practice-trust-compliance.ts?vue&type=script&lang=ts&external\"\n\nimport \"./practice-trust-compliance.scss?vue&type=style&index=0&id=13904a28&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-13904a28\"]])\n\nexport default __exports__","import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router';\nimport TrustAdminDashboard from '../components/dashboard/index.vue';\nimport TrustAdminMain from '../components/trust-admin-main/index.vue';\nimport { RouteN } from '../constants/router-name';\nimport KitchenSink from '@/shared/components/kitchensink/index.vue';\nimport TrustDataMain from '../components/trust-data-main/index.vue';\nimport AutoLogin from '../components/auto-login/index.vue';\nimport Logout from '../components/logout/index.vue';\nimport NoAccess from '../components/no-access/index.vue';\nimport TrustDataBanks from '../components/trust-data-banks/index.vue';\nimport TrustDataPractices from '../components/trust-data-practices/index.vue';\nimport TrustDataInvestigationTypes from '../components/trust-data-investigation-types/index.vue';\nimport store from '@/trust-admin-app/store';\nimport { AuthorizedUser } from '../models/authorized-user';\nimport { accessPermitted } from '@/shared/components/helpers';\nimport TimesheetApproval from '../components/timesheet-approval/index.vue';\nimport InvestigationsMain from '../components/investigations-main/index.vue';\nimport CalendarMain from '../components/calendar-main/index.vue';\nimport InvestigatorDashboard from '../components/investigator-dashboard/index.vue';\nimport InvestigatorMain from '../components/investigator-main/index.vue';\nimport InvestigatorInvestigations from '../components/investigator-investigations/index.vue';\nimport InvestigatorTimesheets from '../components/investigator-timesheets/index.vue';\nimport PracticeMain from '../components/practice-main/index.vue';\nimport PracticeDashboard from '../components/practice-dashboard/index.vue';\nimport PracticeInvestigationDetails from '../components/practice-investigation-details/index.vue';\nimport PracticeBank from '../components/practice-bank/index.vue';\nimport TrustDataTrustTeam from '../components/trust-data-trust-team/index.vue';\nimport PracticeAccountingDetails from '../components/practice-accounting-details/index.vue';\nimport PracticeNotes from '../components/practice-notes/index.vue';\nimport PracticeCorrespondence from '../components/practice-correspondence/index.vue';\nimport PracticePeople from '../components/practice-people/index.vue';\nimport Routines from '../components/routines/index.vue';\nimport FollowUp from '../components/follow-up/index.vue';\nimport PracticeLinkedPractices from '../components/practice-linked-practices/index.vue';\nimport TrustDataAccountingSoftware from '../components/trust-data-accounting-software/index.vue';\nimport TrustDataExternalExaminer from '../components/trust-data-external-examiner/index.vue';\nimport TrustDataExternalExaminerApproval from '../components/trust-data-external-examiner-approval/index.vue';\nimport TrustDataExternalExaminerSignUpApproval from '../components/trust-data-external-examiner-sign-up-approval/index.vue';\nimport TrustDataPageSettings from '../components/trust-data-pagesettings/index.vue';\nimport ExternalExaminerMain from '../components/external-examiner-main/index.vue';\nimport ExternalExaminerDashboard from '../components/external-examiner-dashboard/index.vue';\nimport PracticeTrustCompliance from '../components/practice-trust-compliance/index.vue';\n\nconst routes: Array = [\n {\n path: RouteN.TA.LoginPage.p,\n name: RouteN.TA.LoginPage.n,\n component: AutoLogin,\n },\n {\n path: RouteN.TA.LogoutPage.p,\n name: RouteN.TA.LogoutPage.n,\n component: Logout,\n },\n {\n path: RouteN.NoAccess.p,\n name: RouteN.NoAccess.n,\n component: NoAccess,\n },\n {\n path: RouteN.KitchenSink.p,\n name: RouteN.KitchenSink.n,\n component: KitchenSink,\n },\n {\n path: RouteN.KitchenSink2.p,\n name: RouteN.KitchenSink2.n,\n component: KitchenSink,\n },\n {\n path: RouteN.KitchenSink3.p,\n name: RouteN.KitchenSink3.n,\n component: KitchenSink,\n },\n {\n path: RouteN.TA.Main.p,\n meta: {\n requiresAuth: true,\n rolesAllowed: RouteN.TA.Main.r\n },\n redirect: { name: RouteN.TA.Home.n },\n name: RouteN.TA.Main.n,\n component: TrustAdminMain,\n children: [\n {\n path: RouteN.TA.Home.p,\n name: RouteN.TA.Home.n,\n component: TrustAdminDashboard\n },\n {\n path: RouteN.TA.Investigations.p,\n name: RouteN.TA.Investigations.n,\n meta: {\n rolesAllowed: RouteN.TA.Investigations.r\n },\n component: InvestigationsMain\n },\n {\n path: RouteN.TA.Routines.p,\n name: RouteN.TA.Routines.n,\n meta: {\n rolesAllowed: RouteN.TA.Routines.r\n },\n component: Routines\n },\n {\n path: RouteN.TA.FollowUp.p,\n name: RouteN.TA.FollowUp.n,\n meta: {\n rolesAllowed: RouteN.TA.FollowUp.r\n },\n component: FollowUp\n },\n {\n path: RouteN.TA.TimesheetApproval.p,\n name: RouteN.TA.TimesheetApproval.n,\n meta: {\n rolesAllowed: RouteN.TA.TimesheetApproval.r\n },\n component: TimesheetApproval\n },\n {\n path: RouteN.TA.Investigator.p,\n name: RouteN.TA.Investigator.n,\n meta: {\n rolesAllowed: RouteN.TA.Investigator.r\n },\n redirect: { name: RouteN.TA.InvestigatorDashboard.n },\n component: InvestigatorMain,\n children: [\n {\n path: RouteN.TA.InvestigatorDashboard.p,\n name: RouteN.TA.InvestigatorDashboard.n,\n meta: {\n rolesAllowed: RouteN.TA.InvestigatorDashboard.r\n },\n component: InvestigatorDashboard\n },\n {\n path: RouteN.TA.InvestigatorInvestigations.p,\n name: RouteN.TA.InvestigatorInvestigations.n,\n meta: {\n rolesAllowed: RouteN.TA.InvestigatorInvestigations.r\n },\n component: InvestigatorInvestigations\n },\n {\n path: RouteN.TA.InvestigatorCalendar.p,\n name: RouteN.TA.InvestigatorCalendar.n,\n meta: {\n rolesAllowed: RouteN.TA.InvestigatorCalendar.r\n },\n component: CalendarMain\n },\n {\n path: RouteN.TA.InvestigatorTimesheets.p,\n name: RouteN.TA.InvestigatorTimesheets.n,\n meta: {\n rolesAllowed: RouteN.TA.InvestigatorTimesheets.r\n },\n component: InvestigatorTimesheets\n },\n ]\n },\n {\n path: RouteN.TA.Practice.p,\n name: RouteN.TA.Practice.n,\n meta: {\n rolesAllowed: RouteN.TA.InvestigatorTimesheets.r\n },\n redirect: { name: RouteN.TA.PracticeDashboard.n },\n component: PracticeMain,\n children: [\n {\n path: RouteN.TA.PracticeDashboard.p,\n name: RouteN.TA.PracticeDashboard.n,\n meta: {\n rolesAllowed: RouteN.TA.PracticeDashboard.r\n },\n component: PracticeDashboard\n },\n {\n path: RouteN.TA.PracticeInvestigationDetails.p,\n name: RouteN.TA.PracticeInvestigationDetails.n,\n meta: {\n rolesAllowed: RouteN.TA.PracticeInvestigationDetails.r\n },\n component: PracticeInvestigationDetails\n },\n {\n path: RouteN.TA.PracticeBank.p,\n name: RouteN.TA.PracticeBank.n,\n meta: {\n rolesAllowed: RouteN.TA.PracticeBank.r\n },\n component: PracticeBank\n },\n {\n path: RouteN.TA.PracticeAccountingDetails.p,\n name: RouteN.TA.PracticeAccountingDetails.n,\n meta: {\n rolesAllowed: RouteN.TA.PracticeAccountingDetails.r\n },\n component: PracticeAccountingDetails\n },\n {\n path: RouteN.TA.PracticeNotes.p,\n name: RouteN.TA.PracticeNotes.n,\n meta: {\n rolesAllowed: RouteN.TA.PracticeNotes.r\n },\n component: PracticeNotes\n },\n {\n path: RouteN.TA.PracticePeople.p,\n name: RouteN.TA.PracticePeople.n,\n meta: {\n rolesAllowed: RouteN.TA.PracticePeople.r\n },\n component: PracticePeople\n },\n {\n path: RouteN.TA.PracticeCorrespondence.p,\n name: RouteN.TA.PracticeCorrespondence.n,\n meta: {\n rolesAllowed: RouteN.TA.PracticeCorrespondence.r\n },\n component: PracticeCorrespondence\n },\n {\n path: RouteN.TA.PracticeLinkedPractice.p,\n name: RouteN.TA.PracticeLinkedPractice.n,\n meta: {\n rolesAllowed: RouteN.TA.PracticeLinkedPractice.r\n },\n component: PracticeLinkedPractices\n },\n {\n path: RouteN.TA.PracticeTrustCompliance.p,\n name: RouteN.TA.PracticeTrustCompliance.n,\n meta: {\n rolesAllowed: RouteN.TA.PracticeTrustCompliance.r\n },\n component: PracticeTrustCompliance\n },\n ]\n },\n {\n path: RouteN.TA.ExternalExaminer.p,\n name: RouteN.TA.ExternalExaminer.n,\n meta: {\n rolesAllowed: RouteN.TA.ExternalExaminer.r\n },\n redirect: { name: RouteN.TA.ExternalExaminerDashboard.n },\n component: ExternalExaminerMain,\n children: [\n {\n path: RouteN.TA.ExternalExaminerDashboard.p,\n name: RouteN.TA.ExternalExaminerDashboard.n,\n meta: {\n rolesAllowed: RouteN.TA.ExternalExaminerDashboard.r\n },\n component: ExternalExaminerDashboard\n },\n ]\n },\n {\n path: RouteN.TA.TrustData.p,\n name: RouteN.TA.TrustData.n,\n redirect: { name: RouteN.TA.TrustDataPractices.n },\n component: TrustDataMain,\n children: [\n {\n path: RouteN.TA.TrustDataPractices.p,\n name: RouteN.TA.TrustDataPractices.n,\n component: TrustDataPractices\n },\n {\n path: RouteN.TA.TrustDataAccountingSoftware.p,\n name: RouteN.TA.TrustDataAccountingSoftware.n,\n meta: {\n rolesAllowed: RouteN.TA.TrustDataAccountingSoftware.r\n },\n component: TrustDataAccountingSoftware\n },\n {\n path: RouteN.TA.TrustDataInvestigationType.p,\n name: RouteN.TA.TrustDataInvestigationType.n,\n meta: {\n rolesAllowed: RouteN.TA.TrustDataInvestigationType.r\n },\n component: TrustDataInvestigationTypes,\n },\n {\n path: RouteN.TA.TrustDataBanks.p,\n name: RouteN.TA.TrustDataBanks.n,\n meta: {\n rolesAllowed: RouteN.TA.TrustDataBanks.r\n },\n component: TrustDataBanks,\n },\n {\n path: RouteN.TA.TrustDataTrustTeam.p,\n name: RouteN.TA.TrustDataTrustTeam.n,\n meta: {\n rolesAllowed: RouteN.TA.TrustDataTrustTeam.r\n },\n component: TrustDataTrustTeam,\n },\n {\n path: RouteN.TA.TrustDataExternalExaminer.p,\n name: RouteN.TA.TrustDataExternalExaminer.n,\n meta: {\n rolesAllowed: RouteN.TA.TrustDataExternalExaminer.r\n },\n component: TrustDataExternalExaminer,\n },\n {\n path: RouteN.TA.TrustDataExternalExaminerApproval.p,\n name: RouteN.TA.TrustDataExternalExaminerApproval.n,\n meta: {\n rolesAllowed: RouteN.TA.TrustDataExternalExaminerApproval.r\n },\n component: TrustDataExternalExaminerApproval,\n },\n {\n path: RouteN.TA.TrustDataExternalExaminerSignUpApproval.p,\n name: RouteN.TA.TrustDataExternalExaminerSignUpApproval.n,\n meta: {\n rolesAllowed: RouteN.TA.TrustDataExternalExaminerSignUpApproval.r\n },\n component: TrustDataExternalExaminerSignUpApproval,\n },\n {\n path: RouteN.TA.TrustDataPageSettings.p,\n name: RouteN.TA.TrustDataPageSettings.n,\n meta: {\n rolesAllowed: RouteN.TA.TrustDataPageSettings.r\n },\n component: TrustDataPageSettings,\n },\n ]\n },\n ]\n },\n]\n\nconst router = createRouter({\n history: createWebHistory(process.env.BASE_URL),\n routes\n})\n\nrouter.afterEach((to) => {\n const authUser: AuthorizedUser = store.getters.getUserAccount;\n if (to.matched.length >= 2 && !accessPermitted(\n authUser.user.roles, to.meta.rolesAllowed as any[])) {\n router.replace({ name: RouteN.NoAccess.n });\n }\n});\n\n\nexport default router","import { RouteN } from '@/trust-admin-app/constants/router-name';\nimport router from '@/trust-admin-app/router';\nimport { Vue } from 'vue-class-component';\nimport { Options, Prop } from 'vue-property-decorator';\n\n@Options({})\nexport default class ApplicationMenuComponent extends Vue {\n\n @Prop({required: true})\n public show!: boolean;\n\n logout(): void {\n router.push({ name: RouteN.TA.LogoutPage.n});\n }\n\n}\n","import { render } from \"./application-menu.html?vue&type=template&id=4c12f6a1&scoped=true&ts=true&external\"\nimport script from \"./application-menu.ts?vue&type=script&lang=ts&external\"\nexport * from \"./application-menu.ts?vue&type=script&lang=ts&external\"\n\nimport \"./application-menu.scss?vue&type=style&index=0&id=4c12f6a1&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4c12f6a1\"]])\n\nexport default __exports__","import { PracticeView, TrustTeamMemberView } from '@/shared/modules/typescript-trustapi-client/models';\nimport { RouteN } from '@/trust-admin-app/constants/router-name';\nimport { AuthorizedUser } from '@/trust-admin-app/models/authorized-user';\nimport store from '@/trust-admin-app/store';\nimport { Vue } from 'vue-class-component';\nimport { Options, Ref } from 'vue-property-decorator';\nimport ApplicationMenu from '../application-menu/index.vue';\n\n@Options({\n components: {\n ApplicationMenu\n }\n})\nexport default class AccountInfoPanel extends Vue {\n\n @Ref('dropDownMenu')\n private dropDownMenuUI!: HTMLElement;\n\n public showMenu = false;\n\n created(): void {\n window.addEventListener('click', this.clickedElement);\n }\n\n beforeUnmount(): void {\n window.removeEventListener('click', this.clickedElement);\n }\n\n private clickedElement(e: MouseEvent): void | boolean {\n const el: HTMLElement = this.dropDownMenuUI;\n const elBut: HTMLElement = this.dropDownMenuUI;\n const target: HTMLElement = e.target as HTMLElement;\n if (el !== target && elBut !== target) {\n this.showMenu = false;\n }\n }\n\n private onMenuClicked() {\n const secondLevelRouteName = this.$route.matched[1]?.name ?? null;\n\n switch (secondLevelRouteName) {\n case RouteN.TA.Home.n:\n case RouteN.TA.Investigations.n:\n case RouteN.TA.Routines.n:\n case RouteN.TA.FollowUp.n:\n case RouteN.TA.TimesheetApproval.n:\n case RouteN.TA.TrustData.n:\n this.showMenu = !this.showMenu;\n break;\n case RouteN.TA.Investigator.n:\n this.$router.push({ name: RouteN.TA.TrustDataTrustTeam.n });\n break;\n default:\n this.$router.push({ name: RouteN.TA.Home.n });\n break;\n }\n }\n\n get infoTextRow0(): string {\n const secondLevelRouteName = this.$route.matched[1]?.name ?? null;\n try {\n switch (secondLevelRouteName) {\n case RouteN.TA.Home.n:\n case RouteN.TA.TrustData.n:\n case RouteN.TA.Investigations.n:\n case RouteN.TA.Routines.n:\n case RouteN.TA.FollowUp.n:\n case RouteN.TA.TimesheetApproval.n:\n return this.userAccount.user.firstName + ' ' + this.userAccount.user.lastName;\n case RouteN.TA.Investigator.n:\n return this.selectedTrustTeamMember.firstName + ' ' + this.selectedTrustTeamMember.lastName;\n case RouteN.TA.Practice.n:\n return this.selectedPractice.firmName;\n case RouteN.TA.ExternalExaminer.n:\n return (this.selectedExternalExaminer?.firstName ?? '') + ' ' + (this.selectedExternalExaminer?.lastName ?? '');\n default:\n return '';\n }\n } catch (err) {\n return '';\n }\n }\n\n get infoTextRow1(): string {\n const secondLevelRouteName = this.$route.matched[1]?.name ?? null;\n switch (secondLevelRouteName) {\n case RouteN.TA.Practice.n:\n return '';\n // return this.selectedPractice?.id > 0 ? '(' + this.selectedPractice.firmId + ')' : '';\n default:\n return '';\n }\n }\n\n get menuIcon(): string {\n const secondLevelRouteName = this.$route.matched[1]?.name ?? null;\n switch (secondLevelRouteName) {\n case RouteN.TA.Home.n:\n case RouteN.TA.TrustData.n:\n case RouteN.TA.Investigations.n:\n case RouteN.TA.Routines.n:\n case RouteN.TA.FollowUp.n:\n case RouteN.TA.TimesheetApproval.n:\n return this.showMenu ? 'fa-times' : 'fa-bars';\n default:\n return 'fa-times';\n }\n }\n\n get selectionTypeClassName(): string {\n const secondLevelRouteName = this.$route.matched[1]?.name ?? null;\n switch (secondLevelRouteName) {\n case RouteN.TA.Investigator.n:\n return 'investigator';\n default:\n return '';\n }\n }\n\n get userAccount(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n\n get selectedTrustTeamMember(): TrustTeamMemberView {\n return store.getters.getSelectedTrustTeamMember;\n }\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n\n get selectedExternalExaminer(): any {\n return store.getters.getSelectedEE;\n }\n\n}\n","import { render } from \"./account-info-panel.html?vue&type=template&id=5dea43ef&scoped=true&ts=true&external\"\nimport script from \"./account-info-panel.ts?vue&type=script&lang=ts&external\"\nexport * from \"./account-info-panel.ts?vue&type=script&lang=ts&external\"\n\nimport \"./account-info-panel.scss?vue&type=style&index=0&id=5dea43ef&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5dea43ef\"]])\n\nexport default __exports__","export class Session {\n\n constructor(\n public issued: number = 0,\n public expires: number = 0,\n ) {}\n\n public hasExpired(): boolean {\n return Math.round(new Date().getTime() / 1000) >= this.expires;\n }\n}\n","import { Session } from './session';\nimport { IDLE_TIMEOUT } from '../../config/config';\n\nexport class IDLESessionManager {\n\n public checkInterval = 1000;\n private workerID = -1;\n private session: Session = new Session();\n private timeoutCallBack: () => void;\n\n constructor(idle_timeout: number = IDLE_TIMEOUT\n ) {\n this.session = new Session(\n Math.round(new Date().getTime() / 1000),\n Math.round(new Date().getTime() / 1000) + IDLE_TIMEOUT\n );\n this.timeoutCallBack = null as any;\n this.setup();\n }\n\n public run(cb: () => void): void {\n this.timeoutCallBack = cb;\n this.workerID = setInterval(() => {\n this.doCheckSession();\n }, this.checkInterval);\n }\n\n public stop(): void {\n clearInterval(this.workerID);\n window.removeEventListener('mousemove', this.resetTimer, false);\n window.removeEventListener('mousedown', this.resetTimer, false);\n window.removeEventListener('keypress', this.resetTimer, false);\n window.removeEventListener('DOMMouseScroll', this.resetTimer, false);\n window.removeEventListener('mousewheel', this.resetTimer, false);\n window.removeEventListener('touchmove', this.resetTimer, false);\n window.removeEventListener('MSPointerMove', this.resetTimer, false);\n }\n\n public resetTimer: () => void = () => {\n if (Math.round(new Date().getTime() / 1000) - this.session.issued >= 5) {\n this.doCheckSession(); // do another check;\n this.session.issued = Math.round(new Date().getTime() / 1000);\n this.session.expires = Math.round(new Date().getTime() / 1000) + IDLE_TIMEOUT;\n }\n }\n\n private doCheckSession(): void {\n if (this.session.hasExpired()) {\n this.timeoutCallBack();\n this.stop();\n }\n }\n\n private setup(): void {\n window.addEventListener('mousemove', this.resetTimer, false);\n window.addEventListener('mousedown', this.resetTimer, false);\n window.addEventListener('keypress', this.resetTimer, false);\n window.addEventListener('DOMMouseScroll', this.resetTimer, false);\n window.addEventListener('mousewheel', this.resetTimer, false);\n window.addEventListener('touchmove', this.resetTimer, false);\n window.addEventListener('MSPointerMove', this.resetTimer, false);\n }\n\n}\n","import { Inject, Options, Vue, Watch } from \"vue-property-decorator\";\nimport AccountInfoPanel from \"@/trust-admin-app/components/trust-admin-rhs-header/account-info-panel/index.vue\";\nimport NavigationBar from \"@/shared/components/navigation-bar/index.vue\";\nimport { NavItem, NavItemStatusID } from \"@/shared/components/navigation-bar/navigation-item\";\nimport { RouteN } from \"@/trust-atcs-app/constants/router-name\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport ErrorIndicator from \"@/shared/components/error-indicator/index.vue\";\nimport StdPageLayout from \"../std-page-layout/index.vue\";\nimport { NavigationGuardNext, RouteLocationNormalized } from \"vue-router\";\nimport { AuthorizedUser } from '@/trust-atcs-app/models/authorized-user';\nimport { AuthenticationStatusType } from '@/trust-atcs-app/modules/authentication/authentication-status';\nimport { IDLESessionManager } from '@/trust-atcs-app/modules/session/idle-session-manager';\nimport store from '../../store';\nimport { RoleType } from \"@/trust-atcs-app/models/user\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\n\nVue.registerHooks(['beforeRouteEnter']);\n@Options({\n components: {\n NavigationBar,\n AccountInfoPanel,\n LoadingSpinner,\n ErrorIndicator,\n StdPageLayout,\n }\n})\nexport default class AtcsMain extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private isFixHeader = true;\n\n private errorLoadingData = false;\n private loadingData = true;\n\n private idleSessionMgr: IDLESessionManager = new IDLESessionManager();\n\n private navItems: NavItem[] = [\n new NavItem('Home', RouteN.ATCS.Home.n, undefined, true, NavItemStatusID.Current),\n new NavItem(\n 'Navigation 2',\n RouteN.ATCS.Home.n,\n undefined,\n // this.$accessPermitted(this.usrAcct.user.roles, RouteN.ATCS.Home.r),\n // NavItemStatusID.NotCurrent\n ),\n new NavItem(\n 'Navigation 2',\n RouteN.ATCS.Home.n,\n undefined,\n // this.$accessPermitted(this.usrAcct.user.roles, RouteN.TA.Routines.r),\n // NavItemStatusID.NotCurrent\n ),\n\n ];\n\n // @Watch('$route')\n // private onRouteChange(): void {\n // if (this.userAccount.user?.isPrincipal && this.userAccount.user?.impersonatedLawId) {\n\n // };\n // }\n\n beforeRouteEnter(to: RouteLocationNormalized, from: RouteLocationNormalized, next: NavigationGuardNext) {\n const c1: boolean = to.matched.some((record) => record.meta.requiresAuth);\n const c2: boolean = (store.getters.getUserAccount as AuthorizedUser)\n .authenticationStatus === AuthenticationStatusType.AppAccessPermitted;\n c1 && !c2 ? next({ name: RouteN.ATCS.LoginPage.n, query: { redirect: to.fullPath } }) : next();\n }\n\n beforeUnmount(): void {\n this.idleSessionMgr.stop();\n }\n\n created(): void {\n this.idleSessionMgr.run(this.idleSessionTimeoutCallback);\n // this.initImpersonatedUser();\n this.pageRedirection();\n }\n\n private pageRedirection(): void {\n let pageName = { name: RouteN.ATCS.DashboardMain.n };\n // this.userAccount.user.roles.forEach((x) => {\n // switch (x) {\n // case RoleType.Tester:\n // if (this.userAccount.user.impersonatedLawId) {\n // pageName = { name: RouteN.ATCS.Dashboard.n };\n // } else {\n // pageName = { name: RouteN.ATCS.ImpersonateUser.n };\n // }\n // break;\n // case RoleType.Principal:\n // case RoleType.KeyContact:\n // case RoleType.TrustCoordinators:\n // case RoleType.ToBeExternalExaminer:\n // case RoleType.ExternalExaminer:\n // pageName = { name: RouteN.ATCS.Dashboard.n };\n // }\n // });\n\n if (this.userAccount.user.isTester && !this.userAccount.user.impersonatedLawId) {\n pageName = { name: RouteN.ATCS.ImpersonateUser.n };\n } else {\n // console.log('dashboard');\n pageName = { name: RouteN.ATCS.DashboardMain.n };\n }\n\n this.$router.replace(pageName);\n }\n\n // private async initImpersonatedUser(): Promise {\n // if (this.userAccount.user?.impersonatedLawId == null) {\n // store.dispatch('setImpersonatedUser', null as any);\n // } else {\n // try {\n // const resp: any = await this.apiService.LawIdApi?.apiV2LawIdGetLawIdUsersPost(\n // { lawId: this.userAccount.user.impersonatedLawId }\n // );\n // store.dispatch('setImpersonatedUser', resp.data.data[0] as LawIdUser);\n // } catch {\n // store.dispatch('setImpersonatedUser', null as any);\n // }\n // }\n // }\n\n private idleSessionTimeoutCallback(): void {\n this.$router.push({ name: RouteN.ATCS.LogoutPage.n });\n }\n\n get userAccount(): AuthorizedUser {\n return store.getters.getUserAccount;\n } \n}\n\n","import { render } from \"./atcs-main.html?vue&type=template&id=495174fc&scoped=true&ts=true&external\"\nimport script from \"./atcs-main.ts?vue&type=script&lang=ts&external\"\nexport * from \"./atcs-main.ts?vue&type=script&lang=ts&external\"\n\nimport \"./atcs-main.scss?vue&type=style&index=0&id=495174fc&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-495174fc\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, createVNode as _createVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock, withKeys as _withKeys, vModelText as _vModelText, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, normalizeClass as _normalizeClass, vShow as _vShow, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4d14ab5e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"atcs-impersonate container\" }\nconst _hoisted_2 = { class: \"row impersonate-box\" }\nconst _hoisted_3 = { class: \"ls-form\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"set-date mt-2 mb-3\"\n}\nconst _hoisted_5 = { class: \"input-box\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, [\n /*#__PURE__*/_createTextVNode(\"Adjusted Date \"),\n /*#__PURE__*/_createElementVNode(\"span\", { style: {\"font-family\":\"'open sans'\"} }, \"(Optional)\")\n], -1))\nconst _hoisted_7 = {\n class: \"date-picker\",\n style: {\"width\":\"100%\"}\n}\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-calendar-check\" }, null, -1))\nconst _hoisted_9 = {\n class: \"mt-2 mb-3\",\n style: {\"display\":\"flex\",\"justify-content\":\"space-between\",\"flex-flow\":\"row nowrap\"}\n}\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = [\"disabled\"]\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_13 = { class: \"autocomplete\" }\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Search for LawID\", -1))\nconst _hoisted_15 = { class: \"icon-hm\" }\nconst _hoisted_16 = {\n key: 0,\n class: \"fal fa-spinner fa-spin fa-lg\"\n}\nconst _hoisted_17 = {\n key: 1,\n class: \"fal fa-search fa-lg\"\n}\nconst _hoisted_18 = {\n id: \"autocomplete-results\",\n class: \"autocomplete-results ml-2\"\n}\nconst _hoisted_19 = [\"innerHTML\", \"onClick\"]\nconst _hoisted_20 = {\n key: 1,\n class: \"autocomplete-result\"\n}\nconst _hoisted_21 = { class: \"input-box\" }\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"LawID\", -1))\nconst _hoisted_23 = { class: \"text-field\" }\nconst _hoisted_24 = { class: \"input-box\" }\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"First name\", -1))\nconst _hoisted_26 = { class: \"text-field\" }\nconst _hoisted_27 = { class: \"input-box\" }\nconst _hoisted_28 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Last name\", -1))\nconst _hoisted_29 = { class: \"text-field\" }\nconst _hoisted_30 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"Practice name(s)\", -1))\nconst _hoisted_31 = [\"innerHTML\"]\nconst _hoisted_32 = {\n class: \"mt-3\",\n style: {\"display\":\"flex\",\"justify-content\":\"space-between\",\"flex-flow\":\"row nowrap\"}\n}\nconst _hoisted_33 = [\"disabled\"]\nconst _hoisted_34 = [\"disabled\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingSpinner = _resolveComponent(\"LoadingSpinner\")\n const _component_DatePicker = _resolveComponent(\"DatePicker\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (_ctx.impersonatingUser)\n ? (_openBlock(), _createBlock(_component_LoadingSpinner, { key: 0 }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"form\", _hoisted_3, [\n _createElementVNode(\"fieldset\", null, [\n _createElementVNode(\"h2\", null, \"Welcome \" + _toDisplayString(_ctx.userAccount.user.firstName) + \",\", 1),\n (this.env.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _hoisted_6,\n _createElementVNode(\"div\", _hoisted_7, [\n _createVNode(_component_DatePicker, {\n class: \"v3-date-picker\",\n style: {\"padding\":\"1em\"},\n modelValue: _ctx.adjustedDate,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.adjustedDate) = $event)),\n inputFormat: \"dd-MM-yyyy\",\n lowerLimit: _ctx.minDate,\n upperLimit: _ctx.maxDate\n }, null, 8, [\"modelValue\", \"lowerLimit\", \"upperLimit\"]),\n _hoisted_8\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"button\", {\n class: \"btn btn-outline mr-1\",\n style: {\"width\":\"100%\"},\n onClick: _cache[1] || (_cache[1] = _withModifiers($event => (_ctx.setSystemDate(true)), [\"prevent\"])),\n disabled: _ctx.isToday\n }, \"Reset date\", 8, _hoisted_10),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary ml-1\",\n style: {\"width\":\"100%\"},\n onClick: _cache[2] || (_cache[2] = _withModifiers($event => (_ctx.setSystemDate(false)), [\"prevent\"])),\n disabled: _ctx.isToday\n }, \"Apply date\", 8, _hoisted_11)\n ]),\n _hoisted_12\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_13, [\n _hoisted_14,\n _withDirectives(_createElementVNode(\"input\", {\n onKeydown: [\n _cache[3] || (_cache[3] = _withKeys((...args) => (_ctx.onArrowDown && _ctx.onArrowDown(...args)), [\"down\"])),\n _cache[4] || (_cache[4] = _withKeys((...args) => (_ctx.onArrowUp && _ctx.onArrowUp(...args)), [\"up\"])),\n _cache[5] || (_cache[5] = _withKeys((...args) => (_ctx.onEnter && _ctx.onEnter(...args)), [\"enter\"]))\n ],\n class: \"searchField\",\n type: \"text\",\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => ((_ctx.search) = $event)),\n placeholder: \"Enter LawID\"\n }, null, 544), [\n [_vModelText, _ctx.search]\n ]),\n _withDirectives(_createElementVNode(\"input\", {\n type: \"hidden\",\n id: \"practitioner\",\n name: \"practitioner\",\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => ((_ctx.currentSelectedLawId) = $event))\n }, null, 512), [\n [_vModelText, _ctx.currentSelectedLawId]\n ]),\n _createElementVNode(\"span\", _hoisted_15, [\n (_ctx.isSearching)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_16))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_17))\n ]),\n _withDirectives(_createElementVNode(\"ul\", _hoisted_18, [\n (_ctx.practitionerList?.length)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 0 }, _renderList(_ctx.practitionerList, (practitioner, i) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: i,\n class: _normalizeClass([\"autocomplete-result\", { 'is-active': i === _ctx.arrowCounter }]),\n innerHTML: _ctx.highlightWord(_ctx.formatPractitionerText(practitioner)),\n onClick: _withModifiers($event => (_ctx.selectPractitioner(practitioner)), [\"prevent\"])\n }, null, 10, _hoisted_19))\n }), 128))\n : (_openBlock(), _createElementBlock(\"li\", _hoisted_20, \"No Result\"))\n ], 512), [\n [_vShow, _ctx.isOpen]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _hoisted_22,\n _createElementVNode(\"div\", _hoisted_23, _toDisplayString(_ctx.currentSelectedLawId?.lawId ?? ''), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_24, [\n _hoisted_25,\n _createElementVNode(\"div\", _hoisted_26, _toDisplayString(_ctx.currentSelectedLawId?.firstName ?? ''), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_27, [\n _hoisted_28,\n _createElementVNode(\"div\", _hoisted_29, _toDisplayString(_ctx.currentSelectedLawId?.lastName ?? ''), 1)\n ]),\n _hoisted_30,\n _createElementVNode(\"div\", {\n class: \"text-field\",\n style: {\"min-height\":\"150px\",\"overflow-y\":\"scroll\"},\n innerHTML: _ctx.formatPracticesText(_ctx.currentSelectedLawId)\n }, null, 8, _hoisted_31),\n _createElementVNode(\"div\", _hoisted_32, [\n _createElementVNode(\"button\", {\n class: \"btn btn-outline mr-1\",\n disabled: _ctx.impersonatingUser,\n style: {\"width\":\"100%\"}\n }, \"My Account\", 8, _hoisted_33),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary ml-1\",\n disabled: !_ctx.currentSelectedLawId || _ctx.impersonatingUser,\n style: {\"width\":\"100%\"},\n onClick: _cache[8] || (_cache[8] = _withModifiers($event => (_ctx.impersonateUser(_ctx.currentSelectedLawId?.lawId)), [\"prevent\"]))\n }, \"Continue\", 8, _hoisted_34)\n ])\n ])\n ])\n ])\n ]))\n}","\nimport { AuthorizedUser } from \"@/trust-atcs-app/models/authorized-user\";\nimport store from \"@/trust-atcs-app/store\";\nimport { Inject, Options, Vue, Watch } from \"vue-property-decorator\";\nimport debounce from 'lodash/debounce';\nimport AuthenticationService from '../../modules/authentication/authentication.service';\nimport { AxiosInstance } from \"axios\";\nimport { RouteN } from \"@/trust-atcs-app/constants/router-name\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { LawIdUser, LawIdUserRequest } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport DatePicker from 'vue3-datepicker';\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\n\n@Options({\n components: {\n LoadingSpinner,\n DatePicker,\n },\n mixins: [FormatDateTimeMixin],\n})\nexport default class AtcsImpersonate extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private authService?: AuthenticationService;\n private authorizedUser: AuthorizedUser = new AuthorizedUser;\n private authApiAxios?: AxiosInstance;\n\n private ai = new AppInsights;\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private isOpen = false;\n private arrowCounter = -1;\n private search = '';\n private isSearching = false;\n private srchDebounced: any = null;\n private currentSelectedLawId: LawIdUser = null as any;\n private adjustedDate = null as any;\n\n private practitionerList: LawIdUser[] = [];\n\n private impersonatingUser = false;\n\n @Watch('search')\n private onKeywordChange(): void {\n if (this.search.length > 2 && this.practitionerList.filter(x => x.lawId == this.search).length == 0) {\n this.currentSelectedLawId = null as any;\n setTimeout(this.srchDebounced.cancel, 0);\n setTimeout(this.srchDebounced, 0);\n }\n }\n\n mounted(): void {\n window.addEventListener('click', this.handleClickOutside);\n this.getSystemDate();\n this.srchDebounced = debounce(() => {\n this.searchPractitioner();\n }, 1000);\n }\n\n beforeUnmount(): void {\n window.removeEventListener('click', this.handleClickOutside);\n }\n\n private async searchPractitioner(): Promise {\n const _body: LawIdUserRequest = {\n lawId: this.search\n }\n try {\n this.isSearching = true;\n\n const resp: any = await this.apiService.LawIdApi?.apiV2LawIdGetLawIdUsersPost(_body);\n this.practitionerList = resp.data.data as LawIdUser[];\n this.isOpen = true;\n } catch (err) {\n this.isOpen = false;\n this.ai.trackException('Search Practitioner error: ' + err);\n } finally {\n this.isSearching = false;\n }\n }\n\n private selectPractitioner(p: LawIdUser): void {\n this.isOpen = false;\n this.search = p.lawId;\n this.currentSelectedLawId = p;\n }\n\n private onArrowDown(evt: any) {\n if (this.arrowCounter < this.practitionerList.length) {\n this.arrowCounter = this.arrowCounter + 1;\n }\n }\n\n private onArrowUp(): void {\n if (this.arrowCounter > 0) {\n this.arrowCounter = this.arrowCounter - 1;\n }\n }\n\n private onEnter() {\n if (this.practitionerList.length > 0) {\n this.selectPractitioner(\n this.practitionerList[this.arrowCounter === -1 ? 0 : this.arrowCounter]\n );\n }\n this.isOpen = false;\n }\n\n private handleClickOutside(evt: any): void {\n if (this.$el === (evt.target)) {\n this.isOpen = false;\n this.arrowCounter = -1;\n }\n }\n\n private highlightWord(word: string): string {\n try {\n const regex = new RegExp('(' + this.search + ')', 'ig');\n return word.replace(regex, '$1');\n } catch (err) {\n return word;\n }\n }\n\n private formatPractitionerText(p: LawIdUser): string {\n return `${p.lawId}`;\n }\n\n private formatPracticesText(p: LawIdUser): string {\n if (p?.practices?.length > 0) {\n return p.practices.map((x: any) => ('- ' + x.practiceName)).join('
');\n } else {\n return '';\n }\n }\n\n private async impersonateUser(): Promise {\n this.authorizedUser = store.getters.getUserAccount;\n this.authService = new AuthenticationService(this.authorizedUser, this.authApiAxios);\n this.impersonatingUser = true;\n\n try {\n await this.authService.checkAuthentication(this.currentSelectedLawId.lawId);\n // store.dispatch('setAuthorizedUser', this.authorizedUser);\n this.$router.push({ name: RouteN.ATCS.DashboardMain.n });\n } catch (err) {\n console.log('impersonate failed');\n this.ai.trackException('Impersonate failed: ' + err);\n } finally {\n this.impersonatingUser = false;\n }\n }\n\n get userAccount(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n\n get env(): string {\n const local = window.location.href.indexOf('localhost') > 0 ? 'DEV' : '';\n const dev = window.location.href.indexOf('-dev') > 0 ? 'DEV' : '';\n const sit = window.location.href.indexOf('-sit') > 0 ? 'SIT' : '';\n return local + dev + sit;\n }\n\n private getSystemDate(): void {\n this.apiService?.DateApi.apiV2DateGetBaseDateGet()\n .then((res: any) => {\n this.adjustedDate = new Date(res.data);\n })\n .catch((err: any) => {\n console.log('Get date failed: ', err);\n this.ai.trackException('Get date failed: ' + err);\n })\n }\n\n get minDate(): Date {\n return new Date('2010-01-01T00:00:00.000+10:00');\n }\n\n get maxDate(): Date {\n return new Date('2050-12-31T00:00:00.000+00:00');\n }\n\n private isDateToday(dateString: string) {\n // Parse the date string into a Date object\n const date = new Date(dateString);\n\n // Get today's date\n const today = new Date();\n\n // Compare years, months, and days\n return (\n date.getFullYear() === today.getFullYear() &&\n date.getMonth() === today.getMonth() &&\n date.getDate() === today.getDate()\n );\n }\n\n get isToday(): boolean {\n return this.isDateToday((this.adjustedDate));\n }\n\n private setSystemDate(isReset: boolean): void {\n this.adjustedDate = isReset ? new Date() : this.adjustedDate\n\n const currentDate = new Date();\n const hours = currentDate.getHours();\n const minutes = currentDate.getMinutes();\n const seconds = currentDate.getSeconds();\n\n // Set the time components for tomorrow\n this.adjustedDate.setHours(hours);\n this.adjustedDate.setMinutes(minutes);\n this.adjustedDate.setSeconds(seconds);\n\n const _body = {\n dateTime: this.adjustedDate,\n }\n this.apiService?.DateApi.apiV2DateSetCurrentDatePost(_body)\n .then((response: any) => {\n this.eventCtrl.emit('show-snackbar', 'success', 'System Date set to: ' + this.$formatDate(this.adjustedDate));\n })\n .catch((err: any) => {\n this.ai.trackException('Error on set System Date: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Error on set System Date: ' + this.$formatDate(this.adjustedDate));\n })\n }\n\n}","import { render } from \"./atcs-impersonate.html?vue&type=template&id=4d14ab5e&scoped=true&ts=true&external\"\nimport script from \"./atcs-impersonate.ts?vue&type=script&lang=ts&external\"\nexport * from \"./atcs-impersonate.ts?vue&type=script&lang=ts&external\"\n\nimport \"./atcs-impersonate.scss?vue&type=style&index=0&id=4d14ab5e&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4d14ab5e\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nexport function render(_ctx, _cache) {\n const _component_router_view = _resolveComponent(\"router-view\")\n\n return (_openBlock(), _createBlock(_component_router_view))\n}","import { Inject, Options, Vue, Watch } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-atcs-app/store\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport { AuthorizedUser } from \"@/trust-atcs-app/models/authorized-user\";\n// import AtcsDashboard from \"../atcs-dashboard/index.vue\";\n// import ExternalExaminerMain from \"../external-examiner-main/index.vue\";\nimport { PopoverView } from \"@/shared/components/popover/popover\";\nimport { RouteN } from \"@/trust-atcs-app/constants/router-name\";\n\n@Options({\n components: {\n LoadingSpinner,\n // AtcsDashboard,\n // ExternalExaminerMain\n },\n mixins: [],\n})\nexport default class AppDashboard extends Vue {\n\n private ai = new AppInsights;\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private popovers: PopoverView[] = [];\n\n @Watch('$route')\n private onRouteChange(to: any, from: any) {\n if (to.name == RouteN.ATCS.DashboardMain.n) {\n this.pageRedirection();\n }\n }\n\n created(): void {\n // this.idleSessionMgr.run(this.idleSessionTimeoutCallback);\n // this.initImpersonatedUser();\n this.pageRedirection();\n }\n\n private pageRedirection(): void {\n if (this.userAccount.user.isPrincipal || this.userAccount.user.isTrustContact) {\n this.$router.push({ name: RouteN.ATCS.DashboardHome.n });\n } else if (this.userAccount.user.isExternalExaminer) {\n this.$router.push({ name: RouteN.ATCS.EEHome.n });\n } else if (!this.userAccount.user.isExternalExaminer && this.userAccount.user.lawIdUserTypeId == 3 && this.userAccount.user.isInactiveExternalExaminer) {\n this.$router.push({ name: RouteN.ATCS.EEInactive.n });\n } else if (!this.userAccount.user.isExternalExaminer && this.userAccount.user.lawIdUserTypeId == 3) {\n this.$router.push({ name: RouteN.ATCS.EESignUp.n });\n } else {\n this.$router.push({ name: RouteN.NoAccess.n });\n }\n }\n // private view = -1;\n\n // @Watch('$route')\n // private onRouteChange(to: any, from: any) {\n // if(to.name == RouteN.ATCS.DashboardMain.n) {\n // this.view = this.dashboardType();\n // }\n // }\n\n // created(): void {\n // this.view = this.dashboardType();\n // }\n\n // private dashboardType(): number {\n // let dashboardType = -1;\n // if (this.userAccount.user.isPrincipal || this.userAccount.user.isTrustContact) {\n // dashboardType = 0;\n // console.log('ATCS Dashboard');\n // } else if (this.userAccount.user.isExternalExaminer) {\n // dashboardType = 1;\n // console.log('EE Dashboard');\n // } else if (!this.userAccount.user.isExternalExaminer && this.userAccount.user.lawIdUserTypeId == 3) {\n // dashboardType = 2;\n // console.log('EE Dashboard');\n // } else {\n // dashboardType = -1;\n // }\n // return dashboardType;\n // }\n\n get userAccount(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n\n mounted(): void {\n this.loadPageContents();\n }\n\n private async loadPageContents(): Promise {\n await this.apiService.PageAtcsApi?.apiV2PageAtcsGetAllPageContentsGet()\n .then((res: any) => {\n for (let p = 0; p < res.data.data.length; p++) {\n this.popovers.push({\n key: res.data.data[p].key.replace('[[', '').replace(']]', '') as string,\n content: res.data.data[p].content as string,\n title: res.data.data[p].title as string,\n pageId: res.data.data[p].pageId as number,\n isShow: res.data.data[p].isShow as boolean,\n })\n }\n store.dispatch('setPopovers', this.popovers);\n }).catch((err) => {\n this.ai.trackException('Error loading page contents: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Error loading page contents');\n });\n\n }\n\n}","import { render } from \"./app-dashboard.html?vue&type=template&id=41ab275c&scoped=true&ts=true&external\"\nimport script from \"./app-dashboard.ts?vue&type=script&lang=ts&external\"\nexport * from \"./app-dashboard.ts?vue&type=script&lang=ts&external\"\n\nimport \"./app-dashboard.scss?vue&type=style&index=0&id=41ab275c&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-41ab275c\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-79f161fc\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-part-a\" }\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = {\n key: 7,\n class: \"part-a-footer\"\n}\nconst _hoisted_4 = [\"disabled\"]\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = [\"disabled\"]\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-right\" })\n], -1))\n\nexport function render(_ctx, _cache) {\n const _component_LoadingSpinner = _resolveComponent(\"LoadingSpinner\")\n const _component_SwipeStepper = _resolveComponent(\"SwipeStepper\")\n const _component_FormHeaderTcNote = _resolveComponent(\"FormHeaderTcNote\")\n const _component_FormHeader = _resolveComponent(\"FormHeader\")\n const _component_FormPartAOverview = _resolveComponent(\"FormPartAOverview\")\n const _component_FormPartAPracticeAreas = _resolveComponent(\"FormPartAPracticeAreas\")\n const _component_FormPartATrustAccountDetails = _resolveComponent(\"FormPartATrustAccountDetails\")\n const _component_FormPartADeclaration = _resolveComponent(\"FormPartADeclaration\")\n const _component_FormPartAConfirmation = _resolveComponent(\"FormPartAConfirmation\")\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ConfirmDialogue = _resolveComponent(\"ConfirmDialogue\")\n const _component_SessionExpired = _resolveComponent(\"SessionExpired\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (_ctx.isSectionLoading)\n ? (_openBlock(), _createBlock(_component_LoadingSpinner, { key: 0 }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_SwipeStepper, {\n navSteps: _ctx.navSteps,\n showHelpBtn: true,\n showFaqBtn: true\n }, null, 8, [\"navSteps\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n (!_ctx.complianceFormA.practice?.trustCoordinator?.id)\n ? (_openBlock(), _createBlock(_component_FormHeaderTcNote, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (!_ctx.isSectionLoading)\n ? (_openBlock(), _createBlock(_component_FormHeader, {\n key: 1,\n formName: _ctx.formName,\n formDesc: _ctx.formDesc\n }, null, 8, [\"formName\", \"formDesc\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection === _ctx.$Section.overview)\n ? (_openBlock(), _createBlock(_component_FormPartAOverview, {\n key: 2,\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[0] || (_cache[0] = $event => ((_ctx.isSectionLoading) = $event)),\n onSetFormDesc: _cache[1] || (_cache[1] = $event => (_ctx.setFormDescription($event)))\n }, null, 8, [\"isSectionLoading\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection === _ctx.$Section.practiceAreas)\n ? (_openBlock(), _createBlock(_component_FormPartAPracticeAreas, {\n key: 3,\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[2] || (_cache[2] = $event => ((_ctx.isSectionLoading) = $event)),\n formPartAData: _ctx.formPartAData,\n \"onUpdate:formPartAData\": _cache[3] || (_cache[3] = $event => ((_ctx.formPartAData) = $event)),\n onValidForm: _cache[4] || (_cache[4] = $event => (_ctx.validationForm(1, $event)))\n }, null, 8, [\"isSectionLoading\", \"formPartAData\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection === _ctx.$Section.trustAccountDetails)\n ? (_openBlock(), _createBlock(_component_FormPartATrustAccountDetails, {\n key: 4,\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[5] || (_cache[5] = $event => ((_ctx.isSectionLoading) = $event)),\n formPartAData: _ctx.formPartAData,\n \"onUpdate:formPartAData\": _cache[6] || (_cache[6] = $event => ((_ctx.formPartAData) = $event)),\n onValidForm: _cache[7] || (_cache[7] = $event => (_ctx.validationForm(2, $event)))\n }, null, 8, [\"isSectionLoading\", \"formPartAData\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection === _ctx.$Section.declaration)\n ? (_openBlock(), _createBlock(_component_FormPartADeclaration, {\n key: 5,\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[8] || (_cache[8] = $event => ((_ctx.isSectionLoading) = $event)),\n formPartAData: _ctx.formPartAData,\n \"onUpdate:formPartAData\": _cache[9] || (_cache[9] = $event => ((_ctx.formPartAData) = $event)),\n onValidForm: _cache[10] || (_cache[10] = $event => (_ctx.validationForm(3, $event)))\n }, null, 8, [\"isSectionLoading\", \"formPartAData\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection === _ctx.$Section.confirmation)\n ? (_openBlock(), _createBlock(_component_FormPartAConfirmation, {\n key: 6,\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[11] || (_cache[11] = $event => ((_ctx.isSectionLoading) = $event))\n }, null, 8, [\"isSectionLoading\"]))\n : _createCommentVNode(\"\", true),\n (!_ctx.isSectionLoading)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_ctx.isSaving)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n loadingText: _ctx.savingText,\n class: \"mr-4\"\n }, null, 8, [\"loadingText\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.backButtonVisible)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-outline mr-2\",\n onClick: _cache[12] || (_cache[12] = $event => (_ctx.goBack())),\n disabled: _ctx.isSaving || _ctx.isSectionLoading\n }, _toDisplayString(_ctx.backButtonText), 9, _hoisted_4))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection !== _ctx.$Section.declaration && _ctx.currentSection !== _ctx.$Section.overview && _ctx.currentSection !== _ctx.$Section.confirmation)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 2,\n class: \"btn btn-secondary mr-2\",\n disabled: _ctx.isSaving || _ctx.isSectionLoading,\n onClick: _cache[13] || (_cache[13] = $event => (_ctx.saveSection(false, true)))\n }, \"Save\", 8, _hoisted_5))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n disabled: !_ctx.canGoNext() || _ctx.isSaving || _ctx.isSectionLoading,\n onClick: _cache[14] || (_cache[14] = $event => (_ctx.goNext()))\n }, [\n _createTextVNode(_toDisplayString(_ctx.nextButtonText), 1),\n _hoisted_7\n ], 8, _hoisted_6)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createVNode(_component_ConfirmDialogue, {\n ref: \"confirmSaveClose\",\n modalOpened: true\n }, null, 512),\n (_ctx.showSessionExpiredModal)\n ? (_openBlock(), _createBlock(_component_SessionExpired, {\n key: 1,\n modalOpened: _ctx.showSessionExpiredModal,\n formStatus: _ctx.formStatus,\n onClose: _cache[15] || (_cache[15] = $event => (_ctx.exitForm()))\n }, null, 8, [\"modalOpened\", \"formStatus\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, withModifiers as _withModifiers, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/contact-us.png'\nimport _imports_1 from '@/assets/help.png'\nimport _imports_2 from '@/assets/faq.png'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-63757a38\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"swipe-stepper\" }\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = { class: \"swipe-stepper-main\" }\nconst _hoisted_4 = {\n class: \"nav-bar\",\n id: \"menu-container\"\n}\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"btn-nav-previous\" }, \"   \", -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"btn-nav-next\" }, \"     \", -1))\nconst _hoisted_7 = {\n class: \"menu-inner-box\",\n ref: \"menuInnerBox\"\n}\nconst _hoisted_8 = [\"id\", \"onClick\"]\nconst _hoisted_9 = [\"id\"]\nconst _hoisted_10 = { class: \"buttons\" }\nconst _hoisted_11 = { class: \"buttons-sml\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n class: \"logo\",\n src: _imports_0\n}, null, -1))\nconst _hoisted_13 = [\n _hoisted_12\n]\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n class: \"logo\",\n src: _imports_1\n}, null, -1))\nconst _hoisted_15 = [\n _hoisted_14\n]\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n class: \"logo\",\n src: _imports_2\n}, null, -1))\nconst _hoisted_17 = [\n _hoisted_16\n]\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, null, -1))\n\nexport function render(_ctx, _cache) {\n const _component_HelpScreen = _resolveComponent(\"HelpScreen\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _hoisted_6,\n _createElementVNode(\"ul\", _hoisted_7, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.navSteps, (s, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n id: s.status,\n onClick: _withModifiers($event => {_ctx.navigate(s);}, [\"prevent\",\"stop\"]),\n class: _normalizeClass([s.status, !s.visible ? 'hide' : ''])\n }, [\n _createElementVNode(\"span\", {\n id: s.routeSecName\n }, _toDisplayString(s.name), 9, _hoisted_9)\n ], 10, _hoisted_8))\n }), 256))\n ], 512)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"button\", {\n class: \"btn btn-outline sml\",\n onClick: _cache[0] || (_cache[0] = $event => (_ctx.contactUs()))\n }, \"Contact Us\"),\n (_ctx.showHelpBtn && _ctx.helpContent?.isShow)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn btn-outline sml\",\n onClick: _cache[1] || (_cache[1] = $event => (_ctx.showHelpScreen = !_ctx.showHelpScreen))\n }, \"Help\"))\n : _createCommentVNode(\"\", true),\n (_ctx.showFaqBtn)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-outline sml\",\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.faqLink()))\n }, \"FAQ\"))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"span\", {\n onClick: _cache[3] || (_cache[3] = $event => (_ctx.contactUs())),\n title: \"Contact us\"\n }, _hoisted_13),\n (_ctx.showHelpBtn && _ctx.helpContent?.isShow)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n onClick: _cache[4] || (_cache[4] = $event => (_ctx.showHelpScreen = !_ctx.showHelpScreen)),\n title: \"Help\"\n }, _hoisted_15))\n : _createCommentVNode(\"\", true),\n (_ctx.showFaqBtn)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 1,\n onClick: _cache[5] || (_cache[5] = $event => (_ctx.faqLink())),\n title: \"FAQ\"\n }, _hoisted_17))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n (_ctx.showHelpScreen)\n ? (_openBlock(), _createBlock(_component_HelpScreen, {\n key: 0,\n onClose: _cache[6] || (_cache[6] = $event => (_ctx.showHelpScreen = false)),\n helpContent: _ctx.helpContent\n }, {\n header: _withCtx(() => [\n _hoisted_18\n ]),\n body: _withCtx(() => []),\n _: 1\n }, 8, [\"helpContent\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","export enum NavStepStatusID {\n Unknown = 'unknown',\n NotDone = 'not-done',\n Done = 'done',\n Current = 'current',\n}\nexport class NavStep {\n constructor(\n public name: string = '',\n public routeSecName: string = '',\n public visible: boolean = true,\n public status: NavStepStatus = NavStepStatusID.NotDone,\n ) {\n }\n}\n\nexport type NavStepStatus = NavStepStatusID.Unknown | NavStepStatusID.NotDone |\n NavStepStatusID.Done | NavStepStatusID.Current;\nexport interface StepperName {\n overview: string;\n practiceAreas: string;\n trustAccountDetails: string;\n declaration: string;\n confirmation: string;\n trustAccountingRecords: string;\n generalTrustMoney: string;\n controlledMoney: string;\n specificPowerMoney: string;\n investmentMoney: string;\n otherInformation: string;\n breaches: string;\n}\n\nexport const Step: StepperName = {\n overview: 'Overview',\n practiceAreas: 'Practice Areas',\n trustAccountDetails: 'Trust Account Details',\n declaration: 'Declaration',\n confirmation: 'Confirmation',\n trustAccountingRecords: 'Trust Accounting Records',\n generalTrustMoney: 'General Trust Money',\n controlledMoney: 'Controlled Money',\n specificPowerMoney: 'Specific Power Money',\n investmentMoney: 'Investment Money',\n otherInformation: 'Other Information',\n breaches: 'Breaches',\n}\n\nexport interface SectionName {\n overview: string;\n practiceAreas: string;\n trustAccountDetails: string;\n declaration: string;\n confirmation: string;\n trustAccountingRecords: string;\n generalTrustMoney: string;\n controlledMoney: string;\n specificPowerMoney: string;\n investmentMoney: string;\n otherInformation: string;\n breaches: string;\n}\n\nexport const Section: SectionName = {\n overview: 'overview',\n practiceAreas: 'practice-areas',\n trustAccountDetails: 'trust-account-details',\n declaration: 'declaration',\n confirmation: 'confirmation',\n trustAccountingRecords: 'trust-account-records',\n generalTrustMoney: 'general-trust-money',\n controlledMoney: 'controlled-money',\n specificPowerMoney: 'specific-power-money',\n investmentMoney: 'investment-money',\n otherInformation: 'other-information',\n breaches: 'breaches',\n}\n","import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, renderSlot as _renderSlot, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, Transition as _Transition, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-46416d1c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"help-screen\" }\nconst _hoisted_2 = { class: \"modal-mask\" }\nconst _hoisted_3 = { class: \"modal-wrapper\" }\nconst _hoisted_4 = { class: \"button-bar\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-right\" })\n], -1))\nconst _hoisted_6 = { class: \"modal-header\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Help Section:\", -1))\nconst _hoisted_8 = {\n key: 0,\n class: \"modal-body\"\n}\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_10 = {\n class: \"ql-container ql-snow ql-disabled\",\n style: {\"width\":\"100%\",\"border\":\"none\"}\n}\nconst _hoisted_11 = [\"innerHTML\"]\nconst _hoisted_12 = { class: \"modal-footer row\" }\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_Transition, { name: \"modal\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"modal-container\", [{'is-closing' : _ctx.isClosing} ]])\n }, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"button\", {\n class: \"btn btn-outline sml\",\n onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.close && _ctx.close(...args)))\n }, [\n _createTextVNode(\" Close \"),\n _hoisted_5\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _renderSlot(_ctx.$slots, \"header\", {}, () => [\n _hoisted_7\n ], true)\n ]),\n (_ctx.helpContent)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _renderSlot(_ctx.$slots, \"body\", {}, () => [\n _createElementVNode(\"h4\", null, _toDisplayString(_ctx.helpContent.title), 1),\n _hoisted_9,\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"div\", {\n class: \"ql-editor ql-blank\",\n \"data-gramm\": \"false\",\n contenteditable: \"false\",\n style: {\"padding\":\"0 0\"},\n innerHTML: _ctx.helpContent.content\n }, null, 8, _hoisted_11)\n ])\n ], true)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_12, [\n _renderSlot(_ctx.$slots, \"footer\", {}, undefined, true)\n ])\n ], 2)\n ])\n ])\n ]),\n _: 3\n })\n ]))\n}","import { Options, Vue } from 'vue-class-component';\n// import { PageContent } from '@/shared/modules/typescript-api-client/models';\nimport '@vueup/vue-quill/dist/vue-quill.snow.css';\n@Options({\n props: {\n helpContent: Object\n },\n components: {\n },\n})\nexport default class HelpScreen extends Vue {\n private helpContent!: any;\n private isClosing = false;\n\n mounted(): void {\n document.body.classList.add('modal-open');\n document.addEventListener('keydown', this.onEscape);\n }\n\n beforeUnmount(): void {\n document.body.classList.remove('modal-open');\n document.removeEventListener('keydown', this.onEscape);\n }\n\n private onEscape(e: KeyboardEvent) {\n if (e.key.toLowerCase() === 'escape') {\n this.close();\n }\n }\n\n private close() {\n this.isClosing = true;\n setTimeout(() => {\n this.$emit('close');\n }, 500);\n }\n\n}\n","import { render } from \"./help-screen.html?vue&type=template&id=46416d1c&scoped=true&ts=true&external\"\nimport script from \"./help-screen.ts?vue&type=script&lang=ts&external\"\nexport * from \"./help-screen.ts?vue&type=script&lang=ts&external\"\n\nimport \"./help-screen.scss?vue&type=style&index=0&id=46416d1c&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-46416d1c\"]])\n\nexport default __exports__","import { Options, Vue } from 'vue-class-component';\nimport { NavStep, NavStepStatusID } from './nav-step';\nimport HelpScreen from '../help-screen/index.vue';\nimport UserDefine from '@/assets/config/user-define.json';\nimport { Watch } from 'vue-property-decorator';\n// import { PageContent } from '@/shared/modules/typescript-api-client/models';\nimport store from '@/trust-atcs-app/store';\nimport { EventEmitter } from 'events';\n\n\n@Options({\n props: {\n navSteps: Array,\n navbarText: String,\n showHelpBtn: Boolean,\n showFaqBtn: Boolean,\n },\n components: {\n HelpScreen,\n }\n})\nexport default class SwipeStepper extends Vue {\n private showHelpScreen = false;\n navSteps!: NavStep[];\n navbarText!: string;\n showHelpBtn!: boolean;\n showFaqBtn!: boolean;\n\n private distance = 0;\n\n // private helpContent: PageContent = {\n private helpContent: any = {\n title: 'Page title here',\n content: 'Help content here',\n isShow: false,\n key: '',\n }\n\n get section(): string {\n return this.$route.query.sec as string;\n }\n\n get helpContentData(): unknown {\n const _helpContentData: any = [{}];\n return _helpContentData;\n }\n\n private navigate(s: NavStep): void {\n const _section: string = this.$route.query.sec as string;\n if (s.status === NavStepStatusID.Done && _section !== 'confirmation') {\n const temp: string = JSON.stringify(this.$route.query);\n const tempJSON = JSON.parse(temp);\n tempJSON.sec = s.routeSecName;\n this.$router.push({ query: tempJSON });\n }\n }\n\n private navigateBack() {\n const index = this.currentNavStepIndex;\n if (index > 0) {\n // console.log(this.navSteps[index - 1].routeSecName);\n this.navigate(this.navSteps[index - 1]);\n }\n }\n\n get currentNavStepIndex(): number {\n let index = -1;\n this.navSteps.filter((z) => z.visible).forEach((x, i) => {\n if (x.status === NavStepStatusID.Current) {\n index = i;\n }\n });\n return index;\n }\n\n @Watch('currentNavStepIndex')\n private onNavStepsChanged() {\n setTimeout(() => {\n this.scrollToItem();\n }, 1000)\n\n }\n\n private startY: any = null;\n private startX: any = null;\n private scrollLeft: any = null;\n private scrollTop: any = null;\n private isDown = false;\n private menuInnerBox: any | null = null;\n\n mounted() {\n this.menuInnerBox = this.$refs.menuInnerBox as HTMLElement;\n this.menuInnerBox.addEventListener('mousedown', (e: MouseEvent) => this.mouseIsDown(e));\n this.menuInnerBox.addEventListener('mouseup', (e: MouseEvent) => this.mouseUp(e))\n this.menuInnerBox.addEventListener('mouseleave', (e: MouseEvent) => this.mouseLeave(e));\n this.menuInnerBox.addEventListener('mousemove', (e: MouseEvent) => this.mouseMove(e));\n this.eventCtrl.on('updateHelpContent', this.updateHelpContent);\n }\n\n beforeUnmount(): void {\n this.menuInnerBox.removeEventListener('mousedown', (e: MouseEvent) => this.mouseIsDown(e));\n this.menuInnerBox.removeEventListener('mouseup', (e: MouseEvent) => this.mouseUp(e))\n this.menuInnerBox.removeEventListener('mouseleave', (e: MouseEvent) => this.mouseLeave(e));\n this.menuInnerBox.removeEventListener('mousemove', (e: MouseEvent) => this.mouseMove(e));\n this.eventCtrl.removeListener('updateHelpContent', this.updateHelpContent);\n }\n\n private updateHelpContent(content: any) {\n this.helpContent = content;\n // console.log('nav bar updateHelpContent: ', this.helpContent);\n }\n\n private mouseIsDown(e: MouseEvent) {\n this.isDown = true;\n this.startY = e.pageY - this.menuInnerBox.offsetTop;\n this.startX = e.pageX - this.menuInnerBox.offsetLeft;\n this.scrollLeft = this.menuInnerBox.scrollLeft;\n this.scrollTop = this.menuInnerBox.scrollTop;\n this.menuInnerBox.classList.add('dragging');\n }\n\n private mouseUp(e: MouseEvent) {\n this.isDown = false;\n this.menuInnerBox.classList.remove('dragging');\n }\n\n private mouseLeave(e: MouseEvent) {\n this.isDown = false;\n this.menuInnerBox.classList.remove('dragging');\n }\n\n private mouseMove(e: MouseEvent) {\n if (this.isDown) {\n e.preventDefault();\n\n // Move vertically\n // const y = e.pageY - container.offsetTop;\n // const walkY = y - startY;\n // container.scrollTop = scrollTop - walkY;\n\n //Move Horizontally\n const x = e.pageX - this.menuInnerBox.offsetLeft;\n const walkX = x - this.startX;\n this.menuInnerBox.scrollLeft = this.scrollLeft - walkX;\n\n }\n }\n\n private scrollToItem() {\n const _menuInnerBox = this.$refs.menuInnerBox as HTMLElement;\n const navItem = document.querySelector('li.current') as HTMLElement;\n _menuInnerBox?.scrollTo(navItem?.offsetLeft - 50, 0);\n }\n\n private scroll(distance: number) {\n const _menuInnerBox = this.$refs.menuInnerBox as HTMLElement;\n for (let i = 0; i < 500; i++) {\n setTimeout(() => {\n _menuInnerBox.scrollLeft += distance / 50;\n }, 10 * i);\n }\n }\n\n private contactUs() {\n window.open(UserDefine[0].contact_us_url, 'blank');\n }\n\n private faqLink() {\n const _pathName: string = this.$route.path;\n let fqaLink = UserDefine[0].faq_url;\n if (_pathName.indexOf('/amr-application') == 0) {\n fqaLink = 'https://www.lawsociety.com.au/AMR-faq';\n } else if (_pathName.indexOf('/amn-application') == 0) {\n fqaLink = 'https://www.lawsociety.com.au/AMN-faq';\n } else if (_pathName.indexOf('/stn-application') == 0) {\n fqaLink = 'https://www.lawsociety.com.au/legal-communities/law-students/student-members';\n } else if (_pathName.indexOf('/str-application') == 0) {\n fqaLink = 'https://www.lawsociety.com.au/legal-communities/law-students/student-members';\n } else if (_pathName.indexOf('/sar-application') == 0) {\n fqaLink = 'https://www.lawsociety.com.au/SAR-FAQ';\n } else if (_pathName.indexOf('/form-eer') == 0 || _pathName.indexOf('/form-part-') == 0) {\n fqaLink = UserDefine[0].faq_atcs_url;\n }\n window.open(fqaLink, 'blank');\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n}\n\n","import { render } from \"./swipe-stepper.html?vue&type=template&id=63757a38&scoped=true&ts=true&external\"\nimport script from \"./swipe-stepper.ts?vue&type=script&lang=ts&external\"\nexport * from \"./swipe-stepper.ts?vue&type=script&lang=ts&external\"\n\nimport \"./swipe-stepper.scss?vue&type=style&index=0&id=63757a38&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-63757a38\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-8af9e7f4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-part-a-confirmation\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"mt-3 mb-3\" }, \"Confirmation\", -1))\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"confirmation-header\" }, \" Your submission was successfully received. \", -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"body\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", null, \"The Trust Coordinator will receive a confirmation email in their inbox shortly.\"),\n /*#__PURE__*/_createElementVNode(\"p\"),\n /*#__PURE__*/_createElementVNode(\"div\", null, [\n /*#__PURE__*/_createTextVNode(\"If you have questions, please \"),\n /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://www.lawsociety.com.au/contact-us\",\n target: \"_blank\",\n class: \"link\"\n }, \"contact us\"),\n /*#__PURE__*/_createTextVNode(\".\")\n ])\n], -1))\nconst _hoisted_5 = [\n _hoisted_2,\n _hoisted_3,\n _hoisted_4\n]\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, _hoisted_5))\n}","\nimport {Options, Vue} from \"vue-property-decorator\";\n\n@Options({\n components: {}\n})\nexport default class FormPartAConfirmation extends Vue {\n\n}\n\n","import { render } from \"./form-part-a-confirmation.html?vue&type=template&id=8af9e7f4&scoped=true&ts=true&external\"\nimport script from \"./form-part-a-confirmation.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-part-a-confirmation.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-part-a-confirmation.scss?vue&type=style&index=0&id=8af9e7f4&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-8af9e7f4\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-578b66fc\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-part-a-declaration\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"mt-3 mb-3\" }, \"Declaration\", -1))\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"col-12 declarations mt-4\" }, [\n /*#__PURE__*/_createTextVNode(\" By clicking “Submit” I declare that:\"),\n /*#__PURE__*/_createElementVNode(\"br\"),\n /*#__PURE__*/_createElementVNode(\"br\"),\n /*#__PURE__*/_createTextVNode(\" The contents of this submission are true and correct; and\"),\n /*#__PURE__*/_createElementVNode(\"br\"),\n /*#__PURE__*/_createElementVNode(\"br\"),\n /*#__PURE__*/_createTextVNode(\" I have read the \"),\n /*#__PURE__*/_createElementVNode(\"a\", {\n class: \"link\",\n href: \"https://www.lawsociety.com.au/privacy-policy/personal-information-collection-notice\",\n target: \"_blank\"\n }, \"Personal Information Collection Notice\"),\n /*#__PURE__*/_createTextVNode(\" and consent to The Law Society of New South Wales collection, use and disclosure of information in accordance with that Notice; and \")\n], -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"col-12 declarations mt-4\" }, \"The Law Society has been advised of all known instances of non-compliance or suspected non-compliance with the provisions of the Uniform Law and the Uniform Rules, and all known data breaches, cyber security breaches, fraud or suspected fraud during the relevant period.\", -1))\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Completer:\", -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Submission date:\", -1))\nconst _hoisted_10 = {\n key: 0,\n class: \"col-12 declarations mt-4\"\n}\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-exclamation-circle\" }, null, -1))\nconst _hoisted_12 = {\n key: 1,\n class: \"col-12 declarations mt-4\"\n}\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-exclamation-circle\" }, null, -1))\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (!_ctx.loadingContent && !_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_2,\n _hoisted_3,\n _hoisted_4,\n _hoisted_5,\n _hoisted_6,\n _hoisted_7,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.completer), 1),\n _hoisted_8,\n _hoisted_9,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.$formatDateFullDate(new Date())), 1),\n (!_ctx.formPartAData.declarationDetails?.isPrincipal)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _hoisted_11,\n _createTextVNode(\" To submit this compliance form, you must be a Principal. \")\n ]))\n : (!_ctx.formPartAData.declarationDetails?.hasTrustCoordinator)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n _hoisted_13,\n _createTextVNode(\" To submit this compliance form, a Trust Coordinator must be assigned for this Practice. A Principal can assign themselves as a Trust Coordinator on the initial dashboard page. \")\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n}","\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { ComplianceForm, PartAFormDeclaration } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport { AuthorizedUser } from \"@/trust-atcs-app/models/authorized-user\";\nimport { FormPartAData } from \"@/trust-atcs-app/models/form-part-a-data\";\nimport store from \"@/trust-atcs-app/store\";\nimport { EventEmitter } from \"events\";\nimport { Emit, Inject, Options, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\n\n@Options({\n components: {},\n mixins: [FormatDateTimeMixin],\n})\nexport default class FormPartADeclaration extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop()\n private formPartAData!: FormPartAData;\n\n @Prop({ default: false })\n private isSectionLoading!: boolean;\n\n @Emit('update:isSectionLoading')\n @Emit('validForm')\n\n @Watch('loadingContent')\n private sectionLoading() {\n this.$emit('update:isSectionLoading', this.loadingContent);\n }\n\n private ai = new AppInsights;\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private declarationContent: PartAFormDeclaration = null as any;\n\n created(): void {\n this.loadDeclarationContent();\n }\n\n private async loadDeclarationContent(): Promise {\n try {\n this.loadingContent = true;\n const resp: any = await this.apiService.PartAFormApi?.apiV2PartAFormGetDeclarationPost({\n complianceFormId: this.complianceFormA.id,\n updatingKey: this.updatingKey,\n });\n\n this.declarationContent = resp.data.data as PartAFormDeclaration;\n this.formPartAData.declarationDetails = this.declarationContent;\n setTimeout(() => {\n this.$emit('validForm', this.validForm());\n }, 100);\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error loading content');\n this.errorLoadingContent = true;\n } finally {\n this.loadingContent = false;\n }\n }\n\n private validForm(): boolean {\n return this.formPartAData.declarationDetails?.isPrincipal && this.formPartAData.declarationDetails?.hasTrustCoordinator;\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n get complianceFormA(): ComplianceForm {\n return store.getters.getSelectedComplianceFormA;\n }\n\n get updatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n get completer(): string {\n try {\n return this.userAccount?.user?.firstName + ' ' + this.userAccount?.user?.lastName;\n } catch (err) {\n console.log(err);\n return '';\n }\n }\n\n get userAccount(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n\n}\n\n","import { render } from \"./form-part-a-declaration.html?vue&type=template&id=578b66fc&scoped=true&ts=true&external\"\nimport script from \"./form-part-a-declaration.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-part-a-declaration.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-part-a-declaration.scss?vue&type=style&index=0&id=578b66fc&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-578b66fc\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5edd477e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-part-a-overview\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", null, \"Overview\", -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_5 = { class: \"shade mb-4\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Law Practice Name:\", -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Practice Trading Name:\", -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Relevant Period:\", -1))\nconst _hoisted_9 = { key: 0 }\nconst _hoisted_10 = { key: 1 }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Law Practice business structure:\", -1))\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"mb-2\" }, \"We have on record the following details for your Law Practice:\", -1))\nconst _hoisted_13 = { class: \"shade\" }\nconst _hoisted_14 = {\n key: 0,\n class: \"ml-2\"\n}\nconst _hoisted_15 = { class: \"branches ml-2\" }\nconst _hoisted_16 = { class: \"row\" }\nconst _hoisted_17 = { class: \"col-6\" }\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", { class: \"branch-name\" }, \"Branch Address:\", -1))\nconst _hoisted_19 = { class: \"branch-address\" }\nconst _hoisted_20 = { class: \"col-6\" }\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", { class: \"branch-name\" }, \"Branch Trading Name:\", -1))\nconst _hoisted_22 = { class: \"branch-address\" }\nconst _hoisted_23 = { class: \"row\" }\nconst _hoisted_24 = { class: \"col-6\" }\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Commencement Date:\", -1))\nconst _hoisted_26 = { class: \"col-6\" }\nconst _hoisted_27 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Cessation Date:\", -1))\nconst _hoisted_28 = { key: 0 }\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"mb-2 mt-3\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-info-circle fa-lg mr-2\" }),\n /*#__PURE__*/_createTextVNode(\" If the information recorded above is incorrect or incomplete, please notify the Registry Department at \"),\n /*#__PURE__*/_createElementVNode(\"a\", {\n class: \"link\",\n target: \"blank\",\n href: \"mailto:registry@lawsociety.com.au\"\n }, \"registry@lawsociety.com.au\"),\n /*#__PURE__*/_createTextVNode(\".\")\n], -1))\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (!_ctx.loadingContent && !_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_2,\n _hoisted_3,\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n _hoisted_6,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.overviewContent.firmName) + \" / \" + _toDisplayString(_ctx.overviewContent.firmId), 1),\n _hoisted_7,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.overviewContent?.practiceTradingName?? 'No trading name found'), 1),\n _hoisted_8,\n (!_ctx.overviewContent?.complianceYearStart)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, \"-\"))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.$formatDateFullDate(_ctx.overviewContent?.complianceYearStart) || '-') + \" - \" + _toDisplayString(_ctx.$formatDateFullDate(_ctx.overviewContent?.complianceYearEnd) || '-'), 1)\n ])),\n _hoisted_11,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.overviewContent?.lawPracticeStructure), 1)\n ]),\n _hoisted_12,\n _createElementVNode(\"div\", _hoisted_13, [\n (_ctx.overviewContent?.otherBranches?.length == 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, \"No Branches found\"))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.overviewContent.otherBranches, (b, i) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", _hoisted_17, [\n _hoisted_18,\n _createElementVNode(\"div\", _hoisted_19, _toDisplayString(b?.branchAddress ?? '-'), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_20, [\n _hoisted_21,\n _createElementVNode(\"div\", _hoisted_22, _toDisplayString(b?.tradingName ?? 'No trading name found'), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"div\", _hoisted_24, [\n _hoisted_25,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.$formatDateFullDate(b.periodFrom) || '-'), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_26, [\n _hoisted_27,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.$formatDateFullDate(b.periodTo) || '-'), 1)\n ])\n ]),\n ((i+1) != _ctx.overviewContent?.otherBranches?.length)\n ? (_openBlock(), _createElementBlock(\"hr\", _hoisted_28))\n : _createCommentVNode(\"\", true)\n ]))\n }), 256))\n ]),\n _hoisted_29\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n}","\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { ComplianceForm, PartAFormOverview } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport store from \"@/trust-atcs-app/store\";\nimport { EventEmitter } from \"events\";\nimport {Emit, Inject, Options, Prop, Vue, Watch} from \"vue-property-decorator\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\n\n@Options({\n components: {\n LoadingSpinner\n },\n emits: ['update:isSectionLoading', 'setFormDesc'],\n mixins: [FormatDateTimeMixin],\n})\nexport default class FormPartAOverview extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop({default: false})\n private isSectionLoading!: boolean;\n\n @Watch('loadingContent')\n private sectionLoading() {\n this.$emit('update:isSectionLoading', this.loadingContent);\n }\n\n private ai = new AppInsights;\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private overviewContent: PartAFormOverview = null as any;\n\n created(): void {\n this.loadOverviewContent();\n }\n\n mounted(): void {\n this.eventCtrl.on('reload-form-a-overview-content', this.loadOverviewContent);\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-form-a-overview-content', this.loadOverviewContent);\n }\n\n\n private async loadOverviewContent(): Promise {\n try {\n this.loadingContent = true;\n const resp: any = await this.apiService.PartAFormApi?.apiV2PartAFormGetOverviewPost({\n complianceFormId: this.complianceFormA.id,\n updatingKey: this.updatingKey,\n });\n\n this.overviewContent = resp.data.data as PartAFormOverview;\n this.$emit('setFormDesc', this.$formatDateFullDate(this.overviewContent?.complianceYearEnd));\n\n store.dispatch('setFormUpdatingkey', this.overviewContent.updatingKey);\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error loading content');\n this.errorLoadingContent = true;\n } finally {\n this.loadingContent = false;\n }\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n get complianceFormA(): ComplianceForm {\n return store.getters.getSelectedComplianceFormA;\n }\n\n get updatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n}\n\n","import { render } from \"./form-part-a-overview.html?vue&type=template&id=5edd477e&scoped=true&ts=true&external\"\nimport script from \"./form-part-a-overview.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-part-a-overview.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-part-a-overview.scss?vue&type=style&index=0&id=5edd477e&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5edd477e\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7dd6d2b0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-part-a-practice-areas\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"mt-3 mb-3\" }, \"Practice Areas\", -1))\n\nexport function render(_ctx, _cache) {\n const _component_AllocationPercentile = _resolveComponent(\"AllocationPercentile\")\n const _component_AllocationPercentileV2 = _resolveComponent(\"AllocationPercentileV2\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (!_ctx.loadingContent && !_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_2,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"questions-main\", _ctx.validForm() ? 'answered' : ''])\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.formPartAData.practiceAreas.atcsMainQuestions, (q, i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (q.atcsQuestionTypeId==_ctx.QuestionType.AreaOfLaw)\n ? (_openBlock(), _createBlock(_component_AllocationPercentile, {\n key: 0,\n question: _ctx.formPartAData.practiceAreas.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartAData.practiceAreas.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==_ctx.QuestionType.AreaOfLawsV2)\n ? (_openBlock(), _createBlock(_component_AllocationPercentileV2, {\n key: 1,\n question: _ctx.formPartAData.practiceAreas.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartAData.practiceAreas.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n ], 2)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-11247c0c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"allocation-percentile mt-4\" }\nconst _hoisted_2 = { class: \"options\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_4 = { class: \"option-summary ml-4\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"option-label\" }, [\n /*#__PURE__*/_createElementVNode(\"strong\", null, \"Total percentage\")\n], -1))\nconst _hoisted_6 = { class: \"option-value\" }\nconst _hoisted_7 = [\"value\"]\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"sign\" }, \"%\", -1))\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { style: {\"width\":\"100%\",\"text-align\":\"right\"} }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-exclamation-circle\" }),\n /*#__PURE__*/_createTextVNode(\" Total percentage needs to be at 100% \")\n], -1))\n\nexport function render(_ctx, _cache) {\n const _component_Percentile = _resolveComponent(\"Percentile\")\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"h4\", null, _toDisplayString(_ctx.question.wording), 1),\n _createElementVNode(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.question.atcsSubQuestions, (q, i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (q.atcsQuestionTypeId == 4)\n ? (_openBlock(), _createBlock(_component_Percentile, {\n key: 0,\n question: _ctx.question.atcsSubQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.question.atcsSubQuestions[i]) = $event),\n onChanged: $event => (_ctx.onValueChanged($event, i)),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onChanged\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n ]),\n _hoisted_3,\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", [_ctx.totalPercentage > 100 ? 'error': (_ctx.totalPercentage == 100 ? 'success' : '')]])\n }, [\n _createElementVNode(\"input\", {\n type: \"number\",\n disabled: true,\n value: _ctx.totalPercentage\n }, null, 8, _hoisted_7),\n _hoisted_8,\n _hoisted_9\n ], 2)\n ])\n ])\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6cefeb8e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"percentile ml-4\" }\nconst _hoisted_2 = { class: \"option\" }\nconst _hoisted_3 = { class: \"option-label\" }\nconst _hoisted_4 = { class: \"option-value\" }\nconst _hoisted_5 = { class: \"input-box\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"sign\" }, \"%\", -1))\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.question.wording), 1),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"number\",\n min: \"0\",\n max: \"100\",\n pattern: \"[1-9]\\\\d*\",\n onFocus: _cache[0] || (_cache[0] = $event => ($event.target.select())),\n onkeydown: \"if(event.key==='.' || event.key==='-'){event.preventDefault();}\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.fieldValue) = $event))\n }, null, 544), [\n [_vModelText, _ctx.fieldValue]\n ]),\n _hoisted_6\n ])\n ])\n ])\n ]))\n}","import { Options, Vue } from 'vue-class-component';\nimport { Emit, Prop, Watch } from 'vue-property-decorator';\nimport { Question } from '../question-model';\n\n@Options({})\nexport default class Percentile extends Vue {\n\n @Prop()\n private question!: any;\n\n private fieldValue = 0;\n\n @Watch('fieldValue')\n private onFieldValueChanged(): void {\n this.question.responses[0].answerNumber = this.fieldValue;\n this.question.responses[0].value = this.fieldValue;\n this.$emit('validForm', this.validForm());\n }\n\n created(): void {\n // this.fieldValue = this.question.responses[0].answerNumber;\n this.question.responses[0].answerNumber = this.question.responses[0].value ?? 0;\n this.fieldValue = this.question.responses[0].value ?? 0;\n }\n\n private validForm(): boolean {\n return Number.isInteger(this.question.responses[0].answerNumber);\n }\n\n // private keyDownFilter(event: any): void {\n // // Filter out all non-numeric values and negative sign and 'e' and '.'\n // if (event.keyCode === 69 || event.keyCode === 189 || event.keyCode === 190 || event.keyCode === 110) {\n // console.log('Invalid key pressed');\n // event.preventDefault();\n // }\n // }\n\n}\n","import { render } from \"./percentile.html?vue&type=template&id=6cefeb8e&scoped=true&ts=true&external\"\nimport script from \"./percentile.ts?vue&type=script&lang=ts&external\"\nexport * from \"./percentile.ts?vue&type=script&lang=ts&external\"\n\nimport \"./percentile.scss?vue&type=style&index=0&id=6cefeb8e&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6cefeb8e\"]])\n\nexport default __exports__","import { Options, Vue } from 'vue-class-component';\nimport { Prop } from 'vue-property-decorator';\nimport Percentile from '../percentile/index.vue';\n\n@Options({\n components: {\n Percentile\n }\n})\nexport default class AllocationPercentile extends Vue {\n\n @Prop()\n private question!: any;\n\n private validSubQuestion: boolean[] = [];\n // private subQuestions: any[] = [];\n\n\n created(): void {\n this.validSubQuestion = this.question.atcsSubQuestions.map((q: any) => false);\n // this.subQuestions = this.question.atcsSubQuestions.map((q: any) => q);\n this.question.atcsSubQuestions.forEach((q: any, i: any) => {\n q.responses.forEach((r: any) => {\n this.question.atcsSubQuestions[i].responses[0].answerNumber = r.value ?? 0;\n });\n });\n this.$emit('validForm', this.validForm());\n }\n\n private onValueChanged(event: any, i: any): void {\n this.$emit('changed', event);\n // this.$emit('validForm', this.validForm());\n }\n\n private validForm(): boolean {\n // const allFieldsValid = !this.validSubQuestion.includes(false);\n const chk1 = this.totalPercentage == 100;\n return chk1;\n }\n\n private validationForm(i: any, isValid: any) {\n this.validSubQuestion[i] = isValid;\n this.$emit('validForm', this.validForm());\n }\n\n get totalPercentage(): number {\n let total = 0;\n this.question.atcsSubQuestions.forEach((q: any, i: any) => {\n if (q.responses[0].answerNumber != null && Number.isInteger(q.responses[0].answerNumber)) {\n total += q.responses[0].answerNumber;\n }\n });\n return total;\n }\n}\n","import { render } from \"./allocation-percentile.html?vue&type=template&id=11247c0c&scoped=true&ts=true&external\"\nimport script from \"./allocation-percentile.ts?vue&type=script&lang=ts&external\"\nexport * from \"./allocation-percentile.ts?vue&type=script&lang=ts&external\"\n\nimport \"./allocation-percentile.scss?vue&type=style&index=0&id=11247c0c&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-11247c0c\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-391c296c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"allocation-percentile mt-4\" }\nconst _hoisted_2 = { class: \"options\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_4 = { class: \"option-summary ml-4\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"option-label\" }, [\n /*#__PURE__*/_createElementVNode(\"strong\", null, \"Total percentage\")\n], -1))\nconst _hoisted_6 = { class: \"option-value\" }\nconst _hoisted_7 = [\"value\"]\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"sign\" }, \"%\", -1))\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { style: {\"width\":\"100%\",\"text-align\":\"right\"} }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-exclamation-circle\" }),\n /*#__PURE__*/_createTextVNode(\" Total percentage needs to be at 100% \")\n], -1))\n\nexport function render(_ctx, _cache) {\n const _component_Percentile = _resolveComponent(\"Percentile\")\n const _component_TextAndPercentile = _resolveComponent(\"TextAndPercentile\")\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"h4\", null, _toDisplayString(_ctx.question.wording), 1),\n _createElementVNode(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.question.atcsSubQuestions, (q, i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (q.atcsQuestionTypeId == _ctx.QuestionType.Percentile)\n ? (_openBlock(), _createBlock(_component_Percentile, {\n key: 0,\n question: _ctx.question.atcsSubQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.question.atcsSubQuestions[i]) = $event),\n onChanged: $event => (_ctx.onValueChanged($event, i)),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onChanged\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId == _ctx.QuestionType.TextAndPercentile)\n ? (_openBlock(), _createBlock(_component_TextAndPercentile, {\n key: 1,\n question: _ctx.question.atcsSubQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.question.atcsSubQuestions[i]) = $event),\n onChanged: $event => (_ctx.onValueChanged($event, i)),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onChanged\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n ]),\n _hoisted_3,\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", [_ctx.totalPercentage > 100 ? 'error': (_ctx.totalPercentage == 100 ? 'success' : '')]])\n }, [\n _createElementVNode(\"input\", {\n type: \"number\",\n disabled: true,\n value: _ctx.totalPercentage\n }, null, 8, _hoisted_7),\n _hoisted_8,\n _hoisted_9\n ], 2)\n ])\n ])\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3be1e82c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"percentile ml-4\" }\nconst _hoisted_2 = { class: \"option\" }\nconst _hoisted_3 = { class: \"option-label\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_5 = [\"placeholder\"]\nconst _hoisted_6 = { class: \"option-value\" }\nconst _hoisted_7 = { class: \"input-box mt-2\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"sign\" }, \"%\", -1))\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createTextVNode(_toDisplayString(_ctx.question.wording) + \" \", 1),\n _hoisted_4,\n _withDirectives(_createElementVNode(\"textarea\", {\n class: \"text-area\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.fieldText) = $event)),\n maxlength: \"150\",\n onInput: _cache[1] || (_cache[1] = (...args) => (_ctx.onTextChanged && _ctx.onTextChanged(...args))),\n placeholder: _ctx.textAreaPlaceholder,\n onFocus: _cache[2] || (_cache[2] = $event => ($event.target.select()))\n }, null, 40, _hoisted_5), [\n [_vModelText, _ctx.fieldText]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", _ctx.fieldText.length === 150 ? 'full' : ''])\n }, _toDisplayString(_ctx.fieldText?.length || 0) + \"/150 characters \", 3)\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"number\",\n min: \"0\",\n max: \"100\",\n pattern: \"[1-9]\\\\d*\",\n onFocus: _cache[3] || (_cache[3] = $event => ($event.target.select())),\n onkeydown: \"if(event.key==='.' || event.key==='-'){event.preventDefault();}\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.fieldValue) = $event))\n }, null, 544), [\n [_vModelText, _ctx.fieldValue]\n ]),\n _hoisted_8\n ])\n ])\n ])\n ]))\n}","import { Options, Vue } from 'vue-class-component';\nimport { Prop, Watch } from 'vue-property-decorator';\n\n@Options({})\nexport default class TextAndPercentile extends Vue {\n\n @Prop()\n private question!: any;\n\n private fieldValue = 0;\n private fieldText = '';\n\n private textAreaPlaceholder = 'Please enter details of \\'Other\\'';\n\n @Watch('fieldValue')\n private onFieldValueChanged(): void {\n this.question.responses[0].answerNumber = this.fieldValue;\n this.question.responses[0].value = this.fieldValue;\n this.$emit('validForm', this.validForm());\n }\n\n @Watch('fieldText')\n private onFieldTextChanged(): void {\n this.question.responses[0].answerTxt = this.fieldText.toString();\n // this.question.responses[0].value = this.fieldValue;\n this.$emit('validForm', this.validForm());\n }\n\n created(): void {\n this.question.responses[0].answerNumber = this.question.responses[0].value ?? 0;\n this.fieldValue = this.question.responses[0].value ?? 0;\n this.fieldText = this.question.responses[0].answerTxt ?? '';\n }\n\n private validForm(): boolean {\n return Number.isInteger(this.question.responses[0].answerNumber) && this.question.responses[0].answerTxt?.trim().length > 0;\n }\n\n // private keyDownFilter(event: any): void {\n // // Filter out all non-numeric values and negative sign and 'e' and '.'\n // if (event.keyCode === 69 || event.keyCode === 189 || event.keyCode === 190 || event.keyCode === 110) {\n // console.log('Invalid key pressed');\n // event.preventDefault();\n // }\n // }\n\n}\n","import { render } from \"./text-and-percentile.html?vue&type=template&id=3be1e82c&scoped=true&ts=true&external\"\nimport script from \"./text-and-percentile.ts?vue&type=script&lang=ts&external\"\nexport * from \"./text-and-percentile.ts?vue&type=script&lang=ts&external\"\n\nimport \"./text-and-percentile.scss?vue&type=style&index=0&id=3be1e82c&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3be1e82c\"]])\n\nexport default __exports__","// export interface QuestionType {\n// id: string;\n// name: string;\n// component: any;\n// }\n\n// export type Role = RoleType.Tester | RoleType.Principal | RoleType.TrustContact |\n// RoleType.TrustCoordinators | RoleType.KeyContact | RoleType.ExternalExaminer | RoleType.ToBeExternalExaminer;\n\nexport enum QuestionType {\n WordingOnly = 1,\n Text = 2,\n Number = 3,\n Percentile = 4,\n Currency = 5,\n DatePicker = 6,\n DateRangePicker = 7,\n Files = 8,\n DropDown = 9,\n RadioButtonHorizontal = 10,\n RadioButtonVertical = 11,\n CheckBoxHorizontal = 12,\n CheckBoxVertical = 13,\n AreaOfLaw = 14,\n RadioButtonBranchList = 15,\n RadioButtonSubQuestions = 16,\n MultiRadioBoxes = 17,\n DropDownWithText = 18,\n PerBankAccount = 19,\n PerSignatory = 20,\n ComputedCurrency = 21,\n TextArea = 23,\n AreaOfLawsV2 = 24,\n PerBankAccountV2 = 25,\n TextAndPercentile = 26,\n TextAreaConditional = 27,\n FilesConditional =28,\n RadioButtonWithFiles = 29,\n}","import { Options, Vue } from 'vue-class-component';\nimport { Prop } from 'vue-property-decorator';\nimport Percentile from '../percentile/index.vue';\nimport TextAndPercentile from '../text-and-percentile/index.vue';\nimport { QuestionType } from '../question-type';\n\n@Options({\n components: {\n Percentile,\n TextAndPercentile,\n },\n})\nexport default class AllocationPercentileV2 extends Vue {\n @Prop()\n private question!: any;\n\n private validSubQuestion: boolean[] = [];\n // private subQuestions: any[] = [];\n\n created(): void {\n this.validSubQuestion = this.question.atcsSubQuestions.map((q: any) => false);\n // this.subQuestions = this.question.atcsSubQuestions.map((q: any) => q);\n this.question.atcsSubQuestions.forEach((q: any, i: any) => {\n q.responses.forEach((r: any) => {\n this.question.atcsSubQuestions[i].responses[0].answerNumber = r.value ?? 0;\n });\n });\n this.$emit('validForm', this.validForm());\n }\n\n private onValueChanged(event: any, i: any): void {\n this.$emit('changed', event);\n // this.$emit('validForm', this.validForm());\n }\n\n private validForm(): boolean {\n // const allFieldsValid = !this.validSubQuestion.includes(false);\n const chk1 = this.totalPercentage == 100;\n return chk1;\n }\n\n private validationForm(i: any, isValid: any) {\n this.validSubQuestion[i] = isValid;\n this.$emit('validForm', this.validForm());\n }\n\n get totalPercentage(): number {\n let total = 0;\n this.question.atcsSubQuestions.forEach((q: any, i: any) => {\n if (q.responses[0].answerNumber != null && Number.isInteger(q.responses[0].answerNumber)) {\n total += q.responses[0].answerNumber;\n }\n });\n return total;\n }\n\n get QuestionType(): any {\n return QuestionType;\n }\n}\n","import { render } from \"./allocation-percentile-v2.html?vue&type=template&id=391c296c&scoped=true&ts=true&external\"\nimport script from \"./allocation-percentile-v2.ts?vue&type=script&lang=ts&external\"\nexport * from \"./allocation-percentile-v2.ts?vue&type=script&lang=ts&external\"\n\nimport \"./allocation-percentile-v2.scss?vue&type=style&index=0&id=391c296c&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-391c296c\"]])\n\nexport default __exports__","import { Emit, Inject, Options, Prop, Vue, Watch } from 'vue-property-decorator';\nimport AllocationPercentile from '../questions/allocation-percentile/index.vue';\nimport AllocationPercentileV2 from '../questions/allocation-percentile-v2/index.vue';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport { AppInsights } from '@/trust-admin-app/appInsights';\nimport { EventEmitter } from 'events';\nimport store from '@/trust-atcs-app/store';\nimport { ComplianceForm, PartAFormPracticeAreas } from '@/shared/modules/typescript-trustapi-client/models';\nimport { FormPartAData } from '@/trust-atcs-app/models/form-part-a-data';\nimport { QuestionType } from '../questions/question-type';\n\n@Options({\n components: {\n AllocationPercentile,\n AllocationPercentileV2\n },\n})\nexport default class FormPartAPracticeAreas extends Vue {\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop()\n private formPartAData!: FormPartAData;\n\n @Prop({ default: false })\n private isSectionLoading!: boolean;\n\n @Emit('update:isSectionLoading')\n @Emit('validForm')\n @Watch('loadingContent')\n private sectionLoading() {\n this.$emit('update:isSectionLoading', this.loadingContent);\n }\n\n private ai = new AppInsights();\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private practiceAreasContent: PartAFormPracticeAreas = null as any;\n private validMainQuestions: boolean[] = [];\n\n created(): void {\n this.loadPracticeAreasContent();\n }\n\n mounted(): void {\n this.eventCtrl.on('reload-form-a-practicearea-content', this.loadPracticeAreasContent);\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-form-a-practicearea-content', this.loadPracticeAreasContent);\n }\n\n private async loadPracticeAreasContent(): Promise {\n try {\n this.loadingContent = true;\n const resp: any = await this.apiService.PartAFormApi?.apiV2PartAFormGetPracticeAreasPost({\n complianceFormId: this.complianceFormA.id,\n updatingKey: this.updatingKey,\n });\n\n this.practiceAreasContent = resp.data.data as PartAFormPracticeAreas;\n this.formPartAData.practiceAreas = this.practiceAreasContent;\n // Sort this.formPartAData.practiceAreas.atcsMainQuestions.atcsSubQuestions by order number\n this.formPartAData.practiceAreas.atcsMainQuestions.forEach((q: any) => {\n q.atcsSubQuestions = q.atcsSubQuestions.sort((a: any, b: any) => a.order - b.order);\n });\n this.validMainQuestions = this.formPartAData.practiceAreas.atcsMainQuestions.map((q: any) => false);\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error loading content');\n this.errorLoadingContent = true;\n } finally {\n this.loadingContent = false;\n }\n }\n\n // private onValueChanged(event: any): void {\n // console.log('onValueChanged-formPart-A', event);\n // }\n\n private validForm(): boolean {\n return !this.validMainQuestions.includes(false);\n }\n\n private validationForm(i: any, isValid: any) {\n this.validMainQuestions[i] = isValid;\n this.$emit('validForm', this.validForm());\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n get complianceFormA(): ComplianceForm {\n return store.getters.getSelectedComplianceFormA;\n }\n\n get updatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n get QuestionType(): any {\n return QuestionType;\n }\n}\n","import { render } from \"./form-part-a-practice-areas.html?vue&type=template&id=7dd6d2b0&scoped=true&ts=true&external\"\nimport script from \"./form-part-a-practice-areas.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-part-a-practice-areas.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-part-a-practice-areas.scss?vue&type=style&index=0&id=7dd6d2b0&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7dd6d2b0\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4a86b370\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-part-a-trust-account-details\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"mt-3 mb-3\" }, \"Trust Account Details\", -1))\nconst _hoisted_3 = { class: \"questions-main\" }\n\nexport function render(_ctx, _cache) {\n const _component_RadioButtonBranchList = _resolveComponent(\"RadioButtonBranchList\")\n const _component_RadioButtonHorizontal = _resolveComponent(\"RadioButtonHorizontal\")\n const _component_RadioButtonVertical = _resolveComponent(\"RadioButtonVertical\")\n const _component_MultiRadioBoxes = _resolveComponent(\"MultiRadioBoxes\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (!_ctx.loadingContent && !_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_2,\n _createElementVNode(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.formPartAData.trustAccountDetails.atcsMainQuestions, (q, i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (q.atcsQuestionTypeId==15)\n ? (_openBlock(), _createBlock(_component_RadioButtonBranchList, {\n key: 0,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartAData.trustAccountDetails.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartAData.trustAccountDetails.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==10)\n ? (_openBlock(), _createBlock(_component_RadioButtonHorizontal, {\n key: 1,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartAData.trustAccountDetails.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartAData.trustAccountDetails.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==11)\n ? (_openBlock(), _createBlock(_component_RadioButtonVertical, {\n key: 2,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartAData.trustAccountDetails.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartAData.trustAccountDetails.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==17)\n ? (_openBlock(), _createBlock(_component_MultiRadioBoxes, {\n key: 3,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartAData.trustAccountDetails.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartAData.trustAccountDetails.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n ])\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, vModelRadio as _vModelRadio, withDirectives as _withDirectives, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1fdcbe60\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"linked-question\"\n}\nconst _hoisted_2 = { class: \"linked-question-title\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"linked-question-textarea\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"linked-question-wording\"\n}\nconst _hoisted_5 = { class: \"question\" }\nconst _hoisted_6 = { style: {\"min-width\":\"250px\"} }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { class: \"radio-button-group ml-4\" }\nconst _hoisted_9 = { class: \"radio\" }\nconst _hoisted_10 = [\"name\", \"value\"]\nconst _hoisted_11 = { class: \"radio-elmt mt-2 mb-2\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n], -1))\nconst _hoisted_13 = { class: \"radio-text\" }\n\nexport function render(_ctx, _cache) {\n const _component_Popover = _resolveComponent(\"Popover\")\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"radiobutton-horizontal\", _ctx.validForm() ? 'answered' : ''])\n }, [\n (_ctx.question.linkedSubQuestion)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createTextVNode(_toDisplayString(_ctx.newLinkedWording) + \" \", 1),\n _createVNode(_component_Popover, { popover: _ctx.obj }, null, 8, [\"popover\"])\n ]),\n (_ctx.question.linkedSubQuestion?.atcsQuestionTypeId==23)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.getResponse(_ctx.question.linkedSubQuestion)), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _toDisplayString(_ctx.getResponse(_ctx.question.linkedSubQuestion)), 1))\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"h4\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.newWording), 1),\n _createVNode(_component_Popover, { popover: _ctx.obj }, null, 8, [\"popover\"])\n ]),\n (_ctx.question.description)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, _toDisplayString(_ctx.question.description), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_8, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.question.responses, (option) => {\n return (_openBlock(), _createElementBlock(\"label\", _hoisted_9, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: _ctx.uniqueIdName + this.question.id,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.selectedOption) = $event)),\n value: option.value\n }, null, 8, _hoisted_10), [\n [_vModelRadio, _ctx.selectedOption]\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _hoisted_12,\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(option.wording), 1)\n ])\n ]))\n }), 256))\n ])\n ])\n ], 2))\n}","import { Options, Vue } from 'vue-class-component';\nimport { Emit, Prop, Watch } from 'vue-property-decorator';\nimport { Question } from '../question-model';\nimport store from '@/trust-atcs-app/store';\nimport Popover from '@/shared/components/popover/index.vue';\nimport { orderBy } from 'lodash';\n\n@Options({\n components: {\n Popover\n },\n emits: ['validForm'],\n})\nexport default class RadioButtonHorizontal extends Vue {\n\n @Prop()\n private question!: any;\n\n @Prop()\n private allQuestions!: any;\n\n @Watch('selectedOption')\n private onSelectedOptionChanged(): void {\n this.question.responses.forEach((r: any, i: number) => {\n if (r.value == this.selectedOption) {\n this.question.responses[i].answerIsSelected = true;\n } else {\n this.question.responses[i].answerIsSelected = null;\n }\n });\n this.$emit('validForm', this.validForm());\n }\n\n private uniqueIdName = null as any;\n\n private selectedOption = null as any;\n private newWording = '';\n private newLinkedWording = '';\n private obj = null as any;\n\n private generateUUID() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = Math.random() * 16 | 0,\n v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n }\n\n created(): void {\n this.uniqueIdName = 'RadioHorizontal-' + this.generateUUID();\n this.question.responses = orderBy(this.question.responses, 'order', 'asc'); \n this.initField();\n const content = store.getters.getPopovers;\n\n this.newWording = this.question.wording;\n\n if (this.question.linkedSubQuestion?.wording.match(/--{{([^)]+)}}--/)) {\n const popovers = this.question.linkedSubQuestion?.wording.match(/--{{([^)]+)}}--/)[1];\n this.obj = content.filter((x: any) => x.key == popovers)[0];\n this.newLinkedWording = this.question.linkedSubQuestion?.wording.replace('--{{' + popovers + '}}--', '');\n } else {\n this.newLinkedWording = this.question.linkedSubQuestion?.wording;\n }\n\n if (this.question.wording.match(/--{{([^)]+)}}--/)) {\n const popovers = this.question.wording.match(/--{{([^)]+)}}--/)[1];\n this.obj = content.filter((x: any) => x.key == popovers)[0];\n this.newWording = this.question.wording.replace('--{{' + popovers + '}}--', '');\n }\n \n }\n\n private initField(): void {\n const defaultSelection = this.question.responses.filter((x: any) => x.answerIsSelected);\n if (defaultSelection.length > 0) {\n this.selectedOption = defaultSelection[0].value;\n }\n }\n\n private validForm(): boolean {\n return this.selectedOption != null;\n }\n\n private getResponse(linkedSubQuestion: any): string {\n const questionType = linkedSubQuestion.atcsQuestionTypeId;\n let returnValue = '';\n switch (questionType) {\n case 5:\n returnValue = this.formatNumberToCurrencyWithZero(linkedSubQuestion.responses[0].answerCurrency);\n break;\n case 3:\n returnValue = linkedSubQuestion.responses[0].answerNumber;\n break;\n case 21:\n returnValue = this.calculateValue(linkedSubQuestion.developerKey);\n break;\n case 23:\n returnValue = linkedSubQuestion.responses[0].answerTxt;\n break;\n }\n\n return returnValue;\n }\n\n private formatNumberToCurrencyWithZero(amount: number): string {\n // format number 1234567.20 to 1,234,567.20\n if (amount != null) {\n return '$ ' + amount.toFixed(2).replace(/(\\d)(?=(\\d{3})+\\.)/g, '$1,')\n } else {\n return '$ 0';\n }\n }\n\n private calculateValue(developerKey: string): string {\n let groupValue = 0;\n if (developerKey.endsWith('ComputeGroupA-PlusMinus')) {\n groupValue = this.sumOfGroup('GroupA');\n } else if (developerKey.endsWith('ComputeGroupB-PlusMinus')) {\n groupValue = this.sumOfGroup('GroupB');\n } else if (developerKey.startsWith('ComputeGroupC-MaxAbsoluteDiff')) {\n groupValue = this.maxAbsDiff();\n }\n\n // Format as currency with commas\n const formattedCurrency = '$ ' + groupValue.toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\n return formattedCurrency;\n\n }\n\n private sumOfGroup(groupName: string): number {\n let sum = 0;\n for (let i = 0; i < this.allQuestions.length; i++) {\n if (this.allQuestions[i].linkedSubQuestion?.developerKey.indexOf(groupName) == 0) {\n let operator = 1;\n if (this.allQuestions[i].linkedSubQuestion.developerKey.indexOf('Minus') > 0 && this.allQuestions[i].linkedSubQuestion.developerKey.indexOf('GroupC') !== 0) {\n operator = -1;\n }\n const value = this.allQuestions[i].linkedSubQuestion.responses[0].answerCurrency || 0;\n sum += value * operator;\n }\n }\n return sum;\n }\n\n private maxAbsDiff(): number {\n const groupC = {} as any;\n groupC[0] = this.sumOfGroup('GroupA');\n groupC[1] = this.sumOfGroup('GroupB');\n groupC[2] = this.sumOfGroup('GroupC');\n // console.log('maxAbsDiff: ', groupC);\n const keys = Object.keys(groupC);\n let maxDiff = 0;\n for (let i = 0; i < keys.length - 1; i++) {\n for (let j = i + 1; j < keys.length; j++) {\n const diff = Math.abs(groupC[keys[i]] - groupC[keys[j]]);\n if (diff > maxDiff) {\n maxDiff = diff;\n }\n }\n }\n return maxDiff;\n }\n\n}\n","import { render } from \"./radiobutton-horizontal.html?vue&type=template&id=1fdcbe60&scoped=true&ts=true&external\"\nimport script from \"./radiobutton-horizontal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./radiobutton-horizontal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./radiobutton-horizontal.scss?vue&type=style&index=0&id=1fdcbe60&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1fdcbe60\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, vModelRadio as _vModelRadio, withDirectives as _withDirectives, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4f303e3c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"linked-question\"\n}\nconst _hoisted_2 = { class: \"linked-question-title\" }\nconst _hoisted_3 = { class: \"linked-question-wording\" }\nconst _hoisted_4 = { class: \"ml-1\" }\nconst _hoisted_5 = { key: 1 }\nconst _hoisted_6 = { class: \"ml-4\" }\nconst _hoisted_7 = { class: \"radio\" }\nconst _hoisted_8 = [\"name\", \"value\"]\nconst _hoisted_9 = { class: \"radio-elmt mt-2 ml-2 mb-2\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n], -1))\nconst _hoisted_11 = { class: \"radio-text\" }\n\nexport function render(_ctx, _cache) {\n const _component_Popover = _resolveComponent(\"Popover\")\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"radiobutton-vertical\", _ctx.validForm() ? 'answered' : ''])\n }, [\n (_ctx.question.linkedMainQuestion)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_ctx.question.linkedQuestionTitle), 1),\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.question.linkedMainQuestion?.wording), 1),\n _createElementVNode(\"div\", null, \"Answer: \" + _toDisplayString(_ctx.getLinedQuestionResponse(_ctx.question.linkedMainQuestion?.responses)), 1)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"h4\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.newWording) + \" \", 1),\n _createVNode(_component_Popover, { popover: _ctx.obj }, null, 8, [\"popover\"])\n ]),\n (_ctx.question.description)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _toDisplayString(_ctx.question.description), 1))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.question.responses, (option) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createElementVNode(\"label\", _hoisted_7, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: _ctx.uniqueIdName,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.selectedOption) = $event)),\n value: option.value\n }, null, 8, _hoisted_8), [\n [_vModelRadio, _ctx.selectedOption]\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _hoisted_10,\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(option.wording), 1)\n ])\n ])\n ]))\n }), 256))\n ], 2))\n}","import { Options, Vue } from 'vue-class-component';\nimport { Emit, Prop, Watch } from 'vue-property-decorator';\nimport { Question } from '../question-model';\nimport store from '@/trust-atcs-app/store';\nimport Popover from '@/shared/components/popover/index.vue';\nimport { orderBy } from 'lodash';\n\n@Options({\n components: {\n Popover\n }\n})\nexport default class RadioButtonVertical extends Vue {\n\n @Prop()\n private question!: any;\n\n @Watch('selectedOption')\n private onSelectedOptionChanged(): void {\n this.question.responses.forEach((r: any, i: number) => {\n if (r.value == this.selectedOption) {\n this.question.responses[i].answerIsSelected = true;\n } else {\n this.question.responses[i].answerIsSelected = null;\n }\n });\n this.$emit('validForm', this.validForm());\n }\n\n private uniqueIdName = null as any;\n private selectedOption = null as any;\n private newWording = '';\n private obj = null as any;\n\n created(): void {\n this.uniqueIdName = 'RadioVertical' + this.question.id;\n this.question.responses = orderBy(this.question.responses, 'order', 'asc'); \n this.initField();\n const content = store.getters.getPopovers;\n if (this.question.wording.match(/--{{([^)]+)}}--/)) {\n const popovers = this.question.wording.match(/--{{([^)]+)}}--/)[1];\n this.obj = content.filter((x: any) => x.key == popovers)[0];\n this.newWording = this.question.wording.replace('--{{' + popovers + '}}--', '');\n } else {\n this.newWording = this.question.wording;\n }\n this.$emit('validForm', this.validForm());\n }\n\n private initField(): void {\n const defaultSelection = this.question.responses.filter((x: any) => x.answerIsSelected);\n if (defaultSelection.length > 0) {\n this.selectedOption = defaultSelection[0].value;\n }\n }\n\n private getLinedQuestionResponse(responses: any[]): string {\n return responses.map((r: any) => r.answerIsSelected ? r.wording : '').join(' ');\n }\n\n private validForm(): boolean {\n return this.selectedOption != null;\n }\n\n}\n","import { render } from \"./radiobutton-vertical.html?vue&type=template&id=4f303e3c&scoped=true&ts=true&external\"\nimport script from \"./radiobutton-vertical.ts?vue&type=script&lang=ts&external\"\nexport * from \"./radiobutton-vertical.ts?vue&type=script&lang=ts&external\"\n\nimport \"./radiobutton-vertical.scss?vue&type=style&index=0&id=4f303e3c&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4f303e3c\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, vModelRadio as _vModelRadio, withDirectives as _withDirectives, vModelCheckbox as _vModelCheckbox, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2f2ce0b0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { key: 0 }\nconst _hoisted_2 = { class: \"radio-button-group ml-4\" }\nconst _hoisted_3 = { class: \"radio\" }\nconst _hoisted_4 = [\"name\", \"value\"]\nconst _hoisted_5 = { class: \"radio-elmt mt-2 mb-2\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n], -1))\nconst _hoisted_7 = { class: \"radio-text\" }\nconst _hoisted_8 = { class: \"ml-4\" }\nconst _hoisted_9 = { class: \"checkbox-button branch-checkbox\" }\nconst _hoisted_10 = [\"onUpdate:modelValue\", \"onChange\"]\nconst _hoisted_11 = { class: \"checkbox-elmt\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n], -1))\nconst _hoisted_13 = { class: \"checkbox-text\" }\nconst _hoisted_14 = { class: \"branch-type-name\" }\nconst _hoisted_15 = { class: \"branch-address\" }\n\nexport function render(_ctx, _cache) {\n const _component_Popover = _resolveComponent(\"Popover\")\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"radiobutton-branchlist\", _ctx.validForm() ? 'answered' : ''])\n }, [\n _createElementVNode(\"h4\", null, [\n _createTextVNode(_toDisplayString(_ctx.newWording) + \" \", 1),\n _createVNode(_component_Popover, { popover: _ctx.obj }, null, 8, [\"popover\"])\n ]),\n (_ctx.question.description)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, _toDisplayString(_ctx.question.description), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.question.responses, (option) => {\n return (_openBlock(), _createElementBlock(\"label\", _hoisted_3, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: _ctx.uniqueIdName,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.selectedOption) = $event)),\n value: option.value\n }, null, 8, _hoisted_4), [\n [_vModelRadio, _ctx.selectedOption]\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _hoisted_6,\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(option.wording), 1)\n ])\n ]))\n }), 256))\n ]),\n (_ctx.selectedOption == _ctx.question.subQuestionTriggerValue && _ctx.question.atcsSubQuestions?.length > 1)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 1 }, _renderList(_ctx.question.atcsSubQuestions, (sq, i) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"label\", _hoisted_9, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": $event => ((_ctx.subQuestionAnswers[i]) = $event),\n onChange: $event => (_ctx.updateSubQuestionAnswer($event, i))\n }, null, 40, _hoisted_10), [\n [_vModelCheckbox, _ctx.subQuestionAnswers[i]]\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _hoisted_12,\n _createElementVNode(\"span\", _hoisted_13, [\n _createElementVNode(\"h4\", _hoisted_14, _toDisplayString(sq.description) + \":\", 1),\n _createElementVNode(\"div\", _hoisted_15, _toDisplayString(sq.wording), 1)\n ])\n ])\n ])\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ], 2))\n}","import { Options, Vue } from 'vue-class-component';\nimport { Prop, Watch } from 'vue-property-decorator';\nimport Popover from '@/shared/components/popover/index.vue';\nimport store from '@/trust-atcs-app/store';\nimport { PopoverView } from '@/shared/components/popover/popover';\nimport { orderBy } from 'lodash';\n\n@Options({\n components: {\n Popover\n }\n})\nexport default class RadioButtonBranchList extends Vue {\n\n @Prop()\n private question!: any;\n\n @Watch('selectedOption')\n private onSelectedOptionChanged(): void {\n // reset all selection\n this.question.responses.forEach((r: any, i: number) => {\n this.question.responses[i].answerIsSelected = null;\n });\n\n // search and select\n this.question.responses.forEach((r: any, i: number) => {\n if (r.value == this.selectedOption) {\n this.question.responses[i].answerIsSelected = true;\n }\n });\n\n if (this.selectedOption != this.question.subQuestionTriggerValue) {\n this.question.atcsSubQuestions.forEach((r: any, i: number) => {\n this.question.atcsSubQuestions[i].responses[0].answerIsSelected = null;\n });\n this.subQuestionAnswers = this.question.atcsSubQuestions.map((x: any) => x.responses[0].answerIsSelected);\n }\n\n if (this.selectedOption == this.question.subQuestionTriggerValue && this.question.atcsSubQuestions?.length == 1) {\n this.question.atcsSubQuestions[0].responses[0].answerIsSelected = true;\n }\n\n this.$emit('validForm', this.validForm());\n }\n\n private uniqueIdName = null as any;\n private selectedOption = null as any;\n private newWording = '';\n private obj: PopoverView = null as any;\n private subQuestionAnswers: any[] = [];\n\n created(): void {\n this.uniqueIdName = 'RadioButtonBranchList' + this.question.id;\n this.initField();\n const content = store.getters.getPopovers;\n const popovers = this.question.wording.match(/--{{([^)]+)}}--/)[1];\n this.obj = content.filter((x:any) => x.key == popovers)[0];\n this.newWording = this.question.wording.replace('--{{' + popovers + '}}--', '');\n }\n\n private initField(): void {\n this.question.responses = orderBy(this.question.responses, 'order', 'asc'); \n const defaultSelection = this.question.responses.filter((x: any) => x.answerIsSelected);\n if (defaultSelection.length > 0) {\n this.selectedOption = defaultSelection[0].value;\n }\n this.subQuestionAnswers = this.question.atcsSubQuestions.map((x: any) => x.responses[0].answerIsSelected);\n this.$emit('validForm', this.validForm());\n }\n\n private updateSubQuestionAnswer(event: any, i: number): void {\n this.subQuestionAnswers[i] = event.target.checked;\n this.question.atcsSubQuestions[i].responses[0].answerIsSelected = this.subQuestionAnswers[i];\n this.$emit('validForm', this.validForm());\n }\n\n private validForm(): boolean {\n let valid = false; \n if (this.selectedOption == this.question.subQuestionTriggerValue) {\n valid = this.question.atcsSubQuestions.filter((x: any) => x.responses[0].answerIsSelected)?.length > 0;\n } else if (this.selectedOption != this.question.subQuestionTriggerValue) {\n valid = this.question.responses.filter((x: any) => x.value == this.selectedOption)?.length > 0;\n }\n return valid;\n }\n}\n","import { render } from \"./radiobutton-branchlist.html?vue&type=template&id=2f2ce0b0&scoped=true&ts=true&external\"\nimport script from \"./radiobutton-branchlist.ts?vue&type=script&lang=ts&external\"\nexport * from \"./radiobutton-branchlist.ts?vue&type=script&lang=ts&external\"\n\nimport \"./radiobutton-branchlist.scss?vue&type=style&index=0&id=2f2ce0b0&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2f2ce0b0\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, normalizeClass as _normalizeClass } from \"vue\"\n\nexport function render(_ctx, _cache) {\n const _component_Popover = _resolveComponent(\"Popover\")\n const _component_RadioButtonHorizontal = _resolveComponent(\"RadioButtonHorizontal\")\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"multi-radioboxes mt-4\", _ctx.validForm() ? 'answered' : ''])\n }, [\n _createElementVNode(\"h4\", null, [\n _createTextVNode(_toDisplayString(_ctx.newWording) + \" \", 1),\n _createVNode(_component_Popover, { popover: _ctx.obj }, null, 8, [\"popover\"])\n ]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.question.atcsSubQuestions, (sq, i) => {\n return (_openBlock(), _createBlock(_component_RadioButtonHorizontal, {\n class: \"ml-4 one-lineOptions\",\n question: _ctx.question.atcsSubQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.question.atcsSubQuestions[i]) = $event),\n onChanged: $event => (_ctx.onValueChanged($event, i)),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onChanged\", \"onValidForm\"]))\n }), 256))\n ], 2))\n}","import { Options, Vue } from 'vue-class-component';\nimport { Emit, Prop, Watch } from 'vue-property-decorator';\nimport { Question } from '../question-model';\nimport RadioButtonHorizontal from '../radiobutton-horizontal/index.vue';\nimport store from '@/trust-atcs-app/store';\nimport Popover from '@/shared/components/popover/index.vue';\nimport { orderBy } from 'lodash';\n\n@Options({\n components: {\n RadioButtonHorizontal,\n Popover\n }\n})\nexport default class MultiRadioBoxes extends Vue {\n\n @Prop()\n private question!: any;\n private validSubQuestion: boolean[] = [];\n private newWording = '';\n private obj = null as any;\n\n created(): void {\n this.question.responses = orderBy(this.question.responses, 'order', 'asc'); \n this.validSubQuestion = this.question.atcsSubQuestions.map((q: any) => false);\n const content = store.getters.getPopovers;\n const popovers = this.question.wording.match(/--{{([^)]+)}}--/)[1];\n this.obj = content.filter((x:any) => x.key == popovers)[0] ?? {};\n this.newWording = this.question.wording.replace('--{{' + popovers + '}}--', '');\n this.$emit('validForm', this.validForm());\n }\n\n private onValueChanged(event: any, i: any): void {\n this.$emit('changed', event);\n // this.$emit('validForm', this.validForm());\n }\n\n private validationForm(i: any, isValid: any) {\n this.validSubQuestion[i] = isValid;\n this.$emit('validForm', this.validForm());\n }\n\n private validForm(): boolean {\n return !this.validSubQuestion.includes(false);\n }\n\n}\n","import { render } from \"./multi-radioboxes.html?vue&type=template&id=0a1b84f8&scoped=true&ts=true&external\"\nimport script from \"./multi-radioboxes.ts?vue&type=script&lang=ts&external\"\nexport * from \"./multi-radioboxes.ts?vue&type=script&lang=ts&external\"\n\nimport \"./multi-radioboxes.scss?vue&type=style&index=0&id=0a1b84f8&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0a1b84f8\"]])\n\nexport default __exports__","\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { ComplianceForm, PartAFormTrustAccountDetails } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport { FormPartAData } from \"@/trust-atcs-app/models/form-part-a-data\";\nimport store from \"@/trust-atcs-app/store\";\nimport { EventEmitter } from \"events\";\nimport { Emit, Inject, Options, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport RadioButtonHorizontal from \"../questions/radiobutton-horizontal/index.vue\";\nimport RadioButtonVertical from \"../questions/radiobutton-vertical/index.vue\";\nimport RadioButtonBranchList from \"../questions/radiobutton-branchlist/index.vue\";\nimport MultiRadioBoxes from \"../questions/multi-radioboxes/index.vue\";\n\n@Options({\n components: {\n RadioButtonHorizontal,\n RadioButtonVertical,\n RadioButtonBranchList,\n MultiRadioBoxes\n }\n})\nexport default class FormPartATrustAccountDetails extends Vue {\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop()\n private formPartAData!: FormPartAData;\n\n @Prop({ default: false })\n private isSectionLoading!: boolean;\n\n @Emit('update:isSectionLoading')\n @Emit('validForm')\n\n @Watch('loadingContent')\n private sectionLoading() {\n this.$emit('update:isSectionLoading', this.loadingContent);\n }\n\n private ai = new AppInsights;\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private trustAccountDetailsContent: PartAFormTrustAccountDetails = null as any;\n private validMainQuestions: boolean[] = [];\n\n created(): void {\n this.loadTrustAccountDetailsContent();\n }\n\n mounted(): void {\n this.eventCtrl.on('reload-form-a-tadetails-content', this.loadTrustAccountDetailsContent);\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-form-a-tadetails-content', this.loadTrustAccountDetailsContent);\n }\n\n private async loadTrustAccountDetailsContent(): Promise {\n try {\n this.loadingContent = true;\n const resp: any = await this.apiService.PartAFormApi?.apiV2PartAFormGetTrustAccountDetailsPost({\n complianceFormId: this.complianceFormA.id,\n updatingKey: this.updatingKey,\n });\n\n this.trustAccountDetailsContent = resp.data.data as PartAFormTrustAccountDetails;\n this.formPartAData.trustAccountDetails = this.trustAccountDetailsContent;\n\n // Sort atcsMainQuestions by order number\n this.formPartAData.trustAccountDetails.atcsMainQuestions = this.formPartAData.trustAccountDetails.atcsMainQuestions.sort((a: any, b: any) => a.order - b.order);\n // Sort atcsSubQuestions by order number\n this.formPartAData.trustAccountDetails.atcsMainQuestions.forEach((q: any) => {\n q.atcsSubQuestions = q.atcsSubQuestions.sort((a: any, b: any) => a.order - b.order);\n });\n\n // Sort response by order number\n this.formPartAData.trustAccountDetails.atcsMainQuestions.forEach((q: any) => {\n q.responses = q.responses.sort((a: any, b: any) => a.order - b.order);\n });\n\n this.validMainQuestions = this.formPartAData.trustAccountDetails.atcsMainQuestions.map((q: any) => false);\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error loading content');\n this.errorLoadingContent = true;\n console.log(err);\n this.ai.trackException('Error loading Trust Account Detail' + err);\n } finally {\n this.loadingContent = false;\n }\n }\n\n // private onValueChanged(event: any): void {\n // this.$emit('validForm', this.validForm());\n // }\n\n private validForm(): boolean {\n return !this.validMainQuestions.includes(false);\n }\n\n private validationForm(i: any, isValid: any) {\n this.validMainQuestions[i] = isValid;\n this.$emit('validForm', this.validForm());\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n get complianceFormA(): ComplianceForm {\n return store.getters.getSelectedComplianceFormA;\n }\n\n get updatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n}\n\n","import { render } from \"./form-part-a-trust-account-details.html?vue&type=template&id=4a86b370&scoped=true&ts=true&external\"\nimport script from \"./form-part-a-trust-account-details.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-part-a-trust-account-details.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-part-a-trust-account-details.scss?vue&type=style&index=0&id=4a86b370&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4a86b370\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4fe56394\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-header\" }\nconst _hoisted_2 = { class: \"form-header-box\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"part\"\n}\nconst _hoisted_4 = { class: \"form-desc\" }\nconst _hoisted_5 = { key: 0 }\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"form-name\", _ctx.formName.line1 ? 'two-lines' : ''])\n }, [\n (_ctx.formName.line1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.formName.line1), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"letter\", _ctx.formName.line1 ? '' : 'sml'])\n }, _toDisplayString(_ctx.formName.line2), 3)\n ], 2),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.formDesc.line1), 1),\n (_ctx.formDesc.line2)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _toDisplayString(_ctx.formDesc.line2), 1))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n}","\nimport { Options, Vue } from \"vue-property-decorator\";\n\n@Options({\n props: {\n formName: {},\n formDesc: {},\n },\n components: {}\n})\nexport default class FormHeader extends Vue {\n private formName!: any;\n private formDesc!: any;\n}\n\n","import { render } from \"./form-header.html?vue&type=template&id=4fe56394&scoped=true&ts=true&external\"\nimport script from \"./form-header.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-header.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-header.scss?vue&type=style&index=0&id=4fe56394&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4fe56394\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-58a62dba\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-header-tc-note\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"icon\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-triangle\" })\n], -1))\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"note ml-3\" }, \" No Trust Coordinator is assigned. This form cannot be submitted until a Trust Coordinator is assigned. A Principal can assign themselves as a Trust Coordinator on the initial dashboard page. \", -1))\nconst _hoisted_4 = [\n _hoisted_2,\n _hoisted_3\n]\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, _hoisted_4))\n}","\nimport {Options, Vue} from \"vue-property-decorator\";\n\n@Options({\n components: {}\n})\nexport default class FormHeaderTcNote extends Vue {\n\n}\n\n","import { render } from \"./form-header-tc-note.html?vue&type=template&id=58a62dba&scoped=true&ts=true&external\"\nimport script from \"./form-header-tc-note.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-header-tc-note.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-header-tc-note.scss?vue&type=style&index=0&id=58a62dba&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-58a62dba\"]])\n\nexport default __exports__","import { withModifiers as _withModifiers, createElementVNode as _createElementVNode, Transition as _Transition, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-15708b46\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"session-expired\"\n}\nconst _hoisted_2 = { class: \"modal-mask\" }\nconst _hoisted_3 = {\n class: \"modal-wrapper\",\n ref: \"modalWrapper\"\n}\nconst _hoisted_4 = { class: \"modal-container\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"modal-header\" }, [\n /*#__PURE__*/_createElementVNode(\"h3\", null, \"Session Expired\")\n], -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"modal-body\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"text\" }, \" Your session has expired because it was accessed from another page. \")\n], -1))\nconst _hoisted_7 = { class: \"modal-footer\" }\nconst _hoisted_8 = { class: \"button-controls\" }\n\nexport function render(_ctx, _cache) {\n return (_ctx.modalOpened)\n ? (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_Transition, { name: \"modal\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"i\", {\n class: \"fal fa-times close-icon\",\n onClick: _cache[0] || (_cache[0] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\"]))\n }),\n _hoisted_5,\n _hoisted_6,\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"button\", {\n class: \"btn btn-outline dark\",\n onClick: _cache[1] || (_cache[1] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\"]))\n }, \"Close\")\n ])\n ])\n ])\n ], 512)\n ])\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true)\n}","import { FormStatus } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { Options, Prop, Vue } from \"vue-property-decorator\";\n\n@Options({})\nexport default class SessionExpired extends Vue {\n\n\n @Prop({ default: false })\n private modalOpened!: boolean;\n\n @Prop({ default: null })\n private formStatus!: FormStatus;\n\n mounted() {\n if (!this.modalOpened) {\n document.body.classList.add('modal-open');\n }\n }\n\n beforeUnmount() {\n if (!this.modalOpened) {\n document.body.classList.remove('modal-open');\n }\n }\n\n private closeModal(): void {\n this.$emit('close');\n }\n\n}\n\n","import { render } from \"./session-expired-modal.html?vue&type=template&id=15708b46&scoped=true&ts=true&external\"\nimport script from \"./session-expired-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./session-expired-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./session-expired-modal.scss?vue&type=style&index=0&id=15708b46&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-15708b46\"]])\n\nexport default __exports__","import { defineStore } from 'pinia';\nimport { ref } from 'vue';\nimport { FormPartAData } from '../models/form-part-a-data';\n\nexport const useFormPartADataStore = defineStore('FormPartADataStore', () => {\n const formPartAData = ref({} as FormPartAData);\n\n function setFormPartAData(i: FormPartAData) {\n formPartAData.value = i;\n }\n\n function clearFormPartAData() {\n formPartAData.value = {} as FormPartAData;\n }\n\n return {\n formPartAData,\n setFormPartAData,\n clearFormPartAData,\n };\n});\n","\nimport { Inject, Options, Vue, Watch } from \"vue-property-decorator\";\nimport SwipeStepper from \"../swipe-stepper/index.vue\";\nimport { NavStep, NavStepStatusID, Section, Step } from \"../swipe-stepper/nav-step\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-atcs-app/store\";\nimport { RouteN } from \"@/trust-atcs-app/constants/router-name\";\nimport LoadingIndicator from \"@/shared/components/loading-indicator/index.vue\";\nimport FormPartAConfirmation from \"../form-part-a-confirmation/index.vue\";\nimport FormPartADeclaration from \"../form-part-a-declaration/index.vue\";\nimport FormPartAOverview from \"../form-part-a-overview/index.vue\";\nimport FormPartAPracticeAreas from \"../form-part-a-practice-areas/index.vue\";\nimport FormPartATrustAccountDetails from \"../form-part-a-trust-account-details/index.vue\";\nimport ConfirmDialogue from '@/shared/components/confirm-dialogue/index.vue';\nimport { ComplianceForm, PageContent } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport FormHeader from \"../form-header/index.vue\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport { FormPartAData } from \"@/trust-atcs-app/models/form-part-a-data\";\nimport FormHeaderTcNote from \"../form-header-tc-note/index.vue\";\nimport { IDLESessionManager } from '@/trust-atcs-app/modules/session/idle-session-manager';\nimport SessionExpired from \"../session-expired-modal/index.vue\";\nimport { useFormPartADataStore } from \"@/trust-atcs-app/store/useFormPartADataStore\";\n\n@Options({\n components: {\n LoadingIndicator,\n SwipeStepper,\n FormHeader,\n FormPartAOverview,\n FormPartAPracticeAreas,\n FormPartATrustAccountDetails,\n FormPartADeclaration,\n FormPartAConfirmation,\n ConfirmDialogue,\n LoadingSpinner,\n FormHeaderTcNote,\n SessionExpired\n },\n mixins: [FormatDateTimeMixin],\n beforeRouteEnter(to: any, from: any, next: any) {\n const complianceFormA = store.getters.getSelectedComplianceFormA;\n if (!complianceFormA) {\n next({ name: RouteN.ATCS.Main.n });\n } else {\n next();\n }\n }\n})\nexport default class FormPartA extends Vue {\n private formPartADataStore = useFormPartADataStore();\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private navSteps = [\n new NavStep(Step.overview, Section.overview), // 0\n new NavStep(Step.practiceAreas, Section.practiceAreas), // 1\n new NavStep(Step.trustAccountDetails, Section.trustAccountDetails), // 2\n new NavStep(Step.declaration, Section.declaration), // 3\n new NavStep(Step.confirmation, Section.confirmation), // 4\n ];\n\n private ai = new AppInsights;\n private backButtonText = 'Cancel Application';\n private nextButtonText = 'Next';\n private backButtonVisible = true;\n\n private formName = {line1: 'Part', line2: 'A'};\n private formDesc = {line1: 'Law Practice Confirmation Statement', line2: ''};\n private isSectionLoading = false;\n private isSaving = false;\n private stopExtending = false;\n private showSessionExpiredModal = false;\n\n private workerID = -1;\n\n private sectionName = '';\n private helpContent: PageContent = {};\n\n private formPartAData: FormPartAData = {\n practiceAreas: {}\n };\n\n private validSection: boolean[] = [\n true,\n false,\n false,\n false,\n true\n ];\n\n private idleSessionMgr: IDLESessionManager = new IDLESessionManager(60);\n\n @Watch('$route')\n public OnRouteChange(val: any, oldVal: any): void {\n const _stored = 'something' //check store data here\n window.scrollTo(0, 0);\n if (oldVal.fullPath.indexOf('confirmation') > -1 || _stored == null) {\n this.$router.push({ name: RouteN.ATCS.DashboardMain.n });\n }\n this.setCurrentStep();\n }\n\n created(): void {\n // store.dispatch('setFormPartAData', this.formPartAData);\n this.formPartADataStore.setFormPartAData(this.formPartAData);\n this.idleSessionMgr.run(this.idleSessionTimeoutCallback);\n this.workerID = setInterval(() => {\n this.extendSession();\n }, 30000);\n }\n\n mounted(): void {\n window.scrollTo(0, 0);\n this.eventCtrl.on('save-and-close', this.saveAndClose);\n this.setCurrentStep();\n }\n\n beforeUnmount(): void {\n clearInterval(this.workerID);\n this.eventCtrl.off('save-and-close', this.saveAndClose);\n }\n\n beforeRouteLeave(to: any, from: any, next: any): void {\n store.dispatch('setSelectedComplianceFormA', null);\n store.dispatch('setFormUpdatingkey', null);\n // store.dispatch('setFormPartAData', {});\n this.formPartADataStore.clearFormPartAData();\n }\n\n private exitForm(): void {\n this.stopExtending = true;\n clearInterval(this.workerID);\n this.$router.push({ name: RouteN.ATCS.DashboardHome.n });\n this.showSessionExpiredModal = false;\n }\n private idleSessionTimeoutCallback(): void {\n this.stopExtending = true;\n }\n\n private setCurrentStep(): void {\n const _section: string = this.$route.query.sec as string;\n if (_section !== Section.overview) {\n this.backButtonText = 'Back';\n } else {\n this.backButtonText = 'Cancel';\n }\n\n this.nextButtonText = 'Next';\n this.backButtonVisible = true;\n\n switch (_section) {\n case Section.overview:\n this.backButtonVisible = false;\n this.setSteps(0);\n break;\n case Section.practiceAreas:\n this.setSteps(1);\n break;\n case Section.trustAccountDetails:\n this.setSteps(2);\n break;\n case Section.declaration:\n this.setSteps(3);\n this.nextButtonText = 'Submit';\n break;\n case Section.confirmation:\n this.setSteps(4);\n this.nextButtonText = 'Close';\n this.backButtonVisible = false;\n break;\n default:\n break;\n }\n }\n\n private setSteps(n: number) {\n this.updateHelpContent(n);\n for (let i = 0; i < this.navSteps.length; i++) {\n this.navSteps[i].status = NavStepStatusID.NotDone\n }\n for (let i = 0; i < n; i++) {\n this.navSteps[i].status = NavStepStatusID.Done\n }\n this.navSteps[n].status = NavStepStatusID.Current\n // the confirmation page\n const _confirmation = this.navSteps.length - 1;\n if (n === _confirmation) {\n for (let i = 0; i < _confirmation; i++) {\n this.navSteps[i].status = NavStepStatusID.Unknown\n }\n } else {\n // save the current step\n // window.sessionStorage.setItem('contractData', JSON.stringify(this.contractData));\n }\n }\n\n private updateHelpContent(n: number) {\n switch (n) {\n case 0: // Section.overview\n this.helpContent = this.$getPopover('Help', 4);\n break;\n case 1: // Section.practiceAreas\n this.helpContent = this.$getPopover('Help', 5);\n break;\n case 2: // Section.trustAccountDetails\n this.helpContent = this.$getPopover('Help', 6);\n break;\n case 3: // Section.declaration\n this.helpContent = this.$getPopover('Help', 7);\n break;\n case 4: // Section.confirmation\n this.helpContent = this.$getPopover('Help', 8);\n break;\n default:\n this.helpContent = {};\n break;\n }\n this.eventCtrl.emit('updateHelpContent', this.helpContent);\n }\n\n private goBack() {\n const _section: string = this.$route.query.sec as string;\n\n this.apiService.PartAFormApi?.apiV2PartAFormExtendFormStatusPost({\n complianceFormId: this.complianceFormA.id,\n updatingKey: this.formUpdatingKey,\n }).then(() => {\n\n switch (_section) {\n case Section.overview:\n this.eventCtrl.emit('cancel-pc-renew');\n // this.$router.push({ name: RouteN.Mars.PcRenewOverview.n, query: { appId: this.$route.query.appId } });\n break;\n case Section.practiceAreas:\n this.navigate(this.navSteps[0]);\n break;\n case Section.trustAccountDetails:\n this.navigate(this.navSteps[1])\n break;\n case Section.declaration:\n this.navigate(this.navSteps[2]);\n break;\n case Section.confirmation:\n this.eventCtrl.emit('cancel-part-a');\n break;\n default:\n break;\n }\n\n }).catch((err: any) => {\n this.showSessionExpiredModal = true;\n });\n }\n\n private navigate(s: NavStep): void {\n const temp: string = JSON.stringify(this.$route.query);\n const tempJSON = JSON.parse(temp);\n tempJSON.sec = s.routeSecName;\n this.$router.push({ query: tempJSON });\n }\n\n private goNext() {\n // store.dispatch('setPcrFormData', this.pcrFormData);\n const _section = this.$route.query.sec as string;\n switch (_section) {\n case Section.overview:\n // this.saveIndividualDetails(1);\n this.saveSection(false, false).then(\n (x: any) => !x ? (this.navigate(this.navSteps[1])) : true).catch((err: any) => console.log(err));\n break;\n case Section.practiceAreas:\n this.saveSection(false, false).then(\n (x: any) => !x ? (this.navigate(this.navSteps[2])) : true).catch((err: any) => console.log(err));\n break;\n case Section.trustAccountDetails:\n this.saveSection(false, false).then(\n (x: any) => !x ? (this.navigate(this.navSteps[3])) : true).catch((err: any) => console.log(err));\n break;\n case Section.declaration:\n this.saveSection(false, false).then(\n (x: any) => !x ? (this.navigate(this.navSteps[4])) : true).catch((err: any) => console.log(err));\n break;\n\n case Section.confirmation:\n // this.openSurveyWindow();\n this.$router.push({ name: RouteN.ATCS.DashboardHome.n });\n break;\n default:\n break;\n }\n }\n\n\n private saveAndClose(): void {\n const _confirm: any = this.$refs.confirmSaveClose;\n _confirm.show({\n title: 'Save & Close',\n message: 'By selecting the \\'Save & Close\\' button, any answered parts will be saved, and you will be taken back to the Homepage. Would you like to proceed?',\n okButton: 'Proceed',\n cancelButton: 'Cancel',\n }).then((res: any) => {\n if (res) {\n this.saveSection(true, true);\n }\n })\n }\n\n private async extendSession(): Promise {\n try {\n if (this.stopExtending) {\n clearInterval(this.workerID);\n this.showSessionExpiredModal = true;\n return;\n }\n if (this.isSaving) {\n return;\n }\n await this.apiService.PartAFormApi?.apiV2PartAFormExtendFormStatusPost({\n complianceFormId: this.complianceFormA.id,\n updatingKey:this.formUpdatingKey\n });\n\n } catch (err) {\n clearInterval(this.workerID);\n this.showSessionExpiredModal = true;\n }\n }\n\n private async saveSection(close?: boolean, skip?: boolean): Promise {\n try {\n this.isSaving = true;\n\n const _section = this.$route.query.sec as string;\n\n await this.apiService.PartAFormApi?.apiV2PartAFormExtendFormStatusPost({\n complianceFormId: this.complianceFormA.id,\n updatingKey: this.formUpdatingKey,\n });\n\n switch (_section) {\n case Section.practiceAreas:\n await this.apiService.PartAFormApi?.apiV2PartAFormSavePracticeAreasPost({\n id: this.formPartAData?.practiceAreas?.id,\n complianceFormStatus: this.formPartAData?.practiceAreas?.complianceFormStatus,\n atcsMainQuestions: this.formPartAData?.practiceAreas?.atcsMainQuestions,\n complianceFormId: this.complianceFormA.id,\n updatingKey:this.formUpdatingKey,\n skipValidation: skip,\n });\n\n if (skip && !close)\n this.eventCtrl.emit('reload-form-a-practicearea-content');\n break;\n case Section.trustAccountDetails:\n await this.apiService.PartAFormApi?.apiV2PartAFormSaveTrustAccountDetailsPost({\n id: this.formPartAData?.trustAccountDetails?.id,\n complianceFormStatus: this.formPartAData?.trustAccountDetails?.complianceFormStatus,\n atcsMainQuestions: this.formPartAData?.trustAccountDetails?.atcsMainQuestions,\n complianceFormId: this.complianceFormA.id,\n updatingKey:this.formUpdatingKey,\n skipValidation: skip,\n });\n if (skip && !close)\n this.eventCtrl.emit('reload-form-a-tadetails-content');\n break;\n case Section.declaration:\n if (!close) {\n await this.apiService.PartAFormApi?.apiV2PartAFormSubmitFormPost({\n complianceFormId: this.complianceFormA.id,\n updatingKey: this.formUpdatingKey\n });\n }\n break;\n case Section.confirmation:\n break;\n default:\n break;\n }\n\n if (close) {\n await this.apiService.PartAFormApi?.apiV2PartAFormClosePost({\n complianceFormId: this.complianceFormA.id,\n updatingKey: this.formUpdatingKey ?? null\n });\n this.$router.push({ name: RouteN.ATCS.DashboardHome.n });\n }\n return Promise.resolve(false);\n } catch (err) {\n this.showSessionExpiredModal = true;\n this.eventCtrl.emit('show-snackbar', 'error', 'Error saving section');\n return Promise.reject(true);\n } finally {\n this.isSaving = false;\n }\n }\n\n private validationForm(i: any, isValid: any) {\n this.validSection[i] = isValid;\n this.canGoNext();\n }\n\n private canGoNext(): boolean {\n // check if the current section is valid\n const _section = this.$route.query.sec as string;\n\n switch (_section) {\n case Section.overview:\n return true;\n case Section.practiceAreas:\n return this.validSection[1];\n case Section.trustAccountDetails:\n return this.validSection[2];\n case Section.declaration:\n return this.validSection[3];\n case Section.confirmation:\n return true;\n default:\n return false;\n }\n }\n\n get $Section() {\n return Section;\n }\n\n get currentSection(): string {\n return this.$route.query.sec as string;\n }\n\n get savingText() {\n return 'Saving...';\n }\n\n get complianceFormA(): ComplianceForm {\n return store.getters.getSelectedComplianceFormA;\n }\n\n get formUpdatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private setFormDescription(message: any) {\n if (message) {\n this.formDesc = { line1: 'Confirmation of Trust Money (Part A) as at ' + message, line2: '' };\n } \n }\n\n}\n\n","import { render } from \"./form-part-a.html?vue&type=template&id=79f161fc&scoped=true&ts=true&external\"\nimport script from \"./form-part-a.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-part-a.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-part-a.scss?vue&type=style&index=0&id=79f161fc&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-79f161fc\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3fdf02e0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-part-b\" }\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = {\n key: 11,\n class: \"part-b-footer\"\n}\nconst _hoisted_4 = [\"disabled\"]\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = [\"disabled\"]\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-right\" })\n], -1))\n\nexport function render(_ctx, _cache) {\n const _component_LoadingSpinner = _resolveComponent(\"LoadingSpinner\")\n const _component_SwipeStepper = _resolveComponent(\"SwipeStepper\")\n const _component_FormHeaderTcNote = _resolveComponent(\"FormHeaderTcNote\")\n const _component_FormHeader = _resolveComponent(\"FormHeader\")\n const _component_FormPartBOverview = _resolveComponent(\"FormPartBOverview\")\n const _component_FormPartBTrustAccountingRecords = _resolveComponent(\"FormPartBTrustAccountingRecords\")\n const _component_FormPartBGeneralTrustMoney = _resolveComponent(\"FormPartBGeneralTrustMoney\")\n const _component_FormPartBControlledMoney = _resolveComponent(\"FormPartBControlledMoney\")\n const _component_FormPartBSpecificPowerMoney = _resolveComponent(\"FormPartBSpecificPowerMoney\")\n const _component_FormPartBInvestmentMoney = _resolveComponent(\"FormPartBInvestmentMoney\")\n const _component_FormPartBOtherInformation = _resolveComponent(\"FormPartBOtherInformation\")\n const _component_FormPartBDeclaration = _resolveComponent(\"FormPartBDeclaration\")\n const _component_FormPartBConfirmation = _resolveComponent(\"FormPartBConfirmation\")\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ConfirmDialogue = _resolveComponent(\"ConfirmDialogue\")\n const _component_SessionExpired = _resolveComponent(\"SessionExpired\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (_ctx.isSectionLoading)\n ? (_openBlock(), _createBlock(_component_LoadingSpinner, { key: 0 }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_SwipeStepper, {\n navSteps: _ctx.navSteps,\n showHelpBtn: true,\n showFaqBtn: true\n }, null, 8, [\"navSteps\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n (!_ctx.complianceFormB.practice?.trustCoordinator?.id)\n ? (_openBlock(), _createBlock(_component_FormHeaderTcNote, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (!_ctx.isSectionLoading)\n ? (_openBlock(), _createBlock(_component_FormHeader, {\n key: 1,\n formName: _ctx.formName,\n formDesc: _ctx.formDesc\n }, null, 8, [\"formName\", \"formDesc\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection === _ctx.$Section.overview)\n ? (_openBlock(), _createBlock(_component_FormPartBOverview, {\n key: 2,\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[0] || (_cache[0] = $event => ((_ctx.isSectionLoading) = $event)),\n onSetFormDesc: _cache[1] || (_cache[1] = $event => (_ctx.setFormDescription($event)))\n }, null, 8, [\"isSectionLoading\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection === _ctx.$Section.trustAccountingRecords)\n ? (_openBlock(), _createBlock(_component_FormPartBTrustAccountingRecords, {\n key: 3,\n formPartBData: _ctx.formPartBData,\n \"onUpdate:formPartBData\": _cache[2] || (_cache[2] = $event => ((_ctx.formPartBData) = $event)),\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[3] || (_cache[3] = $event => ((_ctx.isSectionLoading) = $event)),\n onValidForm: _cache[4] || (_cache[4] = $event => (_ctx.validationForm( 1, $event)))\n }, null, 8, [\"formPartBData\", \"isSectionLoading\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection === _ctx.$Section.generalTrustMoney)\n ? (_openBlock(), _createBlock(_component_FormPartBGeneralTrustMoney, {\n key: 4,\n formPartBData: _ctx.formPartBData,\n \"onUpdate:formPartBData\": _cache[5] || (_cache[5] = $event => ((_ctx.formPartBData) = $event)),\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[6] || (_cache[6] = $event => ((_ctx.isSectionLoading) = $event)),\n isSaving: _ctx.isSaving,\n \"onUpdate:isSaving\": _cache[7] || (_cache[7] = $event => ((_ctx.isSaving) = $event)),\n onValidForm: _cache[8] || (_cache[8] = $event => (_ctx.validationForm( 2, $event)))\n }, null, 8, [\"formPartBData\", \"isSectionLoading\", \"isSaving\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection === _ctx.$Section.controlledMoney)\n ? (_openBlock(), _createBlock(_component_FormPartBControlledMoney, {\n key: 5,\n formPartBData: _ctx.formPartBData,\n \"onUpdate:formPartBData\": _cache[9] || (_cache[9] = $event => ((_ctx.formPartBData) = $event)),\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[10] || (_cache[10] = $event => ((_ctx.isSectionLoading) = $event)),\n onValidForm: _cache[11] || (_cache[11] = $event => (_ctx.validationForm( 3, $event)))\n }, null, 8, [\"formPartBData\", \"isSectionLoading\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection === _ctx.$Section.specificPowerMoney)\n ? (_openBlock(), _createBlock(_component_FormPartBSpecificPowerMoney, {\n key: 6,\n formPartBData: _ctx.formPartBData,\n \"onUpdate:formPartBData\": _cache[12] || (_cache[12] = $event => ((_ctx.formPartBData) = $event)),\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[13] || (_cache[13] = $event => ((_ctx.isSectionLoading) = $event)),\n onValidForm: _cache[14] || (_cache[14] = $event => (_ctx.validationForm( 4, $event)))\n }, null, 8, [\"formPartBData\", \"isSectionLoading\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection === _ctx.$Section.investmentMoney)\n ? (_openBlock(), _createBlock(_component_FormPartBInvestmentMoney, {\n key: 7,\n formPartBData: _ctx.formPartBData,\n \"onUpdate:formPartBData\": _cache[15] || (_cache[15] = $event => ((_ctx.formPartBData) = $event)),\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[16] || (_cache[16] = $event => ((_ctx.isSectionLoading) = $event)),\n onValidForm: _cache[17] || (_cache[17] = $event => (_ctx.validationForm( 5, $event)))\n }, null, 8, [\"formPartBData\", \"isSectionLoading\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection === _ctx.$Section.otherInformation)\n ? (_openBlock(), _createBlock(_component_FormPartBOtherInformation, {\n key: 8,\n formPartBData: _ctx.formPartBData,\n \"onUpdate:formPartBData\": _cache[18] || (_cache[18] = $event => ((_ctx.formPartBData) = $event)),\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[19] || (_cache[19] = $event => ((_ctx.isSectionLoading) = $event)),\n onValidForm: _cache[20] || (_cache[20] = $event => (_ctx.validationForm( 6, $event)))\n }, null, 8, [\"formPartBData\", \"isSectionLoading\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection === _ctx.$Section.declaration)\n ? (_openBlock(), _createBlock(_component_FormPartBDeclaration, {\n key: 9,\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[21] || (_cache[21] = $event => ((_ctx.isSectionLoading) = $event)),\n formPartBData: _ctx.formPartBData,\n \"onUpdate:formPartBData\": _cache[22] || (_cache[22] = $event => ((_ctx.formPartBData) = $event)),\n onValidForm: _cache[23] || (_cache[23] = $event => (_ctx.validationForm( 7, $event)))\n }, null, 8, [\"isSectionLoading\", \"formPartBData\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection === _ctx.$Section.confirmation)\n ? (_openBlock(), _createBlock(_component_FormPartBConfirmation, {\n key: 10,\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[24] || (_cache[24] = $event => ((_ctx.isSectionLoading) = $event))\n }, null, 8, [\"isSectionLoading\"]))\n : _createCommentVNode(\"\", true),\n (!_ctx.isSectionLoading)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_ctx.isSaving)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n loadingText: _ctx.savingText,\n class: \"mr-4\"\n }, null, 8, [\"loadingText\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.backButtonVisible)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-outline mr-2\",\n onClick: _cache[25] || (_cache[25] = $event => (_ctx.goBack())),\n disabled: _ctx.isSaving || _ctx.isSectionLoading\n }, _toDisplayString(_ctx.backButtonText), 9, _hoisted_4))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection !== _ctx.$Section.confirmation && _ctx.currentSection !== _ctx.$Section.overview)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 2,\n class: \"btn btn-secondary mr-2\",\n disabled: _ctx.isSaving || _ctx.isSectionLoading,\n onClick: _cache[26] || (_cache[26] = $event => (_ctx.saveSection(false, true)))\n }, \"Save\", 8, _hoisted_5))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary mr-2\",\n disabled: !_ctx.canGoNext() || _ctx.isSaving || _ctx.isSectionLoading,\n onClick: _cache[27] || (_cache[27] = $event => (_ctx.goNext()))\n }, [\n _createTextVNode(_toDisplayString(_ctx.nextButtonText), 1),\n _hoisted_7\n ], 8, _hoisted_6)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createVNode(_component_ConfirmDialogue, {\n ref: \"confirmSaveClose\",\n modalOpened: true\n }, null, 512),\n (_ctx.showSessionExpiredModal)\n ? (_openBlock(), _createBlock(_component_SessionExpired, {\n key: 1,\n modalOpened: _ctx.showSessionExpiredModal,\n formStatus: _ctx.formStatus,\n onClose: _cache[28] || (_cache[28] = $event => (_ctx.exitForm()))\n }, null, 8, [\"modalOpened\", \"formStatus\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-cb77fac0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-part-b-overview\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", null, \"Overview\", -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_5 = { class: \"shade mb-4\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Law Practice Name:\", -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Trading Name:\", -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Branch Address:\", -1))\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"External Examiner Name / Number / Practice Name:\", -1))\nconst _hoisted_10 = { key: 0 }\nconst _hoisted_11 = { key: 1 }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Relevant Period:\", -1))\nconst _hoisted_13 = { key: 2 }\nconst _hoisted_14 = { key: 3 }\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (!_ctx.loadingContent && !_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_2,\n _hoisted_3,\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n _hoisted_6,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.overviewContent?.firmName) + \" / \" + _toDisplayString(_ctx.overviewContent?.firmId), 1),\n _hoisted_7,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.overviewContent?.tradingName || 'No trading name found'), 1),\n _hoisted_8,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.overviewContent?.branchAddress ?? '-'), 1),\n _hoisted_9,\n (!_ctx.overviewContent?.externalExaminer)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, \"-\"))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_11, _toDisplayString(_ctx.overviewContent?.externalExaminer?.firstName ?? '') + \" \" + _toDisplayString(_ctx.overviewContent?.externalExaminer?.lastName\n ?? '') + \" / \" + _toDisplayString(_ctx.overviewContent?.externalExaminer?.lawId ?? '') + \" / \" + _toDisplayString(_ctx.overviewContent?.externalExaminer?.firmName ??\n ''), 1)),\n _hoisted_12,\n (!_ctx.overviewContent?.complianceYearStart)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, \"-\"))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.$formatDateFullDate(_ctx.overviewContent?.complianceYearStart) || '-') + \" - \" + _toDisplayString(_ctx.$formatDateFullDate(_ctx.overviewContent?.complianceYearEnd) || '-'), 1)\n ]))\n ])\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { Inject, Options, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport { ComplianceForm, PartAFormOverview } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-atcs-app/store\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\n\n@Options({\n components: {\n LoadingSpinner\n },\n emits: ['update:isSectionLoading', 'setFormDesc', 'validForm'],\n mixins: [FormatDateTimeMixin],\n})\nexport default class FormPartBOverview extends Vue {\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop({ default: false })\n private isSectionLoading!: boolean;\n\n @Watch('loadingContent')\n private sectionLoading() {\n this.$emit('update:isSectionLoading', this.loadingContent);\n }\n\n private ai = new AppInsights;\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private overviewContent: PartAFormOverview = null as any;\n\n mounted(): void {\n this.loadOverviewContent();\n }\n\n private async loadOverviewContent(): Promise {\n try {\n this.loadingContent = true;\n const resp: any = await this.apiService.PartBFormApi?.apiV2PartBFormGetOverviewPost({\n complianceFormId: this.complianceFormB.id,\n updatingKey: this.updatingKey,\n });\n\n this.overviewContent = resp.data.data as PartAFormOverview;\n this.$emit('setFormDesc', this.$formatDateFullDate(this.overviewContent?.complianceYearEnd));\n\n store.dispatch('setFormUpdatingkey', this.overviewContent.updatingKey);\n } catch (err: any) {\n if (err.response.status === 400 && err.response.data?.errorCode == 10001) {\n // handle resubmit request in app.ts\n } else {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error loading content' + err);\n this.errorLoadingContent = true;\n }\n } finally {\n this.loadingContent = false;\n }\n }\n\n get complianceFormB(): ComplianceForm {\n return store.getters.getSelectedComplianceFormB;\n }\n\n get updatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n}","import { render } from \"./form-part-b-overview.html?vue&type=template&id=cb77fac0&scoped=true&ts=true&external\"\nimport script from \"./form-part-b-overview.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-part-b-overview.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-part-b-overview.scss?vue&type=style&index=0&id=cb77fac0&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-cb77fac0\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-677bd214\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-part-b-trust-accounting-records\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"mt-3 mb-3\" }, \"Trust Accounting Records\", -1))\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Information relating to the maintenance of trust accounting records.\", -1))\nconst _hoisted_4 = {\n key: 0,\n class: \"questions-main\"\n}\n\nexport function render(_ctx, _cache) {\n const _component_RadioButtonHorizontal = _resolveComponent(\"RadioButtonHorizontal\")\n const _component_RadioButtonVertical = _resolveComponent(\"RadioButtonVertical\")\n const _component_RadioButtonSubQuestions = _resolveComponent(\"RadioButtonSubQuestions\")\n const _component_DropdownWithText = _resolveComponent(\"DropdownWithText\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (!_ctx.loadingContent && !_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_2,\n _hoisted_3,\n (_ctx.formPartBData?.trustAccountingRecords?.atcsMainQuestions?.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.formPartBData.trustAccountingRecords.atcsMainQuestions, (q, i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (q.atcsQuestionTypeId==10)\n ? (_openBlock(), _createBlock(_component_RadioButtonHorizontal, {\n key: 0,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.trustAccountingRecords.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.trustAccountingRecords.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==11)\n ? (_openBlock(), _createBlock(_component_RadioButtonVertical, {\n key: 1,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.trustAccountingRecords.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.trustAccountingRecords.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==16)\n ? (_openBlock(), _createBlock(_component_RadioButtonSubQuestions, {\n key: 2,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.trustAccountingRecords.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.trustAccountingRecords.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==18)\n ? (_openBlock(), _createBlock(_component_DropdownWithText, {\n key: 3,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.trustAccountingRecords.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.trustAccountingRecords.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, vModelRadio as _vModelRadio, withDirectives as _withDirectives, vModelText as _vModelText, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6f5abbee\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"radio-button-group ml-4\" }\nconst _hoisted_2 = { class: \"radio\" }\nconst _hoisted_3 = [\"name\", \"value\"]\nconst _hoisted_4 = { class: \"radio-elmt mt-2 mb-2\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n], -1))\nconst _hoisted_6 = { class: \"radio-text\" }\nconst _hoisted_7 = { class: \"ml-4\" }\nconst _hoisted_8 = {\n key: 0,\n class: \"input-box col-6\"\n}\nconst _hoisted_9 = { class: \"input-label\" }\nconst _hoisted_10 = [\"onUpdate:modelValue\", \"onInput\"]\nconst _hoisted_11 = {\n key: 1,\n class: \"input-box col-12\"\n}\n\nexport function render(_ctx, _cache) {\n const _component_Popover = _resolveComponent(\"Popover\")\n const _component_RadioButtonHorizontal = _resolveComponent(\"RadioButtonHorizontal\")\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"radiobutton-subquestions\", _ctx.validForm() ? 'answered' : ''])\n }, [\n _createElementVNode(\"h4\", null, [\n _createTextVNode(_toDisplayString(_ctx.newWording) + \" \", 1),\n _createVNode(_component_Popover, { popover: _ctx.obj }, null, 8, [\"popover\"])\n ]),\n _createElementVNode(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.question.responses, (option) => {\n return (_openBlock(), _createElementBlock(\"label\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: _ctx.uniqueIdName,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.selectedOption) = $event)),\n value: option.value\n }, null, 8, _hoisted_3), [\n [_vModelRadio, _ctx.selectedOption]\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(option.wording), 1)\n ])\n ]))\n }), 256))\n ]),\n (_ctx.selectedOption == _ctx.question.subQuestionTriggerValue && _ctx.question.atcsSubQuestions?.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 0 }, _renderList(_ctx.question.atcsSubQuestions, (sq, i) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n (sq.atcsQuestionTypeId == 2)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"h5\", _hoisted_9, _toDisplayString(sq.wording) + \":\", 1),\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": $event => ((_ctx.question.atcsSubQuestions[i].responses[0].answerTxt) = $event),\n onInput: $event => (_ctx.updateSubQuestionAnswer($event, i))\n }, null, 40, _hoisted_10), [\n [_vModelText, _ctx.question.atcsSubQuestions[i].responses[0].answerTxt]\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (sq.atcsQuestionTypeId == 10)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_RadioButtonHorizontal, {\n class: \"one-lineOptions\",\n question: _ctx.question.atcsSubQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.question.atcsSubQuestions[i]) = $event),\n allQuestions: sq.atcsSubQuestions,\n \"onUpdate:allQuestions\": $event => ((sq.atcsSubQuestions) = $event),\n onValidForm: _cache[1] || (_cache[1] = $event => (_ctx.validSubForm()))\n }, null, 8, [\"question\", \"onUpdate:question\", \"allQuestions\", \"onUpdate:allQuestions\"])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ], 2))\n}","import { Options, Vue } from 'vue-class-component';\nimport { Prop, Watch } from 'vue-property-decorator';\nimport Popover from '@/shared/components/popover/index.vue';\nimport store from '@/trust-atcs-app/store';\nimport { PopoverView } from '@/shared/components/popover/popover';\nimport RadioButtonHorizontal from '../radiobutton-horizontal/index.vue';\nimport { orderBy } from 'lodash';\n\n@Options({\n components: {\n RadioButtonHorizontal,\n Popover\n }\n})\nexport default class RadioButtonSubQuestions extends Vue {\n\n @Prop()\n private question!: any;\n\n @Watch('selectedOption')\n private onSelectedOptionChanged(): void {\n // reset all selection\n this.question.responses.forEach((r: any, i: number) => {\n this.question.responses[i].answerTxt = null;\n });\n\n // search and select\n // this.question.responses.forEach((r: any, i: number) => {\n // if (r.value == this.selectedOption) {\n // this.question.responses[i].answerTxt = true;\n // }\n // });\n\n if (this.selectedOption != this.question.subQuestionTriggerValue) {\n this.question.atcsSubQuestions.forEach((r: any, i: number) => {\n this.question.atcsSubQuestions[i].responses[0].answerTxt = null;\n this.question.atcsSubQuestions[i].responses.forEach((r: any, j: number) => {\n this.question.atcsSubQuestions[i].responses[j].answerIsSelected = null;\n });\n });\n this.subQuestionAnswers = this.question.atcsSubQuestions.map((x: any) => x.responses[0].answerTxt);\n }\n\n // if (this.selectedOption == this.question.subQuestionTriggerValue && this.question.atcsSubQuestions?.length == 1) {\n // this.question.atcsSubQuestions[0].responses[0].answerTxt = true;\n // }\n\n this.question.responses.forEach((r: any, i: number) => {\n if (r.value == this.selectedOption) {\n this.question.responses[i].answerIsSelected = true;\n } else {\n this.question.responses[i].answerIsSelected = null;\n }\n });\n\n this.$emit('validForm', this.validForm());\n }\n\n private uniqueIdName = null as any;\n private selectedOption = null as any;\n private newWording = '';\n private obj: PopoverView = null as any;\n private subQuestionAnswers: any[] = [];\n\n created(): void {\n this.uniqueIdName = 'RadioButtonBranchList' + this.question.id;\n this.initField();\n const content = store.getters.getPopovers;\n this.newWording = this.question.wording;\n if (this.question.wording.match(/--{{([^)]+)}}--/)) {\n const popovers = this.question.wording.match(/--{{([^)]+)}}--/)[1];\n this.obj = content.filter((x: any) => x.key == popovers)[0];\n this.newWording = this.question.wording.replace('--{{' + popovers + '}}--', '');\n }\n }\n\n private initField(): void {\n this.question.responses = orderBy(this.question.responses, 'order', 'asc'); \n const defaultSelection = this.question.responses.filter((x: any) => x.answerIsSelected);\n if (defaultSelection.length > 0) {\n this.selectedOption = defaultSelection[0].value;\n }\n // this.subQuestionAnswers = this.question.atcsSubQuestions.map((x: any) => x.responses[0].answerTxt);\n this.$emit('validForm', this.validForm());\n }\n\n private updateSubQuestionAnswer(event: any, i: number): void {\n this.$emit('validForm', this.validForm());\n }\n\n private validSubForm() {\n this.$emit('validForm', this.validForm());\n }\n\n private validForm(): boolean {\n let valid = false;\n let subResponses: any[] = [];\n if (this.selectedOption == this.question.subQuestionTriggerValue && this.question.atcsSubQuestions[0]) {\n switch (this.question.atcsSubQuestions[0].atcsQuestionTypeId) {\n case 10:\n subResponses = this.question.atcsSubQuestions[0].responses.filter((x: any) => x.answerIsSelected == true);\n valid = subResponses.length > 0;\n break;\n case 2:\n valid = this.question.atcsSubQuestions.every((subQuestion: { responses: { answerTxt: string; }[]; }) =>\n subQuestion.responses[0].answerTxt !== null && subQuestion.responses[0].answerTxt !== ''\n );\n break;\n default:\n break;\n }\n } else if (this.selectedOption != this.question.subQuestionTriggerValue) {\n valid = this.question.responses.filter((x: any) => x.value == this.selectedOption)?.length > 0;\n }\n return valid;\n }\n}\n","import { render } from \"./radiobutton-subquestions.html?vue&type=template&id=6f5abbee&scoped=true&ts=true&external\"\nimport script from \"./radiobutton-subquestions.ts?vue&type=script&lang=ts&external\"\nexport * from \"./radiobutton-subquestions.ts?vue&type=script&lang=ts&external\"\n\nimport \"./radiobutton-subquestions.scss?vue&type=style&index=0&id=6f5abbee&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6f5abbee\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, vModelRadio as _vModelRadio, withDirectives as _withDirectives, vModelSelect as _vModelSelect, createCommentVNode as _createCommentVNode, vModelText as _vModelText, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6d371338\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"radio-button-group row ml-4\" }\nconst _hoisted_2 = { class: \"col-4 ml-0\" }\nconst _hoisted_3 = { class: \"radio\" }\nconst _hoisted_4 = [\"name\", \"value\", \"onClick\"]\nconst _hoisted_5 = { class: \"radio-elmt mt-2 mb-2\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n], -1))\nconst _hoisted_7 = { class: \"radio-text\" }\nconst _hoisted_8 = { class: \"row\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"col-6 ml-4\"\n}\nconst _hoisted_10 = { class: \"input-box\" }\nconst _hoisted_11 = { class: \"select mb-4\" }\nconst _hoisted_12 = { class: \"input-label\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", {\n disabled: \"\",\n value: null\n}, \"- Please select -\", -1))\nconst _hoisted_14 = [\"value\"]\nconst _hoisted_15 = {\n key: 1,\n class: \"col-6 ml-4\"\n}\nconst _hoisted_16 = { class: \"input-box\" }\nconst _hoisted_17 = { class: \"input-label\" }\nconst _hoisted_18 = {\n key: 2,\n class: \"col-6 ml-4\"\n}\nconst _hoisted_19 = { class: \"input-box\" }\nconst _hoisted_20 = { class: \"input-label\" }\n\nexport function render(_ctx, _cache) {\n const _component_Popover = _resolveComponent(\"Popover\")\n\n return (_openBlock(), _createElementBlock(\"section\", {\n class: _normalizeClass([\"dropdown-with-text\", _ctx.validForm() ? 'answered' : ''])\n }, [\n _createElementVNode(\"h4\", null, [\n _createTextVNode(_toDisplayString(_ctx.newWording) + \" \", 1),\n _createVNode(_component_Popover, { popover: _ctx.obj }, null, 8, [\"popover\"])\n ]),\n _createElementVNode(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.question.responses, (option) => {\n return (_openBlock(), _createElementBlock(\"span\", _hoisted_2, [\n _createElementVNode(\"label\", _hoisted_3, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: _ctx.uniqueIdName,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.selectedOption) = $event)),\n value: option.value,\n onClick: $event => (_ctx.selected(option.value))\n }, null, 8, _hoisted_4), [\n [_vModelRadio, _ctx.selectedOption]\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _hoisted_6,\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(option.wording), 1)\n ])\n ])\n ]))\n }), 256))\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n (_ctx.selectedOption == 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"h5\", _hoisted_12, _toDisplayString(_ctx.question.atcsSubQuestions[0].wording), 1),\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.selectedAccountingAppId) = $event))\n }, [\n _hoisted_13,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.question.atcsSubQuestions[0].responses, (response) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: response.id\n }, _toDisplayString(response.wording), 9, _hoisted_14))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.selectedAccountingAppId]\n ])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.selectedOption == 2)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"h5\", _hoisted_17, _toDisplayString(_ctx.question.atcsSubQuestions[1].wording), 1),\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n class: \"form-control\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.question.atcsSubQuestions[1].responses[0].answerTxt) = $event)),\n onInput: _cache[3] || (_cache[3] = $event => (_ctx.updateSubQuestionAnswer($event, _ctx.i)))\n }, null, 544), [\n [_vModelText, _ctx.question.atcsSubQuestions[1].responses[0].answerTxt]\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.selectedOption == 3)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_18, [\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"h5\", _hoisted_20, _toDisplayString(_ctx.question.atcsSubQuestions[2].wording), 1),\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n class: \"form-control\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.question.atcsSubQuestions[2].responses[0].answerTxt) = $event)),\n onInput: _cache[5] || (_cache[5] = $event => (_ctx.updateSubQuestionAnswer($event, _ctx.i)))\n }, null, 544), [\n [_vModelText, _ctx.question.atcsSubQuestions[2].responses[0].answerTxt]\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ], 2))\n}","import { Options, Vue } from 'vue-class-component';\nimport { Prop, Watch } from 'vue-property-decorator';\nimport Popover from '@/shared/components/popover/index.vue';\nimport store from '@/trust-atcs-app/store';\nimport { PopoverView } from '@/shared/components/popover/popover';\nimport { orderBy } from 'lodash';\n\n@Options({\n components: {\n Popover\n }\n})\nexport default class DropdownWithText extends Vue {\n\n @Prop()\n private question!: any;\n\n private uniqueIdName = null as any;\n private selectedOption = null as any;\n private newWording = '';\n private obj: PopoverView = null as any;\n private subQuestionAnswers: any[] = [];\n\n private selectedAccountingAppId: any = null as any;\n private selectedTextOption: any = null as any;\n\n\n @Watch('selectedOption')\n private onSelectedOptionChanged(): void {\n // mark the selected option\n this.question.responses.forEach((r: any, i: number) => {\n if (r.value == this.selectedOption) {\n this.question.responses[i].answerIsSelected = true;\n } else {\n this.question.responses[i].answerIsSelected = null;\n }\n });\n\n // // reset the dropdown and text\n if (this.selectedOption != this.question.subQuestionTriggerValue) {\n this.selectedAccountingAppId = null;\n this.question.responses[0].relatedId = null;\n this.question.responses[0].relatedTable = null;\n }\n\n this.$emit('validForm', this.validForm());\n }\n\n private selected(value: number): void {\n this.selectedTextOption = null;\n this.question.responses[0].relatedId = null;\n this.question.responses[0].relatedTable = null;\n this.question.responses.forEach((r: any, i: number) => {\n this.question.atcsSubQuestions[i].responses[0].answerTxt = null;\n });\n this.$emit('validForm', this.validForm());\n }\n\n @Watch('selectedAccountingAppId')\n private onSelectedAccountingAppChanged(): void {\n\n for (let i = 0; i < this.question.atcsSubQuestions.length; i++) {\n const response = this.question.atcsSubQuestions[i].responses.find(\n (resp: any) => resp.id === this.selectedAccountingAppId\n );\n if (response) {\n // set all responses.answerIsSelected to null\n this.question.atcsSubQuestions[i].responses.forEach((r: any) => {\n r.answerIsSelected = null;\n });\n response.answerIsSelected = true;\n this.question.responses[0].relatedId = response.id;\n this.question.responses[0].relatedTable = response.relatedTable;\n }\n }\n this.$emit('validForm', this.validForm());\n }\n\n created(): void {\n this.uniqueIdName = 'RadioButtonBranchList' + this.question.id;\n this.initField();\n const content = store.getters.getPopovers;\n this.newWording = this.question.wording;\n if (this.question.wording.match(/--{{([^)]+)}}--/)) {\n const popovers = this.question.wording.match(/--{{([^)]+)}}--/)[1];\n this.obj = content.filter((x: any) => x.key == popovers)[0];\n this.newWording = this.question.wording.replace('--{{' + popovers + '}}--', '');\n }\n }\n\n private initField(): void {\n this.question.responses = orderBy(this.question.responses, 'order', 'asc'); \n const defaultSelection = this.question.responses.filter((x: any) => x.answerIsSelected);\n if (defaultSelection.length > 0) {\n this.selectedOption = defaultSelection[0].value;\n }\n // get the selectedAccountingAppId from the responses if response.answerIsSelected is true\n if (this.question.atcsSubQuestions?.length > 0) {\n const selectedAccountingAppId = this.question.atcsSubQuestions[0].responses.find(\n (resp: any) => resp.answerIsSelected\n );\n if (selectedAccountingAppId) {\n this.selectedAccountingAppId = selectedAccountingAppId.id;\n }\n }\n\n this.subQuestionAnswers = this.question.atcsSubQuestions.map((x: any) => x.responses[0].answerTxt);\n this.$emit('validForm', this.validForm());\n }\n\n private updateSubQuestionAnswer(event: any, i: number): void {\n this.$emit('validForm', this.validForm());\n }\n\n private validForm(): boolean {\n let valid = false;\n if (this.selectedOption == 1) {\n valid = this.question.responses[0].relatedId != null &&\n this.question.responses[0].relatedTable != null;\n } else if (this.selectedOption == 2) {\n valid = this.question.atcsSubQuestions[1]?.responses[0]?.answerTxt?.length > 0;\n } else if (this.selectedOption == 3) {\n valid = this.question.atcsSubQuestions[2]?.responses[0]?.answerTxt?.length > 0;\n }\n return valid;\n }\n\n}\n","import { render } from \"./dropdown-with-text.html?vue&type=template&id=6d371338&scoped=true&ts=true&external\"\nimport script from \"./dropdown-with-text.ts?vue&type=script&lang=ts&external\"\nexport * from \"./dropdown-with-text.ts?vue&type=script&lang=ts&external\"\n\nimport \"./dropdown-with-text.scss?vue&type=style&index=0&id=6d371338&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6d371338\"]])\n\nexport default __exports__","import { Emit, Inject, Options, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-atcs-app/store\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport { FormPartBData } from \"@/trust-atcs-app/models/form-part-b-data\";\nimport RadioButtonHorizontal from \"../questions/radiobutton-horizontal/index.vue\";\nimport RadioButtonVertical from \"../questions/radiobutton-vertical/index.vue\";\nimport RadioButtonBranchList from \"../questions/radiobutton-branchlist/index.vue\";\nimport RadioButtonSubQuestions from \"../questions/radiobutton-subquestions/index.vue\";\nimport { ComplianceForm, PartBFormTrustAccountingRecords } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport DropdownWithText from \"../questions/dropdown-with-text/index.vue\";\n\n@Options({\n components: {\n LoadingSpinner,\n RadioButtonHorizontal,\n RadioButtonVertical,\n RadioButtonBranchList,\n RadioButtonSubQuestions,\n DropdownWithText,\n },\n mixins: [FormatDateTimeMixin],\n})\nexport default class FormPartBTrustAccountingRecords extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop({ default: false })\n private isSectionLoading!: boolean;\n\n @Prop()\n private formPartBData!: FormPartBData;\n\n @Emit('update:isSectionLoading')\n @Emit('validForm')\n\n @Watch('loadingContent')\n private sectionLoading() {\n this.$emit('update:isSectionLoading', this.loadingContent);\n }\n\n private ai = new AppInsights;\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private validMainQuestions: boolean[] = [];\n private trustAccountingRecords: PartBFormTrustAccountingRecords = null as any;\n\n mounted(): void {\n this.eventCtrl.on('reload-form-b-tar-content', this.loadTrustAccountingRecordsContent);\n this.loadTrustAccountingRecordsContent();\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-form-b-tar-content', this.loadTrustAccountingRecordsContent);\n }\n\n private async loadTrustAccountingRecordsContent(): Promise {\n try {\n this.loadingContent = true;\n const resp: any = await this.apiService.PartBFormApi?.apiV2PartBFormGetTrustAccountingRecordsPost({\n complianceFormId: this.complianceFormB.id,\n updatingKey: this.updatingKey,\n });\n this.trustAccountingRecords = resp.data.data as PartBFormTrustAccountingRecords;\n this.formPartBData.trustAccountingRecords = this.trustAccountingRecords as any;\n // Sort atcsMainQuestions by order number\n this.formPartBData.trustAccountingRecords.atcsMainQuestions = this.formPartBData.trustAccountingRecords.atcsMainQuestions.sort((a: any, b: any) => a.order - b.order);\n // Sort atcsSubQuestions by order number\n this.formPartBData.trustAccountingRecords.atcsMainQuestions.forEach((q: any) => {\n q.atcsSubQuestions = q.atcsSubQuestions.sort((a: any, b: any) => a.order - b.order);\n });\n // Sort response by order number\n this.formPartBData.trustAccountingRecords.atcsMainQuestions.forEach((q: any) => {\n q.responses = q.responses.sort((a: any, b: any) => a.order - b.order);\n });\n this.validMainQuestions = this.formPartBData.trustAccountingRecords.atcsMainQuestions.map((q: any) => false);\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting Trust Accounting records');\n this.ai.trackException('Error getting Trust Accounting records: ' + err);\n this.errorLoadingContent = true;\n console.log(err);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private validForm(): boolean {\n return !this.validMainQuestions.includes(false);\n }\n\n private validationForm(i: any, isValid: any) {\n this.validMainQuestions[i] = isValid;\n this.$emit('validForm', this.validForm());\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n get complianceFormB(): ComplianceForm {\n return store.getters.getSelectedComplianceFormB;\n }\n\n get updatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n}\n\n","import { render } from \"./form-part-b-trust-accounting-records.html?vue&type=template&id=677bd214&scoped=true&ts=true&external\"\nimport script from \"./form-part-b-trust-accounting-records.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-part-b-trust-accounting-records.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-part-b-trust-accounting-records.scss?vue&type=style&index=0&id=677bd214&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-677bd214\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-628d6e3c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-part-b-general-trust-money\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"mt-3 mb-3\" }, \"General Trust Money\", -1))\nconst _hoisted_3 = {\n key: 0,\n class: \"questions-main\"\n}\nconst _hoisted_4 = { key: 4 }\nconst _hoisted_5 = { key: 5 }\nconst _hoisted_6 = { key: 6 }\n\nexport function render(_ctx, _cache) {\n const _component_RadioButtonBranchList = _resolveComponent(\"RadioButtonBranchList\")\n const _component_RadioButtonHorizontal = _resolveComponent(\"RadioButtonHorizontal\")\n const _component_RadioButtonVertical = _resolveComponent(\"RadioButtonVertical\")\n const _component_FileUploader = _resolveComponent(\"FileUploader\")\n const _component_BankAccount = _resolveComponent(\"BankAccount\")\n const _component_Signatories = _resolveComponent(\"Signatories\")\n const _component_RadioButtonWithFiles = _resolveComponent(\"RadioButtonWithFiles\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (!_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_2,\n (_ctx.formPartBData?.generalTrustMoney?.atcsMainQuestions?.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.formPartBData.generalTrustMoney.atcsMainQuestions, (q, i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (q.atcsQuestionTypeId==15)\n ? (_openBlock(), _createBlock(_component_RadioButtonBranchList, {\n key: 0,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.generalTrustMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.generalTrustMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==10)\n ? (_openBlock(), _createBlock(_component_RadioButtonHorizontal, {\n key: 1,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.generalTrustMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.generalTrustMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==11)\n ? (_openBlock(), _createBlock(_component_RadioButtonVertical, {\n key: 2,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.generalTrustMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.generalTrustMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==8)\n ? (_openBlock(), _createBlock(_component_FileUploader, {\n key: 3,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.generalTrustMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.generalTrustMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n ((q.atcsQuestionTypeId==_ctx.QuestionType.PerBankAccount || q.atcsQuestionTypeId==_ctx.QuestionType.PerBankAccountV2) && this.formPartBData.generalTrustMoney?.atcsMainQuestions[i]?.formPracticeAccountQuestions)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(_component_BankAccount, {\n qWording: q.wording,\n \"onUpdate:qWording\": $event => ((q.wording) = $event),\n questionTypeId: q.atcsQuestionTypeId,\n \"onUpdate:questionTypeId\": $event => ((q.atcsQuestionTypeId) = $event),\n banks: this.formPartBData.generalTrustMoney.atcsMainQuestions[i].formPracticeAccountQuestions,\n \"onUpdate:banks\": $event => ((this.formPartBData.generalTrustMoney.atcsMainQuestions[i].formPracticeAccountQuestions) = $event),\n class: \"mt-3 mb-3\",\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"qWording\", \"onUpdate:qWording\", \"questionTypeId\", \"onUpdate:questionTypeId\", \"banks\", \"onUpdate:banks\", \"onValidForm\"])\n ]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==20 && this.formPartBData.generalTrustMoney?.atcsMainQuestions[i]?.formPracticeSignatoryQuestions)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createVNode(_component_Signatories, {\n qWording: q.wording,\n \"onUpdate:qWording\": $event => ((q.wording) = $event),\n isSaving: _ctx.isSaving,\n \"onUpdate:isSaving\": _cache[0] || (_cache[0] = $event => ((_ctx.isSaving) = $event)),\n signatories: this.formPartBData.generalTrustMoney.atcsMainQuestions[i].formPracticeSignatoryQuestions,\n \"onUpdate:signatories\": $event => ((this.formPartBData.generalTrustMoney.atcsMainQuestions[i].formPracticeSignatoryQuestions) = $event),\n class: \"mt-3 mb-3\",\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"qWording\", \"onUpdate:qWording\", \"isSaving\", \"signatories\", \"onUpdate:signatories\", \"onValidForm\"])\n ]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==_ctx.QuestionType.RadioButtonWithFiles)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n (q.atcsQuestionTypeId==_ctx.QuestionType.RadioButtonWithFiles)\n ? (_openBlock(), _createBlock(_component_RadioButtonWithFiles, {\n key: 0,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.generalTrustMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.generalTrustMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-59897070\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"bank-account\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"row\"\n}\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-info-circle mr-2\" }, null, -1))\nconst _hoisted_4 = {\n key: 1,\n class: \"cards mt-4\"\n}\nconst _hoisted_5 = {\n key: 2,\n class: \"cards mt-4\"\n}\nconst _hoisted_6 = { style: {\"width\":\"100%\",\"text-align\":\"right\"} }\n\nexport function render(_ctx, _cache) {\n const _component_BankCard = _resolveComponent(\"BankCard\")\n const _component_BankCardV2 = _resolveComponent(\"BankCardV2\")\n const _component_AddBankModal = _resolveComponent(\"AddBankModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"h4\", null, _toDisplayString(_ctx.qWording), 1),\n (_ctx.formType !== 'EER')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _hoisted_3,\n _createTextVNode(\"At least one bank account is required to proceed \")\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.questionTypeId == _ctx.QuestionType.PerBankAccount)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.banks, (b, idx) => {\n return (_openBlock(), _createBlock(_component_BankCard, {\n onRemoveBankAccount: $event => (_ctx.removeBankAccount(idx)),\n onValidFormBank: $event => (_ctx.validFormBank(idx, $event)),\n bank: _ctx.banks[idx],\n \"onUpdate:bank\": $event => ((_ctx.banks[idx]) = $event),\n formType: _ctx.formType,\n \"onUpdate:formType\": _cache[0] || (_cache[0] = $event => ((_ctx.formType) = $event))\n }, null, 8, [\"onRemoveBankAccount\", \"onValidFormBank\", \"bank\", \"onUpdate:bank\", \"formType\"]))\n }), 256))\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.questionTypeId == _ctx.QuestionType.PerBankAccountV2)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.banks, (b, idx) => {\n return (_openBlock(), _createBlock(_component_BankCardV2, {\n onRemoveBankAccount: $event => (_ctx.removeBankAccount(idx)),\n onValidFormBank: $event => (_ctx.validFormBank(idx, $event)),\n bank: _ctx.banks[idx],\n \"onUpdate:bank\": $event => ((_ctx.banks[idx]) = $event),\n formType: _ctx.formType,\n \"onUpdate:formType\": _cache[1] || (_cache[1] = $event => ((_ctx.formType) = $event))\n }, null, 8, [\"onRemoveBankAccount\", \"onValidFormBank\", \"bank\", \"onUpdate:bank\", \"formType\"]))\n }), 256))\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_6, [\n (_ctx.formType !== 'EER')\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn btn-secondary sml\",\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.addNewBankAccount()))\n }, \"Add new bank\"))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.showNewBankModal)\n ? (_openBlock(), _createBlock(_component_AddBankModal, {\n key: 3,\n onClose: _cache[3] || (_cache[3] = $event => (_ctx.showNewBankModal = false))\n }))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, vModelText as _vModelText, withDirectives as _withDirectives, normalizeClass as _normalizeClass, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4122c2b2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"card-header\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"td\", null, \"Bank name:\", -1))\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"td\", null, \"BSB:\", -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"td\", null, \"Account Number:\", -1))\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fas fa-pencil\" }, null, -1))\nconst _hoisted_6 = [\n _hoisted_5\n]\nconst _hoisted_7 = { class: \"card-body ma-3\" }\nconst _hoisted_8 = {\n key: 0,\n class: \"sub-heading\"\n}\nconst _hoisted_9 = { key: 1 }\nconst _hoisted_10 = {\n key: 0,\n class: \"linked-question data-row\"\n}\nconst _hoisted_11 = { class: \"linked-question-title fieldname\" }\nconst _hoisted_12 = {\n key: 0,\n class: \"linked-question-textarea fielddata\"\n}\nconst _hoisted_13 = {\n key: 1,\n class: \"linked-question-wording fielddata\"\n}\nconst _hoisted_14 = { class: \"data-row mb-2\" }\nconst _hoisted_15 = { class: \"fieldname\" }\nconst _hoisted_16 = { class: \"fielddata\" }\nconst _hoisted_17 = {\n key: 0,\n class: \"input-box\",\n style: {\"position\":\"relative\"}\n}\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"dollar-sign\" }, \"$\", -1))\nconst _hoisted_19 = {\n key: 1,\n class: \"input-box\",\n style: {\"position\":\"relative\"}\n}\nconst _hoisted_20 = [\"onUpdate:modelValue\"]\nconst _hoisted_21 = {\n key: 2,\n class: \"data-row\"\n}\nconst _hoisted_22 = { class: \"fieldname\" }\nconst _hoisted_23 = { class: \"fielddata\" }\nconst _hoisted_24 = {\n class: \"input-box\",\n style: {\"position\":\"relative\"}\n}\nconst _hoisted_25 = {\n class: \"amount\",\n style: {\"width\":\"100%\",\"padding-right\":\"1rem\",\"height\":\"50px\",\"background-color\":\"#ccc\",\"line-height\":\"50px\"}\n}\nconst _hoisted_26 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"dollar-sign\" }, \"$\", -1))\nconst _hoisted_27 = {\n key: 3,\n class: \"data-row\"\n}\nconst _hoisted_28 = {\n key: 0,\n class: \"linked-question data-row\"\n}\nconst _hoisted_29 = { class: \"linked-question-title fieldname\" }\nconst _hoisted_30 = {\n key: 0,\n class: \"linked-question-textarea fielddata\"\n}\nconst _hoisted_31 = {\n key: 1,\n class: \"linked-question-wording fielddata\"\n}\nconst _hoisted_32 = { class: \"fieldname\" }\nconst _hoisted_33 = { class: \"fielddata\" }\nconst _hoisted_34 = {\n key: 4,\n class: \"data-row\"\n}\nconst _hoisted_35 = { class: \"fieldname\" }\nconst _hoisted_36 = { class: \"fielddata\" }\nconst _hoisted_37 = [\"onUpdate:modelValue\"]\nconst _hoisted_38 = {\n key: 5,\n class: \"data-row\"\n}\nconst _hoisted_39 = { key: 0 }\n\nexport function render(_ctx, _cache) {\n const _component_Popover = _resolveComponent(\"Popover\")\n const _component_CurrencyInput = _resolveComponent(\"CurrencyInput\")\n const _component_RadioButtonHorizontal = _resolveComponent(\"RadioButtonHorizontal\")\n const _component_ConfirmDialogue = _resolveComponent(\"ConfirmDialogue\")\n const _component_AddBankModal = _resolveComponent(\"AddBankModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", {\n class: _normalizeClass([\"bank-card\", _ctx.validFormEachBank() ? 'answered' : ''])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_2,\n _createElementVNode(\"td\", null, _toDisplayString(_ctx.bank.bankName), 1)\n ]),\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"td\", null, _toDisplayString(_ctx.bank.bsbno), 1)\n ]),\n _createElementVNode(\"tr\", null, [\n _hoisted_4,\n _createElementVNode(\"td\", null, _toDisplayString(_ctx.bank.accountNo), 1)\n ])\n ]),\n (_ctx.formType !== 'EER')\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn-icon btn-secondary sml\",\n onClick: _cache[0] || (_cache[0] = $event => (_ctx.editBankAccount()))\n }, _hoisted_6))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.bank.atcsSubQuestions, (q, i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (q.atcsQuestionTypeId==1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, _toDisplayString(q.wording), 1))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==5 || q.atcsQuestionTypeId==2)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n (q.linkedSubQuestion)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _createElementVNode(\"div\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.newWording(q.linkedSubQuestion?.wording)) + \" \", 1),\n _createVNode(_component_Popover, {\n popover: _ctx.popoverObj(q.linkedSubQuestion?.wording)\n }, null, 8, [\"popover\"])\n ]),\n (q.linkedSubQuestion?.atcsQuestionTypeId==23)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, _toDisplayString(_ctx.getResponse(q.linkedSubQuestion)), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_13, _toDisplayString(_ctx.getResponse(q.linkedSubQuestion)), 1))\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, [\n _createTextVNode(_toDisplayString(_ctx.newWording(q.wording)) + \" \", 1),\n _createVNode(_component_Popover, {\n popover: _ctx.popoverObj(q.wording)\n }, null, 8, [\"popover\"])\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n (q.atcsQuestionTypeId==5)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createVNode(_component_CurrencyInput, {\n class: \"amount pr-3\",\n modelValue: q.responses[0].answerCurrency,\n \"onUpdate:modelValue\": $event => ((q.responses[0].answerCurrency) = $event),\n onKeyup: _cache[1] || (_cache[1] = $event => (_ctx.validFormBank())),\n options: { currency: 'USD', currencyDisplay: 'hidden', precision: 2, valueRange:{ min: -999999999999, max: 999999999999} }\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\"]),\n _hoisted_18\n ]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==2)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_19, [\n _withDirectives(_createElementVNode(\"input\", {\n class: \"comments\",\n \"onUpdate:modelValue\": $event => ((q.responses[0].answerTxt) = $event),\n onKeyup: _cache[2] || (_cache[2] = $event => (_ctx.validFormBank()))\n }, null, 40, _hoisted_20), [\n [_vModelText, q.responses[0].answerTxt]\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==21)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_21, [\n _createElementVNode(\"span\", _hoisted_22, [\n _createTextVNode(_toDisplayString(_ctx.newWording(q.wording)) + \" \", 1),\n _createVNode(_component_Popover, {\n popover: _ctx.popoverObj(q.wording)\n }, null, 8, [\"popover\"])\n ]),\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"div\", _hoisted_25, _toDisplayString(_ctx.calculateValue(q.developerKey)), 1),\n _hoisted_26\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==3)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_27, [\n (q.linkedSubQuestion)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_28, [\n _createElementVNode(\"div\", _hoisted_29, [\n _createTextVNode(_toDisplayString(_ctx.newWording(q.linkedSubQuestion?.wording)) + \" \", 1),\n _createVNode(_component_Popover, {\n popover: _ctx.popoverObj(q.linkedSubQuestion?.wording)\n }, null, 8, [\"popover\"])\n ]),\n (q.linkedSubQuestion?.atcsQuestionTypeId==23)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_30, _toDisplayString(_ctx.getResponse(q.linkedSubQuestion)), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_31, _toDisplayString(_ctx.getResponse(q.linkedSubQuestion)), 1))\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"span\", _hoisted_32, [\n _createTextVNode(_toDisplayString(_ctx.newWording(q.wording)) + \" \", 1),\n _createVNode(_component_Popover, {\n popover: _ctx.popoverObj(q.wording)\n }, null, 8, [\"popover\"])\n ]),\n _createElementVNode(\"span\", _hoisted_33, [\n _createVNode(_component_CurrencyInput, {\n class: \"amount pr-3\",\n modelValue: q.responses[0].answerNumber,\n \"onUpdate:modelValue\": $event => ((q.responses[0].answerNumber) = $event),\n onKeyup: _cache[3] || (_cache[3] = $event => (_ctx.validFormBank())),\n options: { currency: 'USD', currencyDisplay: 'hidden', valueRange:{ min: -999999999, max: 999999999} }\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\"])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==23)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_34, [\n _createElementVNode(\"span\", _hoisted_35, [\n _createTextVNode(_toDisplayString(_ctx.newWording(q.wording)) + \" \", 1),\n _createVNode(_component_Popover, {\n popover: _ctx.popoverObj(q.wording)\n }, null, 8, [\"popover\"])\n ]),\n _createElementVNode(\"span\", _hoisted_36, [\n _withDirectives(_createElementVNode(\"textarea\", {\n \"onUpdate:modelValue\": $event => ((q.responses[0].answerTxt) = $event),\n maxlength: 5000,\n onKeyup: _cache[4] || (_cache[4] = $event => (_ctx.validFormBank())),\n style: {\"border\":\"1px solid #aaa\",\"resize\":\"vertical\",\"width\":\"100%\",\"height\":\"150px\"}\n }, \"\\n \", 40, _hoisted_37), [\n [_vModelText, q.responses[0].answerTxt]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [ q.responses[0].answerTxt?.length === 5000 ? 'full' : '']])\n }, _toDisplayString(q.responses[0].answerTxt?.length || 0) + \"/5000 characters \", 3)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==10)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_38, [\n _createVNode(_component_RadioButtonHorizontal, {\n class: \"one-lineOptions\",\n question: _ctx.bank.atcsSubQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.bank.atcsSubQuestions[i]) = $event),\n allQuestions: _ctx.bank.atcsSubQuestions,\n \"onUpdate:allQuestions\": _cache[5] || (_cache[5] = $event => ((_ctx.bank.atcsSubQuestions) = $event)),\n onValidForm: _cache[6] || (_cache[6] = $event => (_ctx.validFormBank()))\n }, null, 8, [\"question\", \"onUpdate:question\", \"allQuestions\"])\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n ]),\n (_ctx.formType !== 'EER')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_39, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml ma-3\",\n onClick: _cache[7] || (_cache[7] = $event => (_ctx.removeBankAccount()))\n }, \"Remove\")\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_ConfirmDialogue, {\n ref: \"confirmRemoveBankDialogue\",\n modalOpened: true\n }, null, 512),\n (_ctx.showNewBankModal)\n ? (_openBlock(), _createBlock(_component_AddBankModal, {\n key: 1,\n onClose: _cache[8] || (_cache[8] = $event => (_ctx.showNewBankModal = false)),\n selectedBank: _ctx.selectedBank,\n \"onUpdate:selectedBank\": _cache[9] || (_cache[9] = $event => ((_ctx.selectedBank) = $event))\n }, null, 8, [\"selectedBank\"]))\n : _createCommentVNode(\"\", true)\n ], 2))\n}","import { toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vModelText as _vModelText, withDirectives as _withDirectives, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2eb5bd38\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"input-box ml-4\",\n style: {\"position\":\"relative\"}\n}\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"dollar-sign\" }, \"$\", -1))\nconst _hoisted_3 = {\n key: 1,\n class: \"input-box ml-4\",\n style: {\"position\":\"relative\"}\n}\nconst _hoisted_4 = {\n key: 2,\n class: \"input-box\",\n style: {\"position\":\"relative\"}\n}\n\nexport function render(_ctx, _cache) {\n const _component_Popover = _resolveComponent(\"Popover\")\n const _component_CurrencyInput = _resolveComponent(\"CurrencyInput\")\n\n return (_openBlock(), _createElementBlock(\"section\", {\n class: _normalizeClass([\"input-text-number-currency\", _ctx.validForm() ? 'answered' : ''])\n }, [\n _createElementVNode(\"h4\", null, [\n _createTextVNode(_toDisplayString(_ctx.newWording) + \" \", 1),\n _createVNode(_component_Popover, { popover: _ctx.obj }, null, 8, [\"popover\"])\n ]),\n (_ctx.questionTypeId == 5)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_CurrencyInput, {\n class: \"amount pr-3\",\n modelValue: _ctx.question.responses[0].answerCurrency,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.question.responses[0].answerCurrency) = $event)),\n onKeyup: _cache[1] || (_cache[1] = $event => (_ctx.validForm())),\n options: { currency: 'USD', currencyDisplay: 'hidden', precision: 2, valueRange:{ min: -999999999999, max: 999999999999} }\n }, null, 8, [\"modelValue\"]),\n _hoisted_2\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.questionTypeId == 3)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_CurrencyInput, {\n class: \"amount pr-3\",\n modelValue: _ctx.question.responses[0].answerNumber,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.question.responses[0].answerNumber) = $event)),\n onKeyup: _cache[3] || (_cache[3] = $event => (_ctx.validForm())),\n options: { currency: 'USD', currencyDisplay: 'hidden', valueRange:{ min: -999999999, max: 999999999} }\n }, null, 8, [\"modelValue\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.questionTypeId == 2)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _withDirectives(_createElementVNode(\"input\", {\n class: \"pr-3\",\n type: \"text\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.question.responses[0].answerTxt) = $event)),\n onKeyup: _cache[5] || (_cache[5] = $event => (_ctx.validForm()))\n }, null, 544), [\n [_vModelText, _ctx.question.responses[0].answerTxt]\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 2))\n}","\n\n\n\n","import { render } from \"./index.vue?vue&type=template&id=287dfe1e\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { Options, Vue } from 'vue-class-component';\nimport { Prop, Watch } from 'vue-property-decorator';\nimport Popover from '@/shared/components/popover/index.vue';\nimport store from '@/trust-atcs-app/store';\nimport { PopoverView } from '@/shared/components/popover/popover';\nimport CurrencyInput from '@/shared/components/currency-input/index.vue';\n\n@Options({\n components: {\n Popover,\n CurrencyInput,\n }\n})\nexport default class InputTextNumberCurrency extends Vue {\n\n @Prop()\n private question!: any;\n\n @Prop()\n private questionTypeId!: number;\n\n private uniqueIdName = null as any;\n private selectedOption = null as any;\n private newWording = '';\n private obj: PopoverView = null as any;\n private subQuestionAnswers: any[] = [];\n\n created(): void {\n this.initField();\n const content = store.getters.getPopovers;\n this.newWording = this.question.wording;\n if (this.question.wording.match(/--{{([^)]+)}}--/)) {\n const popovers = this.question.wording.match(/--{{([^)]+)}}--/)[1];\n this.obj = content.filter((x: any) => x.key == popovers)[0];\n this.newWording = this.question.wording.replace('--{{' + popovers + '}}--', '');\n }\n }\n\n private initField(): void {\n //\n }\n\n mounted(): void {\n this.validForm();\n }\n\n private validForm(): boolean {\n let valid = false;\n switch (this.questionTypeId) {\n case 2:\n valid = this.question.responses[0].answerTxt !== null && this.question.responses[0].answerTxt !== '';\n break;\n case 3:\n valid = this.question.responses[0].answerNumber !== null && this.question.responses[0].answerNumber >= 0 && (this.question.responses[0].answerNumber).toString() !== '';\n break;\n case 5:\n valid = this.question.responses[0].answerCurrency !== null && this.question.responses[0].answerCurrency >= 0;\n break;\n }\n this.$emit('validForm', valid);\n return valid;\n }\n\n}\n\n\n","import { render } from \"./input-text-number-currency.html?vue&type=template&id=2eb5bd38&scoped=true&ts=true&external\"\nimport script from \"./input-text-number-currency.ts?vue&type=script&lang=ts&external\"\nexport * from \"./input-text-number-currency.ts?vue&type=script&lang=ts&external\"\n\nimport \"./input-text-number-currency.scss?vue&type=style&index=0&id=2eb5bd38&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2eb5bd38\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, createBlock as _createBlock, withModifiers as _withModifiers, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-012bd912\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"add-bank-modal\" }\nconst _hoisted_2 = { class: \"assign-trustcontact\" }\nconst _hoisted_3 = { class: \"heading-text\" }\nconst _hoisted_4 = { class: \"line1\" }\nconst _hoisted_5 = { class: \"body-main\" }\nconst _hoisted_6 = { class: \"ls-form\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Bank name:\", -1))\nconst _hoisted_8 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"BSB:\", -1))\nconst _hoisted_11 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Account number:\", -1))\nconst _hoisted_14 = {\n key: 0,\n class: \"validation-msg\"\n}\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_16 = { class: \"controls mt-4\" }\nconst _hoisted_17 = [\"disabled\"]\nconst _hoisted_18 = [\"disabled\"]\nconst _hoisted_19 = { key: 0 }\nconst _hoisted_20 = { key: 1 }\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"section\", _hoisted_2, [\n _createVNode(_component_ModalBox, {\n halfScreen: \"true\",\n onClose: _cache[5] || (_cache[5] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.isEditMode ? 'Edit bank': 'Add new bank'), 1)\n ])\n ]),\n body: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"form\", _hoisted_6, [\n _createElementVNode(\"fieldset\", null, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", _ctx.bankName == '' && _ctx.formDirty ? 'error' : ''])\n }, [\n _hoisted_7,\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.bankName) = $event)),\n placeholder: \"Enter name of the Bank\",\n maxlength: \"50\",\n minLength: \"50\"\n }, null, 512), [\n [_vModelText, _ctx.bankName]\n ]),\n (_ctx.bankName == '' && _ctx.formDirty)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _hoisted_9,\n _createTextVNode(\" Must not be empty \")\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", _ctx.bsbno == '' && _ctx.formDirty ? 'error' : ''])\n }, [\n _hoisted_10,\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.bsbno) = $event)),\n placeholder: \"Enter BSB number\",\n maxlength: \"6\",\n minLength: \"6\",\n onkeydown: \"if(!(event.key === 'Delete' || event.key === 'ArrowLeft' || event.key === 'ArrowRight' || event.key === 'Backspace' || event.key === 'Tab' || /\\\\d/.test(event.key))){event.preventDefault();}\"\n }, null, 512), [\n [_vModelText, _ctx.bsbno]\n ]),\n (_ctx.bsbno == '' && _ctx.formDirty)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _hoisted_12,\n _createTextVNode(\" Must not be empty \")\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", _ctx.accountNo == '' && _ctx.formDirty ? 'error' : ''])\n }, [\n _hoisted_13,\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.accountNo) = $event)),\n placeholder: \"Account number\",\n maxlength: \"20\",\n minLength: \"20\"\n }, null, 512), [\n [_vModelText, _ctx.accountNo]\n ]),\n (_ctx.accountNo == '' && _ctx.formDirty)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _hoisted_15,\n _createTextVNode(\" Must not be empty \")\n ]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ])\n ])\n ])\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_16, [\n (_ctx.submitting)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-outline\",\n disabled: _ctx.submitting,\n onClick: _cache[3] || (_cache[3] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\",\"stop\"]))\n }, \" Cancel \", 8, _hoisted_17),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n disabled: _ctx.submitting,\n onClick: _cache[4] || (_cache[4] = _withModifiers($event => (_ctx.save()), [\"prevent\",\"stop\"]))\n }, [\n (_ctx.isEditMode)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_19, \"Save\"))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_20, \"Add\"))\n ], 8, _hoisted_18)\n ])\n ]),\n _: 1\n })\n ])\n ]))\n}","import { Inject, Options, Vue } from \"vue-property-decorator\";\nimport LoadingIndicator from \"@/shared/components/loading-indicator/index.vue\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-atcs-app/store\";\nimport { ComplianceForm, PartBFormPracticeAccountRequest } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport ModalBox from \"@/shared/components/modal-box/index.vue\";\nimport ErrorIndicator from \"@/shared/components/error-indicator/index.vue\";\n\n@Options({\n props: {\n selectedBank: Object,\n },\n components: {\n ModalBox,\n LoadingIndicator,\n ErrorIndicator,\n }\n})\nexport default class AddBankModal extends Vue {\n private selectedBank!: any;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private id = 0;\n private bankName = '';\n private bsbno = '';\n private accountNo = '';\n\n private isEditMode = false;\n\n private submitting = false;\n private error = false;\n private formDirty = false;\n\n mounted(): void {\n if (this.selectedBank) {\n this.id = this.selectedBank.id || 0;\n this.bankName = this.selectedBank.bankName;\n this.bsbno = this.selectedBank.bsbno;\n this.accountNo = this.selectedBank.accountNo;\n this.isEditMode = true;\n }\n }\n\n private async save(): Promise {\n this.formDirty = true;\n if (this.bankName === '' || this.bsbno === '' || this.accountNo === '') {\n return;\n }\n const body: PartBFormPracticeAccountRequest = {\n id: this.id,\n bankName: this.bankName,\n bsbno: this.bsbno.replace(/\\D/g, ''),\n accountNo: this.accountNo,\n complianceFormId: this.complianceFormB.id,\n updatingKey: this.updatingKey,\n };\n this.submitting = true;\n\n try {\n if (this.isEditMode) {\n await this.apiService.PartBFormApi?.apiV2PartBFormUpdateFormPracticeAccountPost(body)\n } else {\n await this.apiService.PartBFormApi?.apiV2PartBFormAddFormPracticeAccountPost(body)\n }\n this.eventCtrl.emit('show-snackbar', 'success', 'Bank account saved successfully');\n this.eventCtrl.emit('reload-form-b-gtm-content');\n this.submitting = false;\n this.closeModal();\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error ' + (this.isEditMode ? 'saving ' : 'adding ') + 'bank account');\n this.ai.trackException('Error ' + (this.isEditMode ? 'saving ' : 'adding ') + ' bank account: ' + err);\n this.error = true;\n console.log(err);\n } finally {\n this.submitting = false;\n }\n Promise.resolve();\n }\n\n private closeModal(): void {\n this.$emit('close');\n }\n\n get complianceFormB(): ComplianceForm {\n return store.getters.getSelectedComplianceFormB;\n }\n\n get updatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n}\n\n","import { render } from \"./add-bank-modal.html?vue&type=template&id=012bd912&scoped=true&ts=true&external\"\nimport script from \"./add-bank-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./add-bank-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./add-bank-modal.scss?vue&type=style&index=0&id=012bd912&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-012bd912\"]])\n\nexport default __exports__","import { Options, Prop, Vue } from \"vue-property-decorator\";\nimport ConfirmDialogue from \"@/shared/components/confirm-dialogue/index.vue\";\nimport InputTextNumberCurrency from \"../../input-text-number-currency/index.vue\";\nimport Popover from \"@/shared/components/popover/index.vue\";\nimport CurrencyInput from '@/shared/components/currency-input/index.vue';\nimport store from \"@/trust-atcs-app/store\";\nimport AddBankModal from \"../add-bank-modal/index.vue\";\nimport { EventEmitter } from \"events\";\nimport RadioButtonHorizontal from \"../../radiobutton-horizontal/index.vue\";\n\n\n@Options({\n components: {\n ConfirmDialogue,\n InputTextNumberCurrency,\n Popover,\n CurrencyInput,\n AddBankModal,\n RadioButtonHorizontal,\n }\n})\nexport default class BankCard extends Vue {\n @Prop()\n private bank!: any;\n\n @Prop()\n private formType!: string;\n\n private showNewBankModal = false;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private newWording(wording: string): any {\n let newWording = wording;\n if (wording !== null) {\n const pattern = /--{{.*?}}--/g;\n newWording = wording.replace(pattern, '');\n }\n return newWording;\n }\n\n private popoverObj(wording: string): any {\n const content = store.getters.getPopovers;\n const pattern = /--\\{\\{(.*?)\\}\\}--/;\n const popovers = wording.match(pattern);\n if (popovers && popovers.length > 1) {\n const extractedContent = popovers[1];\n return content.filter((x: any) => x.key == extractedContent)[0];\n }\n return null;\n }\n\n private removeBankAccount(): void {\n const _confirm: any = this.$refs.confirmRemoveBankDialogue;\n _confirm.show({\n title: 'Remove Bank Account',\n message: 'Are you sure you want to remove this Bank Account?',\n okButton: 'Remove',\n cancelButton: 'Cancel',\n }).then((res: any) => {\n if (res) {\n this.$emit('removeBankAccount');\n }\n })\n }\n\n mounted(): void {\n this.validFormEachBank();\n }\n\n private validFormBank() {\n this.validFormEachBank();\n }\n\n private calculateValue(developerKey: string): string {\n let groupValue = 0;\n if (this.formType == 'EER') {\n if (developerKey.endsWith('ComputeGroupA-PlusMinus')) {\n groupValue = this.sumOfGroupLinedQuestions('GroupA');\n } else if (developerKey.endsWith('ComputeGroupB-PlusMinus')) {\n groupValue = this.sumOfGroupLinedQuestions('GroupB');\n } else if (developerKey.startsWith('ComputeGroupC-MaxAbsoluteDiff')) {\n groupValue = this.maxAbsDiff();\n }\n } else {\n if (developerKey.endsWith('ComputeGroupA-PlusMinus')) {\n groupValue = this.sumOfGroup('GroupA');\n } else if (developerKey.endsWith('ComputeGroupB-PlusMinus')) {\n groupValue = this.sumOfGroup('GroupB');\n } else if (developerKey.startsWith('ComputeGroupC-MaxAbsoluteDiff')) {\n groupValue = this.maxAbsDiff();\n }\n }\n\n // Format as currency with commas\n // const formattedCurrency = groupValue.toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\n // return formattedCurrency;\n return this.formatNumberToCurrencyWithZero(groupValue);\n\n }\n\n private sumOfGroup(groupName: string): number {\n let sum = 0;\n for (let i = 0; i < this.bank.atcsSubQuestions.length; i++) {\n if (this.bank.atcsSubQuestions[i].developerKey.indexOf(groupName) == 0) {\n let operator = 1;\n if (this.bank.atcsSubQuestions[i].developerKey.indexOf('Minus') > 0 && this.bank.atcsSubQuestions[i].developerKey.indexOf('GroupC') !== 0) {\n operator = -1;\n }\n const value = this.bank.atcsSubQuestions[i].responses[0].answerCurrency || 0;\n sum += value * operator;\n }\n }\n return sum;\n }\n\n private sumOfGroupLinedQuestions(groupName: string): number {\n let sum = 0;\n for (let i = 0; i < this.bank.atcsSubQuestions.length; i++) {\n if (this.bank.atcsSubQuestions[i].linkedSubQuestion?.developerKey.indexOf(groupName) == 0) {\n let operator = 1;\n if (this.bank.atcsSubQuestions[i].linkedSubQuestion.developerKey.indexOf('Minus') > 0 && this.bank.atcsSubQuestions[i].linkedSubQuestion.developerKey.indexOf('GroupC') !== 0) {\n operator = -1;\n }\n const value = this.bank.atcsSubQuestions[i].linkedSubQuestion.responses[0].answerCurrency || 0;\n sum += value * operator;\n }\n }\n return sum;\n }\n\n private maxAbsDiff(): number {\n const groupC = {} as any;\n if (this.formType == 'EER') {\n groupC[0] = this.sumOfGroupLinedQuestions('GroupA');\n groupC[1] = this.sumOfGroupLinedQuestions('GroupB');\n groupC[2] = this.sumOfGroupLinedQuestions('GroupC');\n }\n else {\n groupC[0] = this.sumOfGroup('GroupA');\n groupC[1] = this.sumOfGroup('GroupB');\n groupC[2] = this.sumOfGroup('GroupC');\n }\n // console.log(this.bank.id, groupC);\n const keys = Object.keys(groupC);\n let maxDiff = 0;\n for (let i = 0; i < keys.length - 1; i++) {\n for (let j = i + 1; j < keys.length; j++) {\n const diff = Math.abs(groupC[keys[i]] - groupC[keys[j]]);\n if (diff > maxDiff) {\n maxDiff = diff;\n }\n }\n }\n return maxDiff;\n }\n\n private selectedBank: any = {};\n\n private editBankAccount(): void {\n // save the current section without reloading the page\n this.eventCtrl.emit('save-section', false, true, true);\n this.selectedBank = { ...this.bank };\n this.showNewBankModal = true;\n }\n\n private getResponse(linkedSubQuestion: any): string {\n const questionType = linkedSubQuestion.atcsQuestionTypeId;\n let returnValue = '';\n switch (questionType) {\n case 5:\n returnValue = this.formatNumberToCurrencyWithZero(linkedSubQuestion.responses[0].answerCurrency);\n break;\n case 3:\n returnValue = linkedSubQuestion.responses[0].answerNumber;\n break;\n case 21:\n returnValue = this.calculateValue(linkedSubQuestion.developerKey);\n break;\n case 23:\n returnValue = linkedSubQuestion.responses[0].answerTxt;\n break;\n }\n\n return returnValue;\n }\n\n private formatNumberToCurrencyWithZero(amount: number): string {\n // format number 1234567.20 to $1,234,567.20\n if (amount != null) {\n return amount.toLocaleString('en-US', {\n style: 'currency',\n currency: 'USD',\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n });\n } else {\n return '$0.00';\n }\n }\n\n private validFormEachBank(): boolean {\n const bank = this.bank;\n let eachBankValid = true;\n for (let i = 0; i < bank.atcsSubQuestions.length; i++) {\n const answerCurrency = bank.atcsSubQuestions[i].responses[0]?.answerCurrency;\n if (bank.atcsSubQuestions[i].atcsQuestionTypeId == 5 && answerCurrency == null) {\n eachBankValid = false;\n break;\n }\n const answerTxt = bank.atcsSubQuestions[i].responses[0]?.answerTxt;\n if (bank.atcsSubQuestions[i].atcsQuestionTypeId == 23 && (answerTxt == null || answerTxt == '')) {\n eachBankValid = false;\n break;\n }\n if (bank.atcsSubQuestions[i].atcsQuestionTypeId == 2 && (answerTxt == null || answerTxt == '')) {\n eachBankValid = false;\n break;\n }\n const answerNumber = bank.atcsSubQuestions[i].responses[0]?.answerNumber;\n if (bank.atcsSubQuestions[i].atcsQuestionTypeId == 3 && (answerNumber == null || answerNumber < 0)) {\n eachBankValid = false;\n break;\n }\n\n if (bank.atcsSubQuestions[i].atcsQuestionTypeId == 10) {\n // Get all radio responses if not null\n const responses = bank.atcsSubQuestions[i].responses.filter((x: any) => x.answerIsSelected != null);\n if (responses.length == 0) {\n eachBankValid = false;\n break;\n }\n }\n\n }\n this.$emit('validFormBank');\n return eachBankValid;\n }\n\n}\n\n","import { render } from \"./bank-card.html?vue&type=template&id=4122c2b2&scoped=true&ts=true&external\"\nimport script from \"./bank-card.ts?vue&type=script&lang=ts&external\"\nexport * from \"./bank-card.ts?vue&type=script&lang=ts&external\"\n\nimport \"./bank-card.scss?vue&type=style&index=0&id=4122c2b2&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4122c2b2\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, vModelText as _vModelText, withDirectives as _withDirectives, normalizeClass as _normalizeClass, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5ecc4537\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"card-header\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"td\", null, \"Bank name:\", -1))\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"td\", null, \"BSB:\", -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"td\", null, \"Account Number:\", -1))\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fas fa-pencil\" }, null, -1))\nconst _hoisted_6 = [\n _hoisted_5\n]\nconst _hoisted_7 = { class: \"card-body ma-3\" }\nconst _hoisted_8 = {\n key: 0,\n class: \"sub-heading\"\n}\nconst _hoisted_9 = { key: 1 }\nconst _hoisted_10 = {\n key: 0,\n class: \"linked-question data-row\"\n}\nconst _hoisted_11 = { class: \"linked-question-title fieldname\" }\nconst _hoisted_12 = {\n key: 0,\n class: \"linked-question-textarea fielddata\"\n}\nconst _hoisted_13 = {\n key: 1,\n class: \"linked-question-wording fielddata\"\n}\nconst _hoisted_14 = { class: \"data-row mb-2\" }\nconst _hoisted_15 = { class: \"fieldname\" }\nconst _hoisted_16 = { class: \"fielddata\" }\nconst _hoisted_17 = {\n key: 0,\n class: \"input-box\",\n style: {\"position\":\"relative\"}\n}\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"dollar-sign\" }, \"$\", -1))\nconst _hoisted_19 = {\n key: 1,\n class: \"input-box\",\n style: {\"position\":\"relative\"}\n}\nconst _hoisted_20 = [\"onUpdate:modelValue\"]\nconst _hoisted_21 = {\n key: 2,\n class: \"data-row\"\n}\nconst _hoisted_22 = { class: \"fieldname\" }\nconst _hoisted_23 = { class: \"fielddata\" }\nconst _hoisted_24 = {\n class: \"input-box\",\n style: {\"position\":\"relative\"}\n}\nconst _hoisted_25 = {\n class: \"amount\",\n style: {\"width\":\"100%\",\"padding-right\":\"1rem\",\"height\":\"50px\",\"background-color\":\"#ccc\",\"line-height\":\"50px\"}\n}\nconst _hoisted_26 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"dollar-sign\" }, \"$\", -1))\nconst _hoisted_27 = {\n key: 3,\n class: \"data-row\"\n}\nconst _hoisted_28 = {\n key: 0,\n class: \"linked-question data-row\"\n}\nconst _hoisted_29 = { class: \"linked-question-title fieldname\" }\nconst _hoisted_30 = {\n key: 0,\n class: \"linked-question-textarea fielddata\"\n}\nconst _hoisted_31 = {\n key: 1,\n class: \"linked-question-wording fielddata\"\n}\nconst _hoisted_32 = { class: \"fieldname\" }\nconst _hoisted_33 = { class: \"fielddata\" }\nconst _hoisted_34 = {\n key: 4,\n class: \"data-row\"\n}\nconst _hoisted_35 = { class: \"fieldname\" }\nconst _hoisted_36 = { class: \"fielddata\" }\nconst _hoisted_37 = [\"onUpdate:modelValue\", \"disabled\"]\nconst _hoisted_38 = {\n key: 5,\n class: \"data-row\"\n}\nconst _hoisted_39 = { key: 0 }\n\nexport function render(_ctx, _cache) {\n const _component_Popover = _resolveComponent(\"Popover\")\n const _component_CurrencyInput = _resolveComponent(\"CurrencyInput\")\n const _component_RadioButtonHorizontal = _resolveComponent(\"RadioButtonHorizontal\")\n const _component_ConfirmDialogue = _resolveComponent(\"ConfirmDialogue\")\n const _component_AddBankModal = _resolveComponent(\"AddBankModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", {\n class: _normalizeClass([\"bank-card\", _ctx.validFormEachBank() ? 'answered' : ''])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_2,\n _createElementVNode(\"td\", null, _toDisplayString(_ctx.bank.bankName), 1)\n ]),\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"td\", null, _toDisplayString(_ctx.bank.bsbno), 1)\n ]),\n _createElementVNode(\"tr\", null, [\n _hoisted_4,\n _createElementVNode(\"td\", null, _toDisplayString(_ctx.bank.accountNo), 1)\n ])\n ]),\n (_ctx.formType !== 'EER')\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn-icon btn-secondary sml\",\n onClick: _cache[0] || (_cache[0] = $event => (_ctx.editBankAccount()))\n }, _hoisted_6))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.bank.atcsSubQuestions, (q, i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (q.atcsQuestionTypeId==_ctx.QuestionType.WordingOnly)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, _toDisplayString(q.wording), 1))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==_ctx.QuestionType.Currency || q.atcsQuestionTypeId==_ctx.QuestionType.Text)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n (q.linkedSubQuestion)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _createElementVNode(\"div\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.newWording(q.linkedSubQuestion?.wording)) + \" \", 1),\n _createVNode(_component_Popover, {\n popover: _ctx.popoverObj(q.linkedSubQuestion?.wording)\n }, null, 8, [\"popover\"])\n ]),\n (q.linkedSubQuestion?.atcsQuestionTypeId==_ctx.QuestionType.TextArea || q.linkedSubQuestion?.atcsQuestionTypeId==_ctx.QuestionType.TextAreaConditional)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, _toDisplayString(_ctx.getResponse(q.linkedSubQuestion)), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_13, _toDisplayString(_ctx.getResponse(q.linkedSubQuestion)), 1))\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, [\n _createTextVNode(_toDisplayString(_ctx.newWording(q.wording)) + \" \", 1),\n _createVNode(_component_Popover, {\n popover: _ctx.popoverObj(q.wording)\n }, null, 8, [\"popover\"])\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n (q.atcsQuestionTypeId==_ctx.QuestionType.Currency)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createVNode(_component_CurrencyInput, {\n class: \"amount pr-3\",\n modelValue: q.responses[0].answerCurrency,\n \"onUpdate:modelValue\": $event => ((q.responses[0].answerCurrency) = $event),\n onKeyup: _cache[1] || (_cache[1] = $event => (_ctx.validFormBank())),\n options: { currency: 'USD', currencyDisplay: 'hidden', precision: 2, valueRange:{ min: -999999999999, max: 999999999999} }\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\"]),\n _hoisted_18\n ]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==_ctx.QuestionType.Text)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_19, [\n _withDirectives(_createElementVNode(\"input\", {\n class: \"comments\",\n \"onUpdate:modelValue\": $event => ((q.responses[0].answerTxt) = $event),\n onKeyup: _cache[2] || (_cache[2] = $event => (_ctx.validFormBank()))\n }, null, 40, _hoisted_20), [\n [_vModelText, q.responses[0].answerTxt]\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==_ctx.QuestionType.ComputedCurrency)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_21, [\n _createElementVNode(\"span\", _hoisted_22, [\n _createTextVNode(_toDisplayString(_ctx.newWording(q.wording)) + \" \", 1),\n _createVNode(_component_Popover, {\n popover: _ctx.popoverObj(q.wording)\n }, null, 8, [\"popover\"])\n ]),\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"div\", _hoisted_25, _toDisplayString(_ctx.calculateValue(q.developerKey)), 1),\n _hoisted_26\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==_ctx.QuestionType.Number)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_27, [\n (q.linkedSubQuestion)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_28, [\n _createElementVNode(\"div\", _hoisted_29, [\n _createTextVNode(_toDisplayString(_ctx.newWording(q.linkedSubQuestion?.wording)) + \" \", 1),\n _createVNode(_component_Popover, {\n popover: _ctx.popoverObj(q.linkedSubQuestion?.wording)\n }, null, 8, [\"popover\"])\n ]),\n (q.linkedSubQuestion?.atcsQuestionTypeId==_ctx.QuestionType.TextArea || q.linkedSubQuestion?.atcsQuestionTypeId==_ctx.QuestionType.TextAreaConditional)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_30, _toDisplayString(_ctx.getResponse(q.linkedSubQuestion)), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_31, _toDisplayString(_ctx.getResponse(q.linkedSubQuestion)), 1))\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"span\", _hoisted_32, [\n _createTextVNode(_toDisplayString(_ctx.newWording(q.wording)) + \" \", 1),\n _createVNode(_component_Popover, {\n popover: _ctx.popoverObj(q.wording)\n }, null, 8, [\"popover\"])\n ]),\n _createElementVNode(\"span\", _hoisted_33, [\n _createVNode(_component_CurrencyInput, {\n class: \"amount pr-3\",\n modelValue: q.responses[0].answerNumber,\n \"onUpdate:modelValue\": $event => ((q.responses[0].answerNumber) = $event),\n onKeyup: _cache[3] || (_cache[3] = $event => (_ctx.validFormBank())),\n options: { currency: 'USD', currencyDisplay: 'hidden', valueRange:{ min: -999999999, max: 999999999} }\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\"])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==_ctx.QuestionType.TextAreaConditional)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_34, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", _hoisted_35, [\n _createTextVNode(_toDisplayString(_ctx.newWording(q.wording)) + \" \", 1),\n _createVNode(_component_Popover, {\n popover: _ctx.popoverObj(q.wording)\n }, null, 8, [\"popover\"])\n ]),\n _createElementVNode(\"div\", null, _toDisplayString(q.description), 1)\n ]),\n _createElementVNode(\"span\", _hoisted_36, [\n _withDirectives(_createElementVNode(\"textarea\", {\n \"onUpdate:modelValue\": $event => ((q.responses[0].answerTxt) = $event),\n maxlength: 5000,\n onKeyup: _cache[4] || (_cache[4] = $event => (_ctx.validFormBank())),\n class: \"reason-text\",\n style: {\"border\":\"1px solid #aaa\",\"resize\":\"vertical\",\"width\":\"100%\",\"height\":\"150px\"},\n disabled: _ctx.ignoreReasonForVariance\n }, \"\\n \", 40, _hoisted_37), [\n [_vModelText, q.responses[0].answerTxt]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [ q.responses[0].answerTxt?.length === 5000 ? 'full' : '']])\n }, _toDisplayString(q.responses[0].answerTxt?.length || 0) + \"/5000 characters \", 3)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==_ctx.QuestionType.RadioButtonHorizontal)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_38, [\n _createVNode(_component_RadioButtonHorizontal, {\n class: \"one-lineOptions\",\n question: _ctx.bank.atcsSubQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.bank.atcsSubQuestions[i]) = $event),\n allQuestions: _ctx.bank.atcsSubQuestions,\n \"onUpdate:allQuestions\": _cache[5] || (_cache[5] = $event => ((_ctx.bank.atcsSubQuestions) = $event)),\n onValidForm: _cache[6] || (_cache[6] = $event => (_ctx.validFormBank()))\n }, null, 8, [\"question\", \"onUpdate:question\", \"allQuestions\"])\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n ]),\n (_ctx.formType !== 'EER')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_39, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml ma-3\",\n onClick: _cache[7] || (_cache[7] = $event => (_ctx.removeBankAccount()))\n }, \"Remove\")\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_ConfirmDialogue, {\n ref: \"confirmRemoveBankDialogue\",\n modalOpened: true\n }, null, 512),\n (_ctx.showNewBankModal)\n ? (_openBlock(), _createBlock(_component_AddBankModal, {\n key: 1,\n onClose: _cache[8] || (_cache[8] = $event => (_ctx.showNewBankModal = false)),\n selectedBank: _ctx.selectedBank,\n \"onUpdate:selectedBank\": _cache[9] || (_cache[9] = $event => ((_ctx.selectedBank) = $event))\n }, null, 8, [\"selectedBank\"]))\n : _createCommentVNode(\"\", true)\n ], 2))\n}","import { Options, Prop, Vue } from 'vue-property-decorator';\nimport ConfirmDialogue from '@/shared/components/confirm-dialogue/index.vue';\nimport InputTextNumberCurrency from '../../input-text-number-currency/index.vue';\nimport Popover from '@/shared/components/popover/index.vue';\nimport CurrencyInput from '@/shared/components/currency-input/index.vue';\nimport store from '@/trust-atcs-app/store';\nimport AddBankModal from '../add-bank-modal/index.vue';\nimport { EventEmitter } from 'events';\nimport RadioButtonHorizontal from '../../radiobutton-horizontal/index.vue';\nimport { QuestionType } from '../../question-type';\n\n@Options({\n components: {\n ConfirmDialogue,\n InputTextNumberCurrency,\n Popover,\n CurrencyInput,\n AddBankModal,\n RadioButtonHorizontal,\n },\n})\nexport default class BankCardV2 extends Vue {\n @Prop()\n private bank!: any;\n\n @Prop()\n private formType!: string;\n\n private showNewBankModal = false;\n\n private ignoreReasonForVariance = false;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private newWording(wording: string): any {\n let newWording = wording;\n if (wording !== null) {\n const pattern = /--{{.*?}}--/g;\n newWording = wording.replace(pattern, '');\n }\n return newWording;\n }\n\n private popoverObj(wording: string): any {\n const content = store.getters.getPopovers;\n const pattern = /--\\{\\{(.*?)\\}\\}--/;\n const popovers = wording.match(pattern);\n if (popovers && popovers.length > 1) {\n const extractedContent = popovers[1];\n return content.filter((x: any) => x.key == extractedContent)[0];\n }\n return null;\n }\n\n private removeBankAccount(): void {\n const _confirm: any = this.$refs.confirmRemoveBankDialogue;\n _confirm\n .show({\n title: 'Remove Bank Account',\n message: 'Are you sure you want to remove this Bank Account?',\n okButton: 'Remove',\n cancelButton: 'Cancel',\n })\n .then((res: any) => {\n if (res) {\n this.$emit('removeBankAccount');\n }\n });\n }\n\n mounted(): void {\n this.validFormEachBank();\n }\n\n private validFormBank() {\n this.validFormEachBank();\n }\n\n private calculateValue(developerKey: string): string {\n let groupValue = 0;\n if (this.formType == 'EER') {\n if (developerKey.endsWith('ComputeGroupA-PlusMinus')) {\n groupValue = this.sumOfGroupLinedQuestions('GroupA');\n } else if (developerKey.endsWith('ComputeGroupB-PlusMinus')) {\n groupValue = this.sumOfGroupLinedQuestions('GroupB');\n } else if (developerKey.startsWith('ComputeGroupC-MaxAbsoluteDiff')) {\n groupValue = this.maxAbsDiff();\n }\n } else {\n if (developerKey.endsWith('ComputeGroupA-PlusMinus')) {\n groupValue = this.sumOfGroup('GroupA');\n } else if (developerKey.endsWith('ComputeGroupB-PlusMinus')) {\n groupValue = this.sumOfGroup('GroupB');\n } else if (developerKey.startsWith('ComputeGroupC-MaxAbsoluteDiff')) {\n groupValue = this.maxAbsDiff();\n const textarea = this.bank.atcsSubQuestions.find(\n (x: any) => x.atcsQuestionTypeId == QuestionType.TextAreaConditional,\n );\n if (groupValue == 0) {\n // Set the textarea to null and disable it\n textarea.responses[0].answerTxt = null;\n textarea.responses[0].ignoreReasonForVariance = true;\n this.ignoreReasonForVariance = true;\n } else {\n // Enable the textarea\n textarea.responses[0].ignoreReasonForVariance = false;\n this.ignoreReasonForVariance = false;\n }\n }\n }\n // Format as currency with commas\n // const formattedCurrency = groupValue.toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\n // return formattedCurrency;\n return this.formatNumberToCurrencyWithZero(groupValue);\n }\n\n private sumOfGroup(groupName: string): number {\n let sum = 0;\n for (let i = 0; i < this.bank.atcsSubQuestions.length; i++) {\n if (this.bank.atcsSubQuestions[i].developerKey.indexOf(groupName) == 0) {\n let operator = 1;\n if (\n this.bank.atcsSubQuestions[i].developerKey.indexOf('Minus') > 0 &&\n this.bank.atcsSubQuestions[i].developerKey.indexOf('GroupC') !== 0\n ) {\n operator = -1;\n }\n const value = this.bank.atcsSubQuestions[i].responses[0].answerCurrency || 0;\n sum += value * operator;\n }\n }\n return sum;\n }\n\n private sumOfGroupLinedQuestions(groupName: string): number {\n let sum = 0;\n for (let i = 0; i < this.bank.atcsSubQuestions.length; i++) {\n if (this.bank.atcsSubQuestions[i].linkedSubQuestion?.developerKey.indexOf(groupName) == 0) {\n let operator = 1;\n if (\n this.bank.atcsSubQuestions[i].linkedSubQuestion.developerKey.indexOf('Minus') > 0 &&\n this.bank.atcsSubQuestions[i].linkedSubQuestion.developerKey.indexOf('GroupC') !== 0\n ) {\n operator = -1;\n }\n const value = this.bank.atcsSubQuestions[i].linkedSubQuestion.responses[0].answerCurrency || 0;\n sum += value * operator;\n }\n }\n return sum;\n }\n\n private maxAbsDiff(): number {\n const groupC = {} as any;\n if (this.formType == 'EER') {\n groupC[0] = this.sumOfGroupLinedQuestions('GroupA');\n groupC[1] = this.sumOfGroupLinedQuestions('GroupB');\n groupC[2] = this.sumOfGroupLinedQuestions('GroupC');\n } else {\n groupC[0] = this.sumOfGroup('GroupA');\n groupC[1] = this.sumOfGroup('GroupB');\n groupC[2] = this.sumOfGroup('GroupC');\n }\n // console.log(this.bank.id, groupC);\n const keys = Object.keys(groupC);\n let maxDiff = 0;\n for (let i = 0; i < keys.length - 1; i++) {\n for (let j = i + 1; j < keys.length; j++) {\n const diff = Math.abs(groupC[keys[i]] - groupC[keys[j]]);\n if (diff > maxDiff) {\n maxDiff = diff;\n }\n }\n }\n return maxDiff;\n }\n\n private selectedBank: any = {};\n\n private editBankAccount(): void {\n // save the current section without reloading the page\n this.eventCtrl.emit('save-section', false, true, true);\n this.selectedBank = { ...this.bank };\n this.showNewBankModal = true;\n }\n\n private getResponse(linkedSubQuestion: any): string {\n const questionType = linkedSubQuestion.atcsQuestionTypeId;\n let returnValue = '';\n switch (questionType) {\n case QuestionType.Currency:\n returnValue = this.formatNumberToCurrencyWithZero(linkedSubQuestion.responses[0].answerCurrency);\n break;\n case QuestionType.Number:\n returnValue = linkedSubQuestion.responses[0].answerNumber;\n break;\n case QuestionType.ComputedCurrency:\n returnValue = this.calculateValue(linkedSubQuestion.developerKey);\n break;\n case QuestionType.TextArea:\n case QuestionType.TextAreaConditional:\n returnValue = linkedSubQuestion.responses[0].answerTxt;\n break;\n }\n\n return returnValue;\n }\n\n private formatNumberToCurrencyWithZero(amount: number): string {\n // format number 1234567.20 to $1,234,567.20\n if (amount != null) {\n return amount.toLocaleString('en-US', {\n style: 'currency',\n currency: 'USD',\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n } else {\n return '$0.00';\n }\n }\n\n private validFormEachBank(): boolean {\n const bank = this.bank;\n let eachBankValid = true;\n for (let i = 0; i < bank.atcsSubQuestions.length; i++) {\n const answerCurrency = bank.atcsSubQuestions[i].responses[0]?.answerCurrency;\n if (bank.atcsSubQuestions[i].atcsQuestionTypeId == 5 && answerCurrency == null) {\n eachBankValid = false;\n break;\n }\n const answerTxt = bank.atcsSubQuestions[i].responses[0]?.answerTxt;\n if (\n bank.atcsSubQuestions[i].atcsQuestionTypeId == QuestionType.TextAreaConditional &&\n (answerTxt == null || answerTxt == '') &&\n !this.ignoreReasonForVariance\n ) {\n eachBankValid = false;\n break;\n }\n if (bank.atcsSubQuestions[i].atcsQuestionTypeId == 2 && (answerTxt == null || answerTxt == '')) {\n eachBankValid = false;\n break;\n }\n const answerNumber = bank.atcsSubQuestions[i].responses[0]?.answerNumber;\n if (bank.atcsSubQuestions[i].atcsQuestionTypeId == 3 && (answerNumber == null || answerNumber < 0)) {\n eachBankValid = false;\n break;\n }\n\n if (bank.atcsSubQuestions[i].atcsQuestionTypeId == 10) {\n // Get all radio responses if not null\n const responses = bank.atcsSubQuestions[i].responses.filter((x: any) => x.answerIsSelected != null);\n if (responses.length == 0) {\n eachBankValid = false;\n break;\n }\n }\n }\n this.$emit('validFormBank');\n return eachBankValid;\n }\n\n get QuestionType(): any {\n return QuestionType;\n }\n}\n","import { render } from \"./bank-card-v2.html?vue&type=template&id=5ecc4537&scoped=true&ts=true&external\"\nimport script from \"./bank-card-v2.ts?vue&type=script&lang=ts&external\"\nexport * from \"./bank-card-v2.ts?vue&type=script&lang=ts&external\"\n\nimport \"./bank-card-v2.scss?vue&type=style&index=0&id=5ecc4537&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5ecc4537\"]])\n\nexport default __exports__","import { Options, Prop, Vue } from 'vue-property-decorator';\nimport BankCard from './bank-card/index.vue';\nimport BankCardV2 from './bank-card-v2/index.vue';\nimport AddBankModal from './add-bank-modal/index.vue';\nimport { EventEmitter } from 'events';\nimport store from '@/trust-atcs-app/store';\nimport { QuestionType } from '../question-type';\n\n@Options({\n components: {\n BankCard,\n BankCardV2,\n AddBankModal,\n },\n})\nexport default class BankAccount extends Vue {\n @Prop()\n private questionTypeId!: number;\n\n @Prop()\n private banks!: any[];\n\n @Prop()\n private qWording!: string;\n\n @Prop()\n private formType!: string;\n\n private showNewBankModal = false;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n mounted(): void {\n this.$emit('validForm', this.validForm());\n }\n\n private validForm(): boolean {\n return this.banks?.length > 0 && this.validFormBank();\n }\n\n private addNewBankAccount() {\n this.eventCtrl.emit('save-section', false, true, true);\n this.showNewBankModal = true;\n }\n\n private removeBankAccount(index: number) {\n this.banks.splice(index, 1);\n this.$emit('validForm', this.validForm());\n this.eventCtrl.emit('save-section', false, true, false);\n }\n\n private validFormBank(): boolean {\n let allValid = true;\n if (this.banks) {\n for (let i = 0; i < this.banks.length; i++) {\n allValid = this.validFormEachBank(this.banks[i]);\n // console.log('all banks Valid: ', i, allValid);\n if (!allValid) {\n break;\n }\n }\n }\n\n this.$emit('validForm', allValid);\n return allValid;\n }\n\n private validFormEachBank(bank: any): boolean {\n let eachBankValid = true;\n for (let i = 0; i < bank.atcsSubQuestions.length; i++) {\n const answerCurrency = bank.atcsSubQuestions[i].responses[0]?.answerCurrency;\n if (bank.atcsSubQuestions[i].atcsQuestionTypeId == QuestionType.Currency && answerCurrency == null) {\n eachBankValid = false;\n break;\n }\n const answerTxt = bank.atcsSubQuestions[i].responses[0]?.answerTxt;\n if (\n bank.atcsSubQuestions[i].atcsQuestionTypeId == QuestionType.TextArea &&\n (answerTxt == null || answerTxt == '')\n ) {\n eachBankValid = false;\n break;\n }\n if (bank.atcsSubQuestions[i].atcsQuestionTypeId == QuestionType.Text && (answerTxt == null || answerTxt == '')) {\n eachBankValid = false;\n break;\n }\n\n const ignoreReasonForVariance = bank.atcsSubQuestions[i].responses[0]?.ignoreReasonForVariance;\n if (!ignoreReasonForVariance && bank.atcsSubQuestions[i].atcsQuestionTypeId == QuestionType.TextAreaConditional && (answerTxt == null || answerTxt == '')) {\n eachBankValid = false;\n break;\n }\n const answerNumber = bank.atcsSubQuestions[i].responses[0]?.answerNumber;\n if (\n bank.atcsSubQuestions[i].atcsQuestionTypeId == QuestionType.Number &&\n (answerNumber == null || answerNumber < 0)\n ) {\n eachBankValid = false;\n break;\n }\n\n if (bank.atcsSubQuestions[i].atcsQuestionTypeId == QuestionType.RadioButtonHorizontal) {\n // Get all radio responses if not null\n const responses = bank.atcsSubQuestions[i].responses.filter((x: any) => x.answerIsSelected != null);\n if (responses.length == 0) {\n eachBankValid = false;\n break;\n }\n }\n }\n return eachBankValid;\n }\n\n get QuestionType(): any {\n return QuestionType;\n }\n}\n","import { render } from \"./bank-account.html?vue&type=template&id=59897070&scoped=true&ts=true&external\"\nimport script from \"./bank-account.ts?vue&type=script&lang=ts&external\"\nexport * from \"./bank-account.ts?vue&type=script&lang=ts&external\"\n\nimport \"./bank-account.scss?vue&type=style&index=0&id=59897070&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-59897070\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-aea0f2f8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"mt-3 ml-4\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"validation-msg error\"\n}\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }, null, -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"small\", null, \"Maximum file size: 50MB\", -1))\nconst _hoisted_5 = { class: \"file-list mb-2\" }\nconst _hoisted_6 = { class: \"file-name\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-file-pdf\" }, null, -1))\nconst _hoisted_8 = [\"onClick\"]\n\nexport function render(_ctx, _cache) {\n const _component_Popover = _resolveComponent(\"Popover\")\n const _component_FileDragAndDrop = _resolveComponent(\"FileDragAndDrop\")\n const _component_ConfirmDialogue = _resolveComponent(\"ConfirmDialogue\")\n\n return (_openBlock(), _createElementBlock(\"section\", {\n class: _normalizeClass([\"file-uploader\", {'answered': _ctx.validForm(), 'optional': _ctx.isFileUploadOptional}])\n }, [\n _createElementVNode(\"h4\", null, [\n _createTextVNode(_toDisplayString(_ctx.newWording) + \" \", 1),\n _createVNode(_component_Popover, { popover: _ctx.obj }, null, 8, [\"popover\"])\n ]),\n _createElementVNode(\"div\", _hoisted_1, [\n _createVNode(_component_FileDragAndDrop, {\n disabled: false,\n uploading: _ctx.uploading,\n ref: \"fileDropAndDrop\",\n onFileInputChanged: _cache[0] || (_cache[0] = $event => (_ctx.fileInputChanged($event))),\n numFileLimit: 5,\n fileSizeLimit: 50\n }, null, 8, [\"uploading\"]),\n (_ctx.question?.responses?.length == 0 && !_ctx.isFileUploadOptional)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _hoisted_3,\n _createTextVNode(\" File required. \")\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_4,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.question.responses, (f) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _hoisted_7,\n _createTextVNode(\" \" + _toDisplayString(f.wording), 1)\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-outline sml\",\n onClick: $event => (_ctx.deleteFile(f.answerNumber))\n }, \"Delete\", 8, _hoisted_8)\n ]))\n }), 256))\n ]),\n _createVNode(_component_ConfirmDialogue, {\n ref: \"confirmDeleteDialogue\",\n modalOpened: true\n }, null, 512)\n ], 2))\n}","import { Options, Vue } from 'vue-class-component';\nimport { Inject, Prop, Ref, Watch } from 'vue-property-decorator';\nimport Popover from '@/shared/components/popover/index.vue';\nimport store from '@/trust-atcs-app/store';\nimport { PopoverView } from '@/shared/components/popover/popover';\nimport FileDragAndDrop from '@/shared/components/file-drag-and-drop/index.vue';\nimport ConfirmDialogue from '@/shared/components/confirm-dialogue/index.vue';\nimport { EventEmitter } from 'events';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport { ComplianceForm } from '@/shared/modules/typescript-trustapi-client/models';\n\n\n@Options({\n components: {\n Popover,\n FileDragAndDrop,\n ConfirmDialogue\n }\n})\nexport default class FileUploader extends Vue {\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop()\n private question!: any;\n\n @Prop()\n private isFileUploadOptional!: false;\n\n private newWording = '';\n private obj: PopoverView = null as any;\n\n private fileList: Array = [];\n\n private uploading = false;\n private uniqueIdName = null as any;\n\n @Ref('fileDropAndDrop') readonly fileDropAndDrop!: any;\n\n @Watch('question.responses')\n private onFileListChanged(): void {\n console.log('fileList changed: ', this.question.responses.length);\n this.$emit('validForm', this.validForm());\n }\n\n created(): void {\n const content = store.getters.getPopovers;\n this.newWording = this.question.wording;\n if (this.question.wording.match(/--{{([^)]+)}}--/)) {\n const popovers = this.question.wording.match(/--{{([^)]+)}}--/)[1];\n this.obj = content.filter((x: any) => x.key == popovers)[0];\n this.newWording = this.question.wording.replace('--{{' + popovers + '}}--', '');\n }\n this.$emit('validForm', this.validForm());\n }\n\n mounted(): void {\n this.$nextTick(() => {\n this.$emit('validForm', this.validForm());\n this.uniqueIdName = 'fileDropAndDrop' + this.question.id;\n // this.eventCtrl.on(this.uniqueIdName + 'reset-list', this.resetFileList);\n });\n }\n\n\n // beforeUnmount(): void {\n // this.eventCtrl.removeListener(this.uniqueIdName + 'reset-list', this.resetFileList);\n // }\n\n private validForm(): boolean {\n return this.question.responses?.length > 0 || this.isFileUploadOptional;\n }\n\n private fileInputChanged(fileList: Array): void {\n this.fileList = fileList;\n this.$emit('formChanged', this.fileList);\n this.fileListChanged(fileList, this.question.id);\n // this.$emit('validForm', this.validForm());\n this.fileList = [];\n }\n\n\n private deleteFile(id: number, removeOnly: boolean): void {\n const _confirm: any = this.$refs.confirmDeleteDialogue;\n _confirm.show({\n title: 'Delete File',\n message: 'Are you sure you want to delete this file?',\n okButton: 'Delete',\n cancelButton: 'Cancel',\n }).then((res: any) => {\n if (res) {\n this.question.responses =\n this.question.responses.filter((x: any) => x.answerNumber != id);\n // this.eventCtrl.emit('save-section', false, true);\n // this.$emit('deleteFile', id);\n }\n })\n }\n\n private resetFileList(): void {\n try {\n this.fileDropAndDrop.selectedFiles = [];\n } catch (err) {\n console.log(err);\n }\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n\n private fileListChanged(fileList: Array, id: number): void {\n this.fileList = fileList;\n this.uploadAllFiles(this.fileList, id);\n }\n\n\n // private async deleteFileFromServer(id: number, removeOnly: boolean): Promise {\n // if (removeOnly) {\n // this.uploadedFileList = this.uploadedFileList.filter(x => x.id !== id);\n // this.eventCtrl.emit('show-snackbar', 'success', 'File removed.');\n // return;\n // } else {\n // try {\n // await this.apiService.FileAtcsApi?.apiV2FileAtcsAdminDeleteFileFileIdDelete(id);\n // this.uploadedFileList = this.uploadedFileList.filter(x => x.id !== id);\n // this.eventCtrl.emit('show-snackbar', 'success', 'File removed.');\n // } catch (err) {\n // // this.ai.trackException('Error on delete file: ' + JSON.stringify(err));\n // this.eventCtrl.emit('show-snackbar', 'error', 'Error on delete file: ' + err);\n // }\n // }\n\n // }\n\n\n private async uploadAllFiles(fileList: Array, id: number): Promise {\n const allRequests: Array> = [];\n this.uploading = true;\n try {\n if (fileList.length > 0) {\n fileList.forEach((x) => allRequests.push(this.uploadFile(x, id)));\n await Promise.all(allRequests);\n this.eventCtrl.emit('show-snackbar', 'success', 'File(s) uploaded');\n this.fileList = [];\n this.resetFileList();\n // this.eventCtrl.emit('fileDropAndDrop' + this.formPartBData.controlledMoney.atcsMainQuestions[id].id + 'reset-list');\n }\n // this.validationForm(id, true);\n } catch (err: any) {\n // this.ai.trackException('Error on upload file: ' + JSON.stringify(err));\n this.eventCtrl.emit('show-snackbar', 'error', 'Error on upload file(s)');\n } finally {\n this.uploading = false;\n }\n }\n\n private async uploadFile(file: File, id: number): Promise {\n try {\n const fileStr = await this.fileToString(file);\n const body = {\n complianceFormId: this.complianceFormB.id,\n fileName: file.name,\n fileExtension: file.name,\n fileDataUrl: fileStr,\n id: ''\n };\n const res: any = await this.apiService.FileAtcsApi?.apiV2FileAtcsSaveComplianceFormFilePost(body);\n body.id = res.data.data;\n body.fileDataUrl = '';\n // this.uploadedFileList.push(body);\n this.question.responses.push(\n {\n id: 0,\n wording: file.name,\n relatedId: res.data.data,\n relatedTable: '[Data].[File]',\n answerNumber: res.data.data,\n }\n );\n this.$emit('validForm', this.validForm());\n return Promise.resolve(true);\n } catch (err) {\n console.log(err);\n // this.ai.trackException('Error on upload file: ' + JSON.stringify(err));\n this.eventCtrl.emit('show-snackbar', 'error', 'Error on save file: ' + err);\n return Promise.reject(true);\n }\n }\n\n private fileToString(file: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n return resolve(reader.result as string);\n };\n\n reader.onabort = () => {\n return reject();\n }\n\n reader.onerror = () => {\n return reject();\n }\n });\n }\n\n get complianceFormB(): ComplianceForm {\n return store.getters.getSelectedComplianceFormB;\n }\n\n}\n\n\n","import { render } from \"./file-uploader.html?vue&type=template&id=aea0f2f8&scoped=true&ts=true&external\"\nimport script from \"./file-uploader.ts?vue&type=script&lang=ts&external\"\nexport * from \"./file-uploader.ts?vue&type=script&lang=ts&external\"\n\nimport \"./file-uploader.scss?vue&type=style&index=0&id=aea0f2f8&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-aea0f2f8\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-36a146ae\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"signatories\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"row\" }, \"Are the Authorised Signatories below, correct? If not, edit as appropriate. At least one authorised signatory is required to proceed \", -1))\nconst _hoisted_3 = { class: \"cards mt-4\" }\nconst _hoisted_4 = { style: {\"width\":\"100%\",\"text-align\":\"right\"} }\nconst _hoisted_5 = [\"disabled\"]\n\nexport function render(_ctx, _cache) {\n const _component_SignatoryCard = _resolveComponent(\"SignatoryCard\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"h4\", null, _toDisplayString(_ctx.qWording), 1),\n _hoisted_2,\n _createElementVNode(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.signatories, (s, idx) => {\n return (_openBlock(), _createBlock(_component_SignatoryCard, {\n signatory: _ctx.signatories[idx],\n \"onUpdate:signatory\": $event => ((_ctx.signatories[idx]) = $event),\n onRemoveSignatory: $event => (_ctx.removeSignatory(idx)),\n onValidFormSignatory: $event => (_ctx.validFormSignatory(idx, $event)),\n categoryList: _ctx.categoryList,\n \"onUpdate:categoryList\": _cache[0] || (_cache[0] = $event => ((_ctx.categoryList) = $event)),\n solelyJointlyList: _ctx.solelyJointlyList,\n \"onUpdate:solelyJointlyList\": _cache[1] || (_cache[1] = $event => ((_ctx.solelyJointlyList) = $event))\n }, null, 8, [\"signatory\", \"onUpdate:signatory\", \"onRemoveSignatory\", \"onValidFormSignatory\", \"categoryList\", \"solelyJointlyList\"]))\n }), 256))\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.addSignatory(_ctx.idx))),\n disabled: _ctx.isSaving\n }, \"Add another Signatory\", 8, _hoisted_5)\n ])\n ]))\n}","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, vModelSelect as _vModelSelect, createVNode as _createVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-21b0ecef\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { key: 1 }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"First name\", -1))\nconst _hoisted_3 = { class: \"input-box\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Last name\", -1))\nconst _hoisted_5 = { class: \"input-box\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_7 = { class: \"input-box\" }\nconst _hoisted_8 = {\n class: \"select mb-4\",\n style: {\"width\":\"100%\"}\n}\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Position\", -1))\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", {\n disabled: \"\",\n value: null\n}, \" - Select -\", -1))\nconst _hoisted_11 = [\"value\"]\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Period from\", -1))\nconst _hoisted_13 = { class: \"date-picker\" }\nconst _hoisted_14 = { class: \"input-box\" }\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Period to\", -1))\nconst _hoisted_16 = { class: \"date-picker\" }\nconst _hoisted_17 = { class: \"input-box\" }\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_19 = { class: \"input-box\" }\nconst _hoisted_20 = {\n class: \"select mb-4\",\n style: {\"width\":\"100%\"}\n}\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Solely/Jointly\", -1))\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", {\n disabled: \"\",\n value: null\n}, \" - Select -\", -1))\nconst _hoisted_23 = [\"value\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_date_picker = _resolveComponent(\"date-picker\")\n const _component_ConfirmDialogue = _resolveComponent(\"ConfirmDialogue\")\n\n return (_openBlock(), _createElementBlock(\"section\", {\n class: _normalizeClass([\"signatory-card\", _ctx.validSignatory ? 'answered' : ''])\n }, [\n (_ctx.signatory?.isNewlyAdded)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n showLoadingText: false\n }))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _hoisted_2,\n _createElementVNode(\"div\", _hoisted_3, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n placeholder: \"First name\",\n maxlength: \"50\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.signatory.firstName) = $event)),\n onInput: _cache[1] || (_cache[1] = $event => (_ctx.onSignatoryChanged()))\n }, null, 544), [\n [_vModelText, _ctx.signatory.firstName]\n ])\n ]),\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n placeholder: \"Last name\",\n maxlength: \"50\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.signatory.lastName) = $event)),\n onInput: _cache[3] || (_cache[3] = $event => (_ctx.onSignatoryChanged()))\n }, null, 544), [\n [_vModelText, _ctx.signatory.lastName]\n ])\n ]),\n _hoisted_6,\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _hoisted_9,\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.signatory.categoryId) = $event)),\n onChange: _cache[5] || (_cache[5] = $event => (_ctx.onSignatoryChanged()))\n }, [\n _hoisted_10,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.categoryList, (c) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: c.id\n }, _toDisplayString(c.name), 9, _hoisted_11))\n }), 256))\n ], 544), [\n [_vModelSelect, _ctx.signatory.categoryId]\n ])\n ])\n ]),\n _hoisted_12,\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, [\n _createVNode(_component_date_picker, {\n value: _ctx.signatory.commencedDate,\n \"onUpdate:value\": _cache[6] || (_cache[6] = $event => ((_ctx.signatory.commencedDate) = $event)),\n format: \"DD/MM/YYYY\",\n \"input-class\": \"examiner-date\",\n onChange: _cache[7] || (_cache[7] = $event => (_ctx.onSignatoryChanged()))\n }, null, 8, [\"value\"])\n ])\n ]),\n _hoisted_15,\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", _hoisted_17, [\n _createVNode(_component_date_picker, {\n value: _ctx.signatory.terminatedDate,\n \"onUpdate:value\": _cache[8] || (_cache[8] = $event => ((_ctx.signatory.terminatedDate) = $event)),\n format: \"DD/MM/YYYY\",\n \"input-class\": \"examiner-date\",\n onChange: _cache[9] || (_cache[9] = $event => (_ctx.onSignatoryChanged()))\n }, null, 8, [\"value\"])\n ])\n ]),\n _hoisted_18,\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _hoisted_21,\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = $event => ((_ctx.signatory.solelyJointlyId) = $event))\n }, [\n _hoisted_22,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.solelyJointlyList, (s) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: s.id\n }, _toDisplayString(s.name), 9, _hoisted_23))\n }), 256))\n ], 512), [\n [_vModelSelect, _ctx.signatory.solelyJointlyId]\n ])\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: _cache[11] || (_cache[11] = $event => (_ctx.removeSignatory()))\n }, \"Remove\")\n ])\n ])),\n _createVNode(_component_ConfirmDialogue, {\n ref: \"confirmRemoveSignatoryDialogue\",\n modalOpened: true\n }, null, 512)\n ], 2))\n}","import { Options, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport ConfirmDialogue from \"@/shared/components/confirm-dialogue/index.vue\";\nimport DatePicker from 'vue-datepicker-next';\nimport 'vue-datepicker-next/index.css';\nimport LoadingIndicator from \"@/shared/components/loading-indicator/index.vue\";\n\n@Options({\n components: {\n ConfirmDialogue,\n DatePicker,\n LoadingIndicator,\n }\n})\nexport default class SignatoryCard extends Vue {\n\n @Prop()\n private signatory!: any;\n\n @Prop()\n private categoryList!: any[];\n\n @Prop()\n private solelyJointlyList!: any[];\n\n @Watch('signatory')\n private onSignatoryDataChanged() {\n this.signatory.commencedDate = this.signatory.commencedDate ? new Date(this.signatory.commencedDate) : null;\n this.signatory.terminatedDate = this.signatory.terminatedDate ? new Date(this.signatory.terminatedDate) : null;\n this.$emit('validFormSignatory', this.validSignatory);\n }\n\n mounted(): void {\n this.signatory.commencedDate = this.signatory.commencedDate ? new Date(this.signatory.commencedDate) : null;\n this.signatory.terminatedDate = this.signatory.terminatedDate ? new Date(this.signatory.terminatedDate) : null;\n }\n\n private onSignatoryChanged(): void {\n this.$emit('validFormSignatory', this.validSignatory);\n }\n\n @Watch('signatory.solelyJointlyId')\n private onSolelyJointlyIdChanged(): void {\n this.$emit('validFormSignatory', this.validSignatory);\n }\n\n get validSignatory(): boolean {\n if (this.signatory) {\n this.signatory.valid = false;\n const firstName = this.signatory?.firstName?.length > 0;\n const lastName = this.signatory?.lastName?.length > 0;\n const categoryId = this.signatory?.categoryId > 0;\n const commencedDate = this.signatory?.commencedDate !== null;\n // const terminatedDate = this.signatory?.terminatedDate !== null;\n const solelyJointlyId = this.signatory?.solelyJointlyId > 0;\n if (firstName && lastName && categoryId && solelyJointlyId && commencedDate) {\n this.signatory.valid = true;\n return true;\n }\n }\n return false;\n }\n\n private removeSignatory(): void {\n const _confirm: any = this.$refs.confirmRemoveSignatoryDialogue;\n _confirm.show({\n title: 'Remove Authorised Signatory',\n message: 'Are you sure you want to remove this Authorised Signatory?',\n okButton: 'Remove',\n cancelButton: 'Cancel',\n }).then((res: any) => {\n if (res) {\n this.$emit('removeSignatory');\n }\n })\n }\n\n}\n\n","import { render } from \"./signatory-card.html?vue&type=template&id=21b0ecef&scoped=true&ts=true&external\"\nimport script from \"./signatory-card.ts?vue&type=script&lang=ts&external\"\nexport * from \"./signatory-card.ts?vue&type=script&lang=ts&external\"\n\nimport \"./signatory-card.scss?vue&type=style&index=0&id=21b0ecef&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-21b0ecef\"]])\n\nexport default __exports__","import { Inject, Options, Prop, Vue } from \"vue-property-decorator\";\nimport SignatoryCard from \"./signatory-card/index.vue\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport store from \"@/trust-atcs-app/store\";\nimport { EventEmitter } from \"events\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport { ComplianceForm } from \"@/shared/modules/typescript-trustapi-client/models\";\n\n@Options({\n components: {\n SignatoryCard,\n }\n})\nexport default class Signatories extends Vue {\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n @Prop()\n private signatories!: any[];\n\n @Prop()\n private qWording!: string;\n\n @Prop()\n private isSaving!: boolean;\n\n private categoryList: any[] = [];\n private solelyJointlyList: any[] = [];\n\n mounted(): void {\n this.loadList();\n this.$emit('validForm', this.validForm());\n }\n\n private async loadList(): Promise {\n try {\n const resp1: any = await this.apiService.CodeApi?.apiV2CodeGetCategoriesGet();\n const resp2: any = await this.apiService.CodeApi?.apiV2CodeGetSolelyJointliesGet();\n this.categoryList = resp1.data.data;\n this.solelyJointlyList = resp2.data.data;\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error loading options list');\n this.ai.trackException('Error loading options list: ' + err);\n // this.errorLoadingContent = true;\n console.log(err);\n } finally {\n // this.loadingContent = false;\n }\n\n }\n\n private async addSignatory() {\n const newSignatory: any = (\n {\n isNewlyAdded: true,\n id: 0,\n complianceFormId: this.complianceFormB.id,\n firstName: null,\n lastName: null,\n commencedDate: new Date(),\n terminatedDate: null,\n categoryId: null,\n solelyJointlyId: null,\n updatingKey: this.updatingKey,\n });\n this.signatories.push(newSignatory);\n // save the current section and reloading data\n this.eventCtrl.emit('save-section', false, true, false);\n }\n\n private validForm(): boolean {\n return this.signatories.length > 0 && this.validFormSignatory();\n }\n\n private removeSignatory(index: number) {\n this.signatories.splice(index, 1);\n this.eventCtrl.emit('save-section', false, true, false);\n this.$emit('validForm', this.validForm());\n }\n\n private validFormSignatory(): boolean {\n const allValid = this.signatories.every((s: any) => s.valid);\n this.$emit('validForm', allValid);\n return allValid;\n }\n\n get complianceFormB(): ComplianceForm {\n return store.getters.getSelectedComplianceFormB;\n }\n\n get updatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n}\n\n\n\n","import { render } from \"./signatories.html?vue&type=template&id=36a146ae&scoped=true&ts=true&external\"\nimport script from \"./signatories.ts?vue&type=script&lang=ts&external\"\nexport * from \"./signatories.ts?vue&type=script&lang=ts&external\"\n\nimport \"./signatories.scss?vue&type=style&index=0&id=36a146ae&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-36a146ae\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, vModelRadio as _vModelRadio, withDirectives as _withDirectives, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-661902c8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"linked-question\"\n}\nconst _hoisted_2 = { class: \"linked-question-title\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"linked-question-textarea\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"linked-question-wording\"\n}\nconst _hoisted_5 = { class: \"question\" }\nconst _hoisted_6 = { style: {\"min-width\":\"250px\"} }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { class: \"radio-button-group ml-4\" }\nconst _hoisted_9 = { class: \"radio\" }\nconst _hoisted_10 = [\"name\", \"value\"]\nconst _hoisted_11 = { class: \"radio-elmt mt-2 mb-2\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n], -1))\nconst _hoisted_13 = { class: \"radio-text\" }\n\nexport function render(_ctx, _cache) {\n const _component_Popover = _resolveComponent(\"Popover\")\n const _component_FileUploader = _resolveComponent(\"FileUploader\")\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"radiobutton-horizontal\", _ctx.validForm() ? 'answered' : ''])\n }, [\n (_ctx.question.linkedSubQuestion)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createTextVNode(_toDisplayString(_ctx.newLinkedWording) + \" \", 1),\n _createVNode(_component_Popover, { popover: _ctx.obj }, null, 8, [\"popover\"])\n ]),\n (_ctx.question.linkedSubQuestion?.atcsQuestionTypeId==23)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.getResponse(_ctx.question.linkedSubQuestion)), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _toDisplayString(_ctx.getResponse(_ctx.question.linkedSubQuestion)), 1))\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"h4\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.newWording) + \" \", 1),\n _createVNode(_component_Popover, { popover: _ctx.obj }, null, 8, [\"popover\"])\n ]),\n (_ctx.question.description)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, _toDisplayString(_ctx.question.description), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_8, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.question.responses, (option) => {\n return (_openBlock(), _createElementBlock(\"label\", _hoisted_9, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: _ctx.uniqueIdName + this.question.id,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.selectedOption) = $event)),\n value: option.value\n }, null, 8, _hoisted_10), [\n [_vModelRadio, _ctx.selectedOption]\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _hoisted_12,\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(option.wording), 1)\n ])\n ]))\n }), 256))\n ])\n ]),\n _createVNode(_component_FileUploader, {\n class: \"mt-3 mb-3\",\n question: _ctx.question.atcsSubQuestions[0],\n \"onUpdate:question\": _cache[1] || (_cache[1] = $event => ((_ctx.question.atcsSubQuestions[0]) = $event)),\n isFileUploadOptional: _ctx.isFileUploadOptional,\n \"onUpdate:isFileUploadOptional\": _cache[2] || (_cache[2] = $event => ((_ctx.isFileUploadOptional) = $event)),\n onValidForm: _cache[3] || (_cache[3] = $event => (_ctx.validationFile(_ctx.i, $event)))\n }, null, 8, [\"question\", \"isFileUploadOptional\"])\n ], 2))\n}","import { Options, Vue } from 'vue-class-component';\nimport { Prop, Watch } from 'vue-property-decorator';\nimport store from '@/trust-atcs-app/store';\nimport Popover from '@/shared/components/popover/index.vue';\nimport { orderBy } from 'lodash';\nimport FileUploader from '../file-uploader/index.vue';\n\n@Options({\n components: {\n FileUploader,\n Popover,\n },\n emits: ['validForm'],\n})\nexport default class RadioButtonWithFiles extends Vue {\n @Prop()\n private question!: any;\n\n @Prop()\n private allQuestions!: any;\n\n private isFileUploadOptional = false;\n private isFileUploadValid = false;\n\n @Watch('selectedOption')\n private onSelectedOptionChanged(): void {\n this.question.responses.forEach((r: any, idx: number) => {\n if (r.value == this.selectedOption) {\n this.question.responses[idx].answerIsSelected = true;\n this.isFileUploadOptional = idx === 0 ? false : true;\n this.validationFile();\n } else {\n this.question.responses[idx].answerIsSelected = null;\n }\n });\n this.$emit('validForm', this.validForm());\n }\n\n private uniqueIdName = null as any;\n\n private selectedOption = null as any;\n private newWording = '';\n private newLinkedWording = '';\n private obj = null as any;\n\n private generateUUID() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0,\n v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n }\n\n created(): void {\n this.uniqueIdName = 'RadioHorizontal-' + this.generateUUID();\n this.question.responses = orderBy(this.question.responses, 'order', 'asc');\n this.initField();\n const content = store.getters.getPopovers;\n\n this.newWording = this.question.wording;\n\n if (this.question.linkedSubQuestion?.wording.match(/--{{([^)]+)}}--/)) {\n const popovers = this.question.linkedSubQuestion?.wording.match(/--{{([^)]+)}}--/)[1];\n this.obj = content.filter((x: any) => x.key == popovers)[0];\n this.newLinkedWording = this.question.linkedSubQuestion?.wording.replace('--{{' + popovers + '}}--', '');\n } else {\n this.newLinkedWording = this.question.linkedSubQuestion?.wording;\n }\n\n if (this.question.wording.match(/--{{([^)]+)}}--/)) {\n const popovers = this.question.wording.match(/--{{([^)]+)}}--/)[1];\n this.obj = content.filter((x: any) => x.key == popovers)[0];\n this.newWording = this.question.wording.replace('--{{' + popovers + '}}--', '');\n }\n }\n\n private initField(): void {\n const defaultSelection = this.question.responses.filter((x: any) => x.answerIsSelected);\n if (defaultSelection.length > 0) {\n this.selectedOption = defaultSelection[0].value;\n }\n }\n\n private validForm(): boolean {\n return this.selectedOption != null && this.isFileUploadValid;\n }\n\n private validationFile(): void {\n if (this.question.atcsSubQuestions[0]?.responses?.length > 0) {\n this.isFileUploadValid = true;\n } else {\n this.isFileUploadValid = this.isFileUploadOptional ? true : false;\n }\n this.$emit('validForm', this.validForm());\n }\n\n private getResponse(linkedSubQuestion: any): string {\n const questionType = linkedSubQuestion.atcsQuestionTypeId;\n let returnValue = '';\n switch (questionType) {\n case 5:\n returnValue = this.formatNumberToCurrencyWithZero(linkedSubQuestion.responses[0].answerCurrency);\n break;\n case 3:\n returnValue = linkedSubQuestion.responses[0].answerNumber;\n break;\n case 21:\n returnValue = this.calculateValue(linkedSubQuestion.developerKey);\n break;\n case 23:\n returnValue = linkedSubQuestion.responses[0].answerTxt;\n break;\n }\n\n return returnValue;\n }\n\n private formatNumberToCurrencyWithZero(amount: number): string {\n // format number 1234567.20 to 1,234,567.20\n if (amount != null) {\n return '$ ' + amount.toFixed(2).replace(/(\\d)(?=(\\d{3})+\\.)/g, '$1,');\n } else {\n return '$ 0';\n }\n }\n\n private calculateValue(developerKey: string): string {\n let groupValue = 0;\n if (developerKey.endsWith('ComputeGroupA-PlusMinus')) {\n groupValue = this.sumOfGroup('GroupA');\n } else if (developerKey.endsWith('ComputeGroupB-PlusMinus')) {\n groupValue = this.sumOfGroup('GroupB');\n } else if (developerKey.startsWith('ComputeGroupC-MaxAbsoluteDiff')) {\n groupValue = this.maxAbsDiff();\n }\n\n // Format as currency with commas\n const formattedCurrency = '$ ' + groupValue.toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\n return formattedCurrency;\n }\n\n private sumOfGroup(groupName: string): number {\n let sum = 0;\n for (let i = 0; i < this.allQuestions.length; i++) {\n if (this.allQuestions[i].linkedSubQuestion?.developerKey.indexOf(groupName) == 0) {\n let operator = 1;\n if (\n this.allQuestions[i].linkedSubQuestion.developerKey.indexOf('Minus') > 0 &&\n this.allQuestions[i].linkedSubQuestion.developerKey.indexOf('GroupC') !== 0\n ) {\n operator = -1;\n }\n const value = this.allQuestions[i].linkedSubQuestion.responses[0].answerCurrency || 0;\n sum += value * operator;\n }\n }\n return sum;\n }\n\n private maxAbsDiff(): number {\n const groupC = {} as any;\n groupC[0] = this.sumOfGroup('GroupA');\n groupC[1] = this.sumOfGroup('GroupB');\n groupC[2] = this.sumOfGroup('GroupC');\n // console.log('maxAbsDiff: ', groupC);\n const keys = Object.keys(groupC);\n let maxDiff = 0;\n for (let i = 0; i < keys.length - 1; i++) {\n for (let j = i + 1; j < keys.length; j++) {\n const diff = Math.abs(groupC[keys[i]] - groupC[keys[j]]);\n if (diff > maxDiff) {\n maxDiff = diff;\n }\n }\n }\n return maxDiff;\n }\n}\n","import { render } from \"./radiobutton-with-files.html?vue&type=template&id=661902c8&scoped=true&ts=true&external\"\nimport script from \"./radiobutton-with-files.ts?vue&type=script&lang=ts&external\"\nexport * from \"./radiobutton-with-files.ts?vue&type=script&lang=ts&external\"\n\nimport \"./radiobutton-with-files.scss?vue&type=style&index=0&id=661902c8&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-661902c8\"]])\n\nexport default __exports__","import { Emit, Inject, Options, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-atcs-app/store\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport { FormPartBData } from \"@/trust-atcs-app/models/form-part-b-data\";\nimport RadioButtonHorizontal from \"../questions/radiobutton-horizontal/index.vue\";\nimport RadioButtonVertical from \"../questions/radiobutton-vertical/index.vue\";\nimport RadioButtonBranchList from \"../questions/radiobutton-branchlist/index.vue\";\nimport RadioButtonSubQuestions from \"../questions/radiobutton-subquestions/index.vue\";\nimport { ComplianceForm, PartBFormGeneralTrustMoney, PartBFormTrustAccountingRecords } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport BankAccount from \"../questions/bank-account/index.vue\";\nimport FileUploader from \"../questions/file-uploader/index.vue\";\nimport Signatories from \"../questions/signatories/index.vue\";\nimport { QuestionType } from '../questions/question-type';\nimport RadioButtonWithFiles from \"../questions/radiobutton-with-files/index.vue\";\n\n@Options({\n components: {\n LoadingSpinner,\n RadioButtonVertical,\n RadioButtonHorizontal,\n RadioButtonBranchList,\n RadioButtonSubQuestions,\n BankAccount,\n Signatories,\n FileUploader,\n RadioButtonWithFiles,\n },\n mixins: [FormatDateTimeMixin],\n})\nexport default class FormPartBGeneralTrustMoney extends Vue {\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop({ default: false })\n private isSectionLoading!: boolean;\n\n @Prop()\n private formPartBData!: FormPartBData;\n\n @Prop()\n private isSaving!: boolean;\n\n @Emit('update:isSectionLoading')\n @Emit('validForm')\n\n @Watch('loadingContent')\n private sectionLoading() {\n this.$emit('update:isSectionLoading', this.loadingContent);\n }\n\n private ai = new AppInsights;\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private validMainQuestions: boolean[] = [];\n private generalTrustMoney: PartBFormGeneralTrustMoney = null as any;\n\n mounted(): void {\n this.eventCtrl.on('reload-form-b-gtm-content', this.loadGeneralTrustMoneyContent);\n this.loadingContent = true;\n this.loadGeneralTrustMoneyContent(true);\n this.$emit('validForm', false);\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-form-b-gtm-content', this.loadGeneralTrustMoneyContent);\n }\n\n private async loadGeneralTrustMoneyContent(firstLoad?: boolean): Promise {\n try {\n // this.loadingContent = true;\n const resp: any = await this.apiService.PartBFormApi?.apiV2PartBFormGetGeneralTrustMoneyPost({\n complianceFormId: this.complianceFormB.id,\n updatingKey: this.updatingKey,\n });\n this.generalTrustMoney = resp.data.data as PartBFormTrustAccountingRecords;\n this.formPartBData.generalTrustMoney = this.generalTrustMoney as any;\n\n // Sort atcsMainQuestions by order number\n this.formPartBData.generalTrustMoney.atcsMainQuestions = this.formPartBData.generalTrustMoney.atcsMainQuestions.sort((a: any, b: any) => a.order - b.order);\n\n this.formPartBData.generalTrustMoney.atcsMainQuestions.forEach((q: any) => {\n q.responses = q.responses.sort((a: any, b: any) => a.order - b.order);\n });\n\n // Sort atcsSubQuestions by order number\n this.formPartBData.generalTrustMoney.atcsMainQuestions.forEach((q: any) => {\n q.atcsSubQuestions = q.atcsSubQuestions.sort((a: any, b: any) => a.order - b.order);\n });\n\n if (firstLoad) {\n this.validMainQuestions = this.formPartBData.generalTrustMoney.atcsMainQuestions.map((q: any) => false);\n }\n // add valid flag to each bank account\n this.formPartBData.generalTrustMoney.atcsMainQuestions.forEach((q: any, i: number) => {\n\n if (q.atcsQuestionTypeId == QuestionType.PerBankAccount || q.atcsQuestionTypeId == QuestionType.PerBankAccountV2) {\n this.formPartBData.generalTrustMoney.atcsMainQuestions[i].formPracticeAccountQuestions =\n this.formPartBData.generalTrustMoney.atcsMainQuestions[i].formPracticeAccountQuestions ?? [];\n }\n\n if (q.atcsQuestionTypeId == 20) {\n this.formPartBData.generalTrustMoney.atcsMainQuestions[i].formPracticeSignatoryQuestions =\n this.formPartBData.generalTrustMoney.atcsMainQuestions[i].formPracticeSignatoryQuestions ?? [];\n }\n\n if (q.formPracticeAccountQuestions) {\n q.formPracticeAccountQuestions.forEach((b: any) => {\n b.valid = this.isValidBankAccount(b);\n });\n }\n });\n // add valid flag to each signatory\n this.formPartBData.generalTrustMoney.atcsMainQuestions.forEach((q: any) => {\n if (q.formPracticeSignatoryQuestions) {\n q.formPracticeSignatoryQuestions.forEach((s: any) => {\n s.valid = this.isValidSignatory(s);\n });\n }\n });\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting General Trust Money');\n this.ai.trackException('Error getting General Trust Money: ' + err);\n this.errorLoadingContent = true;\n console.log(err);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private validForm(): boolean {\n const allTrue = Object.values(this.validMainQuestions).every(value => value === true);\n return allTrue;\n }\n\n private validationForm(i: any, isValid: any) {\n this.validMainQuestions[i] = isValid;\n this.$emit('validForm', this.validForm());\n }\n\n get complianceFormB(): ComplianceForm {\n return store.getters.getSelectedComplianceFormB;\n }\n\n get updatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n private isValidSignatory(signatory: any): boolean {\n if (signatory) {\n signatory.valid = false;\n const firstName = signatory?.firstName?.length > 0;\n const lastName = signatory?.lastName?.length > 0;\n const categoryId = signatory?.categoryId > 0;\n const commencedDate = signatory?.commencedDate !== null;\n const solelyJointlyId = signatory?.solelyJointlyId > 0;\n if (firstName && lastName && categoryId && solelyJointlyId && commencedDate) {\n return true;\n }\n }\n return false;\n }\n\n private isValidBankAccount(bank: any): boolean {\n if (bank) {\n bank.valid = false;\n for (let i = 0; i < bank.atcsSubQuestions.length; i++) {\n if (bank.atcsQuestionTypeId == 5 && bank.atcsSubQuestions.responses[0].answerCurrency == null) {\n return false;\n break;\n }\n }\n }\n return false;\n }\n\n get QuestionType(): any {\n return QuestionType;\n }\n\n}\n\n","import { render } from \"./form-part-b-general-trust-money.html?vue&type=template&id=628d6e3c&scoped=true&ts=true&external\"\nimport script from \"./form-part-b-general-trust-money.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-part-b-general-trust-money.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-part-b-general-trust-money.scss?vue&type=style&index=0&id=628d6e3c&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-628d6e3c\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-c00e8fe0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-part-b-controlled-money\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"mt-3 mb-3\" }, \"Controlled Money\", -1))\nconst _hoisted_3 = {\n key: 0,\n class: \"questions-main\"\n}\n\nexport function render(_ctx, _cache) {\n const _component_InputTextNumberCurrency = _resolveComponent(\"InputTextNumberCurrency\")\n const _component_RadioButtonBranchList = _resolveComponent(\"RadioButtonBranchList\")\n const _component_RadioButtonHorizontal = _resolveComponent(\"RadioButtonHorizontal\")\n const _component_RadioButtonVertical = _resolveComponent(\"RadioButtonVertical\")\n const _component_FileUploader = _resolveComponent(\"FileUploader\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (!_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_2,\n (_ctx.formPartBData?.controlledMoney?.atcsMainQuestions?.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.formPartBData.controlledMoney.atcsMainQuestions, (q, i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (q.atcsQuestionTypeId==5 || q.atcsQuestionTypeId==3 || q.atcsQuestionTypeId==2)\n ? (_openBlock(), _createBlock(_component_InputTextNumberCurrency, {\n key: 0,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.controlledMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.controlledMoney.atcsMainQuestions[i]) = $event),\n questionTypeId: q.atcsQuestionTypeId,\n \"onUpdate:questionTypeId\": $event => ((q.atcsQuestionTypeId) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"questionTypeId\", \"onUpdate:questionTypeId\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==15)\n ? (_openBlock(), _createBlock(_component_RadioButtonBranchList, {\n key: 1,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.controlledMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.controlledMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==10)\n ? (_openBlock(), _createBlock(_component_RadioButtonHorizontal, {\n key: 2,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.controlledMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.controlledMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==11)\n ? (_openBlock(), _createBlock(_component_RadioButtonVertical, {\n key: 3,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.controlledMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.controlledMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==8)\n ? (_openBlock(), _createBlock(_component_FileUploader, {\n key: 4,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.controlledMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.controlledMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { Emit, Inject, Options, Prop, Ref, Vue, Watch } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-atcs-app/store\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport { FormPartBData } from \"@/trust-atcs-app/models/form-part-b-data\";\nimport RadioButtonHorizontal from \"../questions/radiobutton-horizontal/index.vue\";\nimport RadioButtonVertical from \"../questions/radiobutton-vertical/index.vue\";\nimport RadioButtonBranchList from \"../questions/radiobutton-branchlist/index.vue\";\nimport RadioButtonSubQuestions from \"../questions/radiobutton-subquestions/index.vue\";\nimport { ComplianceForm, PartBFormControlledMoney } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport InputTextNumberCurrency from \"../questions/input-text-number-currency/index.vue\";\nimport FileUploader from \"../questions/file-uploader/index.vue\";\n\n@Options({\n components: {\n LoadingSpinner,\n RadioButtonVertical,\n RadioButtonHorizontal,\n RadioButtonBranchList,\n RadioButtonSubQuestions,\n InputTextNumberCurrency,\n FileUploader,\n },\n mixins: [FormatDateTimeMixin],\n})\nexport default class FormPartBControlledMoney extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop({ default: false })\n private isSectionLoading!: boolean;\n\n @Prop()\n private formPartBData!: FormPartBData;\n\n @Emit('update:isSectionLoading')\n @Emit('validForm')\n\n @Watch('loadingContent')\n private sectionLoading() {\n this.$emit('update:isSectionLoading', this.loadingContent);\n }\n\n @Ref('fileDropAndDrop') readonly fileDropAndDrop!: any;\n\n private ai = new AppInsights;\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private validMainQuestions: boolean[] = [];\n private controlledMoney: PartBFormControlledMoney = null as any;\n\n private uploading = false;\n private fileLists: any[] = [];\n\n mounted(): void {\n this.eventCtrl.on('reload-form-b-cm-content', this.loadControlledMoneyContent);\n this.loadControlledMoneyContent();\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-form-b-cm-content', this.loadControlledMoneyContent);\n }\n\n private async loadControlledMoneyContent(): Promise {\n try {\n this.loadingContent = true;\n const resp: any = await this.apiService.PartBFormApi?.apiV2PartBFormGetControlledMoneyPost({\n complianceFormId: this.complianceFormB.id,\n updatingKey: this.updatingKey,\n });\n this.controlledMoney = resp.data.data as PartBFormControlledMoney;\n this.formPartBData.controlledMoney = this.controlledMoney as any;\n\n // Sort atcsMainQuestions by order number\n this.formPartBData.controlledMoney.atcsMainQuestions = this.formPartBData.controlledMoney.atcsMainQuestions.sort((a: any, b: any) => a.order - b.order);\n // Sort atcsSubQuestions by order number\n this.formPartBData.controlledMoney.atcsMainQuestions.forEach((q: any) => {\n q.atcsSubQuestions = q.atcsSubQuestions.sort((a: any, b: any) => a.order - b.order);\n });\n // Sort response by order number\n this.formPartBData.controlledMoney.atcsMainQuestions.forEach((q: any) => {\n q.responses = q.responses.sort((a: any, b: any) => a.order - b.order);\n });\n\n this.validMainQuestions = this.formPartBData.controlledMoney.atcsMainQuestions.map((q: any) => false);\n\n // Fill File Lists\n this.fileLists = [];\n this.formPartBData.controlledMoney.atcsMainQuestions.forEach((x: any, i: number) => {\n if (x.atcsQuestionTypeId == 8) {\n this.fileLists[i] = [];\n }\n });\n\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting General Trust Money');\n this.ai.trackException('Error getting General Trust Money: ' + err);\n this.errorLoadingContent = true;\n console.log(err);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private validForm(): boolean {\n return !this.validMainQuestions.includes(false);\n }\n\n private validationForm(i: any, isValid: any) {\n this.validMainQuestions[i] = isValid;\n this.$emit('validForm', this.validForm());\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n get complianceFormB(): ComplianceForm {\n return store.getters.getSelectedComplianceFormB;\n }\n\n get updatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n}\n\n","import { render } from \"./form-part-b-controlled-money.html?vue&type=template&id=c00e8fe0&scoped=true&ts=true&external\"\nimport script from \"./form-part-b-controlled-money.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-part-b-controlled-money.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-part-b-controlled-money.scss?vue&type=style&index=0&id=c00e8fe0&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c00e8fe0\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-635c21d8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-part-b-specific-power-money\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"mt-3 mb-3\" }, \"Trust Money Subject to Specific Powers\", -1))\nconst _hoisted_3 = {\n key: 0,\n class: \"questions-main\"\n}\n\nexport function render(_ctx, _cache) {\n const _component_InputTextNumberCurrency = _resolveComponent(\"InputTextNumberCurrency\")\n const _component_RadioButtonBranchList = _resolveComponent(\"RadioButtonBranchList\")\n const _component_RadioButtonHorizontal = _resolveComponent(\"RadioButtonHorizontal\")\n const _component_RadioButtonVertical = _resolveComponent(\"RadioButtonVertical\")\n const _component_FileUploader = _resolveComponent(\"FileUploader\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (!_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_2,\n (_ctx.formPartBData?.specificPowerMoney?.atcsMainQuestions?.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.formPartBData.specificPowerMoney.atcsMainQuestions, (q, i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (q.atcsQuestionTypeId==5 || q.atcsQuestionTypeId==3 || q.atcsQuestionTypeId==2)\n ? (_openBlock(), _createBlock(_component_InputTextNumberCurrency, {\n key: 0,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.specificPowerMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.specificPowerMoney.atcsMainQuestions[i]) = $event),\n questionTypeId: q.atcsQuestionTypeId,\n \"onUpdate:questionTypeId\": $event => ((q.atcsQuestionTypeId) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"questionTypeId\", \"onUpdate:questionTypeId\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==15)\n ? (_openBlock(), _createBlock(_component_RadioButtonBranchList, {\n key: 1,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.specificPowerMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.specificPowerMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==10)\n ? (_openBlock(), _createBlock(_component_RadioButtonHorizontal, {\n key: 2,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.specificPowerMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.specificPowerMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==11)\n ? (_openBlock(), _createBlock(_component_RadioButtonVertical, {\n key: 3,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.specificPowerMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.specificPowerMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==8)\n ? (_openBlock(), _createBlock(_component_FileUploader, {\n key: 4,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.specificPowerMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.specificPowerMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { Emit, Inject, Options, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-atcs-app/store\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport { FormPartBData } from \"@/trust-atcs-app/models/form-part-b-data\";\nimport RadioButtonHorizontal from \"../questions/radiobutton-horizontal/index.vue\";\nimport RadioButtonVertical from \"../questions/radiobutton-vertical/index.vue\";\nimport RadioButtonBranchList from \"../questions/radiobutton-branchlist/index.vue\";\nimport RadioButtonSubQuestions from \"../questions/radiobutton-subquestions/index.vue\";\nimport { ComplianceForm, PartBFormControlledMoney, PartBFormSpecificPowerMoney } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport InputTextNumberCurrency from \"../questions/input-text-number-currency/index.vue\";\nimport FileUploader from \"../questions/file-uploader/index.vue\";\n\n@Options({\n components: {\n LoadingSpinner,\n RadioButtonVertical,\n RadioButtonHorizontal,\n RadioButtonBranchList,\n RadioButtonSubQuestions,\n InputTextNumberCurrency,\n FileUploader,\n },\n mixins: [FormatDateTimeMixin],\n})\nexport default class FormPartBSpecificPowerMoney extends Vue {\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop({ default: false })\n private isSectionLoading!: boolean;\n\n @Prop()\n private formPartBData!: FormPartBData;\n\n @Emit('update:isSectionLoading')\n @Emit('validForm')\n\n @Watch('loadingContent')\n private sectionLoading() {\n this.$emit('update:isSectionLoading', this.loadingContent);\n }\n\n private ai = new AppInsights;\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private validMainQuestions: boolean[] = [];\n private specificPowerMoney: PartBFormSpecificPowerMoney = null as any;\n\n mounted(): void {\n this.eventCtrl.on('reload-form-b-spm-content', this.loadSpecificPowerMoneyContent);\n this.loadSpecificPowerMoneyContent();\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-form-b-spm-content', this.loadSpecificPowerMoneyContent);\n }\n\n private async loadSpecificPowerMoneyContent(): Promise {\n try {\n this.loadingContent = true;\n const resp: any = await this.apiService.PartBFormApi?.apiV2PartBFormGetSpecificPowerMoneyPost({\n complianceFormId: this.complianceFormB.id,\n updatingKey: this.updatingKey,\n });\n this.specificPowerMoney = resp.data.data as PartBFormControlledMoney;\n this.formPartBData.specificPowerMoney = this.specificPowerMoney as any;\n\n // Sort atcsMainQuestions by order number\n this.formPartBData.specificPowerMoney.atcsMainQuestions = this.formPartBData.specificPowerMoney.atcsMainQuestions.sort((a: any, b: any) => a.order - b.order);\n // Sort atcsSubQuestions by order number\n this.formPartBData.specificPowerMoney.atcsMainQuestions.forEach((q: any) => {\n q.atcsSubQuestions = q.atcsSubQuestions.sort((a: any, b: any) => a.order - b.order);\n });\n // Sort response by order number\n this.formPartBData.specificPowerMoney.atcsMainQuestions.forEach((q: any) => {\n q.responses = q.responses.sort((a: any, b: any) => a.order - b.order);\n });\n\n this.validMainQuestions = this.formPartBData.specificPowerMoney.atcsMainQuestions.map((q: any) => false);\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting General Trust Money');\n this.ai.trackException('Error getting General Trust Money: ' + err);\n this.errorLoadingContent = true;\n console.log(err);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private validForm(): boolean {\n return !this.validMainQuestions.includes(false);\n }\n\n private validationForm(i: any, isValid: any) {\n this.validMainQuestions[i] = isValid;\n this.$emit('validForm', this.validForm());\n }\n\n get complianceFormB(): ComplianceForm {\n return store.getters.getSelectedComplianceFormB;\n }\n\n get updatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n}\n\n\n\n","import { render } from \"./form-part-b-specific-power-money.html?vue&type=template&id=635c21d8&scoped=true&ts=true&external\"\nimport script from \"./form-part-b-specific-power-money.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-part-b-specific-power-money.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-part-b-specific-power-money.scss?vue&type=style&index=0&id=635c21d8&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-635c21d8\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-d668efb4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-part-b-investment-money\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"mt-3 mb-3\" }, \"Investment Money\", -1))\nconst _hoisted_3 = {\n key: 0,\n class: \"questions-main\"\n}\n\nexport function render(_ctx, _cache) {\n const _component_InputTextNumberCurrency = _resolveComponent(\"InputTextNumberCurrency\")\n const _component_RadioButtonBranchList = _resolveComponent(\"RadioButtonBranchList\")\n const _component_RadioButtonHorizontal = _resolveComponent(\"RadioButtonHorizontal\")\n const _component_RadioButtonVertical = _resolveComponent(\"RadioButtonVertical\")\n const _component_FileUploader = _resolveComponent(\"FileUploader\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (!_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_2,\n (_ctx.formPartBData?.investmentMoney?.atcsMainQuestions?.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.formPartBData.investmentMoney.atcsMainQuestions, (q, i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (q.atcsQuestionTypeId==5 || q.atcsQuestionTypeId==3 || q.atcsQuestionTypeId==2)\n ? (_openBlock(), _createBlock(_component_InputTextNumberCurrency, {\n key: 0,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.investmentMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.investmentMoney.atcsMainQuestions[i]) = $event),\n questionTypeId: q.atcsQuestionTypeId,\n \"onUpdate:questionTypeId\": $event => ((q.atcsQuestionTypeId) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"questionTypeId\", \"onUpdate:questionTypeId\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==15)\n ? (_openBlock(), _createBlock(_component_RadioButtonBranchList, {\n key: 1,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.investmentMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.investmentMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==10)\n ? (_openBlock(), _createBlock(_component_RadioButtonHorizontal, {\n key: 2,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.investmentMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.investmentMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==11)\n ? (_openBlock(), _createBlock(_component_RadioButtonVertical, {\n key: 3,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.investmentMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.investmentMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==8)\n ? (_openBlock(), _createBlock(_component_FileUploader, {\n key: 4,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.investmentMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.investmentMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { Emit, Inject, Options, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-atcs-app/store\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport { FormPartBData } from \"@/trust-atcs-app/models/form-part-b-data\";\nimport RadioButtonHorizontal from \"../questions/radiobutton-horizontal/index.vue\";\nimport RadioButtonVertical from \"../questions/radiobutton-vertical/index.vue\";\nimport RadioButtonBranchList from \"../questions/radiobutton-branchlist/index.vue\";\nimport RadioButtonSubQuestions from \"../questions/radiobutton-subquestions/index.vue\";\nimport { ComplianceForm, PartBFormControlledMoney, PartBFormInvestmentMoney, PartBFormSpecificPowerMoney } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport InputTextNumberCurrency from \"../questions/input-text-number-currency/index.vue\";\nimport FileUploader from \"../questions/file-uploader/index.vue\";\n\n@Options({\n components: {\n LoadingSpinner,\n RadioButtonVertical,\n RadioButtonHorizontal,\n RadioButtonBranchList,\n RadioButtonSubQuestions,\n InputTextNumberCurrency,\n FileUploader,\n },\n mixins: [FormatDateTimeMixin],\n})\nexport default class FormPartBInvestmentMoney extends Vue {\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop({ default: false })\n private isSectionLoading!: boolean;\n\n @Prop()\n private formPartBData!: FormPartBData;\n\n @Emit('update:isSectionLoading')\n @Emit('validForm')\n\n @Watch('loadingContent')\n private sectionLoading() {\n this.$emit('update:isSectionLoading', this.loadingContent);\n }\n\n private ai = new AppInsights;\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private validMainQuestions: boolean[] = [];\n private investmentMoney: PartBFormInvestmentMoney = null as any;\n\n mounted(): void {\n this.eventCtrl.on('reload-form-b-im-content', this.loadSpecificPowerMoneyContent);\n this.loadSpecificPowerMoneyContent();\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-form-b-im-content', this.loadSpecificPowerMoneyContent);\n }\n\n private async loadSpecificPowerMoneyContent(): Promise {\n try {\n this.loadingContent = true;\n const resp: any = await this.apiService.PartBFormApi?.apiV2PartBFormGetInvestmentMoneyPost({\n complianceFormId: this.complianceFormB.id,\n updatingKey: this.updatingKey,\n });\n this.investmentMoney = resp.data.data as PartBFormInvestmentMoney;\n this.formPartBData.investmentMoney = this.investmentMoney as any;\n\n // Sort atcsMainQuestions by order number\n this.formPartBData.investmentMoney.atcsMainQuestions = this.formPartBData.investmentMoney.atcsMainQuestions.sort((a: any, b: any) => a.order - b.order);\n // Sort atcsSubQuestions by order number\n this.formPartBData.investmentMoney.atcsMainQuestions.forEach((q: any) => {\n q.atcsSubQuestions = q.atcsSubQuestions.sort((a: any, b: any) => a.order - b.order);\n });\n // Sort response by order number\n this.formPartBData.investmentMoney.atcsMainQuestions.forEach((q: any) => {\n q.responses = q.responses.sort((a: any, b: any) => a.order - b.order);\n });\n\n this.validMainQuestions = this.formPartBData.investmentMoney.atcsMainQuestions.map((q: any) => false);\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting General Trust Money');\n this.ai.trackException('Error getting General Trust Money: ' + err);\n this.errorLoadingContent = true;\n console.log(err);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private validForm(): boolean {\n return !this.validMainQuestions.includes(false);\n }\n\n private validationForm(i: any, isValid: any) {\n this.validMainQuestions[i] = isValid;\n this.$emit('validForm', this.validForm());\n }\n\n get complianceFormB(): ComplianceForm {\n return store.getters.getSelectedComplianceFormB;\n }\n\n get updatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n}\n\n\n\n\n","import { render } from \"./form-part-b-investment-money.html?vue&type=template&id=d668efb4&scoped=true&ts=true&external\"\nimport script from \"./form-part-b-investment-money.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-part-b-investment-money.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-part-b-investment-money.scss?vue&type=style&index=0&id=d668efb4&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-d668efb4\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-f783d024\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-part-b-other-information\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"mt-3 mb-3\" }, \"Other Information\", -1))\nconst _hoisted_3 = {\n key: 0,\n class: \"questions-main\"\n}\n\nexport function render(_ctx, _cache) {\n const _component_InputTextNumberCurrency = _resolveComponent(\"InputTextNumberCurrency\")\n const _component_RadioButtonBranchList = _resolveComponent(\"RadioButtonBranchList\")\n const _component_RadioButtonHorizontal = _resolveComponent(\"RadioButtonHorizontal\")\n const _component_RadioButtonVertical = _resolveComponent(\"RadioButtonVertical\")\n const _component_FileUploader = _resolveComponent(\"FileUploader\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (!_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_2,\n (_ctx.formPartBData?.otherInformation?.atcsMainQuestions?.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.formPartBData.otherInformation.atcsMainQuestions, (q, i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (q.atcsQuestionTypeId==5 || q.atcsQuestionTypeId==3 || q.atcsQuestionTypeId==2)\n ? (_openBlock(), _createBlock(_component_InputTextNumberCurrency, {\n key: 0,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.otherInformation.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.otherInformation.atcsMainQuestions[i]) = $event),\n questionTypeId: q.atcsQuestionTypeId,\n \"onUpdate:questionTypeId\": $event => ((q.atcsQuestionTypeId) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"questionTypeId\", \"onUpdate:questionTypeId\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==15)\n ? (_openBlock(), _createBlock(_component_RadioButtonBranchList, {\n key: 1,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.otherInformation.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.otherInformation.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==10)\n ? (_openBlock(), _createBlock(_component_RadioButtonHorizontal, {\n key: 2,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.otherInformation.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.otherInformation.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==11)\n ? (_openBlock(), _createBlock(_component_RadioButtonVertical, {\n key: 3,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.otherInformation.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.otherInformation.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==8)\n ? (_openBlock(), _createBlock(_component_FileUploader, {\n key: 4,\n class: \"mt-3 mb-3\",\n question: _ctx.formPartBData.otherInformation.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formPartBData.otherInformation.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { Emit, Inject, Options, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-atcs-app/store\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport { FormPartBData } from \"@/trust-atcs-app/models/form-part-b-data\";\nimport RadioButtonHorizontal from \"../questions/radiobutton-horizontal/index.vue\";\nimport RadioButtonVertical from \"../questions/radiobutton-vertical/index.vue\";\nimport RadioButtonBranchList from \"../questions/radiobutton-branchlist/index.vue\";\nimport RadioButtonSubQuestions from \"../questions/radiobutton-subquestions/index.vue\";\nimport { ComplianceForm, PartBFormOtherInformation, } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport InputTextNumberCurrency from \"../questions/input-text-number-currency/index.vue\";\nimport FileUploader from \"../questions/file-uploader/index.vue\";\n\n@Options({\n components: {\n LoadingSpinner,\n RadioButtonVertical,\n RadioButtonHorizontal,\n RadioButtonBranchList,\n RadioButtonSubQuestions,\n InputTextNumberCurrency,\n FileUploader,\n },\n mixins: [FormatDateTimeMixin],\n})\nexport default class FormPartBOtherInformation extends Vue {\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop({ default: false })\n private isSectionLoading!: boolean;\n\n @Prop()\n private formPartBData!: FormPartBData;\n\n @Emit('update:isSectionLoading')\n @Emit('validForm')\n\n @Watch('loadingContent')\n private sectionLoading() {\n this.$emit('update:isSectionLoading', this.loadingContent);\n }\n\n private ai = new AppInsights;\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private validMainQuestions: boolean[] = [];\n private otherInformation: PartBFormOtherInformation = null as any;\n\n mounted(): void {\n this.eventCtrl.on('reload-form-b-oi-content', this.loadOtherInformationContent);\n this.loadOtherInformationContent();\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-form-b-oi-content', this.loadOtherInformationContent);\n }\n\n private async loadOtherInformationContent(): Promise {\n try {\n this.loadingContent = true;\n const resp: any = await this.apiService.PartBFormApi?.apiV2PartBFormGetOtherInformationPost({\n complianceFormId: this.complianceFormB.id,\n updatingKey: this.updatingKey,\n });\n this.otherInformation = resp.data.data as PartBFormOtherInformation;\n this.formPartBData.otherInformation = this.otherInformation as any;\n\n // Sort atcsMainQuestions by order number\n this.formPartBData.otherInformation.atcsMainQuestions = this.formPartBData.otherInformation.atcsMainQuestions.sort((a: any, b: any) => a.order - b.order);\n // Sort atcsSubQuestions by order number\n this.formPartBData.otherInformation.atcsMainQuestions.forEach((q: any) => {\n q.atcsSubQuestions = q.atcsSubQuestions.sort((a: any, b: any) => a.order - b.order);\n });\n // Sort response by order number\n this.formPartBData.otherInformation.atcsMainQuestions.forEach((q: any) => {\n q.responses = q.responses.sort((a: any, b: any) => a.order - b.order);\n });\n\n this.validMainQuestions = this.formPartBData.otherInformation.atcsMainQuestions.map((q: any) => false);\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting General Trust Money');\n this.ai.trackException('Error getting General Trust Money: ' + err);\n this.errorLoadingContent = true;\n console.log(err);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private validForm(): boolean {\n return !this.validMainQuestions.includes(false);\n }\n\n private validationForm(i: any, isValid: any) {\n this.validMainQuestions[i] = isValid;\n this.$emit('validForm', this.validForm());\n }\n\n get complianceFormB(): ComplianceForm {\n return store.getters.getSelectedComplianceFormB;\n }\n\n get updatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n}\n","import { render } from \"./form-part-b-other-information.html?vue&type=template&id=f783d024&scoped=true&ts=true&external\"\nimport script from \"./form-part-b-other-information.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-part-b-other-information.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-part-b-other-information.scss?vue&type=style&index=0&id=f783d024&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-f783d024\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, Fragment as _Fragment, createStaticVNode as _createStaticVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-528c0338\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-part-b-declaration\" }\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"

Declaration

By clicking “Submit” I declare that:

The contents of this submission are true and correct; and

I have read the Personal Information Collection Notice and consent to The Law Society of New South Wales collection, use and disclosure of information in accordance with that Notice; and
The Law Society has been advised of all known instances of non-compliance or suspected non-compliance with the provisions of the Uniform Law and the Uniform Rules, and all known data breaches, cyber security breaches, fraud or suspected fraud during the relevant period.

Additional Information (Optional)

Information provided below does not form part of the Part B submission and will not be disclosed to your External Examiner:

What is the estimated cost of your examination?

\", 8)\nconst _hoisted_10 = {\n class: \"input-box col-6 ml-4\",\n style: {\"position\":\"relative\"}\n}\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"dollar-sign\" }, \"$\", -1))\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"What date did you provide all of your records to your external examiner?\", -1))\nconst _hoisted_14 = { class: \"ml-4\" }\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Completer:\", -1))\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Submission date:\", -1))\nconst _hoisted_20 = {\n key: 0,\n class: \"col-12 declarations mt-4\"\n}\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-exclamation-circle\" }, null, -1))\nconst _hoisted_22 = {\n key: 1,\n class: \"col-12 declarations mt-4\"\n}\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-exclamation-circle\" }, null, -1))\n\nexport function render(_ctx, _cache) {\n const _component_CurrencyInput = _resolveComponent(\"CurrencyInput\")\n const _component_date_picker = _resolveComponent(\"date-picker\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (!_ctx.loadingContent && !_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_2,\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(_component_CurrencyInput, {\n class: \"amount pr-3\",\n modelValue: _ctx.examinationCost,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.examinationCost) = $event)),\n options: { currency: 'USD', currencyDisplay: 'hidden', precision: 2}\n }, null, 8, [\"modelValue\"]),\n _hoisted_11\n ]),\n _hoisted_12,\n _hoisted_13,\n _createElementVNode(\"div\", _hoisted_14, [\n _createVNode(_component_date_picker, {\n value: _ctx.recordsProvidedOn,\n \"onUpdate:value\": _cache[1] || (_cache[1] = $event => ((_ctx.recordsProvidedOn) = $event)),\n format: \"DD/MM/YYYY\",\n \"input-class\": \"examiner-date\"\n }, null, 8, [\"value\"])\n ]),\n _hoisted_15,\n _hoisted_16,\n _hoisted_17,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.completer), 1),\n _hoisted_18,\n _hoisted_19,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.$formatDateFullDate(new Date())), 1),\n (!_ctx.formPartBData?.declarationDetails?.isPrincipal)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_20, [\n _hoisted_21,\n _createTextVNode(\" To submit this compliance form, you must be a Principal. \")\n ]))\n : (!_ctx.formPartBData?.declarationDetails?.hasTrustCoordinator)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_22, [\n _hoisted_23,\n _createTextVNode(\" To submit this compliance form, a Trust Coordinator must be assigned for this Practice. A Principal can assign themselves as a Trust Coordinator on the initial dashboard page. \")\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { Emit, Inject, Options, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-atcs-app/store\";\nimport CurrencyInput from '@/shared/components/currency-input/index.vue';\nimport DatePicker from 'vue-datepicker-next';\nimport 'vue-datepicker-next/index.css';\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport { FormPartBData } from \"@/trust-atcs-app/models/form-part-b-data\";\nimport { ComplianceForm, PartBFormDeclaration } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { AuthorizedUser } from \"@/trust-atcs-app/models/authorized-user\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\n\n@Options({\n components: {\n LoadingSpinner,\n CurrencyInput,\n DatePicker,\n },\n mixins: [FormatDateTimeMixin],\n})\nexport default class FormPartBDeclaration extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop({ default: false })\n private isSectionLoading!: boolean;\n\n @Prop()\n private formPartBData!: FormPartBData;\n\n @Emit('update:isSectionLoading')\n @Emit('validForm')\n\n private ai = new AppInsights;\n private loadingContent = false;\n private errorLoadingContent = false;\n private declarationContent: PartBFormDeclaration = null as any;\n private recordsProvidedOn: Date | null = null;\n private examinationCost = null;\n\n @Watch('loadingContent')\n private sectionLoading() {\n this.$emit('update:isSectionLoading', this.loadingContent);\n }\n\n @Watch('examinationCost')\n private onExaminerCostChanged(): void {\n this.formPartBData.declarationDetails.examinationCost = this.examinationCost;\n this.$emit('validForm', this.validForm());\n }\n \n @Watch('recordsProvidedOn')\n private onRecordsProvidedOnChanged(): void {\n this.formPartBData.declarationDetails.recordsProvidedOn = this.recordsProvidedOn;\n this.$emit('validForm', this.validForm());\n }\n\n created(): void {\n this.loadDeclarationContent();\n }\n\n private async loadDeclarationContent(): Promise {\n try {\n this.loadingContent = true;\n const resp: any = await this.apiService.PartBFormApi?.apiV2PartBFormGetDeclarationPost({\n complianceFormId: this.complianceFormB.id,\n updatingKey: this.updatingKey,\n });\n\n this.declarationContent = resp.data.data as PartBFormDeclaration;\n this.formPartBData.declarationDetails = this.declarationContent;\n this.examinationCost = this.formPartBData.declarationDetails.examinationCost;\n this.recordsProvidedOn = this.formPartBData.declarationDetails.recordsProvidedOn ? new Date(this.formPartBData.declarationDetails.recordsProvidedOn) : null;\n\n setTimeout(()=>{\n this.$emit('validForm', this.validForm());\n }, 100);\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error loading content');\n this.errorLoadingContent = true;\n } finally {\n this.loadingContent = false;\n }\n }\n\n private validForm(): boolean {\n // return this.formPartBData.declarationDetails?.isPrincipal && this.formPartBData.declarationDetails?.hasTrustCoordinator &&\n // Number.isInteger(this.examinationCost) && !!this.recordsProvidedOn;\n return this.userAccount?.user?.isPrincipal;\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n get complianceFormB(): ComplianceForm {\n return store.getters.getSelectedComplianceFormB;\n }\n\n get updatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n get completer(): string {\n try {\n return this.userAccount?.user?.firstName + ' ' + this.userAccount?.user?.lastName;\n } catch (err) {\n console.log(err);\n return '';\n }\n }\n\n get userAccount(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n\n}\n\n","import { render } from \"./form-part-b-declaration.html?vue&type=template&id=528c0338&scoped=true&ts=true&external\"\nimport script from \"./form-part-b-declaration.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-part-b-declaration.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-part-b-declaration.scss?vue&type=style&index=0&id=528c0338&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-528c0338\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4abb5328\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-part-b-confirmation\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"mt-3 mb-3\" }, \"Confirmation\", -1))\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"confirmation-header\" }, \" Your submission was successfully received. \", -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"body\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", null, \"The Trust Coordinator will receive a confirmation email in their inbox shortly.\"),\n /*#__PURE__*/_createElementVNode(\"p\"),\n /*#__PURE__*/_createElementVNode(\"div\", null, [\n /*#__PURE__*/_createTextVNode(\"If you have questions, please \"),\n /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://www.lawsociety.com.au/contact-us\",\n target: \"_blank\",\n class: \"link\"\n }, \"contact us\"),\n /*#__PURE__*/_createTextVNode(\".\")\n ])\n], -1))\nconst _hoisted_5 = [\n _hoisted_2,\n _hoisted_3,\n _hoisted_4\n]\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, _hoisted_5))\n}","\nimport {Options, Vue} from \"vue-property-decorator\";\n\n@Options({\n components: {}\n})\nexport default class FormPartBConfirmation extends Vue {\n\n}\n\n","import { render } from \"./form-part-b-confirmation.html?vue&type=template&id=4abb5328&scoped=true&ts=true&external\"\nimport script from \"./form-part-b-confirmation.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-part-b-confirmation.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-part-b-confirmation.scss?vue&type=style&index=0&id=4abb5328&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4abb5328\"]])\n\nexport default __exports__","import { defineStore } from 'pinia';\nimport { ref } from 'vue';\nimport { FormPartBData } from '../models/form-part-b-data';\n\nexport const useFormPartBDataStore = defineStore('FormPartBDataStore', () => {\n const formPartBData = ref({} as FormPartBData);\n\n function setFormPartBData(i: FormPartBData) {\n formPartBData.value = i;\n }\n\n function clearFormPartBData() {\n formPartBData.value = {} as FormPartBData;\n }\n\n return {\n formPartBData,\n setFormPartBData,\n clearFormPartBData,\n };\n});\n","\nimport { Inject, Options, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport SwipeStepper from \"../swipe-stepper/index.vue\";\nimport { NavStep, NavStepStatusID, Section, Step } from \"../swipe-stepper/nav-step\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-atcs-app/store\";\nimport { RouteN } from \"@/trust-atcs-app/constants/router-name\";\nimport LoadingIndicator from \"@/shared/components/loading-indicator/index.vue\";\nimport FormPartBOverview from \"../form-part-b-overview/index.vue\";\nimport FormPartBTrustAccountingRecords from \"../form-part-b-trust-accounting-records/index.vue\";\nimport FormPartBGeneralTrustMoney from \"../form-part-b-general-trust-money/index.vue\";\nimport FormPartBControlledMoney from \"../form-part-b-controlled-money/index.vue\";\nimport FormPartBSpecificPowerMoney from \"../form-part-b-specific-power-money/index.vue\";\nimport FormPartBInvestmentMoney from \"../form-part-b-investment-money/index.vue\";\nimport FormPartBOtherInformation from \"../form-part-b-other-information/index.vue\";\nimport FormPartBDeclaration from \"../form-part-b-declaration/index.vue\";\nimport FormPartBConfirmation from \"../form-part-b-confirmation/index.vue\";\nimport ConfirmDialogue from '@/shared/components/confirm-dialogue/index.vue';\nimport { ComplianceForm, PageContent } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport FormHeader from \"../form-header/index.vue\";\nimport { FormPartBData } from \"@/trust-atcs-app/models/form-part-b-data\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport FormHeaderTcNote from \"../form-header-tc-note/index.vue\";\nimport { IDLESessionManager } from '@/trust-atcs-app/modules/session/idle-session-manager';\nimport SessionExpired from \"../session-expired-modal/index.vue\";\nimport { useFormPartBDataStore } from \"@/trust-atcs-app/store/useFormPartBDataStore\";\n\n@Options({\n components: {\n LoadingSpinner,\n LoadingIndicator,\n SwipeStepper,\n FormHeader,\n FormPartBOverview,\n FormPartBTrustAccountingRecords,\n FormPartBGeneralTrustMoney,\n FormPartBControlledMoney,\n FormPartBSpecificPowerMoney,\n FormPartBInvestmentMoney,\n FormPartBOtherInformation,\n FormPartBDeclaration,\n FormPartBConfirmation,\n ConfirmDialogue,\n FormHeaderTcNote,\n SessionExpired\n },\n mixins: [FormatDateTimeMixin],\n beforeRouteEnter(to: any, from: any, next: any) {\n const complianceFormB = store.getters.getSelectedComplianceFormB;\n if (!complianceFormB) {\n next({ name: RouteN.ATCS.Main.n });\n } else {\n next();\n }\n }\n})\nexport default class FormPartB extends Vue {\n\n private formPartBDataStore = useFormPartBDataStore();\n\n private ai = new AppInsights;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private navSteps = [\n new NavStep(Step.overview, Section.overview), // 0\n new NavStep(Step.trustAccountingRecords, Section.trustAccountingRecords), // 1\n new NavStep(Step.generalTrustMoney, Section.generalTrustMoney), // 2\n new NavStep(Step.controlledMoney, Section.controlledMoney), // 3\n new NavStep(Step.specificPowerMoney, Section.specificPowerMoney), // 4\n new NavStep(Step.investmentMoney, Section.investmentMoney), // 5\n new NavStep(Step.otherInformation, Section.otherInformation), // 6\n new NavStep(Step.declaration, Section.declaration), // 7\n new NavStep(Step.confirmation, Section.confirmation), // 8\n ];\n\n private backButtonText = 'Cancel Application';\n private nextButtonText = 'Next';\n private backButtonVisible = true;\n\n private formName = { line1: 'Part', line2: 'B' };\n private formDesc = { line1: 'Law Practice\\'s Statement of Trust Money', line2: '' };\n private isSectionLoading = false;\n private isSaving = false;\n private isClosing = false;\n private stopExtending = false;\n private showSessionExpiredModal = false;\n private workerID = -1;\n\n private validSection: boolean[] = [\n true, // overview\n false, // trustAccountingRecords\n false, // generalTrustMoney\n false, // controlledMoney\n false, // specificPowerMoney\n false, // investmentMoney\n false, // otherInformation\n false, // declaration\n true, // confirmation\n ];\n\n private isDebugging = process.env.VUE_APP_ENV == 'development' ? true : false;\n private sectionName = '';\n private helpContent: PageContent = {};\n\n private formPartBData: FormPartBData = {\n trustAccountingRecords: null as any,\n generalTrustMoney: null as any,\n controlledMoney: null as any,\n specificPowerMoney: null as any,\n investmentMoney: null as any,\n otherInformation: null as any,\n };\n\n get $Section() {\n return Section;\n }\n\n private idleSessionMgr: IDLESessionManager = new IDLESessionManager(60);\n\n @Watch('$route')\n public OnRouteChange(val: any, oldVal: any): void {\n const _stored = 'something' //check store data here\n window.scrollTo(0, 0);\n if (oldVal.fullPath.indexOf('confirmation') > -1 || _stored == null) {\n this.$router.push({ name: RouteN.ATCS.DashboardMain.n });\n }\n this.setCurrentStep();\n }\n\n created(): void {\n this.formPartBDataStore.setFormPartBData(this.formPartBData);\n this.idleSessionMgr.run(this.idleSessionTimeoutCallback);\n this.workerID = setInterval(() => {\n this.extendSession();\n }, 30000);\n }\n\n mounted(): void {\n window.scrollTo(0, 0);\n this.eventCtrl.on('save-and-close', this.saveAndClose);\n this.eventCtrl.on('save-section', this.saveSection);\n this.setCurrentStep();\n }\n\n beforeUnmount(): void {\n clearInterval(this.workerID);\n this.eventCtrl.off('save-and-close', this.saveAndClose);\n this.eventCtrl.off('save-section', this.saveSection);\n }\n\n beforeRouteLeave(to: any, from: any, next: any): void {\n store.dispatch('setSelectedComplianceFormB', null);\n store.dispatch('setFormUpdatingkey', null);\n this.formPartBDataStore.clearFormPartBData();\n }\n\n private exitForm(): void {\n this.stopExtending = true;\n clearInterval(this.workerID);\n this.$router.push({ name: RouteN.ATCS.DashboardHome.n });\n this.showSessionExpiredModal = false;\n }\n\n private idleSessionTimeoutCallback(): void {\n this.stopExtending = true;\n }\n\n private async extendSession(): Promise {\n try {\n if (this.stopExtending) {\n clearInterval(this.workerID);\n this.showSessionExpiredModal = true;\n return;\n }\n if (this.isSaving) {\n return;\n }\n await this.apiService.PartBFormApi?.apiV2PartBFormExtendFormStatusPost({\n complianceFormId: this.complianceFormB.id,\n updatingKey:this.formUpdatingKey\n });\n\n } catch (err) {\n clearInterval(this.workerID);\n this.showSessionExpiredModal = true;\n }\n }\n\n private setCurrentStep(): void {\n const _section: string = this.$route.query.sec as string;\n if (_section !== Section.overview) {\n this.backButtonText = 'Back';\n } else {\n this.backButtonText = 'Cancel';\n }\n\n this.backButtonVisible = true;\n\n switch (_section) {\n case Section.overview:\n this.backButtonVisible = false;\n this.nextButtonText = 'Next';\n this.setSteps(0);\n break;\n case Section.trustAccountingRecords:\n this.nextButtonText = 'Next';\n this.setSteps(1);\n break;\n case Section.generalTrustMoney:\n this.nextButtonText = 'Next';\n this.setSteps(2);\n break;\n case Section.controlledMoney:\n this.nextButtonText = 'Next';\n this.setSteps(3);\n break;\n case Section.specificPowerMoney:\n this.nextButtonText = 'Next';\n this.setSteps(4);\n break;\n case Section.investmentMoney:\n this.nextButtonText = 'Next';\n this.setSteps(5);\n break;\n case Section.otherInformation:\n this.nextButtonText = 'Next';\n this.setSteps(6);\n break;\n case Section.declaration:\n this.nextButtonText = 'Submit';\n this.setSteps(7);\n break;\n case Section.confirmation:\n this.setSteps(8);\n this.nextButtonText = 'Close';\n this.backButtonVisible = false;\n break;\n default:\n break;\n }\n }\n\n private setSteps(n: number) {\n this.updateHelpContent(n);\n for (let i = 0; i < this.navSteps.length; i++) {\n this.navSteps[i].status = NavStepStatusID.NotDone\n }\n for (let i = 0; i < n; i++) {\n this.navSteps[i].status = NavStepStatusID.Done\n }\n this.navSteps[n].status = NavStepStatusID.Current\n // the confirmation page\n const _confirmation = this.navSteps.length - 1;\n if (n === _confirmation) {\n for (let i = 0; i < _confirmation; i++) {\n this.navSteps[i].status = NavStepStatusID.Unknown\n }\n } else {\n // save the current step\n // window.sessionStorage.setItem('contractData', JSON.stringify(this.contractData));\n }\n }\n\n private updateHelpContent(n: number) {\n switch (n) {\n case 0: // Section.overview\n this.helpContent = this.$getPopover('Help', 9);\n break;\n case 1: // Section.trustAccountingRecords\n this.helpContent = this.$getPopover('Help', 10);\n break;\n case 2: // Section.generalTrustMoney\n this.helpContent = this.$getPopover('Help', 11);\n break;\n case 3: // Section.controlledMoney\n this.helpContent = this.$getPopover('Help', 12);\n break;\n case 4: // Section.specificPowerMoney\n this.helpContent = this.$getPopover('Help', 13);\n break;\n case 5: // Section.investmentMoney \n this.helpContent = this.$getPopover('Help', 14);\n break;\n case 6: // Section.otherInformation\n this.helpContent = this.$getPopover('Help', 15);\n break;\n case 7: // Section.declaration\n this.helpContent = this.$getPopover('Help', 16);\n break;\n case 8: // Section.confirmation\n this.helpContent = this.$getPopover('Help', 17);\n break;\n default:\n this.helpContent = {};\n break;\n }\n this.eventCtrl.emit('updateHelpContent', this.helpContent);\n }\n\n private goBack() {\n const _section: string = this.$route.query.sec as string;\n\n this.apiService.PartBFormApi?.apiV2PartBFormExtendFormStatusPost({\n complianceFormId: this.complianceFormB.id,\n updatingKey: this.formUpdatingKey,\n }).then(() => {\n switch (_section) {\n case Section.overview:\n this.eventCtrl.emit('cancel-pc-renew');\n // this.$router.push({ name: RouteN.Mars.PcRenewOverview.n, query: { appId: this.$route.query.appId } });\n break;\n case Section.trustAccountingRecords:\n this.navigate(this.navSteps[0]);\n break;\n case Section.generalTrustMoney:\n this.navigate(this.navSteps[1]);\n break;\n case Section.controlledMoney:\n this.navigate(this.navSteps[2]);\n break;\n case Section.specificPowerMoney:\n this.navigate(this.navSteps[3]);\n break;\n case Section.investmentMoney:\n this.navigate(this.navSteps[4]);\n break;\n case Section.otherInformation:\n this.navigate(this.navSteps[5]);\n break;\n case Section.declaration:\n this.navigate(this.navSteps[6]);\n break;\n case Section.confirmation:\n this.eventCtrl.emit('cancel-part-b');\n break;\n default:\n break;\n }\n\n }).catch((err: any) => {\n this.showSessionExpiredModal = true;\n });\n\n }\n\n private navigate(s: NavStep): void {\n const temp: string = JSON.stringify(this.$route.query);\n const tempJSON = JSON.parse(temp);\n tempJSON.sec = s.routeSecName;\n this.$router.push({ query: tempJSON });\n }\n\n private goNext() {\n const _section = this.$route.query.sec as string;\n try {\n switch (_section) {\n case Section.overview:\n // this.saveIndividualDetails(1);\n this.saveSection(false, false).then(\n (x: any) => !x ? (this.navigate(this.navSteps[1])) : true).catch((err: any) => console.log(err));\n break;\n case Section.trustAccountingRecords:\n this.saveSection(false, false).then(\n (x: any) => !x ? (this.navigate(this.navSteps[2])) : true).catch((err: any) => console.log(err));\n break;\n case Section.generalTrustMoney:\n this.saveSection(false, false).then(\n (x: any) => !x ? (this.navigate(this.navSteps[3])) : true).catch((err: any) => console.log(err));\n break;\n case Section.controlledMoney:\n this.saveSection(false, false).then(\n (x: any) => !x ? (this.navigate(this.navSteps[4])) : true).catch((err: any) => console.log(err));\n break;\n case Section.specificPowerMoney:\n this.saveSection(false, false).then(\n (x: any) => !x ? (this.navigate(this.navSteps[5])) : true).catch((err: any) => console.log(err));\n break;\n case Section.investmentMoney:\n this.saveSection(false, false).then(\n (x: any) => !x ? (this.navigate(this.navSteps[6])) : true).catch((err: any) => console.log(err));\n break;\n case Section.otherInformation:\n this.saveSection(false, false).then(\n (x: any) => !x ? (this.navigate(this.navSteps[7])) : true).catch((err: any) => console.log(err));\n break;\n case Section.declaration:\n this.saveSection(false, false).then((x: any) => !x ? (this.navigate(this.navSteps[8])) : true);\n break;\n\n case Section.confirmation:\n this.$router.push({ name: RouteN.ATCS.DashboardHome.n });\n break;\n default:\n break;\n }\n } catch {\n console.log('error');\n }\n\n }\n\n get currentSection(): string {\n return this.$route.query.sec as string;\n }\n\n get savingText() {\n return 'Saving...';\n }\n\n private saveAndClose(): void {\n const _confirm: any = this.$refs.confirmSaveClose;\n _confirm.show({\n title: 'Save & Close',\n message: 'By selecting the \\'Save & Close\\' button, any answered parts will be saved, and you will be taken back to the Homepage. Would you like to proceed?',\n okButton: 'Proceed',\n cancelButton: 'Cancel',\n }).then((res: any) => {\n if (res) {\n this.saveSection(true, true);\n }\n })\n }\n\n private async saveSection(close: boolean, skipValidation: boolean, skipReload?: boolean): Promise {\n try {\n this.isSaving = true;\n\n const _section = this.$route.query.sec as string;\n await this.apiService.PartBFormApi?.apiV2PartBFormExtendFormStatusPost({\n complianceFormId: this.complianceFormB.id,\n updatingKey: this.formUpdatingKey,\n });\n switch (_section) {\n case Section.trustAccountingRecords:\n await this.apiService.PartBFormApi?.apiV2PartBFormSaveTrustAccountingRecordsPost({\n id: this.formPartBData?.trustAccountingRecords?.id,\n complianceFormStatus: this.formPartBData?.trustAccountingRecords?.complianceFormStatus,\n atcsMainQuestions: this.formPartBData?.trustAccountingRecords?.atcsMainQuestions,\n complianceFormId: this.complianceFormB.id,\n updatingKey: this.formUpdatingKey,\n skipValidation: skipValidation,\n });\n\n if (skipValidation && !close)\n this.eventCtrl.emit('reload-form-b-tar-content');\n break;\n case Section.generalTrustMoney:\n await this.apiService.PartBFormApi?.apiV2PartBFormSaveGeneralTrustMoneyPost({\n id: this.formPartBData?.generalTrustMoney?.id,\n complianceFormStatus: this.formPartBData?.generalTrustMoney?.complianceFormStatus,\n atcsMainQuestions: this.formPartBData?.generalTrustMoney?.atcsMainQuestions,\n complianceFormId: this.complianceFormB.id,\n updatingKey: this.formUpdatingKey,\n skipValidation: skipValidation,\n });\n\n if (skipValidation && !close && !skipReload)\n this.eventCtrl.emit('reload-form-b-gtm-content');\n break;\n case Section.controlledMoney:\n await this.apiService.PartBFormApi?.apiV2PartBFormSaveControlledMoneyPost({\n id: this.formPartBData?.controlledMoney?.id,\n complianceFormStatus: this.formPartBData?.controlledMoney?.complianceFormStatus,\n atcsMainQuestions: this.formPartBData?.controlledMoney?.atcsMainQuestions,\n complianceFormId: this.complianceFormB.id,\n updatingKey: this.formUpdatingKey,\n skipValidation: skipValidation,\n });\n\n if (skipValidation && !close)\n this.eventCtrl.emit('reload-form-b-cm-content');\n break;\n case Section.specificPowerMoney:\n await this.apiService.PartBFormApi?.apiV2PartBFormSaveSpecificPowerMoneyPost({\n id: this.formPartBData?.specificPowerMoney?.id,\n complianceFormStatus: this.formPartBData?.specificPowerMoney?.complianceFormStatus,\n atcsMainQuestions: this.formPartBData?.specificPowerMoney?.atcsMainQuestions,\n complianceFormId: this.complianceFormB.id,\n updatingKey: this.formUpdatingKey,\n skipValidation: skipValidation,\n });\n\n if (skipValidation && !close)\n this.eventCtrl.emit('reload-form-b-spm-content');\n break;\n case Section.investmentMoney:\n await this.apiService.PartBFormApi?.apiV2PartBFormSaveInvestmentMoneyPost({\n id: this.formPartBData?.investmentMoney?.id,\n complianceFormStatus: this.formPartBData?.investmentMoney?.complianceFormStatus,\n atcsMainQuestions: this.formPartBData?.investmentMoney?.atcsMainQuestions,\n complianceFormId: this.complianceFormB.id,\n updatingKey: this.formUpdatingKey,\n skipValidation: skipValidation,\n });\n\n if (skipValidation && !close)\n this.eventCtrl.emit('reload-form-b-im-content');\n break;\n case Section.otherInformation:\n await this.apiService.PartBFormApi?.apiV2PartBFormSaveOtherInformationPost({\n id: this.formPartBData?.otherInformation?.id,\n complianceFormStatus: this.formPartBData?.otherInformation?.complianceFormStatus,\n atcsMainQuestions: this.formPartBData?.otherInformation?.atcsMainQuestions,\n complianceFormId: this.complianceFormB.id,\n updatingKey: this.formUpdatingKey,\n skipValidation: skipValidation,\n });\n\n if (skipValidation && !close)\n this.eventCtrl.emit('reload-form-b-oi-content');\n break;\n case Section.declaration:\n if (skipValidation && !close) {\n await this.apiService.PartBFormApi?.apiV2PartBFormSaveDeclarationPost({\n complianceFormId: this.complianceFormB.id,\n examinationCost: this.formPartBData.declarationDetails?.examinationCost,\n recordsProvidedOn: this.formPartBData?.declarationDetails.recordsProvidedOn,\n updatingKey: this.formUpdatingKey,\n });\n } else if (!close) {\n await this.apiService.PartBFormApi?.apiV2PartBFormSubmitFormPost({\n complianceFormId: this.complianceFormB.id,\n examinationCost: this.formPartBData?.declarationDetails?.examinationCost,\n recordsProvidedOn: this.formPartBData?.declarationDetails?.recordsProvidedOn,\n updatingKey: this.formUpdatingKey\n });\n }\n break;\n default:\n break;\n }\n\n if (close) {\n // this.isClosing = true;\n await this.apiService.PartBFormApi?.apiV2PartBFormClosePost({\n complianceFormId: this.complianceFormB.id,\n updatingKey: this.formUpdatingKey ?? null\n });\n // this.isClosing = false;\n this.$router.push({ name: RouteN.ATCS.DashboardHome.n });\n }\n return Promise.resolve(false);\n } catch (err) {\n // this.isClosing = false;\n this.showSessionExpiredModal = true;\n this.eventCtrl.emit('show-snackbar', 'error', 'Error saving section');\n return Promise.reject(true);\n } finally {\n this.isSaving = false;\n }\n }\n\n private validSubQuestion(i: number): void {\n console.log('validSubQuestion: ', i);\n }\n\n private validationForm(i: any, isValid: any) {\n this.validSection[i] = isValid;\n this.canGoNext();\n }\n\n private canGoNext(): boolean {\n // check if the current section is valid\n const _section = this.$route.query.sec as string;\n\n switch (_section) {\n case Section.overview:\n return this.validSection[0];\n case Section.trustAccountingRecords:\n return this.validSection[1];\n case Section.generalTrustMoney:\n return this.validSection[2];\n case Section.controlledMoney:\n return this.validSection[3];\n case Section.specificPowerMoney:\n return this.validSection[4];\n case Section.investmentMoney:\n return this.validSection[5];\n case Section.otherInformation:\n return this.validSection[6];\n case Section.declaration:\n return this.validSection[7];\n case Section.confirmation:\n return true;\n default:\n return false;\n }\n }\n\n get complianceFormB(): ComplianceForm {\n return store.getters.getSelectedComplianceFormB;\n }\n\n get formUpdatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n private setFormDescription(message: any) {\n if (message) {\n this.formDesc = { line1: 'Statement of Trust Money (Part B) as at ' + message, line2: '' };\n }\n }\n\n}\n\n","import { render } from \"./form-part-b.html?vue&type=template&id=3fdf02e0&scoped=true&ts=true&external\"\nimport script from \"./form-part-b.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-part-b.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-part-b.scss?vue&type=style&index=0&id=3fdf02e0&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3fdf02e0\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7f715b90\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-eer\" }\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = {\n key: 9,\n class: \"eer-footer\"\n}\nconst _hoisted_4 = [\"disabled\"]\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = [\"disabled\"]\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-right\" })\n], -1))\n\nexport function render(_ctx, _cache) {\n const _component_LoadingSpinner = _resolveComponent(\"LoadingSpinner\")\n const _component_SwipeStepper = _resolveComponent(\"SwipeStepper\")\n const _component_FormHeader = _resolveComponent(\"FormHeader\")\n const _component_FormEerOverview = _resolveComponent(\"FormEerOverview\")\n const _component_FormEerGeneralTrustMoney = _resolveComponent(\"FormEerGeneralTrustMoney\")\n const _component_FormEerControlledMoney = _resolveComponent(\"FormEerControlledMoney\")\n const _component_FormEerSpecificPowerMoney = _resolveComponent(\"FormEerSpecificPowerMoney\")\n const _component_FormEerInvestmentMoney = _resolveComponent(\"FormEerInvestmentMoney\")\n const _component_FormEerOtherInformation = _resolveComponent(\"FormEerOtherInformation\")\n const _component_FormEerBreaches = _resolveComponent(\"FormEerBreaches\")\n const _component_FormEerDeclaration = _resolveComponent(\"FormEerDeclaration\")\n const _component_FormEerConfirmation = _resolveComponent(\"FormEerConfirmation\")\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ConfirmDialogue = _resolveComponent(\"ConfirmDialogue\")\n const _component_SessionExpired = _resolveComponent(\"SessionExpired\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (_ctx.isSectionLoading)\n ? (_openBlock(), _createBlock(_component_LoadingSpinner, { key: 0 }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_SwipeStepper, {\n navSteps: _ctx.navSteps,\n showHelpBtn: true,\n showFaqBtn: true\n }, null, 8, [\"navSteps\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_FormHeader, {\n formName: _ctx.formName,\n formDesc: _ctx.formDesc\n }, null, 8, [\"formName\", \"formDesc\"]),\n (_ctx.currentSection === _ctx.$Section.overview)\n ? (_openBlock(), _createBlock(_component_FormEerOverview, {\n key: 0,\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[0] || (_cache[0] = $event => ((_ctx.isSectionLoading) = $event)),\n formEERData: _ctx.formEERData,\n \"onUpdate:formEERData\": _cache[1] || (_cache[1] = $event => ((_ctx.formEERData) = $event)),\n onSetFormDesc: _cache[2] || (_cache[2] = $event => (_ctx.setFormDescription($event)))\n }, null, 8, [\"isSectionLoading\", \"formEERData\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection === _ctx.$Section.generalTrustMoney)\n ? (_openBlock(), _createBlock(_component_FormEerGeneralTrustMoney, {\n key: 1,\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[3] || (_cache[3] = $event => ((_ctx.isSectionLoading) = $event)),\n formEERData: _ctx.formEERData,\n \"onUpdate:formEERData\": _cache[4] || (_cache[4] = $event => ((_ctx.formEERData) = $event)),\n onValidForm: _cache[5] || (_cache[5] = $event => (_ctx.validationForm( 1, $event)))\n }, null, 8, [\"isSectionLoading\", \"formEERData\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection === _ctx.$Section.controlledMoney)\n ? (_openBlock(), _createBlock(_component_FormEerControlledMoney, {\n key: 2,\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[6] || (_cache[6] = $event => ((_ctx.isSectionLoading) = $event)),\n formEERData: _ctx.formEERData,\n \"onUpdate:formEERData\": _cache[7] || (_cache[7] = $event => ((_ctx.formEERData) = $event)),\n onValidForm: _cache[8] || (_cache[8] = $event => (_ctx.validationForm( 2, $event)))\n }, null, 8, [\"isSectionLoading\", \"formEERData\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection === _ctx.$Section.specificPowerMoney)\n ? (_openBlock(), _createBlock(_component_FormEerSpecificPowerMoney, {\n key: 3,\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[9] || (_cache[9] = $event => ((_ctx.isSectionLoading) = $event)),\n formEERData: _ctx.formEERData,\n \"onUpdate:formEERData\": _cache[10] || (_cache[10] = $event => ((_ctx.formEERData) = $event)),\n onValidForm: _cache[11] || (_cache[11] = $event => (_ctx.validationForm( 3, $event)))\n }, null, 8, [\"isSectionLoading\", \"formEERData\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection === _ctx.$Section.investmentMoney)\n ? (_openBlock(), _createBlock(_component_FormEerInvestmentMoney, {\n key: 4,\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[12] || (_cache[12] = $event => ((_ctx.isSectionLoading) = $event)),\n formEERData: _ctx.formEERData,\n \"onUpdate:formEERData\": _cache[13] || (_cache[13] = $event => ((_ctx.formEERData) = $event)),\n onValidForm: _cache[14] || (_cache[14] = $event => (_ctx.validationForm( 4, $event)))\n }, null, 8, [\"isSectionLoading\", \"formEERData\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection === _ctx.$Section.otherInformation)\n ? (_openBlock(), _createBlock(_component_FormEerOtherInformation, {\n key: 5,\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[15] || (_cache[15] = $event => ((_ctx.isSectionLoading) = $event)),\n formEERData: _ctx.formEERData,\n \"onUpdate:formEERData\": _cache[16] || (_cache[16] = $event => ((_ctx.formEERData) = $event)),\n onValidForm: _cache[17] || (_cache[17] = $event => (_ctx.validationForm( 5, $event)))\n }, null, 8, [\"isSectionLoading\", \"formEERData\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection === _ctx.$Section.breaches)\n ? (_openBlock(), _createBlock(_component_FormEerBreaches, {\n key: 6,\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[18] || (_cache[18] = $event => ((_ctx.isSectionLoading) = $event)),\n formEERData: _ctx.formEERData,\n \"onUpdate:formEERData\": _cache[19] || (_cache[19] = $event => ((_ctx.formEERData) = $event)),\n onValidForm: _cache[20] || (_cache[20] = $event => (_ctx.validationForm( 6, $event)))\n }, null, 8, [\"isSectionLoading\", \"formEERData\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection === _ctx.$Section.declaration)\n ? (_openBlock(), _createBlock(_component_FormEerDeclaration, {\n key: 7,\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[21] || (_cache[21] = $event => ((_ctx.isSectionLoading) = $event)),\n formEERData: _ctx.formEERData,\n \"onUpdate:formEERData\": _cache[22] || (_cache[22] = $event => ((_ctx.formEERData) = $event)),\n onValidForm: _cache[23] || (_cache[23] = $event => (_ctx.validationForm( 7, $event)))\n }, null, 8, [\"isSectionLoading\", \"formEERData\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection === _ctx.$Section.confirmation)\n ? (_openBlock(), _createBlock(_component_FormEerConfirmation, {\n key: 8,\n isSectionLoading: _ctx.isSectionLoading,\n \"onUpdate:isSectionLoading\": _cache[24] || (_cache[24] = $event => ((_ctx.isSectionLoading) = $event))\n }, null, 8, [\"isSectionLoading\"]))\n : _createCommentVNode(\"\", true),\n (!_ctx.isSectionLoading)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_ctx.isSaving)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n loadingText: _ctx.savingText,\n class: \"mr-4\"\n }, null, 8, [\"loadingText\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.backButtonVisible)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-outline mr-2\",\n onClick: _cache[25] || (_cache[25] = $event => (_ctx.goBack())),\n disabled: _ctx.isSaving || _ctx.isSectionLoading\n }, _toDisplayString(_ctx.backButtonText), 9, _hoisted_4))\n : _createCommentVNode(\"\", true),\n (_ctx.currentSection !== _ctx.$Section.overview && _ctx.currentSection !== _ctx.$Section.confirmation)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 2,\n class: \"btn btn-secondary mr-2\",\n disabled: _ctx.isSaving || _ctx.isSectionLoading,\n onClick: _cache[26] || (_cache[26] = $event => (_ctx.saveSection(false, true)))\n }, \"Save\", 8, _hoisted_5))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n disabled: !_ctx.canGoNext() || _ctx.isSaving || _ctx.isSectionLoading,\n onClick: _cache[27] || (_cache[27] = $event => (_ctx.goNext()))\n }, [\n _createTextVNode(_toDisplayString(_ctx.nextButtonText), 1),\n _hoisted_7\n ], 8, _hoisted_6)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createVNode(_component_ConfirmDialogue, {\n ref: \"confirmSaveClose\",\n modalOpened: true\n }, null, 512),\n (_ctx.showSessionExpiredModal)\n ? (_openBlock(), _createBlock(_component_SessionExpired, {\n key: 1,\n modalOpened: _ctx.showSessionExpiredModal,\n formStatus: _ctx.formStatus,\n onClose: _cache[28] || (_cache[28] = $event => (_ctx.exitForm()))\n }, null, 8, [\"modalOpened\", \"formStatus\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-734b8782\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-eer-overview\" }\nconst _hoisted_2 = { class: \"shade mt-4 mb-4\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Law Practice Name:\", -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Trading Name:\", -1))\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Branch Address:\", -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Relevant Period:\", -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \" The procedures to be adopted by the external examiner to complete this report are to be sufficient to enable the external examiner to form an opinion in accordance with the Uniform Law and Uniform General Rules regulating the maintenance of trust records and the receipting and disbursement of trust money by the Law Practice. \", -1))\nconst _hoisted_8 = { class: \"file-area mt-4\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Uploaded files\", -1))\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", { class: \"ml-2\" }, \"General Trust Money Bank Reconciliation:\", -1))\nconst _hoisted_12 = { class: \"file ml-2\" }\nconst _hoisted_13 = { class: \"row\" }\nconst _hoisted_14 = { class: \"col-6\" }\nconst _hoisted_15 = { class: \"file-name\" }\nconst _hoisted_16 = { class: \"col-6\" }\nconst _hoisted_17 = { class: \"file-date\" }\nconst _hoisted_18 = [\"onClick\"]\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", { class: \"ml-2\" }, \"General Trust Money Overdrawn Ledger:\", -1))\nconst _hoisted_21 = { class: \"file ml-2\" }\nconst _hoisted_22 = { class: \"row\" }\nconst _hoisted_23 = { class: \"col-6\" }\nconst _hoisted_24 = { class: \"file-name\" }\nconst _hoisted_25 = { class: \"col-6\" }\nconst _hoisted_26 = { class: \"file-date\" }\nconst _hoisted_27 = [\"onClick\"]\nconst _hoisted_28 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", { class: \"ml-2\" }, \"Controlled Money:\", -1))\nconst _hoisted_30 = { class: \"file ml-2\" }\nconst _hoisted_31 = { class: \"row\" }\nconst _hoisted_32 = { class: \"col-6\" }\nconst _hoisted_33 = { class: \"file-name\" }\nconst _hoisted_34 = { class: \"col-6\" }\nconst _hoisted_35 = { class: \"file-date\" }\nconst _hoisted_36 = [\"onClick\"]\nconst _hoisted_37 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_38 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", { class: \"ml-2\" }, \"Investment Money:\", -1))\nconst _hoisted_39 = { class: \"file ml-2\" }\nconst _hoisted_40 = { class: \"row\" }\nconst _hoisted_41 = { class: \"col-6\" }\nconst _hoisted_42 = { class: \"file-name\" }\nconst _hoisted_43 = { class: \"col-6\" }\nconst _hoisted_44 = { class: \"file-date\" }\nconst _hoisted_45 = [\"onClick\"]\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (!_ctx.loadingContent && !_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.overviewContent?.firmName) + \" / \" + _toDisplayString(_ctx.overviewContent?.firmId), 1),\n _hoisted_4,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.overviewContent?.tradingName || ' - '), 1),\n _hoisted_5,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.overviewContent?.branchAddress), 1),\n _hoisted_6,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.$formatDateFullDate(_ctx.overviewContent?.complianceYearStart)) + \" - \" + _toDisplayString(_ctx.$formatDateFullDate(_ctx.overviewContent?.complianceYearEnd)), 1)\n ]),\n _hoisted_7,\n _createElementVNode(\"div\", _hoisted_8, [\n _hoisted_9,\n _hoisted_10,\n _createElementVNode(\"div\", null, [\n _hoisted_11,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.overviewContent?.generalTrustMoneyBankReconciliationFiles, (f, i) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, _toDisplayString(f?.fileName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: $event => (_ctx.downloadFile(f))\n }, \"Download\", 8, _hoisted_18)\n ])\n ])\n ])\n ]))\n }), 256)),\n _hoisted_19,\n _hoisted_20,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.overviewContent?.generalTrustMoneyOverdrawnLedgerFiles, (f, i) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_21, [\n _createElementVNode(\"div\", _hoisted_22, [\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"div\", _hoisted_24, _toDisplayString(f?.fileName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: $event => (_ctx.downloadFile(f))\n }, \"Download\", 8, _hoisted_27)\n ])\n ])\n ])\n ]))\n }), 256)),\n _hoisted_28,\n _hoisted_29,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.overviewContent?.controlledMoneyFiles, (f, i) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_30, [\n _createElementVNode(\"div\", _hoisted_31, [\n _createElementVNode(\"div\", _hoisted_32, [\n _createElementVNode(\"div\", _hoisted_33, _toDisplayString(f?.fileName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_34, [\n _createElementVNode(\"div\", _hoisted_35, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: $event => (_ctx.downloadFile(f))\n }, \"Download\", 8, _hoisted_36)\n ])\n ])\n ])\n ]))\n }), 256)),\n _hoisted_37,\n _hoisted_38,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.overviewContent?.investmentMoneyFiles, (f, i) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_39, [\n _createElementVNode(\"div\", _hoisted_40, [\n _createElementVNode(\"div\", _hoisted_41, [\n _createElementVNode(\"div\", _hoisted_42, _toDisplayString(f?.fileName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_43, [\n _createElementVNode(\"div\", _hoisted_44, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: $event => (_ctx.downloadFile(f))\n }, \"Download\", 8, _hoisted_45)\n ])\n ])\n ])\n ]))\n }), 256))\n ])\n ])\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { Inject, Options, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport { AppInsights } from '@/trust-atcs-app/appInsights';\nimport store from '@/trust-atcs-app/store';\nimport { EventEmitter } from 'events';\nimport LoadingSpinner from '@/shared/components/loading-spinner/index.vue';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { ComplianceForm } from '@/shared/modules/typescript-trustapi-client/models';\nimport { FormEERData } from '@/trust-atcs-app/models/form-eer-data';\n\n@Options({\n components: {\n LoadingSpinner,\n },\n emits: ['update:isSectionLoading', 'setFormDesc'],\n mixins: [FormatDateTimeMixin],\n})\nexport default class FormEerOverview extends Vue {\n @Prop({ default: {} })\n private formEERData!: FormEERData;\n\n @Prop({ default: false })\n private isSectionLoading!: boolean;\n\n @Watch('loadingContent')\n private sectionLoading() {\n this.$emit('update:isSectionLoading', this.loadingContent);\n }\n\n private ai = new AppInsights();\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private loadingContent = false;\n private errorLoadingContent = false;\n private overviewContent: any = {} as any;\n\n private selectedFileForPreview: any = {};\n private blob: any;\n private documentURL: string = null as any;\n\n created(): void {\n this.loadOverviewContent();\n }\n\n mounted(): void {\n this.eventCtrl.on('reload-form-eer-overview-content', this.loadOverviewContent);\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-form-eer-overview-content', this.loadOverviewContent);\n }\n\n private async loadOverviewContent(): Promise {\n try {\n this.loadingContent = true;\n const resp: any = await this.apiService.EeReportApi?.apiV2EeReportGetOverviewPost({\n complianceFormId: this.complianceFormEER.id,\n updatingKey: this.updatingKey,\n });\n this.overviewContent = resp.data.data as FormEerOverview;\n this.formEERData.overview = this.overviewContent;\n this.$emit('setFormDesc', this.$formatDateFullDate(this.overviewContent?.complianceYearEnd));\n store.dispatch('setFormUpdatingkey', this.overviewContent.updatingKey);\n } catch (err: any) {\n if (err.response.status === 400 && err.response.data?.errorCode == 10001) {\n // handle resubmit request in app.ts\n } else {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error loading overview content');\n this.errorLoadingContent = true;\n }\n } finally {\n this.loadingContent = false;\n }\n }\n\n get complianceFormEER(): ComplianceForm {\n return store.getters.getSelectedComplianceFormEER;\n }\n\n get updatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n private async downloadFile(file: any) {\n await this.apiService.FileAtcsApi?.apiV2FileAtcsGetComplianceFormFileByIdFileIdComplianceFormIdGet(\n file.id,\n this.complianceFormEER.id,\n { responseType: 'blob' },\n )\n .then((res: any) => {\n this.selectedFileForPreview.FileStream = res.data;\n this.selectedFileForPreview.ContentType = res.headers['content-type'];\n this.selectedFileForPreview.FileName = file.fileName;\n this.download();\n })\n .catch((err) => {\n this.ai.trackException('Unable to download file ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to download file: ' + err);\n });\n }\n\n private download() {\n this.blob = new Blob([this.selectedFileForPreview.FileStream], { type: this.selectedFileForPreview.ContentType });\n this.documentURL = window.URL.createObjectURL(this.blob);\n const downloadLink = document.createElement('a');\n const fileName = this.selectedFileForPreview.FileName;\n downloadLink.href = this.documentURL;\n downloadLink.download = fileName as string;\n downloadLink.click();\n }\n}\n","import { render } from \"./form-eer-overview.html?vue&type=template&id=734b8782&scoped=true&ts=true&external\"\nimport script from \"./form-eer-overview.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-eer-overview.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-eer-overview.scss?vue&type=style&index=0&id=734b8782&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-734b8782\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4483c4a6\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-eer-general-trust-money\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"mt-3 mb-3\" }, \"A. General Trust Money\", -1))\nconst _hoisted_3 = {\n key: 0,\n class: \"questions-main\"\n}\nconst _hoisted_4 = {\n key: 0,\n class: \"sub-heading\"\n}\nconst _hoisted_5 = { key: 4 }\n\nexport function render(_ctx, _cache) {\n const _component_RadioButtonHorizontal = _resolveComponent(\"RadioButtonHorizontal\")\n const _component_RadioButtonVertical = _resolveComponent(\"RadioButtonVertical\")\n const _component_RadioButtonSubQuestions = _resolveComponent(\"RadioButtonSubQuestions\")\n const _component_BankAccount = _resolveComponent(\"BankAccount\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (!_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_2,\n (_ctx.formEERData?.generalTrustMoney?.atcsMainQuestions?.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.formEERData.generalTrustMoney.atcsMainQuestions, (q, i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (q.atcsQuestionTypeId==_ctx.QuestionType.WordingOnly)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _toDisplayString(q.wording), 1))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==_ctx.QuestionType.RadioButtonHorizontal)\n ? (_openBlock(), _createBlock(_component_RadioButtonHorizontal, {\n key: 1,\n class: \"mt-3 mb-3\",\n question: _ctx.formEERData.generalTrustMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formEERData.generalTrustMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==_ctx.QuestionType.RadioButtonVertical)\n ? (_openBlock(), _createBlock(_component_RadioButtonVertical, {\n key: 2,\n class: \"mt-3 mb-3\",\n question: _ctx.formEERData.generalTrustMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formEERData.generalTrustMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==_ctx.QuestionType.RadioButtonSubQuestions)\n ? (_openBlock(), _createBlock(_component_RadioButtonSubQuestions, {\n key: 3,\n class: \"mt-3 mb-3\",\n question: _ctx.formEERData.generalTrustMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formEERData.generalTrustMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==_ctx.QuestionType.PerBankAccount || q.atcsQuestionTypeId==_ctx.QuestionType.PerBankAccountV2)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createVNode(_component_BankAccount, {\n banks: this.formEERData.generalTrustMoney.atcsMainQuestions[i].formPracticeAccountQuestions,\n \"onUpdate:banks\": $event => ((this.formEERData.generalTrustMoney.atcsMainQuestions[i].formPracticeAccountQuestions) = $event),\n class: \"mt-3 mb-3\",\n onValidForm: $event => (_ctx.validationForm(i, $event)),\n formType: _ctx.formType,\n \"onUpdate:formType\": _cache[0] || (_cache[0] = $event => ((_ctx.formType) = $event)),\n questionTypeId: q.atcsQuestionTypeId,\n \"onUpdate:questionTypeId\": $event => ((q.atcsQuestionTypeId) = $event)\n }, null, 8, [\"banks\", \"onUpdate:banks\", \"onValidForm\", \"formType\", \"questionTypeId\", \"onUpdate:questionTypeId\"])\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { Emit, Inject, Options, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport store from \"@/trust-atcs-app/store\";\nimport { EventEmitter } from \"events\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { EeReport, EeReportGeneralTrustMoney } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { FormEERData } from \"@/trust-atcs-app/models/form-eer-data\";\nimport RadioButtonHorizontal from \"../questions/radiobutton-horizontal/index.vue\";\nimport RadioButtonVertical from \"../questions/radiobutton-vertical/index.vue\";\nimport BankAccount from \"../questions/bank-account/index.vue\";\nimport { orderBy } from \"lodash\";\nimport RadioButtonSubQuestions from \"../questions/radiobutton-subquestions/index.vue\";\nimport { QuestionType } from \"../questions/question-type\";\n\n@Options({\n components: {\n LoadingSpinner,\n RadioButtonHorizontal,\n RadioButtonVertical,\n BankAccount,\n RadioButtonSubQuestions,\n },\n mixins: [FormatDateTimeMixin],\n})\nexport default class FormEerGeneralTrustMoney extends Vue {\n @Prop({ default: false })\n private isSectionLoading!: boolean;\n\n @Prop({ default: {} })\n private formEERData!: FormEERData;\n\n @Emit('update:isSectionLoading')\n\n @Emit('validForm')\n\n @Watch('loadingContent')\n private sectionLoading() {\n this.$emit('update:isSectionLoading', this.loadingContent);\n }\n\n private ai = new AppInsights;\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private formType = 'EER';\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private validMainQuestions: boolean[] = [];\n private generalTrustMoney: EeReportGeneralTrustMoney = null as any;\n\n mounted(): void {\n this.eventCtrl.on('reload-form-eer-gtm-content', this.loadGeneralTrustMoneyContent);\n // this.loadingContent = true;\n this.loadGeneralTrustMoneyContent();\n this.$emit('validForm', false);\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-form-eer-gtm-content', this.loadGeneralTrustMoneyContent);\n }\n\n private async loadGeneralTrustMoneyContent(): Promise {\n try {\n this.loadingContent = true;\n const resp: any = await this.apiService.EeReportApi?.apiV2EeReportGetGeneralTrustMoneyPost({\n complianceFormId: this.complianceFormEER.id,\n updatingKey: this.updatingKey,\n });\n this.generalTrustMoney = resp.data.data as EeReportGeneralTrustMoney;\n\n this.generalTrustMoney.atcsMainQuestions.forEach((q: any) => {\n if (q.atcsQuestionTypeId == 19) {\n // Sort this.formEERData.generalTrustMoney.atcsMainQuestions[i].formPracticeAccountQuestions.atcsSubQuestions by order number\n q.formPracticeAccountQuestions.forEach((b: any) => {\n b.atcsSubQuestions = orderBy(b.atcsSubQuestions, ['order'], ['asc']);\n });\n }\n });\n\n this.formEERData.generalTrustMoney = this.generalTrustMoney as any;\n\n // Sort atcsMainQuestions by order number\n this.formEERData.generalTrustMoney.atcsMainQuestions = this.formEERData.generalTrustMoney.atcsMainQuestions.sort((a: any, b: any) => a.order - b.order);\n // Sort atcsSubQuestions by order number\n this.formEERData.generalTrustMoney.atcsMainQuestions.forEach((q: any) => {\n q.atcsSubQuestions = q.atcsSubQuestions.sort((a: any, b: any) => a.order - b.order);\n });\n // Sort response by order number\n this.formEERData.generalTrustMoney.atcsMainQuestions.forEach((q: any) => {\n q.responses = q.responses.sort((a: any, b: any) => a.order - b.order);\n });\n\n this.validMainQuestions = this.formEERData.generalTrustMoney.atcsMainQuestions.map((q: any) => false);\n // set atcsMainQuestions.questionTypeId == 1 to true\n this.formEERData.generalTrustMoney.atcsMainQuestions.forEach((q: any, i: number) => {\n if (q.atcsQuestionTypeId == 1) {\n this.validMainQuestions[i] = true;\n }\n });\n // add valid flag to each bank account\n this.formEERData.generalTrustMoney.atcsMainQuestions.forEach((q: any, i: number) => {\n\n if (q.atcsQuestionTypeId == 19) {\n this.formEERData.generalTrustMoney.atcsMainQuestions[i].formPracticeAccountQuestions =\n this.formEERData.generalTrustMoney.atcsMainQuestions[i].formPracticeAccountQuestions ?? [];\n }\n\n if (q.atcsQuestionTypeId == 20) {\n this.formEERData.generalTrustMoney.atcsMainQuestions[i].formPracticeSignatoryQuestions =\n this.formEERData.generalTrustMoney.atcsMainQuestions[i].formPracticeSignatoryQuestions ?? [];\n }\n\n // if (q.formPracticeAccountQuestions) {\n // q.formPracticeAccountQuestions.forEach((b: any) => {\n // b.valid = this.isValidBankAccount(b);\n // });\n // }\n });\n // // add valid flag to each signatory\n // this.formEERData.generalTrustMoney.atcsMainQuestions.forEach((q: any) => {\n // if (q.formPracticeSignatoryQuestions) {\n // q.formPracticeSignatoryQuestions.forEach((s: any) => {\n // s.valid = this.isValidSignatory(s);\n // });\n // }\n // });\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting General Trust Money');\n this.ai.trackException('Error getting General Trust Money: ' + err);\n this.errorLoadingContent = true;\n console.log(err);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private validForm(): boolean {\n const allTrue = Object.values(this.validMainQuestions).every(value => value === true);\n return allTrue;\n }\n\n private validationForm(i: any, isValid: any) {\n this.validMainQuestions[i] = isValid;\n this.$emit('validForm', this.validForm());\n }\n\n get complianceFormEER(): EeReport {\n return store.getters.getSelectedComplianceFormEER;\n }\n\n get updatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n get QuestionType(): any {\n return QuestionType;\n }\n\n}\n\n","import { render } from \"./form-eer-general-trust-money.html?vue&type=template&id=4483c4a6&scoped=true&ts=true&external\"\nimport script from \"./form-eer-general-trust-money.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-eer-general-trust-money.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-eer-general-trust-money.scss?vue&type=style&index=0&id=4483c4a6&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4483c4a6\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6e5b7212\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-eer-controlled-money\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"mt-3 mb-3\" }, \"B. Controlled Money\", -1))\nconst _hoisted_3 = {\n key: 0,\n class: \"questions-main\"\n}\nconst _hoisted_4 = {\n key: 0,\n class: \"sub-heading\"\n}\n\nexport function render(_ctx, _cache) {\n const _component_RadioButtonHorizontal = _resolveComponent(\"RadioButtonHorizontal\")\n const _component_RadioButtonVertical = _resolveComponent(\"RadioButtonVertical\")\n const _component_RadioButtonSubQuestions = _resolveComponent(\"RadioButtonSubQuestions\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (!_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_2,\n (_ctx.formEERData?.controlledMoney?.atcsMainQuestions?.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.formEERData.controlledMoney.atcsMainQuestions, (q, i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (q.atcsQuestionTypeId==1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _toDisplayString(q.wording), 1))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==10)\n ? (_openBlock(), _createBlock(_component_RadioButtonHorizontal, {\n key: 1,\n class: \"mt-3 mb-3\",\n question: _ctx.formEERData.controlledMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formEERData.controlledMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==11)\n ? (_openBlock(), _createBlock(_component_RadioButtonVertical, {\n key: 2,\n class: \"mt-3 mb-3\",\n question: _ctx.formEERData.controlledMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formEERData.controlledMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==16)\n ? (_openBlock(), _createBlock(_component_RadioButtonSubQuestions, {\n key: 3,\n class: \"mt-3 mb-3\",\n question: _ctx.formEERData.controlledMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formEERData.controlledMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { Emit, Inject, Options, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport store from \"@/trust-atcs-app/store\";\nimport { EventEmitter } from \"events\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { EeReport, EeReportControlledMoney } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { FormEERData } from \"@/trust-atcs-app/models/form-eer-data\";\nimport RadioButtonHorizontal from \"../questions/radiobutton-horizontal/index.vue\";\nimport RadioButtonVertical from \"../questions/radiobutton-vertical/index.vue\";\nimport RadioButtonSubQuestions from \"../questions/radiobutton-subquestions/index.vue\";\n\n@Options({\n components: {\n LoadingSpinner,\n RadioButtonHorizontal,\n RadioButtonVertical,\n RadioButtonSubQuestions\n },\n emits: ['update:isSectionLoading', 'validForm'],\n mixins: [FormatDateTimeMixin],\n})\nexport default class FormEerControlledMoney extends Vue {\n\n @Prop({ default: false })\n private isSectionLoading!: boolean;\n\n @Prop({ default: {} })\n private formEERData!: FormEERData;\n\n // @Emit('update:isSectionLoading')\n\n @Watch('loadingContent')\n private sectionLoading() {\n this.$emit('update:isSectionLoading', this.loadingContent);\n }\n\n private ai = new AppInsights;\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private validMainQuestions: boolean[] = [];\n private controlledMoney: EeReportControlledMoney = null as any;\n\n mounted(): void {\n this.eventCtrl.on('reload-form-eer-cm-content', this.loadControlledMoneyContent);\n // this.loadingContent = true;\n this.loadControlledMoneyContent();\n this.$emit('validForm', false);\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-form-eer-gtm-content', this.loadControlledMoneyContent);\n }\n\n private async loadControlledMoneyContent(): Promise {\n try {\n this.loadingContent = true;\n const resp: any = await this.apiService.EeReportApi?.apiV2EeReportGetControlledMoneyPost({\n complianceFormId: this.complianceFormEER.id,\n updatingKey: this.updatingKey,\n });\n this.controlledMoney = resp.data.data as EeReportControlledMoney;\n this.formEERData.controlledMoney = this.controlledMoney as any;\n\n // Sort atcsMainQuestions by order number\n this.formEERData.controlledMoney.atcsMainQuestions = this.formEERData.controlledMoney.atcsMainQuestions.sort((a: any, b: any) => a.order - b.order);\n // Sort atcsSubQuestions by order number\n this.formEERData.controlledMoney.atcsMainQuestions.forEach((q: any) => {\n q.atcsSubQuestions = q.atcsSubQuestions.sort((a: any, b: any) => a.order - b.order);\n });\n // Sort response by order number\n this.formEERData.controlledMoney.atcsMainQuestions.forEach((q: any) => {\n q.responses = q.responses.sort((a: any, b: any) => a.order - b.order);\n });\n\n this.validMainQuestions = this.formEERData.controlledMoney.atcsMainQuestions.map((q: any) => false);\n // set atcsMainQuestions.qutionTypeId == 1 to true\n this.formEERData.controlledMoney.atcsMainQuestions.forEach((q: any, i: number) => {\n if (q.atcsQuestionTypeId == 1) {\n this.validMainQuestions[i] = true;\n }\n });\n\n // add valid flag to each bank account\n // this.formEERData.controlledMoney.atcsMainQuestions.forEach((q: any, i: number) => {\n\n // if (q.atcsQuestionTypeId == 19) {\n // this.formEERData.controlledMoney.atcsMainQuestions[i].formPracticeAccountQuestions =\n // this.formEERData.controlledMoney.atcsMainQuestions[i].formPracticeAccountQuestions ?? [];\n // }\n\n // if (q.atcsQuestionTypeId == 20) {\n // this.formEERData.controlledMoney.atcsMainQuestions[i].formPracticeSignatoryQuestions =\n // this.formEERData.controlledMoney.atcsMainQuestions[i].formPracticeSignatoryQuestions ?? [];\n // }\n\n // if (q.formPracticeAccountQuestions) {\n // q.formPracticeAccountQuestions.forEach((b: any) => {\n // b.valid = this.isValidBankAccount(b);\n // });\n // }\n // });\n\n // // add valid flag to each signatory\n // this.formEERData.generalTrustMoney.atcsMainQuestions.forEach((q: any) => {\n // if (q.formPracticeSignatoryQuestions) {\n // q.formPracticeSignatoryQuestions.forEach((s: any) => {\n // s.valid = this.isValidSignatory(s);\n // });\n // }\n // });\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting Controlled Money');\n this.ai.trackException('Error getting Controlled Money: ' + err);\n this.errorLoadingContent = true;\n console.log(err);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private validForm(): boolean {\n const allTrue = Object.values(this.validMainQuestions).every(value => value === true);\n return allTrue;\n }\n\n private validationForm(i: any, isValid: any) {\n this.validMainQuestions[i] = isValid;\n this.$emit('validForm', this.validForm());\n }\n\n get complianceFormEER(): EeReport {\n return store.getters.getSelectedComplianceFormEER;\n }\n\n get updatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n}\n\n","import { render } from \"./form-eer-controlled-money.html?vue&type=template&id=6e5b7212&scoped=true&ts=true&external\"\nimport script from \"./form-eer-controlled-money.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-eer-controlled-money.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-eer-controlled-money.scss?vue&type=style&index=0&id=6e5b7212&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6e5b7212\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ed6c4f6c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-eer-specific-power-money\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"mt-3 mb-3\" }, \"C. Trust Money Subject to Specific Powers\", -1))\nconst _hoisted_3 = {\n key: 0,\n class: \"questions-main\"\n}\nconst _hoisted_4 = {\n key: 0,\n class: \"sub-heading\"\n}\n\nexport function render(_ctx, _cache) {\n const _component_RadioButtonHorizontal = _resolveComponent(\"RadioButtonHorizontal\")\n const _component_RadioButtonVertical = _resolveComponent(\"RadioButtonVertical\")\n const _component_RadioButtonSubQuestions = _resolveComponent(\"RadioButtonSubQuestions\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (!_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_2,\n (_ctx.formEERData?.specificPowerMoney?.atcsMainQuestions?.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.formEERData.specificPowerMoney.atcsMainQuestions, (q, i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (q.atcsQuestionTypeId==1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _toDisplayString(q.wording), 1))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==10)\n ? (_openBlock(), _createBlock(_component_RadioButtonHorizontal, {\n key: 1,\n class: \"mt-3 mb-3\",\n question: _ctx.formEERData.specificPowerMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formEERData.specificPowerMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==11)\n ? (_openBlock(), _createBlock(_component_RadioButtonVertical, {\n key: 2,\n class: \"mt-3 mb-3\",\n question: _ctx.formEERData.specificPowerMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formEERData.specificPowerMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==16)\n ? (_openBlock(), _createBlock(_component_RadioButtonSubQuestions, {\n key: 3,\n class: \"mt-3 mb-3\",\n question: _ctx.formEERData.specificPowerMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formEERData.specificPowerMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { Inject, Options, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport store from \"@/trust-atcs-app/store\";\nimport { EventEmitter } from \"events\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport RadioButtonHorizontal from \"../questions/radiobutton-horizontal/index.vue\";\nimport RadioButtonVertical from \"../questions/radiobutton-vertical/index.vue\";\nimport { EeReport, EeReportSpecificPowerMoney } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { FormEERData } from \"@/trust-atcs-app/models/form-eer-data\";\nimport RadioButtonSubQuestions from \"../questions/radiobutton-subquestions/index.vue\";\n\n@Options({\n components: {\n LoadingSpinner,\n RadioButtonHorizontal,\n RadioButtonVertical,\n RadioButtonSubQuestions\n },\n emits: ['update:isSectionLoading', 'validForm'],\n mixins: [FormatDateTimeMixin],\n})\nexport default class FormEerSpecificPowerMoney extends Vue {\n\n @Prop({ default: false })\n private isSectionLoading!: boolean;\n\n @Prop({ default: {} })\n private formEERData!: FormEERData;\n\n @Watch('loadingContent')\n private sectionLoading() {\n this.$emit('update:isSectionLoading', this.loadingContent);\n }\n\n private ai = new AppInsights;\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private validMainQuestions: boolean[] = [];\n private specificPowerMoney: EeReportSpecificPowerMoney = null as any;\n\n mounted(): void {\n this.eventCtrl.on('reload-form-eer-spm-content', this.loadSpecificPowerMoneyContent);\n // this.loadingContent = true;\n this.loadSpecificPowerMoneyContent();\n this.$emit('validForm', false);\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-form-eer-spm-content', this.loadSpecificPowerMoneyContent);\n }\n\n private async loadSpecificPowerMoneyContent(): Promise {\n try {\n this.loadingContent = true;\n const resp: any = await this.apiService.EeReportApi?.apiV2EeReportGetSpecificPowerMoneyPost({\n complianceFormId: this.complianceFormEER.id,\n updatingKey: this.updatingKey,\n });\n this.specificPowerMoney = resp.data.data as EeReportSpecificPowerMoney;\n this.formEERData.specificPowerMoney = this.specificPowerMoney as any;\n // Sort atcsMainQuestions by order number\n this.formEERData.specificPowerMoney.atcsMainQuestions = this.formEERData.specificPowerMoney.atcsMainQuestions.sort((a: any, b: any) => a.order - b.order);\n // Sort atcsSubQuestions by order number\n this.formEERData.specificPowerMoney.atcsMainQuestions.forEach((q: any) => {\n q.atcsSubQuestions = q.atcsSubQuestions.sort((a: any, b: any) => a.order - b.order);\n });\n // Sort response by order number\n this.formEERData.specificPowerMoney.atcsMainQuestions.forEach((q: any) => {\n q.responses = q.responses.sort((a: any, b: any) => a.order - b.order);\n });\n\n this.validMainQuestions = this.formEERData.specificPowerMoney.atcsMainQuestions.map((q: any) => false);\n // set atcsMainQuestions.questionTypeId == 1 to true\n this.formEERData.specificPowerMoney.atcsMainQuestions.forEach((q: any, i: number) => {\n if (q.atcsQuestionTypeId == 1) {\n this.validMainQuestions[i] = true;\n }\n });\n\n // add valid flag to each bank account\n // this.formEERData.controlledMoney.atcsMainQuestions.forEach((q: any, i: number) => {\n\n // if (q.atcsQuestionTypeId == 19) {\n // this.formEERData.controlledMoney.atcsMainQuestions[i].formPracticeAccountQuestions =\n // this.formEERData.controlledMoney.atcsMainQuestions[i].formPracticeAccountQuestions ?? [];\n // }\n\n // if (q.atcsQuestionTypeId == 20) {\n // this.formEERData.controlledMoney.atcsMainQuestions[i].formPracticeSignatoryQuestions =\n // this.formEERData.controlledMoney.atcsMainQuestions[i].formPracticeSignatoryQuestions ?? [];\n // }\n\n // if (q.formPracticeAccountQuestions) {\n // q.formPracticeAccountQuestions.forEach((b: any) => {\n // b.valid = this.isValidBankAccount(b);\n // });\n // }\n // });\n\n // // add valid flag to each signatory\n // this.formEERData.generalTrustMoney.atcsMainQuestions.forEach((q: any) => {\n // if (q.formPracticeSignatoryQuestions) {\n // q.formPracticeSignatoryQuestions.forEach((s: any) => {\n // s.valid = this.isValidSignatory(s);\n // });\n // }\n // });\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting Specific Power Money');\n this.ai.trackException('Error getting Specific Power Money: ' + err);\n this.errorLoadingContent = true;\n console.log(err);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private validForm(): boolean {\n const allTrue = Object.values(this.validMainQuestions).every(value => value === true);\n return allTrue;\n }\n\n private validationForm(i: any, isValid: any) {\n this.validMainQuestions[i] = isValid;\n this.$emit('validForm', this.validForm());\n }\n\n get complianceFormEER(): EeReport {\n return store.getters.getSelectedComplianceFormEER;\n }\n\n get updatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n}\n","import { render } from \"./form-eer-specific-power-money.html?vue&type=template&id=ed6c4f6c&scoped=true&ts=true&external\"\nimport script from \"./form-eer-specific-power-money.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-eer-specific-power-money.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-eer-specific-power-money.scss?vue&type=style&index=0&id=ed6c4f6c&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ed6c4f6c\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-612e4efc\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-eer-investment-money\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"mt-3 mb-3\" }, \"D. Investment Money\", -1))\nconst _hoisted_3 = {\n key: 0,\n class: \"questions-main\"\n}\nconst _hoisted_4 = {\n key: 0,\n class: \"sub-heading\"\n}\n\nexport function render(_ctx, _cache) {\n const _component_RadioButtonHorizontal = _resolveComponent(\"RadioButtonHorizontal\")\n const _component_RadioButtonVertical = _resolveComponent(\"RadioButtonVertical\")\n const _component_RadioButtonSubQuestions = _resolveComponent(\"RadioButtonSubQuestions\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (!_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_2,\n (_ctx.formEERData?.investmentMoney?.atcsMainQuestions?.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.formEERData.investmentMoney.atcsMainQuestions, (q, i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (q.atcsQuestionTypeId==1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _toDisplayString(q.wording), 1))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==10)\n ? (_openBlock(), _createBlock(_component_RadioButtonHorizontal, {\n key: 1,\n class: \"mt-3 mb-3\",\n question: _ctx.formEERData.investmentMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formEERData.investmentMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==11)\n ? (_openBlock(), _createBlock(_component_RadioButtonVertical, {\n key: 2,\n class: \"mt-3 mb-3\",\n question: _ctx.formEERData.investmentMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formEERData.investmentMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==16)\n ? (_openBlock(), _createBlock(_component_RadioButtonSubQuestions, {\n key: 3,\n class: \"mt-3 mb-3\",\n question: _ctx.formEERData.investmentMoney.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formEERData.investmentMoney.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { Inject, Options, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport store from \"@/trust-atcs-app/store\";\nimport { EventEmitter } from \"events\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport RadioButtonHorizontal from \"../questions/radiobutton-horizontal/index.vue\";\nimport RadioButtonVertical from \"../questions/radiobutton-vertical/index.vue\";\nimport { EeReport, EeReportSpecificPowerMoney } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { FormEERData } from \"@/trust-atcs-app/models/form-eer-data\";\nimport RadioButtonSubQuestions from \"../questions/radiobutton-subquestions/index.vue\";\n\n@Options({\n components: {\n LoadingSpinner,\n RadioButtonHorizontal,\n RadioButtonVertical,\n RadioButtonSubQuestions\n },\n emits: ['update:isSectionLoading', 'validForm'],\n mixins: [FormatDateTimeMixin],\n})\nexport default class FormEerInvestmentMoney extends Vue {\n\n\n @Prop({ default: false })\n private isSectionLoading!: boolean;\n\n @Prop({ default: {} })\n private formEERData!: FormEERData;\n\n @Watch('loadingContent')\n private sectionLoading() {\n this.$emit('update:isSectionLoading', this.loadingContent);\n }\n\n private ai = new AppInsights;\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private validMainQuestions: boolean[] = [];\n private investmentMoney: EeReportSpecificPowerMoney = null as any;\n\n mounted(): void {\n this.eventCtrl.on('reload-form-eer-im-content', this.loadInvestmentMoneyMoneyContent);\n // this.loadingContent = true;\n this.loadInvestmentMoneyMoneyContent();\n this.$emit('validForm', false);\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-form-eer-im-content', this.loadInvestmentMoneyMoneyContent);\n }\n\n private async loadInvestmentMoneyMoneyContent(): Promise {\n try {\n this.loadingContent = true;\n const resp: any = await this.apiService.EeReportApi?.apiV2EeReportGetInvestmentMoneyPost({\n complianceFormId: this.complianceFormEER.id,\n updatingKey: this.updatingKey,\n });\n this.investmentMoney = resp.data.data as EeReportSpecificPowerMoney;\n this.formEERData.investmentMoney = this.investmentMoney as any;\n\n // Sort atcsMainQuestions by order number\n this.formEERData.investmentMoney.atcsMainQuestions = this.formEERData.investmentMoney.atcsMainQuestions.sort((a: any, b: any) => a.order - b.order);\n // Sort atcsSubQuestions by order number\n this.formEERData.investmentMoney.atcsMainQuestions.forEach((q: any) => {\n q.atcsSubQuestions = q.atcsSubQuestions.sort((a: any, b: any) => a.order - b.order);\n });\n // Sort response by order number\n this.formEERData.investmentMoney.atcsMainQuestions.forEach((q: any) => {\n q.responses = q.responses.sort((a: any, b: any) => a.order - b.order);\n });\n\n this.validMainQuestions = this.formEERData.investmentMoney.atcsMainQuestions.map((q: any) => false);\n // set atcsMainQuestions.qutionTypeId == 1 to true\n this.formEERData.investmentMoney.atcsMainQuestions.forEach((q: any, i: number) => {\n if (q.atcsQuestionTypeId == 1) {\n this.validMainQuestions[i] = true;\n }\n });\n\n // add valid flag to each bank account\n // this.formEERData.controlledMoney.atcsMainQuestions.forEach((q: any, i: number) => {\n\n // if (q.atcsQuestionTypeId == 19) {\n // this.formEERData.controlledMoney.atcsMainQuestions[i].formPracticeAccountQuestions =\n // this.formEERData.controlledMoney.atcsMainQuestions[i].formPracticeAccountQuestions ?? [];\n // }\n\n // if (q.atcsQuestionTypeId == 20) {\n // this.formEERData.controlledMoney.atcsMainQuestions[i].formPracticeSignatoryQuestions =\n // this.formEERData.controlledMoney.atcsMainQuestions[i].formPracticeSignatoryQuestions ?? [];\n // }\n\n // if (q.formPracticeAccountQuestions) {\n // q.formPracticeAccountQuestions.forEach((b: any) => {\n // b.valid = this.isValidBankAccount(b);\n // });\n // }\n // });\n\n // // add valid flag to each signatory\n // this.formEERData.generalTrustMoney.atcsMainQuestions.forEach((q: any) => {\n // if (q.formPracticeSignatoryQuestions) {\n // q.formPracticeSignatoryQuestions.forEach((s: any) => {\n // s.valid = this.isValidSignatory(s);\n // });\n // }\n // });\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting Investment Money');\n this.ai.trackException('Error getting Investment Money: ' + err);\n this.errorLoadingContent = true;\n console.log(err);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private validForm(): boolean {\n const allTrue = Object.values(this.validMainQuestions).every(value => value === true);\n return allTrue;\n }\n\n private validationForm(i: any, isValid: any) {\n this.validMainQuestions[i] = isValid;\n this.$emit('validForm', this.validForm());\n }\n\n get complianceFormEER(): EeReport {\n return store.getters.getSelectedComplianceFormEER;\n }\n\n get updatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n}\n\n","import { render } from \"./form-eer-investment-money.html?vue&type=template&id=612e4efc&scoped=true&ts=true&external\"\nimport script from \"./form-eer-investment-money.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-eer-investment-money.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-eer-investment-money.scss?vue&type=style&index=0&id=612e4efc&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-612e4efc\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3c278b18\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-eer-other-information\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"mt-3 mb-3\" }, \"E. Other Information\", -1))\nconst _hoisted_3 = {\n key: 0,\n class: \"questions-main\"\n}\nconst _hoisted_4 = {\n key: 0,\n class: \"sub-heading\"\n}\n\nexport function render(_ctx, _cache) {\n const _component_RadioButtonHorizontal = _resolveComponent(\"RadioButtonHorizontal\")\n const _component_RadioButtonVertical = _resolveComponent(\"RadioButtonVertical\")\n const _component_RadioButtonSubQuestions = _resolveComponent(\"RadioButtonSubQuestions\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (!_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_2,\n (_ctx.formEERData?.otherInformation?.atcsMainQuestions?.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.formEERData.otherInformation.atcsMainQuestions, (q, i) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (q.atcsQuestionTypeId==1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _toDisplayString(q.wording), 1))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==10)\n ? (_openBlock(), _createBlock(_component_RadioButtonHorizontal, {\n key: 1,\n class: \"mt-3 mb-3\",\n question: _ctx.formEERData.otherInformation.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formEERData.otherInformation.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==11)\n ? (_openBlock(), _createBlock(_component_RadioButtonVertical, {\n key: 2,\n class: \"mt-3 mb-3\",\n question: _ctx.formEERData.otherInformation.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formEERData.otherInformation.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true),\n (q.atcsQuestionTypeId==16)\n ? (_openBlock(), _createBlock(_component_RadioButtonSubQuestions, {\n key: 3,\n class: \"mt-3 mb-3\",\n question: _ctx.formEERData.otherInformation.atcsMainQuestions[i],\n \"onUpdate:question\": $event => ((_ctx.formEERData.otherInformation.atcsMainQuestions[i]) = $event),\n onValidForm: $event => (_ctx.validationForm(i, $event))\n }, null, 8, [\"question\", \"onUpdate:question\", \"onValidForm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256))\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { Inject, Options, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport store from \"@/trust-atcs-app/store\";\nimport { EventEmitter } from \"events\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport RadioButtonHorizontal from \"../questions/radiobutton-horizontal/index.vue\";\nimport RadioButtonVertical from \"../questions/radiobutton-vertical/index.vue\";\nimport { EeReportSpecificPowerMoney, EeReport, EeReportOtherInformation } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { FormEERData } from \"@/trust-atcs-app/models/form-eer-data\";\nimport RadioButtonSubQuestions from \"../questions/radiobutton-subquestions/index.vue\";\n\n@Options({\n components: {\n LoadingSpinner,\n RadioButtonHorizontal,\n RadioButtonVertical,\n RadioButtonSubQuestions\n },\n emits: ['update:isSectionLoading', 'validForm'],\n mixins: [FormatDateTimeMixin],\n})\nexport default class FormEerOtherInformation extends Vue {\n\n @Prop({ default: false })\n private isSectionLoading!: boolean;\n\n @Prop({ default: {} })\n private formEERData!: FormEERData;\n\n @Watch('loadingContent')\n private sectionLoading() {\n this.$emit('update:isSectionLoading', this.loadingContent);\n }\n\n private ai = new AppInsights;\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private validMainQuestions: boolean[] = [];\n private otherInformation: EeReportOtherInformation = null as any;\n\n mounted(): void {\n this.eventCtrl.on('reload-form-eer-oi-content', this.loadOtherInformationContent);\n // this.loadingContent = true;\n this.loadOtherInformationContent();\n this.$emit('validForm', false);\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-form-eer-oi-content', this.loadOtherInformationContent);\n }\n\n private async loadOtherInformationContent(): Promise {\n try {\n this.loadingContent = true;\n const resp: any = await this.apiService.EeReportApi?.apiV2EeReportGetOtherInformationPost({\n complianceFormId: this.complianceFormEER.id,\n updatingKey: this.updatingKey,\n });\n this.otherInformation = resp.data.data as EeReportSpecificPowerMoney;\n this.formEERData.otherInformation = this.otherInformation as any;\n\n // Sort atcsMainQuestions by order number\n this.formEERData.otherInformation.atcsMainQuestions = this.formEERData.otherInformation.atcsMainQuestions.sort((a: any, b: any) => a.order - b.order);\n // Sort atcsSubQuestions by order number\n this.formEERData.otherInformation.atcsMainQuestions.forEach((q: any) => {\n q.atcsSubQuestions = q.atcsSubQuestions.sort((a: any, b: any) => a.order - b.order);\n });\n // Sort response by order number\n this.formEERData.otherInformation.atcsMainQuestions.forEach((q: any) => {\n q.responses = q.responses.sort((a: any, b: any) => a.order - b.order);\n });\n\n this.validMainQuestions = this.formEERData.otherInformation.atcsMainQuestions.map((q: any) => false);\n // set atcsMainQuestions.qutionTypeId == 1 to true\n this.formEERData.otherInformation.atcsMainQuestions.forEach((q: any, i: number) => {\n if (q.atcsQuestionTypeId == 1) {\n this.validMainQuestions[i] = true;\n }\n });\n\n // add valid flag to each bank account\n // this.formEERData.controlledMoney.atcsMainQuestions.forEach((q: any, i: number) => {\n\n // if (q.atcsQuestionTypeId == 19) {\n // this.formEERData.controlledMoney.atcsMainQuestions[i].formPracticeAccountQuestions =\n // this.formEERData.controlledMoney.atcsMainQuestions[i].formPracticeAccountQuestions ?? [];\n // }\n\n // if (q.atcsQuestionTypeId == 20) {\n // this.formEERData.controlledMoney.atcsMainQuestions[i].formPracticeSignatoryQuestions =\n // this.formEERData.controlledMoney.atcsMainQuestions[i].formPracticeSignatoryQuestions ?? [];\n // }\n\n // if (q.formPracticeAccountQuestions) {\n // q.formPracticeAccountQuestions.forEach((b: any) => {\n // b.valid = this.isValidBankAccount(b);\n // });\n // }\n // });\n\n // // add valid flag to each signatory\n // this.formEERData.generalTrustMoney.atcsMainQuestions.forEach((q: any) => {\n // if (q.formPracticeSignatoryQuestions) {\n // q.formPracticeSignatoryQuestions.forEach((s: any) => {\n // s.valid = this.isValidSignatory(s);\n // });\n // }\n // });\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting Other Information page');\n this.ai.trackException('Error getting Other Information page: ' + err);\n this.errorLoadingContent = true;\n console.log(err);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private validForm(): boolean {\n const allTrue = Object.values(this.validMainQuestions).every(value => value === true);\n return allTrue;\n }\n\n private validationForm(i: any, isValid: any) {\n this.validMainQuestions[i] = isValid;\n this.$emit('validForm', this.validForm());\n }\n\n get complianceFormEER(): EeReport {\n return store.getters.getSelectedComplianceFormEER;\n }\n\n get updatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n}\n\n","import { render } from \"./form-eer-other-information.html?vue&type=template&id=3c278b18&scoped=true&ts=true&external\"\nimport script from \"./form-eer-other-information.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-eer-other-information.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-eer-other-information.scss?vue&type=style&index=0&id=3c278b18&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3c278b18\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, vModelText as _vModelText, withDirectives as _withDirectives, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createStaticVNode as _createStaticVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-43202e7e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-eer-declaration\" }\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"

Declaration

By clicking “Submit” I declare that:

The contents of this submission are true and correct; and

I have read the Personal Information Collection Notice and consent to The Law Society of New South Wales collection, use and disclosure of information in accordance with that Notice.

Additional Information (Optional)

Information provided below does not form part of the External Examiner Report and will not be disclosed to the law practice:

Is there anything you would like to bring to the attention of the Law Society in confidence?

\", 7)\nconst _hoisted_9 = {\n class: \"textarea_box\",\n style: {\"width\":\"100%\"}\n}\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \" I confirm that I meet the criteria for appointment as an external examiner within the meaning of rule 65 of the Uniform Rules and has completed a course of education approved by the Legal Services Council being: \", -1))\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Completer:\", -1))\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Submission date:\", -1))\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (!_ctx.loadingContent && !_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_2,\n _createElementVNode(\"div\", _hoisted_9, [\n _withDirectives(_createElementVNode(\"textarea\", {\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.declarationContent.additionalInformation) = $event)),\n style: {\"border\":\"1px solid #aaa\",\"height\":\"130px\",\"resize\":\"vertical\",\"width\":\"100%\"},\n maxlength: 5000,\n placeholder: \"Enter reason\",\n onKeyup: _cache[1] || (_cache[1] = $event => (_ctx.checkCanGoNext()))\n }, null, 544), [\n [_vModelText, _ctx.declarationContent.additionalInformation]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [_ctx.additionalInfo?.length === 5000 ? 'full' : '']])\n }, _toDisplayString(_ctx.declarationContent.additionalInformation?.length || 0) + \"/5000 characters \", 3)\n ]),\n _hoisted_10,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.membershipType), 1),\n _hoisted_11,\n _hoisted_12,\n _hoisted_13,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.completer), 1),\n _hoisted_14,\n _hoisted_15,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.$formatDateFullDate(new Date())), 1)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { Emit, Inject, Options, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport store from \"@/trust-atcs-app/store\";\nimport { EventEmitter } from \"events\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { FormEERData } from \"@/trust-atcs-app/models/form-eer-data\";\nimport { EeReport, EeReportDeclaration } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { AuthorizedUser } from \"@/trust-atcs-app/models/authorized-user\";\n\n@Options({\n components: {\n LoadingSpinner,\n },\n mixins: [FormatDateTimeMixin],\n})\nexport default class FormEerDeclaration extends Vue {\n\n @Prop({ default: false })\n private isSectionLoading!: boolean;\n\n @Prop({ default: {} })\n private formEERData!: FormEERData;\n\n @Emit('update:isSectionLoading')\n\n @Watch('loadingContent')\n private sectionLoading() {\n this.$emit('update:isSectionLoading', this.loadingContent);\n }\n\n private ai = new AppInsights;\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private additionalInfo = '';\n private declarationContent: EeReportDeclaration = {}\n\n mounted(): void {\n this.$emit('validForm', false);\n this.eventCtrl.on('reload-form-eer-declaration-content', this.loadDeclarationContent);\n this.loadDeclarationContent();\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-form-eer-declaration-content', this.loadDeclarationContent);\n }\n\n private async loadDeclarationContent(): Promise {\n try {\n this.loadingContent = true;\n const resp: any = await this.apiService.EeReportApi?.apiV2EeReportGetDeclarationPost({\n complianceFormId: this.complianceFormEER.id,\n updatingKey: this.updatingKey,\n });\n this.declarationContent = resp.data.data as EeReportDeclaration;\n this.formEERData.declarationDetails = this.declarationContent;\n this.checkCanGoNext();\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting declaration details');\n this.ai.trackException('Error getting declaration details: ' + err);\n this.errorLoadingContent = true;\n console.log(err);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private checkCanGoNext(): void {\n // const canGoNext = this.declarationContent.additionalInformation?.length > 0;\n this.$emit('validForm', true);\n }\n\n get complianceFormEER(): EeReport {\n return store.getters.getSelectedComplianceFormEER;\n }\n\n get updatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n get completer(): string {\n try {\n return this.userAccount?.user?.firstName + ' ' + this.userAccount?.user?.lastName + ' of ' + this.declarationContent?.externalExaminer?.firmName;\n } catch (err) {\n console.log(err);\n return '';\n }\n }\n\n get membershipType(): string {\n // TODO: Implement this\n return this.declarationContent?.externalExaminer?.eeMembershipType?.name;\n }\n\n get userAccount(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n\n}\n","import { render } from \"./form-eer-declaration.html?vue&type=template&id=43202e7e&scoped=true&ts=true&external\"\nimport script from \"./form-eer-declaration.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-eer-declaration.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-eer-declaration.scss?vue&type=style&index=0&id=43202e7e&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-43202e7e\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-d9a9320c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-eer-confirmation\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"mt-3 mb-3\" }, \"Confirmation\", -1))\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"confirmation-header\" }, \" Your submission was successfully received. \", -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"body\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", null, \"You will receive a confirmation email in your inbox shortly.\"),\n /*#__PURE__*/_createElementVNode(\"p\"),\n /*#__PURE__*/_createElementVNode(\"div\", null, [\n /*#__PURE__*/_createTextVNode(\"If you have questions, please \"),\n /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://www.lawsociety.com.au/contact-us\",\n target: \"_blank\",\n class: \"link\"\n }, \"contact us\"),\n /*#__PURE__*/_createTextVNode(\".\")\n ])\n], -1))\nconst _hoisted_5 = [\n _hoisted_2,\n _hoisted_3,\n _hoisted_4\n]\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, _hoisted_5))\n}","import { Options, Prop, Vue } from \"vue-property-decorator\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\n\n@Options({\n components: {\n LoadingSpinner,\n },\n emits: ['update:isSectionLoading'],\n mixins: [FormatDateTimeMixin],\n})\nexport default class FormEerConfirmation extends Vue {\n @Prop({ default: false })\n private isSectionLoading!: boolean;\n\n\n \n mounted(): void {\n this.$emit('update:isSectionLoading', false);\n }\n\n}\n","import { render } from \"./form-eer-confirmation.html?vue&type=template&id=d9a9320c&scoped=true&ts=true&external\"\nimport script from \"./form-eer-confirmation.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-eer-confirmation.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-eer-confirmation.scss?vue&type=style&index=0&id=d9a9320c&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-d9a9320c\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, vModelRadio as _vModelRadio, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, vModelText as _vModelText, resolveComponent as _resolveComponent, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6810404e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"form-eer-breaches\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", null, \"Breaches\", -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_5 = { class: \"radiobutton-horizontal ml-4\" }\nconst _hoisted_6 = { class: \"radio ml-0\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt mt-2 mb-2\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"Yes\")\n], -1))\nconst _hoisted_8 = { class: \"radio\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"radio-elmt mt-2 mb-2\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-text\" }, \"No\")\n], -1))\nconst _hoisted_10 = { key: 0 }\nconst _hoisted_11 = { class: \"ls-table ml-4\" }\nconst _hoisted_12 = [\"onClick\"]\nconst _hoisted_13 = { class: \"text\" }\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-up\" }, null, -1))\nconst _hoisted_15 = [\n _hoisted_14\n]\nconst _hoisted_16 = { \"data-label\": \"Name\" }\nconst _hoisted_17 = { \"data-label\": \"Breach code\" }\nconst _hoisted_18 = { \"data-label\": \"Legislation\" }\nconst _hoisted_19 = { \"data-label\": \"Description\" }\nconst _hoisted_20 = { \"data-label\": \"Action\" }\nconst _hoisted_21 = [\"onClick\"]\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-trash\" }, null, -1))\nconst _hoisted_23 = [\n _hoisted_22\n]\nconst _hoisted_24 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", { style: {\"margin-bottom\":\"0.5rem\"} }, \"For the breaches reported above, please add any comments below:\", -1))\nconst _hoisted_25 = { class: \"textarea_box ml-4\" }\n\nexport function render(_ctx, _cache) {\n const _component_AddBreachesModal = _resolveComponent(\"AddBreachesModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _hoisted_2,\n _hoisted_3,\n _hoisted_4,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"questions-main\", _ctx.checkCanGoNext() ? 'answered' : ''])\n }, [\n _createElementVNode(\"h4\", null, _toDisplayString(_ctx.newWording), 1),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"label\", _hoisted_6, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"breaches\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.selectedOption) = $event)),\n value: 1\n }, null, 512), [\n [_vModelRadio, _ctx.selectedOption]\n ]),\n _hoisted_7\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"breaches\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.selectedOption) = $event)),\n value: 2\n }, null, 512), [\n [_vModelRadio, _ctx.selectedOption]\n ]),\n _hoisted_9\n ])\n ]),\n (_ctx.selectedOption === 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _createElementVNode(\"table\", _hoisted_11, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", {\n class: _normalizeClass([ h.sortable ? 'sortable' : '']),\n onClick: $event => (_ctx.sortTableColumn(index, h.sortable))\n }, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(h.text), 1),\n (h.sortable)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([ _ctx.activeSortHeader === index ? 'active' : '', _ctx.sortMethod])\n }, _hoisted_15, 2))\n : _createCommentVNode(\"\", true)\n ])\n ], 10, _hoisted_12))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.breachesListDisplay, (b, index) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_16, _toDisplayString(b.breachType?.name), 1),\n _createElementVNode(\"td\", _hoisted_17, _toDisplayString(b.breachCode), 1),\n _createElementVNode(\"td\", _hoisted_18, _toDisplayString(b.legislation), 1),\n _createElementVNode(\"td\", _hoisted_19, _toDisplayString(b.description), 1),\n _createElementVNode(\"td\", _hoisted_20, [\n _createElementVNode(\"button\", {\n class: \"btn-icon btn-secondary sml\",\n onClick: $event => (_ctx.removeBreach(index))\n }, _hoisted_23, 8, _hoisted_21)\n ])\n ]))\n }), 256))\n ])\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary ma-4\",\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.showAddBreachesModal = true))\n }, \"Search and add breach\"),\n _hoisted_24,\n _createElementVNode(\"div\", _hoisted_25, [\n _withDirectives(_createElementVNode(\"textarea\", {\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => ((_ctx.breaches.breachesComment) = $event)),\n style: {\"border\":\"1px solid #aaa\",\"height\":\"130px\",\"resize\":\"vertical\",\"width\":\"100%\"},\n maxlength: 5000,\n placeholder: \"External Examiner comments\",\n onKeyup: _cache[4] || (_cache[4] = $event => (_ctx.checkCanGoNext()))\n }, null, 544), [\n [_vModelText, _ctx.breaches.breachesComment]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [_ctx.breaches.breachesComment?.length === 5000 ? 'full' : '']])\n }, _toDisplayString(_ctx.breaches.breachesComment?.length || 0) + \"/5000 characters \", 3)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n (_ctx.showAddBreachesModal)\n ? (_openBlock(), _createBlock(_component_AddBreachesModal, {\n key: 0,\n onClose: _cache[5] || (_cache[5] = $event => (_ctx.showAddBreachesModal = false)),\n breaches: _ctx.breaches.breaches,\n \"onUpdate:breaches\": _cache[6] || (_cache[6] = $event => ((_ctx.breaches.breaches) = $event)),\n onAddBreaches: _cache[7] || (_cache[7] = $event => (_ctx.addBreaches()))\n }, null, 8, [\"breaches\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, vModelText as _vModelText, withDirectives as _withDirectives, vModelCheckbox as _vModelCheckbox, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createVNode as _createVNode, withModifiers as _withModifiers, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0a53aa28\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"add-breaches-modal\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"heading-text\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"line1\" }, \"Add breach\")\n], -1))\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"List of breaches\", -1))\nconst _hoisted_4 = { class: \"search-inputs\" }\nconst _hoisted_5 = { class: \"search-bar\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon-hm\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-filter fa-lg\" })\n], -1))\nconst _hoisted_7 = { class: \"checkbox-button ml-2 mr-2\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", {\n class: \"checkmark-box\",\n style: {\"align-self\":\"center\"}\n }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Rule breaches\")\n], -1))\nconst _hoisted_9 = { class: \"checkbox-button ml-4\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", {\n class: \"checkmark-box\",\n style: {\"align-self\":\"center\"}\n }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Law breaches\")\n], -1))\nconst _hoisted_11 = { class: \"ls-table\" }\nconst _hoisted_12 = [\"onClick\"]\nconst _hoisted_13 = { class: \"text\" }\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-angle-up\" }, null, -1))\nconst _hoisted_15 = [\n _hoisted_14\n]\nconst _hoisted_16 = { key: 0 }\nconst _hoisted_17 = [\"colspan\"]\nconst _hoisted_18 = { key: 1 }\nconst _hoisted_19 = [\"colspan\"]\nconst _hoisted_20 = { key: 2 }\nconst _hoisted_21 = [\"colspan\"]\nconst _hoisted_22 = { \"data-label\": \"Name\" }\nconst _hoisted_23 = { \"data-label\": \"Breach code\" }\nconst _hoisted_24 = { \"data-label\": \"Legislation\" }\nconst _hoisted_25 = { \"data-label\": \"Description\" }\nconst _hoisted_26 = { \"data-label\": \"Action\" }\nconst _hoisted_27 = [\"disabled\", \"onUpdate:modelValue\"]\nconst _hoisted_28 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", {\n class: \"checkmark-box\",\n style: {\"align-self\":\"center\"}\n }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ])\n], -1))\nconst _hoisted_29 = { class: \"controls mt-4\" }\nconst _hoisted_30 = [\"disabled\"]\nconst _hoisted_31 = [\"disabled\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ErrorIndicator = _resolveComponent(\"ErrorIndicator\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n halfScreen: false,\n onClose: _cache[5] || (_cache[5] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _hoisted_2\n ]),\n body: _withCtx(() => [\n (_ctx.isLoading)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _hoisted_3,\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.searchKeyword) = $event)),\n placeholder: \"Filter breaches by keyword\"\n }, null, 512), [\n [_vModelText, _ctx.searchKeyword]\n ]),\n _hoisted_6\n ]),\n _createElementVNode(\"label\", _hoisted_7, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.showRuleBreachesOnly) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.showRuleBreachesOnly]\n ]),\n _hoisted_8\n ]),\n _createElementVNode(\"label\", _hoisted_9, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.showLawBreachesOnly) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.showLawBreachesOnly]\n ]),\n _hoisted_10\n ])\n ]),\n _createElementVNode(\"table\", _hoisted_11, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableHeadings, (h, index) => {\n return (_openBlock(), _createElementBlock(\"th\", {\n class: _normalizeClass([ h.sortable ? 'sortable' : '']),\n onClick: $event => (_ctx.sortTableColumn(index, h.sortable))\n }, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(h.text), 1),\n (h.sortable)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([ _ctx.activeSortHeader === index ? 'active' : '', _ctx.sortMethod])\n }, _hoisted_15, 2))\n : _createCommentVNode(\"\", true)\n ])\n ], 10, _hoisted_12))\n }), 256))\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_16, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_LoadingIndicator)\n ], 8, _hoisted_17)\n ]))\n : (_ctx.errorLoadingContent)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_18, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, [\n _createVNode(_component_ErrorIndicator)\n ], 8, _hoisted_19)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.breachesListDisplay.length == 0 && _ctx.searchKeyword.length > 0)\n ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_20, [\n _createElementVNode(\"td\", {\n colspan: _ctx.tableHeadings.length\n }, \"No Records\", 8, _hoisted_21)\n ]))\n : (!_ctx.loadingContent && !_ctx.errorLoadingContent && _ctx.breachesListDisplay.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 3 }, _renderList(_ctx.applyFilter(_ctx.breachesListDisplay), (b) => {\n return (_openBlock(), _createElementBlock(\"tr\", null, [\n _createElementVNode(\"td\", _hoisted_22, _toDisplayString(b.type), 1),\n _createElementVNode(\"td\", _hoisted_23, _toDisplayString(b.breachCode), 1),\n _createElementVNode(\"td\", _hoisted_24, _toDisplayString(b.legislation), 1),\n _createElementVNode(\"td\", _hoisted_25, _toDisplayString(b.description), 1),\n _createElementVNode(\"td\", _hoisted_26, [\n _createElementVNode(\"label\", {\n class: _normalizeClass([\"checkbox-button\", _ctx.isDuplicated(b.refNumber) ? 'disabled' : ''])\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n disabled: _ctx.isDuplicated(b.refNumber),\n \"onUpdate:modelValue\": $event => ((b.isSelected) = $event)\n }, null, 8, _hoisted_27), [\n [_vModelCheckbox, b.isSelected]\n ]),\n _hoisted_28\n ], 2)\n ])\n ]))\n }), 256))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ], 64))\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_29, [\n (_ctx.submitting)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-outline\",\n disabled: _ctx.submitting,\n onClick: _cache[3] || (_cache[3] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\",\"stop\"]))\n }, \" Cancel \", 8, _hoisted_30),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary ml-2\",\n disabled: _ctx.submitting,\n onClick: _cache[4] || (_cache[4] = _withModifiers($event => (_ctx.submit()), [\"prevent\",\"stop\"]))\n }, \" Add \", 8, _hoisted_31)\n ])\n ]),\n _: 1\n })\n ]))\n}","import { Inject, Options, Vue } from \"vue-property-decorator\";\nimport ErrorIndicator from \"@/shared/components/error-indicator/index.vue\";\nimport LoadingIndicator from \"@/shared/components/loading-indicator/index.vue\";\nimport ModalBox from \"@/shared/components/modal-box/index.vue\";\nimport { TABreachView } from \"@/shared/modules/typescript-trust-ti-api-client/models\";\nimport { orderBy } from \"lodash\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-atcs-app/store\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\n\n@Options({\n props: {\n breaches: Array,\n },\n components: {\n ModalBox,\n LoadingIndicator,\n ErrorIndicator,\n },\n emits: ['update:breaches', 'close', 'addBreaches'],\n})\nexport default class AddBreachesModal extends Vue {\n private breaches!: any[];\n\n private ai = new AppInsights;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private isLoading = false;\n private errorLoadingData = false;\n\n private submitting = false;\n private searchKeyword = \"\";\n private breachesList: TABreachView[] = [];\n private breachesListDisplay: any[] = [];\n\n private showRuleBreachesOnly = true;\n private showLawBreachesOnly = true;\n private sortMethod = 'desc';\n private activeSortHeader = 1;\n\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private tableHeadings = [\n { text: 'Type', value: 'breachType', sortable: false, sortMethod: 'asc' },\n { text: 'Breach code', value: 'breachCode', sortable: true, sortMethod: 'acs' },\n { text: 'Legislation', value: 'legislation', sortable: true, sortMethod: 'asc' },\n { text: 'Description', value: 'description', sortable: false, sortMethod: 'acs' },\n { text: 'Action', value: '', sortable: false, sortMethod: 'acs' },\n ]\n\n mounted(): void {\n this.preloadData();\n }\n\n private async preloadData(): Promise {\n this.loadingContent = true;\n const _body = {\n keyword: '',\n ruleBreaches: true,\n lawBreaches: true\n }\n\n await this.apiService.CodeApi?.apiV2CodeGetBreachesPost()\n .then(res => {\n this.breachesList = res.data.data;\n this.breachesListDisplay = this.breachesList;\n for (let b = 0; b < this.breachesList.length; b++) {\n this.breachesListDisplay[b].type = this.breachesList[b].breachType.name;\n this.breachesListDisplay[b].isSelected = false;\n }\n // set existing breaches to selected\n if (this.breaches != null && this.breaches.length > 0) {\n for (let i = 0; i < this.breaches.length; i++) {\n const _b = this.breachesListDisplay.filter((b: any) => {\n return b.id == this.breaches[i].id;\n })\n if (_b.length > 0) {\n _b[0].isSelected = true;\n }\n }\n }\n // this.sortTableColumn(this.activeSortHeader, true);\n this.loadingContent = false;\n })\n .catch(err => {\n this.loadingContent = false;\n this.errorLoadingContent = true;\n this.ai.trackException('Error getting breaches list: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting breaches list');\n })\n }\n\n private applyFilter(list: any) {\n const _keyword = this.searchKeyword.toLowerCase();\n const _b = list.filter((b: any) => {\n return (b.description.toLowerCase().indexOf(_keyword) >= 0\n || (b.legislation != null && b.legislation.toLowerCase().indexOf(_keyword) >= 0)\n || b.breachCode.toLowerCase().indexOf(_keyword) >= 0)\n && ((this.showRuleBreachesOnly && b.breachType.id == 1) || (this.showLawBreachesOnly && b.breachType.id == 2));\n })\n return _b;\n }\n\n private isDuplicated(refNumber: string): boolean {\n if (this.breaches == null || this.breaches.length == 0) return false;\n const _existingBreaches = this.breaches.filter((b: any) => {\n return b.refNumber == refNumber;\n })\n return _existingBreaches.length > 0;\n }\n\n private closeModal(): void {\n this.$emit('close');\n }\n\n private submit(): void {\n const _selectedBreaches = this.breachesListDisplay.filter((b: any) => b.isSelected);\n this.$emit('update:breaches', _selectedBreaches);\n this.$emit('addBreaches');\n this.$emit('close');\n }\n\n private sortTableColumn(index: number, sortable: boolean) {\n if (sortable) {\n if (this.tableHeadings[index].sortable) {\n this.activeSortHeader = index;\n this.sortMethod = this.sortMethod === 'desc' ? 'asc' : 'desc';\n this.tableHeadings[index].sortMethod = this.sortMethod;\n if (this.breachesListDisplay.length > 0) {\n const nameSorter = index == 0 ? (c: any) => c.description.toLowerCase() : [this.tableHeadings[index].value, (c: any) => c.description.toLowerCase()];\n const orderByResults = orderBy(\n this.breachesListDisplay,\n nameSorter,\n [this.sortMethod as any]\n );\n this.breachesListDisplay = orderByResults;\n }\n }\n }\n }\n}\n\n","import { render } from \"./add-breaches-modal.html?vue&type=template&id=0a53aa28&scoped=true&ts=true&external\"\nimport script from \"./add-breaches-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./add-breaches-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./add-breaches-modal.scss?vue&type=style&index=0&id=0a53aa28&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0a53aa28\"]])\n\nexport default __exports__","\nimport { Inject, Options, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport AddBreachesModal from \"./add-breaches-modal/index.vue\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { FormEERData } from \"@/trust-atcs-app/models/form-eer-data\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-atcs-app/store\";\nimport { EeReport, EeReportBreach } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { orderBy } from \"lodash\";\n\n@Options({\n components: {\n AddBreachesModal,\n },\n emits: ['update:isSectionLoading', 'validForm'],\n})\nexport default class FormEerBreaches extends Vue {\n\n @Prop({ default: false })\n private isSectionLoading!: boolean;\n\n @Prop({ default: {} })\n private formEERData!: FormEERData;\n\n @Watch('loadingContent')\n private sectionLoading() {\n this.$emit('update:isSectionLoading', this.loadingContent);\n }\n\n private ai = new AppInsights;\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private loadingContent = false;\n private errorLoadingContent = false;\n\n private breaches: any = {};\n private breachesListDisplay: any[] = [];\n\n @Watch('selectedOption')\n private onSelectedOptionChanged() {\n this.breaches.hasBreaches = this.selectedOption == 1;\n // Don't reset the breaches list if the user has already added breaches\n if (!this.breaches.hasBreaches) {\n this.breaches.breaches = [];\n this.breachesListDisplay = [];\n this.breaches.breachesComment = \"\";\n }\n\n this.checkCanGoNext();\n }\n\n private newWording = \"Have there been breaches of legislation? If yes, please search and select the relevant legislation.\";\n private selectedOption = 0;\n\n private showAddBreachesModal = false;\n\n private tableHeadings = [\n { text: 'Type', value: 'breachType', sortable: false, sortMethod: 'asc' },\n { text: 'Breach code', value: 'breachCode', sortable: true, sortMethod: 'acs' },\n { text: 'Legislation', value: 'legislation', sortable: true, sortMethod: 'asc' },\n { text: 'Description', value: 'description', sortable: false, sortMethod: 'acs' },\n { text: 'Action', value: '', sortable: false, sortMethod: 'acs' },\n ];\n\n private activeSortHeader = 1;\n private sortMethod = 'asc';\n\n private sortTableColumn(index: number, sortable: boolean) {\n if (sortable) {\n this.breachesListDisplay = this.breaches.breaches;\n if (this.tableHeadings[index].sortable) {\n this.activeSortHeader = index;\n this.sortMethod = this.sortMethod === 'desc' ? 'asc' : 'desc';\n this.tableHeadings[index].sortMethod = this.sortMethod;\n if (this.breachesListDisplay.length > 0) {\n const nameSorter = index == 0 ? (c: any) => c.description.toLowerCase() : [this.tableHeadings[index].value, (c: any) => c.description.toLowerCase()];\n const orderByResults = orderBy(\n this.breachesListDisplay,\n nameSorter,\n [this.sortMethod as any]\n );\n this.breachesListDisplay = orderByResults;\n }\n }\n }\n }\n\n mounted(): void {\n this.eventCtrl.on('reload-form-eer-breaches-content', this.loadBreachesContent);\n this.loadingContent = true;\n this.loadBreachesContent();\n this.$emit('validForm', false);\n }\n\n beforeUnmount(): void {\n this.eventCtrl.removeListener('reload-form-eer-breaches-content', this.loadBreachesContent);\n }\n\n private async loadBreachesContent(): Promise {\n try {\n // this.loadingContent = true;\n const resp: any = await this.apiService.EeReportApi?.apiV2EeReportGetBreachesPost({\n complianceFormId: this.complianceFormEER.id,\n updatingKey: this.updatingKey,\n });\n this.breaches = resp.data.data as EeReportBreach[];\n if (this.breaches.breaches == null) {\n this.breaches.breaches = [];\n }\n this.formEERData.breaches = this.breaches as any;\n if (this.formEERData.breaches.hasBreaches == null) {\n this.selectedOption = 0;\n } else {\n this.selectedOption = this.formEERData.breaches.hasBreaches ? 1 : 2;\n }\n this.sortTableColumn(this.activeSortHeader, true);\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting Breaches list');\n this.ai.trackException('Error getting Breaches list: ' + err);\n this.errorLoadingContent = true;\n console.log(err);\n } finally {\n this.loadingContent = false;\n }\n }\n\n private checkCanGoNext(): boolean {\n const isYes = this.selectedOption == 1 && this.breaches.breaches?.length > 0 && this.breaches.breachesComment?.trim().length > 0;\n const isNo = this.selectedOption == 2;\n const validForm = isYes || isNo;\n this.$emit('validForm', validForm);\n return validForm;\n }\n\n private addBreaches() {\n this.sortTableColumn(this.activeSortHeader, true);\n this.eventCtrl.emit('save-section', false, true, false);\n this.checkCanGoNext();\n }\n\n private removeBreach(index: number) {\n this.breaches.breaches.splice(index, 1);\n this.sortTableColumn(this.activeSortHeader, true);\n this.checkCanGoNext();\n }\n\n get complianceFormEER(): EeReport {\n return store.getters.getSelectedComplianceFormEER;\n }\n\n get updatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n}\n\n","import { render } from \"./form-eer-breaches.html?vue&type=template&id=6810404e&scoped=true&ts=true&external\"\nimport script from \"./form-eer-breaches.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-eer-breaches.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-eer-breaches.scss?vue&type=style&index=0&id=6810404e&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6810404e\"]])\n\nexport default __exports__","import { defineStore } from 'pinia';\nimport { ref } from 'vue';\nimport { FormEERData } from '../models/form-eer-data';\n\nexport const useFormEERDataStore = defineStore('FormEERDataStore', () => {\n const formEERData = ref({} as FormEERData);\n\n function setFormEERData(i: FormEERData) {\n formEERData.value = i;\n }\n\n function clearFormEERData() {\n formEERData.value = {} as FormEERData;\n }\n\n return {\n formEERData,\n setFormEERData,\n clearFormEERData,\n };\n});\n","import { Inject, Options, Vue, Watch } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport store from \"@/trust-atcs-app/store\";\nimport { EventEmitter } from \"events\";\nimport HelpScreen from \"../help-screen/index.vue\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { RouteN } from \"@/trust-atcs-app/constants/router-name\";\nimport { EeReport, PageContent } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { NavStep, NavStepStatusID, Section, Step } from \"../swipe-stepper/nav-step\";\nimport SwipeStepper from \"../swipe-stepper/index.vue\";\nimport FormEerOverview from \"../form-eer-overview/index.vue\";\nimport FormEerGeneralTrustMoney from \"../form-eer-general-trust-money/index.vue\";\nimport FormEerControlledMoney from \"../form-eer-controlled-money/index.vue\";\nimport FormEerSpecificPowerMoney from \"../form-eer-specific-power-money/index.vue\";\nimport FormEerInvestmentMoney from \"../form-eer-investment-money/index.vue\";\nimport FormEerOtherInformation from \"../form-eer-other-information/index.vue\";\nimport FormEerDeclaration from \"../form-eer-declaration/index.vue\";\nimport FormEerConfirmation from \"../form-eer-confirmation/index.vue\";\nimport LoadingIndicator from \"@/shared/components/loading-indicator/index.vue\";\nimport ConfirmDialogue from '@/shared/components/confirm-dialogue/index.vue';\nimport FormHeader from \"../form-header/index.vue\";\nimport FormEerBreaches from \"../form-eer-breaches/index.vue\";\nimport { FormEERData } from \"@/trust-atcs-app/models/form-eer-data\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport { IDLESessionManager } from '@/trust-atcs-app/modules/session/idle-session-manager';\nimport SessionExpired from \"../session-expired-modal/index.vue\";\nimport { useFormEERDataStore } from \"@/trust-atcs-app/store/useFormEerDataStore\";\n\n@Options({\n components: {\n LoadingIndicator,\n LoadingSpinner,\n SwipeStepper,\n FormHeader,\n HelpScreen,\n FormEerOverview,\n FormEerGeneralTrustMoney,\n FormEerControlledMoney,\n FormEerSpecificPowerMoney,\n FormEerInvestmentMoney,\n FormEerOtherInformation,\n FormEerBreaches,\n FormEerDeclaration,\n FormEerConfirmation,\n ConfirmDialogue,\n SessionExpired\n },\n mixins: [FormatDateTimeMixin],\n})\nexport default class FormEer extends Vue {\n private formEERDataStore = useFormEERDataStore();\n\n private ai = new AppInsights;\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private navSteps = [\n new NavStep(Step.overview, Section.overview), // 0\n new NavStep(Step.generalTrustMoney, Section.generalTrustMoney), // 1\n new NavStep(Step.controlledMoney, Section.controlledMoney), // 2\n new NavStep(Step.specificPowerMoney, Section.specificPowerMoney), // 3\n new NavStep(Step.investmentMoney, Section.investmentMoney), // 4\n new NavStep(Step.otherInformation, Section.otherInformation), // 5\n new NavStep(Step.breaches, Section.breaches), // 6\n new NavStep(Step.declaration, Section.declaration), // 7\n new NavStep(Step.confirmation, Section.confirmation), // 8\n ];\n\n private backButtonText = 'Cancel Application';\n private nextButtonText = 'Next';\n private backButtonVisible = true;\n\n private formName = { line1: '', line2: 'Report' };\n private formDesc = { line1: 'External Examiners Report', line2: '' };\n\n private isSectionLoading = false;\n private isSaving = false;\n private stopExtending = false;\n private showSessionExpiredModal = false;\n private workerID = -1;\n\n private sectionName = '';\n private helpContent: PageContent = {};\n\n get $Section() {\n return Section;\n }\n\n private validSection: boolean[] = [\n true, // overview\n false, // generalTrustMoney\n false, // controlledMoney\n false, // specificPowerMoney\n false, // investmentMoney\n false, // otherInformation\n false, // breaches\n false, // declaration\n true, // confirmation\n ];\n\n private formEERData: FormEERData = {\n overview: null as any,\n generalTrustMoney: null as any,\n controlledMoney: null as any,\n specificPowerMoney: null as any,\n investmentMoney: null as any,\n otherInformation: null as any,\n breaches: null as any,\n declarationDetails: null as any,\n };\n\n private idleSessionMgr: IDLESessionManager = new IDLESessionManager(60);\n\n @Watch('$route')\n public OnRouteChange(val: any, oldVal: any): void {\n const _stored = 'something' //check store data here\n window.scrollTo(0, 0);\n if (oldVal.fullPath.indexOf('confirmation') > -1 || _stored == null) {\n this.$router.push({ name: RouteN.ATCS.DashboardMain.n });\n }\n this.setCurrentStep();\n }\n\n private setFormDescription(message: any) {\n if (message) {\n this.formDesc = { line1: 'External Examiner Report as at ' + message, line2: '' };\n }\n }\n\n created(): void {\n this.idleSessionMgr.run(this.idleSessionTimeoutCallback);\n this.workerID = setInterval(() => {\n this.extendSession();\n }, 30000);\n }\n\n mounted(): void {\n window.scrollTo(0, 0);\n this.eventCtrl.on('save-and-close', this.saveAndClose);\n this.eventCtrl.on('save-section', this.saveSection);\n this.setCurrentStep();\n this.formEERDataStore.setFormEERData(this.formEERData);\n }\n\n beforeUnmount(): void {\n clearInterval(this.workerID);\n this.eventCtrl.off('save-and-close', this.saveAndClose);\n }\n\n beforeRouteLeave(to: any, from: any, next: any): void {\n store.dispatch('setSelectedComplianceFormEER', null);\n store.dispatch('setFormUpdatingkey', null);\n store.dispatch('setFormEERData', {});\n this.formEERDataStore.clearFormEERData();\n }\n\n private exitForm(): void {\n this.stopExtending = true;\n clearInterval(this.workerID);\n this.$router.push({ name: RouteN.ATCS.DashboardHome.n });\n this.showSessionExpiredModal = false;\n }\n\n private idleSessionTimeoutCallback(): void {\n this.stopExtending = true;\n }\n\n private async extendSession(): Promise {\n try {\n if (this.stopExtending) {\n clearInterval(this.workerID);\n this.showSessionExpiredModal = true;\n return;\n }\n if (this.isSaving) {\n return;\n }\n await this.apiService.EeReportApi?.apiV2EeReportExtendFormStatusPost({\n complianceFormId: this.complianceFormEER.id,\n updatingKey:this.formUpdatingKey\n });\n\n } catch (err) {\n clearInterval(this.workerID);\n this.showSessionExpiredModal = true;\n }\n }\n\n private setCurrentStep(): void {\n const _section: string = this.$route.query.sec as string;\n if (_section !== Section.overview) {\n this.backButtonText = 'Back';\n } else {\n this.backButtonText = 'Cancel';\n }\n\n this.backButtonVisible = true;\n this.nextButtonText = 'Next';\n switch (_section) {\n case Section.overview:\n this.backButtonVisible = false;\n this.setSteps(0);\n break;\n case Section.generalTrustMoney:\n this.setSteps(1);\n break;\n case Section.controlledMoney:\n this.setSteps(2);\n break;\n case Section.specificPowerMoney:\n this.setSteps(3);\n break;\n case Section.investmentMoney:\n this.setSteps(4);\n break;\n case Section.otherInformation:\n this.setSteps(5);\n break;\n case Section.breaches:\n this.setSteps(6);\n break;\n case Section.declaration:\n this.setSteps(7);\n this.nextButtonText = 'Submit';\n break;\n case Section.confirmation:\n this.setSteps(8);\n this.nextButtonText = 'Close';\n this.backButtonVisible = false;\n break;\n default:\n break;\n }\n }\n\n private setSteps(n: number) {\n this.updateHelpContent(n);\n for (let i = 0; i < this.navSteps.length; i++) {\n this.navSteps[i].status = NavStepStatusID.NotDone\n }\n for (let i = 0; i < n; i++) {\n this.navSteps[i].status = NavStepStatusID.Done\n }\n this.navSteps[n].status = NavStepStatusID.Current\n // the confirmation page\n const _confirmation = this.navSteps.length - 1;\n if (n === _confirmation) {\n for (let i = 0; i < _confirmation; i++) {\n this.navSteps[i].status = NavStepStatusID.Unknown\n }\n } else {\n // save the current step\n // window.sessionStorage.setItem('contractData', JSON.stringify(this.contractData));\n }\n }\n\n private updateHelpContent(n: number) {\n switch (n) {\n case 0: // Section.overview\n this.helpContent = this.$getPopover('Help', 18);\n break;\n case 1: // Section.generalTrustMoney\n this.helpContent = this.$getPopover('Help', 19);\n break;\n case 2: // Section.controlledMoney\n this.helpContent = this.$getPopover('Help', 20);\n break;\n case 3: // Section.specificPowerMoney\n this.helpContent = this.$getPopover('Help', 21);\n break;\n case 4: // Section.investmentMoney \n this.helpContent = this.$getPopover('Help', 22);\n break;\n case 5: // Section.otherInformation\n this.helpContent = this.$getPopover('Help', 23);\n break;\n case 6: // Section.breaches\n this.helpContent = this.$getPopover('Help', 26);\n break;\n case 7: // Section.declaration\n this.helpContent = this.$getPopover('Help', 24);\n break;\n case 8: // Section.confirmation\n this.helpContent = this.$getPopover('Help', 25);\n break;\n default:\n this.helpContent = {};\n break;\n }\n this.eventCtrl.emit('updateHelpContent', this.helpContent);\n }\n\n private goBack() {\n const _section: string = this.$route.query.sec as string;\n this.apiService.EeReportApi?.apiV2EeReportExtendFormStatusPost({\n complianceFormId: this.complianceFormEER.id,\n updatingKey: this.formUpdatingKey,\n }).then(() => {\n switch (_section) {\n case Section.overview:\n // this.eventCtrl.emit('cancel-pc-renew');\n // this.$router.push({ name: RouteN.Mars.PcRenewOverview.n, query: { appId: this.$route.query.appId } });\n break;\n case Section.generalTrustMoney:\n this.navigate(this.navSteps[0]);\n break;\n case Section.controlledMoney:\n this.navigate(this.navSteps[1]);\n break;\n case Section.specificPowerMoney:\n this.navigate(this.navSteps[2]);\n break;\n case Section.investmentMoney:\n this.navigate(this.navSteps[3]);\n break;\n case Section.otherInformation:\n this.navigate(this.navSteps[4]);\n break;\n case Section.breaches:\n this.navigate(this.navSteps[5]);\n break;\n case Section.declaration:\n this.navigate(this.navSteps[6]);\n break;\n case Section.confirmation:\n // this.eventCtrl.emit('cancel-eer');\n break;\n default:\n break;\n }\n }).catch((err: any) => {\n this.showSessionExpiredModal = true;\n });\n \n }\n\n private navigate(s: NavStep): void {\n const temp: string = JSON.stringify(this.$route.query);\n const tempJSON = JSON.parse(temp);\n tempJSON.sec = s.routeSecName;\n this.$router.push({ query: tempJSON });\n }\n\n private goNext() {\n // store.dispatch('setPcrFormData', this.pcrFormData);\n const _section = this.$route.query.sec as string;\n switch (_section) {\n case Section.overview:\n this.saveSection(false, false).then(\n (x: any) => !x ? (this.navigate(this.navSteps[1])) : true).catch((err: any) => console.log(err));\n break;\n case Section.generalTrustMoney:\n this.saveSection(false, false).then(\n (x: any) => !x ? (this.navigate(this.navSteps[2])) : true).catch((err: any) => console.log(err));\n break;\n case Section.controlledMoney:\n this.saveSection(false, false).then(\n (x: any) => !x ? (this.navigate(this.navSteps[3])) : true).catch((err: any) => console.log(err));\n break;\n case Section.specificPowerMoney:\n this.saveSection(false, false).then(\n (x: any) => !x ? (this.navigate(this.navSteps[4])) : true).catch((err: any) => console.log(err));\n break;\n case Section.investmentMoney:\n this.saveSection(false, false).then(\n (x: any) => !x ? (this.navigate(this.navSteps[5])) : true).catch((err: any) => console.log(err));\n break;\n case Section.otherInformation:\n this.saveSection(false, false).then(\n (x: any) => !x ? (this.navigate(this.navSteps[6])) : true).catch((err: any) => console.log(err));\n break;\n case Section.breaches:\n this.saveSection(false, false).then(\n (x: any) => !x ? (this.navigate(this.navSteps[7])) : true).catch((err: any) => console.log(err));\n break;\n case Section.declaration:\n this.saveSection(false, false).then(\n (x: any) => !x ? (this.navigate(this.navSteps[8])) : true).catch((err: any) => console.log(err));\n break;\n\n case Section.confirmation:\n // this.openSurveyWindow();\n this.$router.push({ name: RouteN.ATCS.DashboardHome.n });\n break;\n default:\n break;\n }\n\n }\n\n get currentSection(): string {\n return this.$route.query.sec as string;\n }\n\n get savingText() {\n return 'Saving...';\n }\n\n private saveAndClose(): void {\n const _confirm: any = this.$refs.confirmSaveClose;\n _confirm.show({\n title: 'Save & Close',\n message: 'By selecting the \\'Save & Close\\' button, any answered parts will be saved, and you will be taken back to the Homepage. Would you like to proceed?',\n okButton: 'Proceed',\n cancelButton: 'Cancel',\n }).then((res: any) => {\n if (res) {\n this.saveSection(true, true);\n }\n })\n }\n\n\n private async saveSection(close: boolean, skipValidation: boolean): Promise {\n try {\n this.isSaving = true;\n const _section = this.$route.query.sec as string;\n await this.apiService.EeReportApi?.apiV2EeReportExtendFormStatusPost({\n complianceFormId: this.complianceFormEER.id,\n updatingKey: this.formUpdatingKey,\n });\n switch (_section) {\n case Section.generalTrustMoney:\n await this.apiService.EeReportApi?.apiV2EeReportSaveGeneralTrustMoneyPost({\n id: this.formEERData?.generalTrustMoney?.id,\n complianceFormStatus: this.formEERData?.generalTrustMoney?.complianceFormStatus,\n atcsMainQuestions: this.formEERData?.generalTrustMoney?.atcsMainQuestions,\n complianceFormId: this.complianceFormEER.id,\n updatingKey: this.formUpdatingKey,\n skipValidation: skipValidation,\n });\n\n if (skipValidation && !close)\n this.eventCtrl.emit('reload-form-eer-gtm-content');\n break;\n\n case Section.controlledMoney:\n await this.apiService.EeReportApi?.apiV2EeReportSaveControlledMoneyPost({\n id: this.formEERData?.controlledMoney?.id,\n complianceFormStatus: this.formEERData?.controlledMoney?.complianceFormStatus,\n atcsMainQuestions: this.formEERData?.controlledMoney?.atcsMainQuestions,\n complianceFormId: this.complianceFormEER.id,\n updatingKey: this.formUpdatingKey,\n skipValidation: skipValidation,\n });\n\n if (skipValidation && !close)\n this.eventCtrl.emit('reload-form-eer-cm-content');\n break;\n case Section.specificPowerMoney:\n await this.apiService.EeReportApi?.apiV2EeReportSaveSpecificPowerMoneyPost({\n id: this.formEERData?.specificPowerMoney?.id,\n complianceFormStatus: this.formEERData?.specificPowerMoney?.complianceFormStatus,\n atcsMainQuestions: this.formEERData?.specificPowerMoney?.atcsMainQuestions,\n complianceFormId: this.complianceFormEER.id,\n updatingKey: this.formUpdatingKey,\n skipValidation: skipValidation,\n });\n\n if (skipValidation && !close)\n this.eventCtrl.emit('reload-form-eer-spm-content');\n break;\n case Section.investmentMoney:\n await this.apiService.EeReportApi?.apiV2EeReportSaveInvestmentMoneyPost({\n id: this.formEERData?.investmentMoney?.id,\n complianceFormStatus: this.formEERData?.investmentMoney?.complianceFormStatus,\n atcsMainQuestions: this.formEERData?.investmentMoney?.atcsMainQuestions,\n complianceFormId: this.complianceFormEER.id,\n updatingKey: this.formUpdatingKey,\n skipValidation: skipValidation,\n });\n\n if (skipValidation && !close)\n this.eventCtrl.emit('reload-form-eer-im-content');\n break;\n case Section.otherInformation:\n await this.apiService.EeReportApi?.apiV2EeReportSaveOtherInformationPost({\n id: this.formEERData?.otherInformation?.id,\n complianceFormStatus: this.formEERData?.otherInformation?.complianceFormStatus,\n atcsMainQuestions: this.formEERData?.otherInformation?.atcsMainQuestions,\n complianceFormId: this.complianceFormEER.id,\n updatingKey: this.formUpdatingKey,\n skipValidation: skipValidation,\n });\n\n if (skipValidation && !close)\n this.eventCtrl.emit('reload-form-eer-oi-content');\n break;\n\n case Section.breaches:\n await this.apiService.EeReportApi?.apiV2EeReportSaveBreachesPost({\n complianceFormId: this.complianceFormEER.id,\n updatingKey: this.formUpdatingKey,\n breaches: this.formEERData.breaches.breaches,\n hasBreaches: this.formEERData.breaches.hasBreaches,\n breachesComment: this.formEERData.breaches.breachesComment,\n skipValidation: skipValidation,\n });\n\n if (skipValidation && !close)\n this.eventCtrl.emit('reload-form-eer-breaches-content');\n break;\n case Section.declaration:\n if (skipValidation && !close) {\n await this.apiService.EeReportApi?.apiV2EeReportSaveDeclarationPost({\n complianceFormId: this.complianceFormEER.id,\n updatingKey: this.formUpdatingKey,\n additionalInformation: this.formEERData.declarationDetails?.additionalInformation,\n });\n\n if (skipValidation && !close)\n this.eventCtrl.emit('reload-form-eer-declaration-content');\n\n } else if (!close) {\n await this.apiService.EeReportApi?.apiV2EeReportSubmitEeReportPost({\n complianceFormId: this.complianceFormEER.id,\n updatingKey: this.formUpdatingKey,\n additionalInformation: this.formEERData.declarationDetails?.additionalInformation,\n });\n }\n break;\n\n default:\n break;\n }\n\n if (close) {\n // this.isClosing = true;\n await this.apiService.EeReportApi?.apiV2EeReportClosePost({\n complianceFormId: this.complianceFormEER.id,\n updatingKey: this.formUpdatingKey ?? null\n });\n // this.isClosing = false;\n this.$router.push({ name: RouteN.ATCS.DashboardMain.n });\n }\n return Promise.resolve(false);\n } catch (err) {\n // this.isClosing = false;\n this.showSessionExpiredModal = true;\n this.eventCtrl.emit('show-snackbar', 'error', 'Error saving section');\n return Promise.reject(true);\n } finally {\n this.isSaving = false;\n }\n }\n\n\n private validationForm(i: any, isValid: any) {\n this.validSection[i] = isValid;\n this.canGoNext();\n }\n\n private canGoNext(): boolean {\n // check if the current section is valid\n const _section = this.$route.query.sec as string;\n\n switch (_section) {\n case Section.overview:\n return this.validSection[0];\n case Section.generalTrustMoney:\n return this.validSection[1];\n case Section.controlledMoney:\n return this.validSection[2];\n case Section.specificPowerMoney:\n return this.validSection[3];\n case Section.investmentMoney:\n return this.validSection[4];\n case Section.otherInformation:\n return this.validSection[5];\n case Section.breaches:\n return this.validSection[6];\n case Section.declaration:\n return this.validSection[7];\n case Section.confirmation:\n return true;\n default:\n return false;\n }\n }\n\n get complianceFormEER(): EeReport {\n return store.getters.getSelectedComplianceFormEER;\n }\n\n get formUpdatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n}\n\n","import { render } from \"./form-eer.html?vue&type=template&id=7f715b90&scoped=true&ts=true&external\"\nimport script from \"./form-eer.ts?vue&type=script&lang=ts&external\"\nexport * from \"./form-eer.ts?vue&type=script&lang=ts&external\"\n\nimport \"./form-eer.scss?vue&type=style&index=0&id=7f715b90&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7f715b90\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, withModifiers as _withModifiers, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, vModelText as _vModelText, withDirectives as _withDirectives, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, vModelSelect as _vModelSelect, vModelCheckbox as _vModelCheckbox, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ad76de90\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"ee-signup\" }\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"row\",\n style: {\"display\":\"flex\",\"justify-content\":\"center\"}\n}\nconst _hoisted_4 = { class: \"col-md-6\" }\nconst _hoisted_5 = { class: \"no-role-box\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fas fa-exclamation big-icon\" }, null, -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"You currently have no role in relation to Trust Compliance\", -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \" You don't currently hold a role. You have the option to either register as an External Examiner by clicking the 'Sign up' button or return to 'my account'. \", -1))\nconst _hoisted_9 = { class: \"buttons\" }\nconst _hoisted_10 = {\n key: 1,\n class: \"signup-box\"\n}\nconst _hoisted_11 = { class: \"ls-form\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", null, \"Sign Up to be an External Examiner\", -1))\nconst _hoisted_13 = { class: \"input-box\" }\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"LawID\", -1))\nconst _hoisted_15 = { class: \"text-field\" }\nconst _hoisted_16 = { class: \"input-box\" }\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Title\", -1))\nconst _hoisted_18 = { class: \"text-field\" }\nconst _hoisted_19 = { style: {\"display\":\"flex\",\"flex-flow\":\"row nowrap\",\"justify-content\":\"space-between\"} }\nconst _hoisted_20 = {\n class: \"mr-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_21 = { class: \"input-box\" }\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"First name\", -1))\nconst _hoisted_23 = { class: \"text-field\" }\nconst _hoisted_24 = {\n class: \"ml-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_25 = { class: \"input-box\" }\nconst _hoisted_26 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Last name\", -1))\nconst _hoisted_27 = { class: \"text-field\" }\nconst _hoisted_28 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Firm name\", -1))\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"validation-msg\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }),\n /*#__PURE__*/_createTextVNode(\" Required field. \")\n], -1))\nconst _hoisted_30 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Address\", -1))\nconst _hoisted_31 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"validation-msg\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }),\n /*#__PURE__*/_createTextVNode(\" Required field. \")\n], -1))\nconst _hoisted_32 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Telephone number\", -1))\nconst _hoisted_33 = { style: {\"display\":\"flex\",\"justify-content\":\"space-between\",\"width\":\"100%\",\"align-items\":\"center\"} }\nconst _hoisted_34 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"text-field2\" }, \"+61\", -1))\nconst _hoisted_35 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"validation-msg\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }),\n /*#__PURE__*/_createTextVNode(\" Required field. \")\n], -1))\nconst _hoisted_36 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Membership types\", -1))\nconst _hoisted_37 = { class: \"dropdown-menu-wrap\" }\nconst _hoisted_38 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", {\n value: null,\n disabled: \"\",\n selected: \"\"\n}, \"-- Please select --\", -1))\nconst _hoisted_39 = [\"value\"]\nconst _hoisted_40 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"validation-msg\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }),\n /*#__PURE__*/_createTextVNode(\"Required field. \")\n], -1))\nconst _hoisted_41 = { class: \"mt-3\" }\nconst _hoisted_42 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"mb-2\" }, \"Publish on Web\", -1))\nconst _hoisted_43 = { class: \"checkbox-button\" }\nconst _hoisted_44 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ])\n], -1))\nconst _hoisted_45 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Proof of External Examiner Course Completion\", -1))\nconst _hoisted_46 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"validation-msg ml-1\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }),\n /*#__PURE__*/_createTextVNode(\" File required. \")\n], -1))\nconst _hoisted_47 = { class: \"file-list mb-2\" }\nconst _hoisted_48 = { class: \"file-name\" }\nconst _hoisted_49 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-file-pdf\" }, null, -1))\nconst _hoisted_50 = [\"onClick\"]\nconst _hoisted_51 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_52 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { style: {\"display\":\"flex\"} }, [\n /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n style: {\"font-size\":\"20px\",\"color\":\"var(--ls-slate)\"}\n }),\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"ml-2\" }, \"Please be aware that the supported file formats include .PDF, .DOC, .DOCX, .XLS, .XLSX, .RTF, .JPG and .PNG. You may upload up to five files\")\n], -1))\nconst _hoisted_53 = { style: {\"display\":\"flex\",\"justify-content\":\"end\"} }\nconst _hoisted_54 = [\"disabled\"]\nconst _hoisted_55 = [\"disabled\"]\nconst _hoisted_56 = {\n key: 2,\n class: \"row\",\n style: {\"display\":\"flex\",\"justify-content\":\"center\"}\n}\nconst _hoisted_57 = { class: \"col-md-6\" }\nconst _hoisted_58 = { class: \"waitinforapproval-box\" }\nconst _hoisted_59 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"far fa-user-clock big-icon\" }, null, -1))\nconst _hoisted_60 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Waiting for Approval\", -1))\nconst _hoisted_61 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \" You application has been submitted and is awaiting approval. \", -1))\nconst _hoisted_62 = { class: \"buttons\" }\n\nexport function render(_ctx, _cache) {\n const _component_PostcodeSearch = _resolveComponent(\"PostcodeSearch\")\n const _component_FileDragAndDrop = _resolveComponent(\"FileDragAndDrop\")\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ConfirmDialogue = _resolveComponent(\"ConfirmDialogue\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (!_ctx.waitingApproval && !_ctx.iWantToSignUp)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _hoisted_6,\n _hoisted_7,\n _hoisted_8,\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"button\", {\n class: \"btn btn-outline mr-1\",\n onClick: _cache[0] || (_cache[0] = _withModifiers($event => (_ctx.signOut()), [\"prevent\"]))\n }, \"My Account\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary ml-1\",\n onClick: _cache[1] || (_cache[1] = _withModifiers($event => (_ctx.iWantToSignUp = true), [\"prevent\"]))\n }, \"Sign up\")\n ])\n ])\n ])\n ]))\n : (_ctx.iWantToSignUp)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _createElementVNode(\"form\", _hoisted_11, [\n _createElementVNode(\"fieldset\", null, [\n _hoisted_12,\n _createElementVNode(\"div\", _hoisted_13, [\n _hoisted_14,\n _createElementVNode(\"div\", _hoisted_15, _toDisplayString(_ctx.userAccount.user?.lawId ?? ''), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n _hoisted_17,\n _createElementVNode(\"div\", _hoisted_18, _toDisplayString(_ctx.userAccount.user?.title ?? ''), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", _hoisted_21, [\n _hoisted_22,\n _createElementVNode(\"div\", _hoisted_23, _toDisplayString(_ctx.userAccount.user?.firstName ?? ''), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"div\", _hoisted_25, [\n _hoisted_26,\n _createElementVNode(\"div\", _hoisted_27, _toDisplayString(_ctx.userAccount.user?.lastName ?? ''), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", ((!_ctx.firmName || _ctx.firmName === '') && (_ctx.dirtyFields[0] || _ctx.submitPressed)) ? 'error': ''])\n }, [\n _hoisted_28,\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.firmName) = $event)),\n onChange: _cache[3] || (_cache[3] = $event => (_ctx.dirtyFields[0] = true)),\n placeholder: \"Enter firm name\",\n maxlength: \"255\"\n }, null, 544), [\n [_vModelText, _ctx.firmName]\n ]),\n _hoisted_29\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", ((!_ctx.address || _ctx.address === '') && (_ctx.dirtyFields[1] || _ctx.submitPressed)) ? 'error': ''])\n }, [\n _hoisted_30,\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.address) = $event)),\n onChange: _cache[5] || (_cache[5] = $event => (_ctx.dirtyFields[1] = true)),\n placeholder: \"Enter address\",\n maxlength: \"255\"\n }, null, 544), [\n [_vModelText, _ctx.address]\n ]),\n _hoisted_31\n ], 2),\n _createVNode(_component_PostcodeSearch, {\n suburbStatePostcode: _ctx.suburbStatePostcode,\n \"onUpdate:suburbStatePostcode\": _cache[6] || (_cache[6] = $event => ((_ctx.suburbStatePostcode) = $event)),\n suburbError: _ctx.suburbError,\n \"onUpdate:suburbError\": _cache[7] || (_cache[7] = $event => ((_ctx.suburbError) = $event)),\n onUpdateSuburb: _ctx.updateSuburb\n }, null, 8, [\"suburbStatePostcode\", \"suburbError\", \"onUpdateSuburb\"]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", ((!_ctx.phoneNumber || _ctx.phoneNumber === '') && (_ctx.dirtyFields[3] || _ctx.submitPressed)) ? 'error': ''])\n }, [\n _hoisted_32,\n _createElementVNode(\"div\", _hoisted_33, [\n _hoisted_34,\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n maxlength: \"15\",\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => ((_ctx.phoneNumber) = $event)),\n onChange: _cache[9] || (_cache[9] = $event => (_ctx.dirtyFields[3] = true)),\n placeholder: \"\"\n }, null, 544), [\n [_vModelText, _ctx.phoneNumber]\n ])\n ]),\n _hoisted_35\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"dropdown-menu\", (!_ctx.selectedMembershipType && (_ctx.dirtyFields[4] || _ctx.submitPressed)) ? 'error': ''])\n }, [\n _hoisted_36,\n _createElementVNode(\"div\", _hoisted_37, [\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = $event => ((_ctx.selectedMembershipType) = $event)),\n onChange: _cache[11] || (_cache[11] = $event => (_ctx.dirtyFields[4] = true))\n }, [\n _hoisted_38,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.membershipStatusTypes, (membershipT) => {\n return (_openBlock(), _createElementBlock(\"option\", { value: membershipT }, _toDisplayString(membershipT.name), 9, _hoisted_39))\n }), 256))\n ], 544), [\n [_vModelSelect, _ctx.selectedMembershipType]\n ])\n ]),\n _hoisted_40\n ], 2),\n _createElementVNode(\"div\", _hoisted_41, [\n _hoisted_42,\n _createElementVNode(\"label\", _hoisted_43, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[12] || (_cache[12] = $event => ((_ctx.publishOnWeb) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.publishOnWeb]\n ]),\n _hoisted_44\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"file-upload mt-4\", (_ctx.uploadedFileList?.length == 0 && (_ctx.dirtyFields[5] || _ctx.submitPressed)) ? 'error': ''])\n }, [\n _hoisted_45,\n _createVNode(_component_FileDragAndDrop, {\n disabled: _ctx.uploadedFileList.length == 5,\n uploading: _ctx.uploading,\n ref: \"fileDropAndDrop\",\n onFileInputChanged: _cache[13] || (_cache[13] = $event => {_ctx.fileListChanged($event); _ctx.dirtyFields[5] = true}),\n numFileLimit: 5,\n fileSizeLimit: 50\n }, null, 8, [\"disabled\", \"uploading\"]),\n _hoisted_46,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.uploadedFileList, (f) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_47, [\n _createElementVNode(\"div\", _hoisted_48, [\n _hoisted_49,\n _createTextVNode(\" \" + _toDisplayString(f.fileName), 1)\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-outline sml\",\n onClick: _withModifiers($event => (_ctx.deleteFile(f.id)), [\"prevent\"])\n }, \"Delete\", 8, _hoisted_50)\n ]))\n }), 256))\n ], 2)\n ]),\n _hoisted_51,\n _hoisted_52\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_53, [\n (_ctx.submitting)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-outline mr-1\",\n disabled: _ctx.submitting,\n onClick: _cache[14] || (_cache[14] = _withModifiers($event => (_ctx.iWantToSignUp = false), [\"prevent\"]))\n }, \"Cancel\", 8, _hoisted_54),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary ml-1\",\n disabled: _ctx.submitting,\n onClick: _cache[15] || (_cache[15] = _withModifiers($event => (_ctx.signUpForEE()), [\"prevent\"]))\n }, \"Sign up\", 8, _hoisted_55)\n ])\n ]))\n : (_ctx.waitingApproval)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_56, [\n _createElementVNode(\"div\", _hoisted_57, [\n _createElementVNode(\"div\", _hoisted_58, [\n _hoisted_59,\n _hoisted_60,\n _hoisted_61,\n _createElementVNode(\"div\", _hoisted_62, [\n _createElementVNode(\"button\", {\n class: \"btn btn-outline\",\n onClick: _cache[16] || (_cache[16] = _withModifiers($event => (_ctx.signOut()), [\"prevent\"]))\n }, \"My Account\")\n ])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createVNode(_component_ConfirmDialogue, {\n ref: \"confirmDialogue\",\n modalOpened: true\n }, null, 512)\n ]))\n}","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createBlock as _createBlock, renderList as _renderList, Fragment as _Fragment, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-54598d0e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"ee-dashboard container\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_3 = { class: \"right\" }\nconst _hoisted_4 = {\n id: \"filters\",\n class: \"row mt-2\"\n}\nconst _hoisted_5 = {\n key: 0,\n class: \"col-4 ml-0\"\n}\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", { class: \"field_name mb-1\" }, \"Compliance year\", -1))\nconst _hoisted_7 = {\n key: 1,\n class: \"col-4\"\n}\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", { class: \"field_name mb-1\" }, \"Progress\", -1))\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { style: {\"flex-grow\":\"1\"} }, null, -1))\nconst _hoisted_10 = {\n key: 2,\n style: {\"margin-top\":\"1.75rem\"}\n}\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_12 = {\n key: 1,\n id: \"practice-cards\"\n}\nconst _hoisted_13 = { key: 2 }\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"text-center\" }, \"No records.\", -1))\nconst _hoisted_15 = [\n _hoisted_14\n]\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, null, -1))\n\nexport function render(_ctx, _cache) {\n const _component_MultiSelectFilterYears = _resolveComponent(\"MultiSelectFilterYears\")\n const _component_MultiSelectFilterStatus = _resolveComponent(\"MultiSelectFilterStatus\")\n const _component_LoadingSpinner = _resolveComponent(\"LoadingSpinner\")\n const _component_PracticeCard = _resolveComponent(\"PracticeCard\")\n const _component_HelpScreen = _resolveComponent(\"HelpScreen\")\n const _component_UpdateEEModal = _resolveComponent(\"UpdateEEModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _hoisted_2,\n _createElementVNode(\"div\", _hoisted_3, [\n (_ctx.helpContent?.isShow)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn btn-outline sml\",\n onClick: _cache[0] || (_cache[0] = $event => (_ctx.showHelpScreen = !_ctx.showHelpScreen))\n }, \"Help\"))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n (_ctx.yearsList.length > 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _hoisted_6,\n _createVNode(_component_MultiSelectFilterYears, {\n yearsList: _ctx.yearsList,\n \"onUpdate:yearsList\": _cache[1] || (_cache[1] = $event => ((_ctx.yearsList) = $event)),\n onSelectYears: _ctx.selectYears\n }, null, 8, [\"yearsList\", \"onSelectYears\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.statusList.length > 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _hoisted_8,\n _createVNode(_component_MultiSelectFilterStatus, {\n statusList: _ctx.statusList,\n \"onUpdate:statusList\": _cache[2] || (_cache[2] = $event => ((_ctx.statusList) = $event)),\n onSelectStatus: _ctx.selectStatus\n }, null, 8, [\"statusList\", \"onSelectStatus\"])\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_9,\n (!_ctx.isLoadingData)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n onClick: _cache[3] || (_cache[3] = $event => (_ctx.updateEE()))\n }, \"Update External Examiner details\")\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _hoisted_11,\n (_ctx.isLoadingData)\n ? (_openBlock(), _createBlock(_component_LoadingSpinner, { key: 0 }))\n : (_ctx.practices.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.practices, (practice, index) => {\n return (_openBlock(), _createBlock(_component_PracticeCard, {\n key: practice.id,\n practice: practice,\n modelValue: _ctx.practices[index],\n \"onUpdate:modelValue\": $event => ((_ctx.practices[index]) = $event),\n dashboardType: _ctx.dashboardType\n }, null, 8, [\"practice\", \"modelValue\", \"onUpdate:modelValue\", \"dashboardType\"]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_13, _hoisted_15)),\n (_ctx.showHelpScreen)\n ? (_openBlock(), _createBlock(_component_HelpScreen, {\n key: 3,\n onClose: _cache[4] || (_cache[4] = $event => (_ctx.showHelpScreen = false)),\n helpContent: _ctx.helpContent\n }, {\n header: _withCtx(() => [\n _hoisted_16\n ]),\n body: _withCtx(() => []),\n _: 1\n }, 8, [\"helpContent\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showUpdateEEmodal)\n ? (_openBlock(), _createBlock(_component_UpdateEEModal, {\n key: 4,\n onClose: _cache[5] || (_cache[5] = $event => (_ctx.showUpdateEEmodal = false))\n }))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeStyle as _normalizeStyle, createVNode as _createVNode, createTextVNode as _createTextVNode, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-542e7eac\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"practice-card\" }\nconst _hoisted_2 = { class: \"card-header\" }\nconst _hoisted_3 = { class: \"name\" }\nconst _hoisted_4 = { class: \"years\" }\nconst _hoisted_5 = { class: \"status\" }\nconst _hoisted_6 = { class: \"status-icon\" }\nconst _hoisted_7 = { class: \"status-text\" }\nconst _hoisted_8 = { class: \"card-body\" }\nconst _hoisted_9 = { class: \"card-section\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"card-section-title\" }, [\n /*#__PURE__*/_createElementVNode(\"h5\", null, \"Address:\")\n], -1))\nconst _hoisted_11 = { class: \"address\" }\nconst _hoisted_12 = {\n key: 0,\n class: \"card-section\"\n}\nconst _hoisted_13 = { class: \"card-section-title\" }\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fas fa-pencil\" }, null, -1))\nconst _hoisted_16 = [\n _hoisted_15\n]\nconst _hoisted_17 = { key: 0 }\nconst _hoisted_18 = {\n key: 1,\n class: \"no-record\"\n}\nconst _hoisted_19 = {\n key: 1,\n class: \"card-section\"\n}\nconst _hoisted_20 = { class: \"card-section-title\" }\nconst _hoisted_21 = [\"disabled\"]\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fas fa-pencil\" }, null, -1))\nconst _hoisted_23 = [\n _hoisted_22\n]\nconst _hoisted_24 = { key: 0 }\nconst _hoisted_25 = {\n key: 1,\n class: \"no-record\"\n}\nconst _hoisted_26 = {\n key: 2,\n class: \"card-section\"\n}\nconst _hoisted_27 = { class: \"card-section-title\" }\nconst _hoisted_28 = [\"disabled\"]\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fas fa-pencil\" }, null, -1))\nconst _hoisted_30 = [\n _hoisted_29\n]\nconst _hoisted_31 = { key: 0 }\nconst _hoisted_32 = {\n key: 1,\n class: \"waitingEEApproval\"\n}\nconst _hoisted_33 = {\n key: 2,\n class: \"no-record\"\n}\nconst _hoisted_34 = {\n key: 3,\n class: \"card-section buttons\"\n}\nconst _hoisted_35 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Forms:\", -1))\nconst _hoisted_36 = { class: \"buttons\" }\nconst _hoisted_37 = [\"disabled\"]\nconst _hoisted_38 = [\"disabled\"]\nconst _hoisted_39 = { class: \"buttons\" }\nconst _hoisted_40 = { class: \"tag\" }\nconst _hoisted_41 = { class: \"tag\" }\nconst _hoisted_42 = {\n key: 4,\n class: \"card-section\"\n}\nconst _hoisted_43 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Trust Compliance Review:\", -1))\nconst _hoisted_44 = { class: \"buttons\" }\nconst _hoisted_45 = [\"disabled\"]\nconst _hoisted_46 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fas fa-file-pdf\" }, null, -1))\nconst _hoisted_47 = [\"disabled\"]\nconst _hoisted_48 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fas fa-file-pdf\" }, null, -1))\nconst _hoisted_49 = { class: \"buttons\" }\nconst _hoisted_50 = { class: \"tag\" }\nconst _hoisted_51 = { class: \"tag\" }\nconst _hoisted_52 = {\n key: 5,\n class: \"card-section\"\n}\nconst _hoisted_53 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"External Examiner Report:\", -1))\nconst _hoisted_54 = { class: \"buttons\" }\nconst _hoisted_55 = [\"disabled\"]\nconst _hoisted_56 = { class: \"tag\" }\nconst _hoisted_57 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_58 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Resubmission: (If required)\", -1))\nconst _hoisted_59 = { class: \"buttons\" }\nconst _hoisted_60 = [\"disabled\"]\nconst _hoisted_61 = {\n key: 6,\n class: \"card-footer\"\n}\n\nexport function render(_ctx, _cache) {\n const _component_LoadingSpinner = _resolveComponent(\"LoadingSpinner\")\n const _component_Popover = _resolveComponent(\"Popover\")\n const _component_AssignTrustContact = _resolveComponent(\"AssignTrustContact\")\n const _component_AppointCoordinator = _resolveComponent(\"AppointCoordinator\")\n const _component_AppointAndTerminateEE = _resolveComponent(\"AppointAndTerminateEE\")\n const _component_AccessDenied = _resolveComponent(\"AccessDenied\")\n const _component_LoggedInElsewhere = _resolveComponent(\"LoggedInElsewhere\")\n const _component_ActionModal = _resolveComponent(\"ActionModal\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (_ctx.checkingFormStatus)\n ? (_openBlock(), _createBlock(_component_LoadingSpinner, { key: 0 }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"h4\", null, _toDisplayString(_ctx.getPracticeNameDisplay(_ctx.practice)), 1),\n _createElementVNode(\"h5\", _hoisted_4, _toDisplayString(_ctx.practice.complianceYear?.name), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"i\", {\n class: \"fas fa-circle\",\n style: _normalizeStyle(_ctx.statusColorCSS(_ctx.practice.progress?.id))\n }, null, 4)\n ]),\n _createElementVNode(\"div\", _hoisted_7, _toDisplayString(_ctx.practice.progress?.name), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _hoisted_10,\n _createElementVNode(\"div\", _hoisted_11, _toDisplayString(_ctx.practice.practice?.address), 1)\n ]),\n (_ctx.dashboardType === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"h5\", null, [\n _createTextVNode(\"Authorised Trust Contact: \"),\n _createVNode(_component_Popover, {\n popover: _ctx.$getPopover('PrincipalDashboard-AuthorisedTrustContact', 1)\n }, null, 8, [\"popover\"])\n ]),\n _createElementVNode(\"button\", {\n class: \"btn-icon btn-secondary sml\",\n disabled: _ctx.practice.isTrustContact,\n onClick: _cache[0] || (_cache[0] = $event => (_ctx.editingTrustContact = true)),\n onClose: _cache[1] || (_cache[1] = $event => {_ctx.editingTrustContact = false;})\n }, _hoisted_16, 40, _hoisted_14)\n ]),\n (_ctx.practice.practice?.trustContact?.firstName)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.practice.practice?.trustContact?.lawId) + \" - \" + _toDisplayString(_ctx.practice.practice?.trustContact?.firstName) + \" \" + _toDisplayString(_ctx.practice.practice?.trustContact?.lastName), 1),\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.practice.practice?.trustContact?.email), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_18, \" Please assign an Authorised Trust Contact \"))\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.dashboardType === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"h5\", null, [\n _createTextVNode(\"Trust Coordinator: \"),\n _createVNode(_component_Popover, {\n popover: _ctx.$getPopover('PrincipalDashboard-TrustCoordinator', 1)\n }, null, 8, [\"popover\"])\n ]),\n _createElementVNode(\"button\", {\n class: \"btn-icon btn-secondary sml\",\n onClick: _cache[2] || (_cache[2] = $event => (_ctx.editingTrustCoordinator = true)),\n disabled: _ctx.practice.isTrustContact\n }, _hoisted_23, 8, _hoisted_21)\n ]),\n (_ctx.practice.practice?.trustCoordinator?.firstName)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_24, [\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.practice.practice?.trustCoordinator?.lawId) + \" - \" + _toDisplayString(_ctx.practice.practice?.trustCoordinator?.firstName) + \" \" + _toDisplayString(_ctx.practice.practice?.trustCoordinator?.lastName), 1),\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.practice.practice?.trustCoordinator?.email), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_25, \" Please assign a Trust Coordinator \"))\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.dashboardType === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [\n _createElementVNode(\"div\", _hoisted_27, [\n _createElementVNode(\"h5\", null, [\n _createTextVNode(\"External Examiner: \"),\n _createVNode(_component_Popover, {\n popover: _ctx.$getPopover('PrincipalDashboard-ExternalExaminer', 1)\n }, null, 8, [\"popover\"])\n ]),\n _createElementVNode(\"button\", {\n class: \"btn-icon btn-secondary sml\",\n disabled: _ctx.practice.practice?.hasAwaitingEeRequestForm || !!this.userAccount.user.isTrustContact,\n onClick: _cache[3] || (_cache[3] = $event => (_ctx.editingEE = true))\n }, _hoisted_30, 8, _hoisted_28)\n ]),\n (_ctx.practice.practice?.externalExaminer?.firstName)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_31, [\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.practice.practice?.externalExaminer?.lawId) + \" - \" + _toDisplayString(_ctx.practice.practice?.externalExaminer?.firstName) + \" \" + _toDisplayString(_ctx.practice.practice?.externalExaminer?.lastName), 1),\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.practice.practice?.externalExaminer?.email), 1)\n ]))\n : (_ctx.practice.practice?.hasAwaitingEeRequestForm)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_32, \" Awaiting approval of changes \"))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_33, \" No External Examiner assigned \"))\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.dashboardType === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_34, [\n _hoisted_35,\n _createElementVNode(\"div\", _hoisted_36, [\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n onClick: _cache[4] || (_cache[4] = $event => (_ctx.clickPartA(_ctx.practice))),\n disabled: !_ctx.practice.partAButton?.isEnable\n }, [\n (!_ctx.isNotRequired(_ctx.practice?.partAButton?.label))\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: _normalizeClass(['fas', _ctx.practice?.partAViewEnable ? 'fa-file-pdf': 'fa-pencil'])\n }, null, 2))\n : _createCommentVNode(\"\", true),\n _createTextVNode(\" \" + _toDisplayString(_ctx.practice?.partAButton?.label), 1)\n ], 8, _hoisted_37),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n onClick: _cache[5] || (_cache[5] = $event => (_ctx.clickPartB(_ctx.practice))),\n disabled: !_ctx.practice.partBButton?.isEnable\n }, [\n (!_ctx.isNotRequired(_ctx.practice?.partBButton?.label))\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: _normalizeClass(['fas', _ctx.practice?.partBViewEnable ? 'fa-file-pdf': 'fa-pencil'])\n }, null, 2))\n : _createCommentVNode(\"\", true),\n _createTextVNode(\" \" + _toDisplayString(_ctx.practice?.partBButton?.label), 1)\n ], 8, _hoisted_38)\n ]),\n _createElementVNode(\"div\", _hoisted_39, [\n _createElementVNode(\"div\", _hoisted_40, _toDisplayString(_ctx.practice?.partAButton?.tag || ' '), 1),\n _createElementVNode(\"div\", _hoisted_41, _toDisplayString(_ctx.practice?.partBButton?.tag || ' '), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.dashboardType === 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_42, [\n _hoisted_43,\n _createElementVNode(\"div\", _hoisted_44, [\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n disabled: !_ctx.practice.partAButton?.isEnable,\n onClick: _cache[6] || (_cache[6] = $event => (_ctx.clickPartA(_ctx.practice)))\n }, [\n _hoisted_46,\n _createTextVNode(\" \" + _toDisplayString(_ctx.practice?.partAButton?.label), 1)\n ], 8, _hoisted_45),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n disabled: !_ctx.practice.partBButton?.isEnable,\n onClick: _cache[7] || (_cache[7] = $event => (_ctx.clickPartB(_ctx.practice)))\n }, [\n _hoisted_48,\n _createTextVNode(\" \" + _toDisplayString(_ctx.practice?.partBButton?.label), 1)\n ], 8, _hoisted_47)\n ]),\n _createElementVNode(\"div\", _hoisted_49, [\n _createElementVNode(\"div\", _hoisted_50, _toDisplayString(_ctx.practice?.partAButton?.tag || ' '), 1),\n _createElementVNode(\"div\", _hoisted_51, _toDisplayString(_ctx.practice?.partBButton?.tag || ' '), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.dashboardType === 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_52, [\n _hoisted_53,\n _createElementVNode(\"div\", _hoisted_54, [\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n style: {\"width\":\"100%\"},\n onClick: _cache[8] || (_cache[8] = $event => (_ctx.clickEer(_ctx.practice))),\n disabled: !_ctx.practice?.eeRButton?.isEnable\n }, _toDisplayString(_ctx.practice?.eeRButton?.label), 9, _hoisted_55)\n ]),\n _createElementVNode(\"div\", _hoisted_56, _toDisplayString(_ctx.practice?.eeRButton?.tag || ' '), 1),\n _hoisted_57,\n _hoisted_58,\n _createElementVNode(\"div\", _hoisted_59, [\n _createElementVNode(\"button\", {\n class: \"btn btn-outline\",\n style: {\"width\":\"100%\"},\n onClick: _cache[9] || (_cache[9] = $event => (_ctx.clickResubmit(_ctx.practice))),\n disabled: !_ctx.practice.resubmissionRequestPartBButton.isEnable\n }, _toDisplayString(_ctx.practice.resubmissionRequestPartBButton.label), 9, _hoisted_60)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.dashboardType === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_61, _toDisplayString(_ctx.getCardFooterText(_ctx.practice)), 1))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.editingTrustContact)\n ? (_openBlock(), _createBlock(_component_AssignTrustContact, {\n key: 1,\n practice: _ctx.practice\n }, null, 8, [\"practice\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.editingTrustCoordinator)\n ? (_openBlock(), _createBlock(_component_AppointCoordinator, {\n key: 2,\n modalOpened: _ctx.editingTrustCoordinator,\n practice: _ctx.practice,\n onClose: _cache[10] || (_cache[10] = $event => {_ctx.editingTrustCoordinator = false;})\n }, null, 8, [\"modalOpened\", \"practice\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.editingEE)\n ? (_openBlock(), _createBlock(_component_AppointAndTerminateEE, {\n key: 3,\n practice: _ctx.practice,\n onClose: _cache[11] || (_cache[11] = $event => (_ctx.editingEE = false))\n }, null, 8, [\"practice\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showAccessDeniedModal)\n ? (_openBlock(), _createBlock(_component_AccessDenied, {\n key: 4,\n modalOpened: _ctx.showAccessDeniedModal,\n formStatus: _ctx.formStatus,\n onClose: _cache[12] || (_cache[12] = $event => (_ctx.closeAccessDeniedModal()))\n }, null, 8, [\"modalOpened\", \"formStatus\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showLoggedInElsewhereModal)\n ? (_openBlock(), _createBlock(_component_LoggedInElsewhere, {\n key: 5,\n modalOpened: _ctx.showLoggedInElsewhereModal,\n formStatus: _ctx.formStatus,\n onClose: _cache[13] || (_cache[13] = $event => (_ctx.closeLoggedInElsewhereModal())),\n onContinue: _cache[14] || (_cache[14] = $event => (_ctx.proceedToOvertakeSession()))\n }, null, 8, [\"modalOpened\", \"formStatus\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showActionModal)\n ? (_openBlock(), _createBlock(_component_ActionModal, {\n key: 6,\n practice: _ctx.practice,\n \"onUpdate:practice\": _cache[15] || (_cache[15] = $event => ((_ctx.practice) = $event)),\n actionType: _ctx.actionType,\n \"onUpdate:actionType\": _cache[16] || (_cache[16] = $event => ((_ctx.actionType) = $event)),\n onCloseModal: _cache[17] || (_cache[17] = $event => (_ctx.showActionModal = false)),\n onReloadData: _cache[18] || (_cache[18] = $event => (_ctx.reloadData()))\n }, null, 8, [\"practice\", \"actionType\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { withModifiers as _withModifiers, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, Transition as _Transition, withCtx as _withCtx, createVNode as _createVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-12d430cc\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"appoint-coordinator\"\n}\nconst _hoisted_2 = { class: \"modal-mask\" }\nconst _hoisted_3 = {\n class: \"modal-wrapper\",\n ref: \"modalWrapper\"\n}\nconst _hoisted_4 = { class: \"modal-container\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"modal-header\" }, [\n /*#__PURE__*/_createElementVNode(\"h3\", null, \"Appoint self as Trust Coordinator\")\n], -1))\nconst _hoisted_6 = { class: \"modal-body\" }\nconst _hoisted_7 = { class: \"practice-short-summary\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Practice Name:\", -1))\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Address:\", -1))\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"text\" }, \" Do you want to be a Trust Coordinator for this Practice including all offices/branches? \", -1))\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"text\" }, \" A Trust Coordinator is responsible for submitting the annual trust reports and will receive all trust related communications. \", -1))\nconst _hoisted_12 = { class: \"modal-footer\" }\nconst _hoisted_13 = { class: \"button-controls\" }\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = [\"disabled\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n\n return (_ctx.modalOpened)\n ? (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_Transition, { name: \"modal\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"i\", {\n class: \"fal fa-times close-icon\",\n onClick: _cache[0] || (_cache[0] = _withModifiers($event => (_ctx.cancel()), [\"prevent\"]))\n }),\n _hoisted_5,\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _hoisted_8,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.practice.practice?.practiceName), 1),\n _hoisted_9,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.practice.practice?.address), 1)\n ]),\n _hoisted_10,\n _hoisted_11\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, [\n (_ctx.submitting)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-outline dark\",\n disabled: _ctx.submitting,\n onClick: _cache[1] || (_cache[1] = _withModifiers($event => (_ctx.cancel()), [\"prevent\"]))\n }, \"Cancel\", 8, _hoisted_14),\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary mr-2\",\n disabled: _ctx.submitting,\n onClick: _cache[2] || (_cache[2] = _withModifiers($event => (_ctx.appoint()), [\"prevent\"]))\n }, \"Appoint Self\", 8, _hoisted_15)\n ])\n ])\n ])\n ], 512)\n ])\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true)\n}","import { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { ComplianceForm, PracticeAtcs } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport store from \"@/trust-atcs-app/store\";\nimport { EventEmitter } from \"events\";\nimport { Inject, Options, Prop, Vue } from \"vue-property-decorator\";\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\n\n@Options({\n components: {\n LoadingIndicator\n }\n})\nexport default class AppointCoordinator extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop({ default: false })\n private modalOpened!: boolean;\n\n @Prop({ default: null })\n private practice!: ComplianceForm;\n\n private submitting = false;\n\n private ai = new AppInsights;\n\n mounted() {\n if (!this.modalOpened) {\n document.body.classList.add('modal-open');\n }\n }\n\n beforeUnmount() {\n if (!this.modalOpened) {\n document.body.classList.remove('modal-open');\n }\n }\n\n private cancel(): void {\n if (!this.submitting) {\n this.$emit('close');\n }\n }\n\n private async appoint(): Promise {\n try {\n this.submitting = true;\n const resp: any = await this.apiService.PracticeAtcsApi?.apiV2AtcsPracticeAssignSelfTrustCoordinatorPracticeCoreIdPost(\n this.practice?.practice?.practiceCoreId\n );\n this.eventCtrl.emit('show-snackbar', 'success', 'Assigned Self as Trust Coordinator successfully');\n this.eventCtrl.emit('loadCardData');\n this.$emit('close');\n\n } catch (e) {\n console.log(e);\n this.ai.trackException('Unable to assign Self as Trust Coordinator: ' + e);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to assign Self as Trust Coordinator');\n } finally {\n this.submitting = false;\n }\n \n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n}\n\n","import { render } from \"./appoint-coordinator.html?vue&type=template&id=12d430cc&scoped=true&ts=true&external\"\nimport script from \"./appoint-coordinator.ts?vue&type=script&lang=ts&external\"\nexport * from \"./appoint-coordinator.ts?vue&type=script&lang=ts&external\"\n\nimport \"./appoint-coordinator.scss?vue&type=style&index=0&id=12d430cc&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-12d430cc\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, vModelText as _vModelText, withDirectives as _withDirectives, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, withModifiers as _withModifiers, withCtx as _withCtx, createVNode as _createVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-40e331c6\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"assign-trustcontact\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"heading-text\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"line1\" }, \"Assign Authorised Trust Contact\")\n], -1))\nconst _hoisted_3 = { class: \"body-main\" }\nconst _hoisted_4 = { class: \"ls-form\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Law Practice:\", -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Address:\", -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Assign Authorised Trust Contact\", -1))\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"validation-msg\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle\" }),\n /*#__PURE__*/_createTextVNode(\" Invalid LawID or Email \")\n], -1))\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { style: {\"display\":\"flex\"} }, [\n /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n style: {\"font-size\":\"20px\",\"color\":\"var(--ls-slate)\"}\n }),\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"ml-2\" }, \"Once you have set up the trust contact with a LawID please enter the email address of the Authorised Trust Contact to delegate access to this branch with immediate effect.\")\n], -1))\nconst _hoisted_11 = { class: \"controls mt-4\" }\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = [\"disabled\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n halfScreen: \"true\",\n onClose: _cache[3] || (_cache[3] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _hoisted_2\n ]),\n body: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"form\", _hoisted_4, [\n _createElementVNode(\"fieldset\", null, [\n _hoisted_5,\n _createElementVNode(\"div\", null, _toDisplayString(this.practice?.practice?.practiceName), 1),\n _hoisted_6,\n _createElementVNode(\"div\", null, _toDisplayString(this.practice?.practice?.address), 1),\n _hoisted_7,\n _createElementVNode(\"div\", {\n class: _normalizeClass(['input-box', _ctx.trustContact === '' || _ctx.errorWithContact ? 'error': ''])\n }, [\n _hoisted_8,\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.trustContact) = $event)),\n placeholder: \"Enter Email\",\n maxlength: \"109\",\n minLength: \"10\"\n }, null, 512), [\n [_vModelText, _ctx.trustContact]\n ]),\n _hoisted_9\n ], 2),\n _hoisted_10\n ])\n ])\n ])\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_11, [\n (_ctx.submitting)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-outline\",\n disabled: _ctx.submitting,\n onClick: _cache[1] || (_cache[1] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\",\"stop\"]))\n }, \" Back \", 8, _hoisted_12),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n disabled: _ctx.submitting || !(_ctx.isFormDirty && _ctx.validForm),\n onClick: _cache[2] || (_cache[2] = _withModifiers($event => (_ctx.assignContact()), [\"prevent\",\"stop\"]))\n }, \" Submit \", 8, _hoisted_13)\n ])\n ]),\n _: 1\n })\n ]))\n}","\nimport { Options, Vue } from 'vue-class-component';\nimport ModalBox from '@/shared/components/modal-box/index.vue';\nimport { Inject, Prop, Watch } from 'vue-property-decorator';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { EventEmitter } from 'events';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport { orderBy } from 'lodash';\nimport store from '@/trust-atcs-app/store';\nimport { ComplianceForm, IndividualPracticeRequest, PracticeAtcs } from '@/shared/modules/typescript-trustapi-client/models';\n\n@Options({\n components: {\n ModalBox,\n LoadingIndicator,\n ErrorIndicator,\n }\n})\nexport default class AssignTrustContact extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop({ default: null })\n private practice!: ComplianceForm;\n\n private trustContact = null;\n private errorWithContact = false;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private loadingEvents = false;\n\n private submitting = false;\n\n private closeModal(): void {\n this.eventCtrl.emit('loadCardData');\n this.$emit('close');\n }\n\n \n private async assignContact(): Promise {\n try {\n this.submitting = true;\n await this.apiService.PracticeAtcsApi?.apiV2AtcsPracticeSaveTrustContactPost({\n practiceCoreId: this.practice?.practice?.practiceCoreId,\n searchText: this.trustContact,\n });\n this.eventCtrl.emit('show-snackbar', 'success', 'Assigned Trust Contact successfully');\n this.closeModal();\n } catch {\n this.eventCtrl.emit('show-snackbar', 'error', 'Problem assigning Trust Contact');\n this.errorWithContact = true;\n } finally {\n this.submitting = false;\n }\n }\n\n get validForm(): boolean {\n return !!this.trustContact;\n }\n\n get isFormDirty(): boolean {\n return true;\n }\n\n}\n\n","import { render } from \"./assign-trustcontact.html?vue&type=template&id=40e331c6&scoped=true&ts=true&external\"\nimport script from \"./assign-trustcontact.ts?vue&type=script&lang=ts&external\"\nexport * from \"./assign-trustcontact.ts?vue&type=script&lang=ts&external\"\n\nimport \"./assign-trustcontact.scss?vue&type=style&index=0&id=40e331c6&scoped=true&lang=sccs&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-40e331c6\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, vModelText as _vModelText, withDirectives as _withDirectives, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, Fragment as _Fragment, createElementBlock as _createElementBlock, withModifiers as _withModifiers, renderList as _renderList, vModelRadio as _vModelRadio, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1b45e358\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"request-termination-ee\" }\nconst _hoisted_2 = { class: \"heading-text\" }\nconst _hoisted_3 = { class: \"line1\" }\nconst _hoisted_4 = { class: \"body-main\" }\nconst _hoisted_5 = {\n key: 1,\n class: \"ls-form\"\n}\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, \"Legal Profession Uniform General Rules 2015 – Rule 66(2), (3) and (4).\", -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_9 = { style: {\"border\":\"1px solid #D8CFBC\",\"padding\":\"5px 10px\",\"width\":\"100%\"} }\nconst _hoisted_10 = { style: {\"display\":\"flex\",\"flex-flow\":\"row nowrap\",\"justify-content\":\"space-between\"} }\nconst _hoisted_11 = {\n class: \"mr-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_12 = { class: \"data-box\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Name:\", -1))\nconst _hoisted_14 = { class: \"text-field\" }\nconst _hoisted_15 = {\n class: \"ml-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_16 = { class: \"data-box\" }\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Email:\", -1))\nconst _hoisted_18 = { class: \"text-field\" }\nconst _hoisted_19 = { style: {\"display\":\"flex\",\"flex-flow\":\"row nowrap\",\"justify-content\":\"space-between\"} }\nconst _hoisted_20 = {\n class: \"mr-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_21 = { class: \"data-box\" }\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Firm Name:\", -1))\nconst _hoisted_23 = { class: \"text-field\" }\nconst _hoisted_24 = {\n class: \"ml-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_25 = { class: \"data-box\" }\nconst _hoisted_26 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Phone:\", -1))\nconst _hoisted_27 = { class: \"text-field\" }\nconst _hoisted_28 = { style: {\"width\":\"100%\"} }\nconst _hoisted_29 = { class: \"data-box\" }\nconst _hoisted_30 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Address:\", -1))\nconst _hoisted_31 = { class: \"text-field\" }\nconst _hoisted_32 = { style: {\"display\":\"flex\",\"flex-flow\":\"row nowrap\",\"justify-content\":\"space-between\"} }\nconst _hoisted_33 = {\n class: \"mr-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_34 = { class: \"data-box\" }\nconst _hoisted_35 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Suburb:\", -1))\nconst _hoisted_36 = { class: \"text-field\" }\nconst _hoisted_37 = {\n class: \"ml-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_38 = { class: \"data-box\" }\nconst _hoisted_39 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"State:\", -1))\nconst _hoisted_40 = { class: \"text-field\" }\nconst _hoisted_41 = { style: {\"width\":\"100%\"} }\nconst _hoisted_42 = { class: \"data-box\" }\nconst _hoisted_43 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Date appointed:\", -1))\nconst _hoisted_44 = { class: \"text-field\" }\nconst _hoisted_45 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Reason for termination:\", -1))\nconst _hoisted_46 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"validation-msg\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }),\n /*#__PURE__*/_createTextVNode(\" Required field. \")\n], -1))\nconst _hoisted_47 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Search for External Examiner\", -1))\nconst _hoisted_48 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { style: {\"display\":\"flex\"} }, [\n /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n style: {\"font-size\":\"20px\",\"color\":\"var(--ls-slate)\"}\n }),\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"ml-2\" }, \"To find an External Examiner, please enter a surname below and/or select a region then click 'Search'\")\n], -1))\nconst _hoisted_49 = { style: {\"display\":\"flex\",\"flex-flow\":\"row nowrap\",\"justify-content\":\"space-between\"} }\nconst _hoisted_50 = {\n class: \"mr-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_51 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"External Examiner\", -1))\nconst _hoisted_52 = [\"disabled\"]\nconst _hoisted_53 = {\n class: \"ml-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_54 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Suburb/Postcode\", -1))\nconst _hoisted_55 = [\"disabled\"]\nconst _hoisted_56 = { style: {\"width\":\"100%\",\"padding\":\"10px 0\",\"display\":\"flex\",\"align-items\":\"center\"} }\nconst _hoisted_57 = [\"disabled\"]\nconst _hoisted_58 = {\n key: 0,\n class: \"validation-msg error\"\n}\nconst _hoisted_59 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }, null, -1))\nconst _hoisted_60 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_61 = { key: 1 }\nconst _hoisted_62 = { class: \"results\" }\nconst _hoisted_63 = { class: \"radio\" }\nconst _hoisted_64 = [\"id\", \"value\"]\nconst _hoisted_65 = { class: \"radio-elmt\" }\nconst _hoisted_66 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"radio-checkmark\" })\n], -1))\nconst _hoisted_67 = { class: \"radio-text\" }\nconst _hoisted_68 = { style: {\"width\":\"100%\"} }\nconst _hoisted_69 = { style: {\"display\":\"flex\",\"flex-flow\":\"row nowrap\",\"justify-content\":\"space-between\"} }\nconst _hoisted_70 = {\n class: \"mr-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_71 = { class: \"data-box\" }\nconst _hoisted_72 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Name:\", -1))\nconst _hoisted_73 = { class: \"text-field\" }\nconst _hoisted_74 = {\n class: \"ml-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_75 = { class: \"data-box\" }\nconst _hoisted_76 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Email:\", -1))\nconst _hoisted_77 = { class: \"text-field\" }\nconst _hoisted_78 = { style: {\"display\":\"flex\",\"flex-flow\":\"row nowrap\",\"justify-content\":\"space-between\"} }\nconst _hoisted_79 = {\n class: \"mr-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_80 = { class: \"data-box\" }\nconst _hoisted_81 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Firm Name:\", -1))\nconst _hoisted_82 = { class: \"text-field\" }\nconst _hoisted_83 = {\n class: \"ml-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_84 = { class: \"data-box\" }\nconst _hoisted_85 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Phone:\", -1))\nconst _hoisted_86 = { class: \"text-field\" }\nconst _hoisted_87 = { style: {\"width\":\"100%\"} }\nconst _hoisted_88 = { class: \"data-box\" }\nconst _hoisted_89 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Address:\", -1))\nconst _hoisted_90 = { class: \"text-field\" }\nconst _hoisted_91 = { style: {\"display\":\"flex\",\"flex-flow\":\"row nowrap\",\"justify-content\":\"space-between\"} }\nconst _hoisted_92 = {\n class: \"mr-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_93 = { class: \"data-box\" }\nconst _hoisted_94 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"Suburb:\", -1))\nconst _hoisted_95 = { class: \"text-field\" }\nconst _hoisted_96 = {\n class: \"ml-1\",\n style: {\"width\":\"50%\"}\n}\nconst _hoisted_97 = { class: \"data-box\" }\nconst _hoisted_98 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"fieldname\" }, \"State:\", -1))\nconst _hoisted_99 = { class: \"text-field\" }\nconst _hoisted_100 = {\n key: 2,\n class: \"showMore mt-2 mb-1\"\n}\nconst _hoisted_101 = {\n key: 3,\n class: \"validation-msg error mt-2 mb-2\"\n}\nconst _hoisted_102 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }, null, -1))\nconst _hoisted_103 = { class: \"controls mt-4\" }\nconst _hoisted_104 = [\"disabled\"]\nconst _hoisted_105 = [\"disabled\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n halfScreen: \"true\",\n onClose: _cache[10] || (_cache[10] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, \"Notification of \" + _toDisplayString(_ctx.existingEE ? 'Termination' : 'Appointment') + \" of External Examiner\", 1)\n ])\n ]),\n body: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_4, [\n (_ctx.loadingData)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : (_openBlock(), _createElementBlock(\"form\", _hoisted_5, [\n _createElementVNode(\"fieldset\", null, [\n _hoisted_6,\n _hoisted_7,\n (_ctx.existingEE)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createElementVNode(\"div\", null, \"I, \" + _toDisplayString(_ctx.userAccount.user.firstName) + \" \" + _toDisplayString(_ctx.userAccount.user.lastName) + \" the authorised principal(s) of \" + _toDisplayString(_ctx.practice?.practice?.practiceName) + \" request the approval of the Law Society Council to terminate the appointment of the person listed below as the External Examiner of the law practice for the reasons detailed below:\", 1),\n _hoisted_8,\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", _hoisted_12, [\n _hoisted_13,\n _createElementVNode(\"div\", _hoisted_14, _toDisplayString(_ctx.selectedEE?.firstName ?? '') + \" \" + _toDisplayString(_ctx.selectedEE?.lastName ?? ''), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, [\n _hoisted_17,\n _createElementVNode(\"div\", _hoisted_18, _toDisplayString(_ctx.selectedEE?.email ?? ''), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", _hoisted_21, [\n _hoisted_22,\n _createElementVNode(\"div\", _hoisted_23, _toDisplayString(_ctx.selectedEE?.firmName ?? ''), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"div\", _hoisted_25, [\n _hoisted_26,\n _createElementVNode(\"div\", _hoisted_27, _toDisplayString(_ctx.selectedEE?.phoneDetail?.phoneNumber ?? ''), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_28, [\n _createElementVNode(\"div\", _hoisted_29, [\n _hoisted_30,\n _createElementVNode(\"div\", _hoisted_31, _toDisplayString(_ctx.selectedEE?.address ?? ''), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_32, [\n _createElementVNode(\"div\", _hoisted_33, [\n _createElementVNode(\"div\", _hoisted_34, [\n _hoisted_35,\n _createElementVNode(\"div\", _hoisted_36, _toDisplayString(_ctx.selectedEE?.suburb ?? ''), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_37, [\n _createElementVNode(\"div\", _hoisted_38, [\n _hoisted_39,\n _createElementVNode(\"div\", _hoisted_40, _toDisplayString(_ctx.selectedEE?.state ?? ''), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_41, [\n _createElementVNode(\"div\", _hoisted_42, [\n _hoisted_43,\n _createElementVNode(\"div\", _hoisted_44, _toDisplayString(_ctx.$formatDate(_ctx.selectedEE?.effectiveStartDate)), 1)\n ])\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"textarea_box\", (!_ctx.reasonForTermination && (_ctx.dirtyFields[0] || _ctx.submitPressed)) ? 'error': '']),\n style: {\"width\":\"100%\"}\n }, [\n _hoisted_45,\n _withDirectives(_createElementVNode(\"textarea\", {\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.reasonForTermination) = $event)),\n style: {\"border\":\"1px solid #aaa\",\"height\":\"130px\",\"resize\":\"vertical\",\"width\":\"100%\"},\n maxlength: 5000,\n placeholder: \"Enter reason\",\n onChange: _cache[1] || (_cache[1] = $event => (_ctx.dirtyFields[0] = true))\n }, null, 544), [\n [_vModelText, _ctx.reasonForTermination]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [_ctx.reasonForTermination?.length === 5000 ? 'full' : '']])\n }, _toDisplayString(_ctx.reasonForTermination?.length || 0) + \"/5000 characters \", 3),\n _hoisted_46\n ], 2)\n ])\n ], 64))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createElementVNode(\"div\", null, \"I, \" + _toDisplayString(_ctx.userAccount.user.firstName) + \" \" + _toDisplayString(_ctx.userAccount.user.lastName) + \" the authorised principal(s) of \" + _toDisplayString(_ctx.practice?.practice?.practiceName) + \" advise the Law Society Council that I have appointed the person listed below as the external examiner for the above-named law practice.\", 1),\n _hoisted_47,\n _hoisted_48,\n _createElementVNode(\"div\", _hoisted_49, [\n _createElementVNode(\"div\", _hoisted_50, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", [_ctx.searchPressed && _ctx.nameKeyword.trim()?.length == 0 && _ctx.suburbPostcode.trim()?.length == 0 ? 'error': '']])\n }, [\n _hoisted_51,\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.nameKeyword) = $event)),\n disabled: _ctx.searchinguser,\n placeholder: \"Enter name\"\n }, null, 8, _hoisted_52), [\n [_vModelText, _ctx.nameKeyword]\n ])\n ], 2)\n ]),\n _createElementVNode(\"div\", _hoisted_53, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", [_ctx.searchPressed && _ctx.nameKeyword.trim()?.length == 0 && _ctx.suburbPostcode.trim()?.length == 0 ? 'error': '']])\n }, [\n _hoisted_54,\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => ((_ctx.suburbPostcode) = $event)),\n disabled: _ctx.searchinguser,\n placeholder: \"Enter Suburb/Postcode\"\n }, null, 8, _hoisted_55), [\n [_vModelText, _ctx.suburbPostcode]\n ])\n ], 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_56, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary\",\n onClick: _cache[4] || (_cache[4] = _withModifiers($event => {_ctx.searchUser(0, 10, true);}, [\"prevent\",\"stop\"])),\n disabled: _ctx.searchinguser || _ctx.gettingMoreUser\n }, \"Search\", 8, _hoisted_57),\n (_ctx.searchinguser)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator ml-2\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.searchPressed && _ctx.nameKeyword.trim()?.length == 0 && _ctx.suburbPostcode.trim()?.length == 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_58, [\n _hoisted_59,\n _createTextVNode(\" Please search and select an External Examiner first. \")\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_60,\n (_ctx.searchPressed && (_ctx.nameKeyword.trim()?.length > 0 || _ctx.suburbPostcode.trim()?.length > 0) && !_ctx.searchinguser)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_61, \"Found \" + _toDisplayString(_ctx.totalResultCount) + \" result(s)\", 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"search-result\", (!this.selectedEE?.id && (_ctx.dirtyFields[0] || _ctx.submitPressed)) ? 'error-no-selection': ''])\n }, [\n _createElementVNode(\"div\", _hoisted_62, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.externalExaminers, (ee, i) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"ee-item\", [_ctx.selectedEE?.id == ee.id ? 'ee-item-selected': '']]),\n key: i\n }, [\n _createElementVNode(\"label\", _hoisted_63, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n name: \"ee-user\",\n id: 'ee-user' + i,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => ((_ctx.selectedEE) = $event)),\n value: ee,\n onChange: _cache[6] || (_cache[6] = $event => (_ctx.dirtyFields[0] = true))\n }, null, 40, _hoisted_64), [\n [_vModelRadio, _ctx.selectedEE]\n ]),\n _createElementVNode(\"div\", _hoisted_65, [\n _hoisted_66,\n _createElementVNode(\"span\", _hoisted_67, [\n _createElementVNode(\"div\", _hoisted_68, [\n _createElementVNode(\"div\", _hoisted_69, [\n _createElementVNode(\"div\", _hoisted_70, [\n _createElementVNode(\"div\", _hoisted_71, [\n _hoisted_72,\n _createElementVNode(\"div\", _hoisted_73, _toDisplayString(ee?.firstName ?? '') + \" \" + _toDisplayString(ee?.lastName ?? ''), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_74, [\n _createElementVNode(\"div\", _hoisted_75, [\n _hoisted_76,\n _createElementVNode(\"div\", _hoisted_77, _toDisplayString(ee?.email ?? ''), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_78, [\n _createElementVNode(\"div\", _hoisted_79, [\n _createElementVNode(\"div\", _hoisted_80, [\n _hoisted_81,\n _createElementVNode(\"div\", _hoisted_82, _toDisplayString(ee?.firmName ?? ''), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_83, [\n _createElementVNode(\"div\", _hoisted_84, [\n _hoisted_85,\n _createElementVNode(\"div\", _hoisted_86, _toDisplayString(ee?.phoneDetail?.phoneNumber ?? ''), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_87, [\n _createElementVNode(\"div\", _hoisted_88, [\n _hoisted_89,\n _createElementVNode(\"div\", _hoisted_90, _toDisplayString(ee?.address ?? ''), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_91, [\n _createElementVNode(\"div\", _hoisted_92, [\n _createElementVNode(\"div\", _hoisted_93, [\n _hoisted_94,\n _createElementVNode(\"div\", _hoisted_95, _toDisplayString(ee?.suburb ?? '') + \", \" + _toDisplayString(ee?.postCode ?? ''), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_96, [\n _createElementVNode(\"div\", _hoisted_97, [\n _hoisted_98,\n _createElementVNode(\"div\", _hoisted_99, _toDisplayString(ee?.state ?? ''), 1)\n ])\n ])\n ])\n ])\n ])\n ])\n ])\n ], 2))\n }), 128))\n ])\n ], 2),\n (_ctx.displayShowMoreButton)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_100, [\n (!_ctx.gettingMoreUser)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n class: \"link\",\n onClick: _cache[7] || (_cache[7] = $event => (_ctx.searchUser(_ctx.numResultsShowing, 10, false)))\n }, \"Show more\"))\n : _createCommentVNode(\"\", true),\n (_ctx.gettingMoreUser)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 1,\n class: \"loading-indicator ml-2\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n ((!this.selectedEE?.id && (_ctx.dirtyFields[0] || _ctx.submitPressed)))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_101, [\n _hoisted_102,\n _createTextVNode(\" Please select an External Examiner \")\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n ])\n ]))\n ])\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_103, [\n (_ctx.submitting)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-outline\",\n disabled: _ctx.submitting,\n onClick: _cache[8] || (_cache[8] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\",\"stop\"]))\n }, \" Back \", 8, _hoisted_104),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary\",\n disabled: _ctx.submitting,\n onClick: _cache[9] || (_cache[9] = _withModifiers($event => (_ctx.submitButtonPressed()), [\"prevent\",\"stop\"]))\n }, \" Submit \", 8, _hoisted_105)\n ])\n ]),\n _: 1\n })\n ]))\n}","\nimport { Options, Vue } from 'vue-class-component';\nimport ModalBox from '@/shared/components/modal-box/index.vue';\nimport { Inject, Prop, Watch } from 'vue-property-decorator';\nimport { TrustAPI } from '@/shared/modules/trust-api';\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { EventEmitter } from 'events';\nimport ErrorIndicator from '@/shared/components/error-indicator/index.vue';\nimport { orderBy } from 'lodash';\nimport store from '@/trust-atcs-app/store';\nimport { ComplianceForm, ExternalExaminer, IndividualPracticeRequest, PracticeAtcs } from '@/shared/modules/typescript-trustapi-client/models';\nimport { AuthorizedUser } from '@/trust-atcs-app/models/authorized-user';\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\n\n@Options({\n components: {\n ModalBox,\n LoadingIndicator,\n ErrorIndicator,\n },\n mixins: [FormatDateTimeMixin]\n})\nexport default class AppointAndTerminateEE extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n @Prop({ default: null })\n private practice!: ComplianceForm;\n\n private trustContact = null;\n private errorWithContact = false;\n\n\n private loadingData = false;\n private errorLoadingData = false;\n private loadingEvents = false;\n\n private submitting = false;\n private searchinguser = false;\n private gettingMoreUser = false;\n private submitPressed = false;\n private searchPressed = false;\n\n private selectedEE: ExternalExaminer = null as any;\n private reasonForTermination: string = null as any;\n private nameKeyword = '';\n private suburbPostcode = '';\n\n private externalExaminers: ExternalExaminer[] = [];\n private totalResultCount = 0;\n private numResultsShowing = 0;\n\n private dirtyFields: Array = [];\n\n created(): void {\n this.dirtyFields = [false];\n if (this.existingEE) {\n this.getEEUser();\n }\n }\n\n private closeModal(): void {\n this.eventCtrl.emit('loadCardData');\n this.$emit('close');\n }\n\n private async getEEUser(): Promise {\n try {\n this.loadingData = true\n const resp: any = await this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerGetExternalExaminerByIndividualPracticeIdIndividualPracticeIdGet(\n this.practice?.practice?.externalExaminer?.id\n );\n this.selectedEE = resp?.data.data as ExternalExaminer;\n\n } catch {\n this.errorLoadingData = true;\n } finally {\n this.loadingData = false;\n }\n }\n\n private submitButtonPressed(): void {\n if (this.existingEE) {\n this.terminateEERequest();\n } else {\n this.appointmentEERequest();\n }\n }\n \n private async terminateEERequest(): Promise {\n try {\n this.submitPressed = true;\n if (!this.isFormValid()) {\n throw ('Incomplete form');\n }\n this.submitting = true;\n await this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerTerminateEeRequestFormPost(\n {\n externalExaminerId: this.selectedEE?.id,\n practiceCoreId: this.practice?.practice?.practiceCoreId,\n terminationReason: this.reasonForTermination\n }\n )\n this.eventCtrl.emit('show-snackbar', 'success', 'Request to terminate External Examiner has been submitted');\n this.closeModal();\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error submitting request: ' + err);\n } finally {\n this.submitting = false;\n }\n }\n\n private async appointmentEERequest(): Promise {\n try {\n this.submitPressed = true;\n if (!this.isFormValid()) {\n throw ('Incomplete form - no External Examiner');\n }\n this.submitting = true;\n await this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerAppointEeRequestFormPost(\n {\n externalExaminerId: this.selectedEE?.id,\n practiceCoreId: this.practice?.practice.practiceCoreId,\n }\n )\n this.eventCtrl.emit('show-snackbar', 'success', 'Request to appoint External Examiner has been submitted');\n this.closeModal();\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error submitting request: ' + err);\n } finally {\n this.submitting = false;\n }\n }\n\n private async searchUser(skipI = 0, takeI = 10, reset = false): Promise {\n try {\n this.searchPressed = true;\n if (this.nameKeyword.trim()?.length == 0 && this.suburbPostcode.trim()?.length == 0) {\n return;\n }\n if (reset) {\n this.externalExaminers = [];\n this.totalResultCount = 0;\n this.numResultsShowing = 0;\n this.searchinguser = true;\n } else {\n this.gettingMoreUser = true;\n }\n\n const resp: any = await this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerSearchExternalExaminersPost(\n {\n skip: skipI,\n take: takeI,\n keyword: this.nameKeyword,\n suburbPostCode: this.suburbPostcode\n }\n );\n\n if (reset) {\n this.externalExaminers = resp.data.data;\n this.totalResultCount = resp.data.totalCount;\n this.numResultsShowing = this.totalResultCount <= 10 ? this.totalResultCount : this.externalExaminers.length;\n } else {\n this.externalExaminers.push(...resp.data.data);\n this.numResultsShowing = this.externalExaminers.length;\n }\n \n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error getting External Examiners: ' + err);\n } finally {\n this.searchinguser = false;\n this.gettingMoreUser = false;\n }\n }\n\n private isFormValid(): boolean {\n if (this.existingEE) {\n return this.reasonForTermination != null && this.reasonForTermination?.length > 0;\n } else {\n return !!this.selectedEE?.id\n }\n \n }\n\n get displayShowMoreButton() : boolean {\n return this.numResultsShowing < this.totalResultCount;\n }\n\n get existingEE(): boolean {\n return this.practice?.practice?.externalExaminer?.lawId ?? false;\n }\n\n get userAccount(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n}\n\n","import { render } from \"./appoint-terminate-ee-request.html?vue&type=template&id=1b45e358&scoped=true&ts=true&external\"\nimport script from \"./appoint-terminate-ee-request.ts?vue&type=script&lang=ts&external\"\nexport * from \"./appoint-terminate-ee-request.ts?vue&type=script&lang=ts&external\"\n\nimport \"./appoint-terminate-ee-request.scss?vue&type=style&index=0&id=1b45e358&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1b45e358\"]])\n\nexport default __exports__","import { withModifiers as _withModifiers, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, Transition as _Transition, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3b65005a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"access-denied\"\n}\nconst _hoisted_2 = { class: \"modal-mask\" }\nconst _hoisted_3 = {\n class: \"modal-wrapper\",\n ref: \"modalWrapper\"\n}\nconst _hoisted_4 = { class: \"modal-container\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"modal-header\" }, [\n /*#__PURE__*/_createElementVNode(\"h3\", null, \"Access Denied\")\n], -1))\nconst _hoisted_6 = { class: \"modal-body\" }\nconst _hoisted_7 = { class: \"text\" }\nconst _hoisted_8 = { class: \"modal-footer\" }\nconst _hoisted_9 = { class: \"button-controls\" }\n\nexport function render(_ctx, _cache) {\n return (_ctx.modalOpened)\n ? (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_Transition, { name: \"modal\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"i\", {\n class: \"fal fa-times close-icon\",\n onClick: _cache[0] || (_cache[0] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\"]))\n }),\n _hoisted_5,\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, _toDisplayString(_ctx.formStatus?.updatingBy?.firstName ?? '') + \" \" + _toDisplayString(_ctx.formStatus?.updatingBy?.lastName ?? '') + \" is presently accessing and answering the form. Access to this form is restricted until they exit or submit it. Please wait until the current session has ended. \", 1)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"button\", {\n class: \"btn btn-outline dark\",\n onClick: _cache[1] || (_cache[1] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\"]))\n }, \"OK\")\n ])\n ])\n ])\n ], 512)\n ])\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true)\n}","import { FormStatus } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { Options, Prop, Vue } from \"vue-property-decorator\";\n\n@Options({})\nexport default class AccessDenied extends Vue {\n\n\n @Prop({ default: false })\n private modalOpened!: boolean;\n\n @Prop({ default: null })\n private formStatus!: FormStatus;\n\n mounted() {\n if (!this.modalOpened) {\n document.body.classList.add('modal-open');\n }\n }\n\n beforeUnmount() {\n if (!this.modalOpened) {\n document.body.classList.remove('modal-open');\n }\n }\n\n private closeModal(): void {\n this.$emit('close');\n }\n\n}\n\n","import { render } from \"./access-denied-modal.html?vue&type=template&id=3b65005a&scoped=true&ts=true&external\"\nimport script from \"./access-denied-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./access-denied-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./access-denied-modal.scss?vue&type=style&index=0&id=3b65005a&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3b65005a\"]])\n\nexport default __exports__","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, vModelText as _vModelText, withDirectives as _withDirectives, normalizeClass as _normalizeClass, vModelCheckbox as _vModelCheckbox, withModifiers as _withModifiers, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-db034684\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"action-modal\" }\nconst _hoisted_2 = { class: \"heading-text\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"line1\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"line1\"\n}\nconst _hoisted_5 = {\n key: 2,\n class: \"line1\"\n}\nconst _hoisted_6 = {\n key: 3,\n class: \"line1\"\n}\nconst _hoisted_7 = {\n key: 0,\n class: \"body-main\"\n}\nconst _hoisted_8 = {\n key: 1,\n class: \"file-area\"\n}\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", null, \"Uploaded files\", -1))\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", { class: \"ml-2\" }, \"General Trust Money Bank Reconciliation:\", -1))\nconst _hoisted_12 = { class: \"file ml-2\" }\nconst _hoisted_13 = { class: \"row\" }\nconst _hoisted_14 = { class: \"col-8\" }\nconst _hoisted_15 = { class: \"file-name\" }\nconst _hoisted_16 = { class: \"col-4\" }\nconst _hoisted_17 = { class: \"file-download\" }\nconst _hoisted_18 = [\"onClick\"]\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", { class: \"ml-2\" }, \"General Trust Money Overdrawn Ledger:\", -1))\nconst _hoisted_21 = { class: \"file ml-2\" }\nconst _hoisted_22 = { class: \"row\" }\nconst _hoisted_23 = { class: \"col-8\" }\nconst _hoisted_24 = { class: \"file-name\" }\nconst _hoisted_25 = { class: \"col-4\" }\nconst _hoisted_26 = { class: \"file-download\" }\nconst _hoisted_27 = [\"onClick\"]\nconst _hoisted_28 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", { class: \"ml-2\" }, \"Controlled Money:\", -1))\nconst _hoisted_30 = { class: \"file ml-2\" }\nconst _hoisted_31 = { class: \"row\" }\nconst _hoisted_32 = { class: \"col-8\" }\nconst _hoisted_33 = { class: \"file-name\" }\nconst _hoisted_34 = { class: \"col-4\" }\nconst _hoisted_35 = { class: \"file-download\" }\nconst _hoisted_36 = [\"onClick\"]\nconst _hoisted_37 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_38 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", { class: \"ml-2\" }, \"Investment Money:\", -1))\nconst _hoisted_39 = { class: \"file ml-2\" }\nconst _hoisted_40 = { class: \"row\" }\nconst _hoisted_41 = { class: \"col-8\" }\nconst _hoisted_42 = { class: \"file-name\" }\nconst _hoisted_43 = { class: \"col-4\" }\nconst _hoisted_44 = { class: \"file-download\" }\nconst _hoisted_45 = [\"onClick\"]\nconst _hoisted_46 = {\n key: 1,\n class: \"body-main\"\n}\nconst _hoisted_47 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_48 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, [\n /*#__PURE__*/_createTextVNode(\"Comment(s) \"),\n /*#__PURE__*/_createElementVNode(\"span\", { style: {\"font-family\":\"open sans\",\"font-size\":\"0.95rem\"} }, \"(Optional)\")\n], -1))\nconst _hoisted_49 = { class: \"textarea_box\" }\nconst _hoisted_50 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"info-line\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-info-circle mr-2\" }),\n /*#__PURE__*/_createElementVNode(\"div\", null, \"If you confirm to resubmit Part A, the progress or submission of Part B and EER will be removed.\")\n], -1))\nconst _hoisted_51 = {\n key: 2,\n class: \"body-main\"\n}\nconst _hoisted_52 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_53 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, [\n /*#__PURE__*/_createTextVNode(\"Comment(s) \"),\n /*#__PURE__*/_createElementVNode(\"span\", { style: {\"font-family\":\"open sans\",\"font-size\":\"0.95rem\"} }, \"(Optional)\")\n], -1))\nconst _hoisted_54 = { class: \"textarea_box\" }\nconst _hoisted_55 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"info-line\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-info-circle mr-2\" }),\n /*#__PURE__*/_createElementVNode(\"div\", null, \"If you confirm to resubmit Part B, the progress or submission of EER will be removed.\")\n], -1))\nconst _hoisted_56 = {\n key: 3,\n class: \"body-main\"\n}\nconst _hoisted_57 = [\"disabled\"]\nconst _hoisted_58 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Part A (Applies to all branches)\")\n], -1))\nconst _hoisted_59 = [\"disabled\"]\nconst _hoisted_60 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"Part B\")\n], -1))\nconst _hoisted_61 = [\"disabled\"]\nconst _hoisted_62 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ]),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkbox-text\" }, \"External Examiner Report\")\n], -1))\nconst _hoisted_63 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_64 = { class: \"controls mt-4\" }\nconst _hoisted_65 = [\"disabled\"]\nconst _hoisted_66 = [\"disabled\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n onClose: _cache[7] || (_cache[7] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.actionType === 'file-attachment')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_3, \"File attachments\"))\n : _createCommentVNode(\"\", true),\n (_ctx.actionType === 'resubmit-part-a')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, \"Part A resubmission\"))\n : _createCommentVNode(\"\", true),\n (_ctx.actionType === 'resubmit-part-b')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_5, \"Part B resubmission\"))\n : _createCommentVNode(\"\", true),\n (_ctx.actionType === 'absolution')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_6, \"Not required\"))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n body: _withCtx(() => [\n (_ctx.actionType === 'file-attachment')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n (_ctx.loadingContent)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, { key: 0 }))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _hoisted_9,\n _hoisted_10,\n _createElementVNode(\"div\", null, [\n _hoisted_11,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.fileList?.generalTrustMoneyBankReconciliationFiles, (f, i) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, _toDisplayString(f?.fileName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: $event => (_ctx.downloadFile(f))\n }, \"Download\", 8, _hoisted_18)\n ])\n ])\n ])\n ]))\n }), 256)),\n _hoisted_19,\n _hoisted_20,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.fileList?.generalTrustMoneyOverdrawnLedgerFiles, (f, i) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_21, [\n _createElementVNode(\"div\", _hoisted_22, [\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"div\", _hoisted_24, _toDisplayString(f?.fileName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: $event => (_ctx.downloadFile(f))\n }, \"Download\", 8, _hoisted_27)\n ])\n ])\n ])\n ]))\n }), 256)),\n _hoisted_28,\n _hoisted_29,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.fileList?.controlledMoneyFiles, (f, i) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_30, [\n _createElementVNode(\"div\", _hoisted_31, [\n _createElementVNode(\"div\", _hoisted_32, [\n _createElementVNode(\"div\", _hoisted_33, _toDisplayString(f?.fileName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_34, [\n _createElementVNode(\"div\", _hoisted_35, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: $event => (_ctx.downloadFile(f))\n }, \"Download\", 8, _hoisted_36)\n ])\n ])\n ])\n ]))\n }), 256)),\n _hoisted_37,\n _hoisted_38,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.fileList?.investmentMoneyFiles, (f, i) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_39, [\n _createElementVNode(\"div\", _hoisted_40, [\n _createElementVNode(\"div\", _hoisted_41, [\n _createElementVNode(\"div\", _hoisted_42, _toDisplayString(f?.fileName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_43, [\n _createElementVNode(\"div\", _hoisted_44, [\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary sml\",\n onClick: $event => (_ctx.downloadFile(f))\n }, \"Download\", 8, _hoisted_45)\n ])\n ])\n ])\n ]))\n }), 256))\n ])\n ]))\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.actionType === 'resubmit-part-a')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_46, [\n _createElementVNode(\"div\", null, [\n _createTextVNode(\"Are you sure you want to resubmit Part A for \"),\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.selectedPractice.firmName), 1),\n _createTextVNode(\" / \"),\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.selectedPractice.firmId), 1),\n _createTextVNode(\"? \")\n ]),\n _hoisted_47,\n _hoisted_48,\n _createElementVNode(\"div\", _hoisted_49, [\n _withDirectives(_createElementVNode(\"textarea\", {\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.comments) = $event)),\n style: {\"border\":\"1px solid #aaa\",\"height\":\"130px\",\"resize\":\"vertical\",\"width\":\"100%\"},\n maxlength: 5000,\n placeholder: \"Enter comments\"\n }, null, 512), [\n [_vModelText, _ctx.comments]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [_ctx.comments.length === 5000 ? 'full' : '']])\n }, _toDisplayString(_ctx.comments.length || 0) + \"/5000 characters \", 3)\n ]),\n _hoisted_50\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.actionType === 'resubmit-part-b')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_51, [\n _createElementVNode(\"div\", null, [\n _createTextVNode(\"Are you sure you want to resubmit Part B for \"),\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.practiceName), 1),\n _createTextVNode(\" / \"),\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.practice.practice?.firmId), 1),\n _createTextVNode(\"? \")\n ]),\n _hoisted_52,\n _hoisted_53,\n _createElementVNode(\"div\", _hoisted_54, [\n _withDirectives(_createElementVNode(\"textarea\", {\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.comments) = $event)),\n style: {\"border\":\"1px solid #aaa\",\"height\":\"130px\",\"resize\":\"vertical\",\"width\":\"100%\"},\n maxlength: 5000,\n placeholder: \"Enter comments\"\n }, null, 512), [\n [_vModelText, _ctx.comments]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"footnote\", [_ctx.comments.length === 5000 ? 'full' : '']])\n }, _toDisplayString(_ctx.comments.length || 0) + \"/5000 characters \", 3)\n ]),\n _hoisted_55\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.actionType === 'absolution')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_56, [\n _createElementVNode(\"h4\", null, \"Compliance year: \" + _toDisplayString(_ctx.practice.complianceYear?.name), 1),\n _createElementVNode(\"label\", {\n class: _normalizeClass([\"checkbox-button\", _ctx.isDisabledPartA ? 'disabled':''])\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => ((_ctx.isAbsolvedPartA) = $event)),\n disabled: _ctx.isDisabledPartA\n }, null, 8, _hoisted_57), [\n [_vModelCheckbox, _ctx.isAbsolvedPartA]\n ]),\n _hoisted_58\n ], 2),\n _createElementVNode(\"label\", {\n class: _normalizeClass([\"checkbox-button\", _ctx.isDisabledPartB ? 'disabled':''])\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => ((_ctx.isAbsolvedPartB) = $event)),\n disabled: _ctx.isDisabledPartB\n }, null, 8, _hoisted_59), [\n [_vModelCheckbox, _ctx.isAbsolvedPartB]\n ]),\n _hoisted_60\n ], 2),\n _createElementVNode(\"label\", {\n class: _normalizeClass([\"checkbox-button\", _ctx.isDisabledEeReport ? 'disabled':''])\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.isAbsolvedEeReport) = $event)),\n disabled: _ctx.isDisabledEeReport\n }, null, 8, _hoisted_61), [\n [_vModelCheckbox, _ctx.isAbsolvedEeReport]\n ]),\n _hoisted_62\n ], 2)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n footer: _withCtx(() => [\n _hoisted_63,\n _createElementVNode(\"div\", _hoisted_64, [\n (_ctx.isSaving)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n loadingText: _ctx.savingText,\n class: \"mr-4\"\n }, null, 8, [\"loadingText\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-default\",\n onClick: _cache[5] || (_cache[5] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\",\"stop\"])),\n disabled: _ctx.isSaving\n }, \" Close \", 8, _hoisted_65),\n (_ctx.showConfirmButton)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-primary\",\n onClick: _cache[6] || (_cache[6] = _withModifiers($event => (_ctx.confirm(_ctx.actionType)), [\"prevent\",\"stop\"])),\n disabled: _ctx.isSaving\n }, \" Confirm \", 8, _hoisted_66))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n })\n ]))\n}","import { Inject, Options, Vue, Watch } from \"vue-property-decorator\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { EventEmitter } from \"events\";\nimport ModalBox from \"@/shared/components/modal-box/index.vue\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport LoadingIndicator from \"@/shared/components/loading-indicator/index.vue\";\nimport ErrorIndicator from \"@/shared/components/error-indicator/index.vue\";\nimport { PartBResubmissionRequestRequest, PracticeView } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport store from \"@/trust-atcs-app/store\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\n\n\n@Options({\n props: {\n practice: Object,\n actionType: String,\n },\n components: {\n ModalBox,\n LoadingSpinner,\n LoadingIndicator,\n ErrorIndicator,\n }\n})\nexport default class ActionModal extends Vue {\n private practice!: any;\n private actionType!: string;\n\n private loadingContent = false;\n private errorLoadingContent = false;\n private isSaving = false;\n\n private savingText = 'Saving...';\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights;\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private fileList: any[] = [];\n private selectedFileForPreview: any = {};\n private blob: any;\n private documentURL: string = null as any;\n\n private isAbsolvedPartA = false;\n private isDisabledPartA = false;\n private isAbsolvedPartB = false;\n private isDisabledPartB = false;\n private isAbsolvedEeReport = false;\n private isDisabledEeReport = false;\n\n private comments = '';\n\n @Watch('isAbsolvedPartA')\n private onIsAbsolvedPartAChanged(value: boolean): void {\n this.setCheckboxes('a');\n }\n\n @Watch('isAbsolvedPartB')\n private onIsAbsolvedPartBChanged(value: boolean): void {\n this.setCheckboxes('b');\n }\n\n @Watch('isAbsolvedEeReport')\n private onIsAbsolvedEeReportChanged(value: boolean): void {\n this.setCheckboxes('c');\n }\n\n private setCheckboxes(a: string): void {\n switch (a) {\n case 'a':\n if (this.isAbsolvedPartA) {\n this.isAbsolvedPartB = true;\n this.isDisabledPartB = true;\n this.isAbsolvedEeReport = true;\n this.isDisabledEeReport = true;\n } else {\n this.isAbsolvedPartB = false;\n this.isDisabledPartB = false;\n this.isAbsolvedEeReport = false;\n this.isDisabledEeReport = false;\n }\n break;\n case 'b':\n if (this.isAbsolvedPartB) {\n this.isAbsolvedEeReport = true;\n this.isDisabledEeReport = true;\n } else {\n this.isAbsolvedEeReport = false;\n this.isDisabledEeReport = false;\n }\n break;\n case 'c':\n // if (this.isAbsolvedEeReport) {\n // this.isAbsolvedPartA = true;\n // this.isDisabledPartA = true;\n // this.isAbsolvedPartB = true;\n // this.isDisabledPartB = true;\n // } else {\n // this.isAbsolvedPartA = false;\n // this.isDisabledPartA = false;\n // this.isAbsolvedPartB = false;\n // this.isDisabledPartB = false;\n // }\n // break;\n }\n\n }\n\n mounted(): void {\n if (this.actionType === 'file-attachment') {\n this.getFiles();\n }\n this.isAbsolvedPartA = this.practice.isAbsolvedPartA;\n this.isAbsolvedPartB = this.practice.isAbsolvedPartB;\n this.isAbsolvedEeReport = this.practice.sAbsolvedEeReport;\n }\n\n private async getFiles(): Promise {\n this.loadingContent = true;\n await this.apiService.ComplianceFormApi?.apiV2ComplianceFormAdminGetComplianceFormFilesComplianceFormIdGet(\n this.practice.id\n )\n .then(res => {\n this.fileList = res.data as any;\n this.loadingContent = false;\n })\n .catch(err => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to load file list');\n this.ai.trackException('Error getting load file list: ' + err);\n this.loadingContent = false;\n this.errorLoadingContent = true;\n })\n }\n\n\n private closeModal(): void {\n this.$emit('closeModal');\n }\n\n private confirm(actionType: string): void {\n switch (actionType) {\n case 'resubmit-part-a':\n this.resubmitPartA();\n break;\n case 'resubmit-part-b':\n this.resubmitPartB();\n break;\n case 'absolution':\n this.resubmitEEReport();\n break;\n }\n\n }\n\n get practiceName(): string {\n return this.practice.practice?.tradingName ? this.practice.practice.tradingName : this.practice.practice?.name;\n }\n\n private async resubmitPartA(): Promise {\n // const body: PartAResubmissionRequestRequest = {\n // partAId: this.practice.partA.id,\n // comment: this.comments\n // }\n // await this.apiService.PartAFormApi?.apiV2PartAFormAdminSavePartAResubmissionRequestPost(body)\n // .then(res => {\n // this.eventCtrl.emit('show-snackbar', 'success', 'Part A resubmission request sent');\n // setTimeout(() => {\n // this.$emit('reloadData');\n // this.closeModal();\n // }, 500);\n // })\n // .catch(err => {\n // this.eventCtrl.emit('show-snackbar', 'error', 'Unable to resubmit Part A');\n // this.ai.trackException('Error resubmitting Part A: ' + err);\n // })\n\n }\n\n private async resubmitPartB(): Promise {\n this.isSaving = true;\n const body: PartBResubmissionRequestRequest = {\n partBId: this.practice.partB.id,\n comment: this.comments\n }\n await this.apiService.EeReportApi?.apiV2EeReportSavePartBResubmissionRequestPost(body)\n .then(res => {\n this.eventCtrl.emit('show-snackbar', 'success', 'Part B resubmission request sent');\n setTimeout(() => {\n this.$emit('reloadData');\n this.closeModal();\n this.isSaving = false;\n }, 500);\n })\n .catch(err => {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to resubmit Part B');\n this.ai.trackException('Error resubmitting Part B: ' + err);\n this.isSaving = false;\n })\n }\n\n private async resubmitEEReport(): Promise {\n // const body: ComplianceFormAbsolutionRequest = {\n // complianceFormId: this.practice.id,\n // isAbsolvedPartA: this.isAbsolvedPartA,\n // isAbsolvedPartB: this.isAbsolvedPartB,\n // isAbsolvedEeReport: this.isAbsolvedEeReport\n // }\n // await this.apiService.ComplianceFormApi?.apiV2ComplianceFormAdminUpdateComplianceFormAbsolutionPost(\n // body\n // )\n // .then(res => {\n // this.eventCtrl.emit('show-snackbar', 'success', 'Absolution sent');\n // setTimeout(() => {\n // this.$emit('reloadData');\n // this.closeModal();\n // }, 500);\n // })\n // .catch(err => {\n // this.eventCtrl.emit('show-snackbar', 'error', 'Unable to sent absolution');\n // this.ai.trackException('Error sending absolution: ' + err);\n // })\n }\n\n private async downloadFile(file: any) {\n await this.apiService.FileAtcsApi?.apiV2FileAtcsAdminDownloadStreamFileIdGet(\n file.id, { responseType: 'blob' }\n )\n .then((res: any) => {\n this.selectedFileForPreview.FileStream = res.data;\n this.selectedFileForPreview.ContentType = res.headers['content-type'];\n this.selectedFileForPreview.FileName = file.fileName\n this.download();\n })\n .catch((err: any) => {\n this.ai.trackException('Unable to download file ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to download file: ' + err);\n })\n }\n\n\n private download() {\n this.blob = new Blob([this.selectedFileForPreview.FileStream], { type: this.selectedFileForPreview.ContentType });\n this.documentURL = window.URL.createObjectURL(this.blob);\n const downloadLink = document.createElement('a');\n const fileName = this.selectedFileForPreview.FileName;\n downloadLink.href = this.documentURL;\n downloadLink.download = fileName as string;\n downloadLink.click();\n }\n\n get selectedPractice(): PracticeView {\n return store.getters.getSelectedPractice;\n }\n\n get showConfirmButton(): boolean {\n return this.actionType === 'resubmit-part-a' || this.actionType === 'resubmit-part-b' || this.actionType === 'absolution';\n }\n\n}\n\n","import { render } from \"./action-modal.html?vue&type=template&id=db034684&scoped=true&ts=true&external\"\nimport script from \"./action-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./action-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./action-modal.scss?vue&type=style&index=0&id=db034684&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-db034684\"]])\n\nexport default __exports__","import { withModifiers as _withModifiers, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, Transition as _Transition, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3eda0720\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"loggedin-elsewhere\"\n}\nconst _hoisted_2 = { class: \"modal-mask\" }\nconst _hoisted_3 = {\n class: \"modal-wrapper\",\n ref: \"modalWrapper\"\n}\nconst _hoisted_4 = { class: \"modal-container\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"modal-header\" }, [\n /*#__PURE__*/_createElementVNode(\"h3\", null, \"You Are Already Logged In Elsewhere\")\n], -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"modal-body\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"text\" }, [\n /*#__PURE__*/_createTextVNode(\" You can only be logged in on one browser at a time. If you wish to \"),\n /*#__PURE__*/_createElementVNode(\"strong\", null, \"continue here\"),\n /*#__PURE__*/_createTextVNode(\", please select \"),\n /*#__PURE__*/_createElementVNode(\"strong\", null, \"'Continue'\"),\n /*#__PURE__*/_createTextVNode(\" if \"),\n /*#__PURE__*/_createElementVNode(\"strong\", null, \"not\"),\n /*#__PURE__*/_createTextVNode(\", select \"),\n /*#__PURE__*/_createElementVNode(\"strong\", null, \"'Cancel'\"),\n /*#__PURE__*/_createTextVNode(\". \")\n ]),\n /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"text\",\n style: {\"color\":\"red\"}\n }, \" Please note that, if you wish to continue on this browser, you will lose your selections and answers from the last page you were on. Do you wish to continue from here? \")\n], -1))\nconst _hoisted_7 = { class: \"modal-footer\" }\nconst _hoisted_8 = { class: \"button-controls\" }\n\nexport function render(_ctx, _cache) {\n return (_ctx.modalOpened)\n ? (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_Transition, { name: \"modal\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"i\", {\n class: \"fal fa-times close-icon\",\n onClick: _cache[0] || (_cache[0] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\"]))\n }),\n _hoisted_5,\n _hoisted_6,\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"button\", {\n class: \"btn btn-outline\",\n onClick: _cache[1] || (_cache[1] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\"]))\n }, \"Cancel\"),\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary\",\n onClick: _cache[2] || (_cache[2] = _withModifiers($event => (_ctx.continueClicked()), [\"prevent\"]))\n }, \"Continue\")\n ])\n ])\n ])\n ], 512)\n ])\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true)\n}","import { FormStatus } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { Options, Prop, Vue } from \"vue-property-decorator\";\n\n@Options({})\nexport default class LoggedInElsewhere extends Vue {\n\n\n @Prop({ default: false })\n private modalOpened!: boolean;\n\n @Prop({ default: null })\n private formStatus!: FormStatus;\n\n mounted() {\n if (!this.modalOpened) {\n document.body.classList.add('modal-open');\n }\n }\n\n beforeUnmount() {\n if (!this.modalOpened) {\n document.body.classList.remove('modal-open');\n }\n }\n\n private closeModal(): void {\n this.$emit('close');\n }\n\n private continueClicked(): void {\n this.$emit('continue');\n }\n\n}\n\n","import { render } from \"./loggedin-elsewhere-modal.html?vue&type=template&id=3eda0720&scoped=true&ts=true&external\"\nimport script from \"./loggedin-elsewhere-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./loggedin-elsewhere-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./loggedin-elsewhere-modal.scss?vue&type=style&index=0&id=3eda0720&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3eda0720\"]])\n\nexport default __exports__","import { Inject, Options, Vue } from \"vue-property-decorator\";\nimport AppointCoordinator from \"../appoint-coordinator/index.vue\";\nimport { ComplianceForm, FormStatus } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport AssignTrustContact from \"../assign-trustcontact/index.vue\";\nimport { AuthorizedUser } from \"@/trust-atcs-app/models/authorized-user\";\nimport store from \"@/trust-atcs-app/store\";\nimport { RouteN } from \"@/trust-atcs-app/constants/router-name\";\nimport { Section } from \"../swipe-stepper/nav-step\";\nimport AppointAndTerminateEE from \"../appoint-terminate-ee-request/index.vue\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport AccessDenied from \"../access-denied-modal/index.vue\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport { EventEmitter } from \"events\";\nimport ActionModal from \"../action-modal/index.vue\";\nimport Popover from \"@/shared/components/popover/index.vue\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport LoggedInElsewhere from \"../loggedin-elsewhere-modal/index.vue\";\n\n\n@Options({\n props: {\n dashboardType: Number,\n practice: {},\n },\n components: {\n AppointCoordinator,\n AssignTrustContact,\n AppointAndTerminateEE,\n AccessDenied,\n LoggedInElsewhere,\n LoadingSpinner,\n ActionModal,\n Popover,\n },\n mixins: [FormatDateTimeMixin],\n})\nexport default class PracticeCard extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights;\n\n private dashboardType!: number;\n private practice!: ComplianceForm;\n private editingTrustCoordinator = false;\n private editingTrustContact = false;\n private editingEE = false;\n\n private checkingFormStatus = false;\n private formStatus: FormStatus = null as any;\n private showAccessDeniedModal = false;\n private showLoggedInElsewhereModal = false;\n private enableConcurrencyValidation = false;\n\n private currentWIPFormType = '';\n private currntWIPComplianceForm: ComplianceForm = null as any;\n\n private statusColorCSS(statusId: number) {\n switch (statusId) {\n case 1:\n // In progress\n return \"color: #D7B301\";\n case 2:\n case 15:\n // Part A Resubmission required\n // EE: Part A Resubmission required\n return \"color: #638886\";\n case 3:\n case 12:\n // Part B Resubmission required\n return \"color: #638886\";\n case 4:\n // Not yet started\n return \"color: #9EA5AB\";\n case 5:\n case 11:\n // Awaiting External Examiner response\n // EE: Ready to be reviewed\n return \"color: #1968AB\";\n case 6:\n case 13:\n // Non-compliant\n // EE: Trust Compliance not received\n return \"color: #C0392B\";\n case 7:\n case 14:\n // Completed\n return \"color: #27AE60\";\n }\n }\n\n private getCardFooterText(practice: any) {\n let rtText = '';\n if (!practice) {\n return rtText;\n }\n const isPrincipal = practice.isPrincipal ? 'Principal' : '';\n let isTrustCoordinator = practice.isTrustCoordinator ? 'Trust Coordinator' : '';\n isTrustCoordinator = practice.isPrincipal && practice.isTrustCoordinator ? ' / ' + isTrustCoordinator : isTrustCoordinator;\n let isTrustContact = practice.isTrustContact ? 'Authorised Trust Contact' : '';\n isTrustContact = (practice.isPrincipal || practice.isTrustCoordinator) && practice.isAuthorisedTrustContact ? ' / ' + isTrustContact : isTrustContact;\n if (isPrincipal || isTrustCoordinator || isTrustContact) {\n rtText = 'You are this Practice\\'s ' + isPrincipal + isTrustCoordinator + isTrustContact + '.';\n }\n\n return rtText;\n }\n\n get userAccount(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n\n private getPracticeNameDisplay(practice: ComplianceForm): string {\n const firmId = practice.practice?.firmId ? ' (' + practice.practice?.firmId + ')' : '';\n return this.practice.practice?.practiceName + firmId;\n }\n\n private closeAccessDeniedModal(): void {\n this.showAccessDeniedModal = false;\n this.formStatus = null as any;\n }\n\n private closeLoggedInElsewhereModal(): void {\n this.showLoggedInElsewhereModal = false;\n this.formStatus = null as any;\n }\n\n private async proceedToOvertakeSession(): Promise {\n let resp: any = null;\n let resp1: any = null;\n const p = this.currntWIPComplianceForm;\n \n try {\n switch (this.currentWIPFormType) {\n case 'partA': // Part A\n resp = await this.apiService.PartAFormApi?.apiV2PartAFormKickOutFormStatusComplianceFormIdGet(p.id);\n resp1 = await this.apiService.PartAFormApi?.apiV2PartAFormGetFormStatusComplianceFormIdGet(p.id);\n break;\n case 'partB':\n resp = await this.apiService.PartBFormApi?.apiV2PartBFormKickOutFormStatusComplianceFormIdGet(p.id);\n resp1 = await this.apiService.PartBFormApi?.apiV2PartBFormGetFormStatusComplianceFormIdGet(p.id);\n break;\n case 'eer':\n resp = await this.apiService.EeReportApi?.apiV2EeReportKickOutFormStatusComplianceFormIdGet(p.id);\n resp1 = await this.apiService.EeReportApi?.apiV2EeReportGetFormStatusComplianceFormIdGet(p.id);\n break;\n default:\n }\n\n this.formStatus = resp1.data.data as FormStatus;\n\n switch (this.currentWIPFormType) {\n case 'partA': // Part A\n store.dispatch('setSelectedComplianceFormA', p);\n this.$router.push({ name: RouteN.ATCS.FormPartA.n, query: { id: p.id, sec: Section.overview } });\n break;\n case 'partB':// Part B\n store.dispatch('setSelectedComplianceFormB', p);\n this.$router.push({ name: RouteN.ATCS.FormPartB.n, query: { id: p.id, sec: Section.overview } });\n break;\n case 'eer':\n store.dispatch('setSelectedComplianceFormEER', p);\n this.$router.push({ name: RouteN.ATCS.FormEer.n, query: { id: p.id, sec: Section.overview } });\n break;\n default:\n }\n\n this.showLoggedInElsewhereModal = false;\n\n } catch (err: any) {\n this.ai.trackException('Error kicking out existing session: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Error kicking out existing session: ' + err);\n }\n }\n\n private clickPartA(p: ComplianceForm): void {\n if (this.practice?.partAViewEnable) {\n this.viewPartA(p);\n } else if (this.practice?.partAAnswerEnable) {\n this.answerPartA(p);\n } else {\n this.ai.trackException('Unexpected PartA status');\n this.eventCtrl.emit('show-snackbar', 'error', 'Unexpected error');\n }\n }\n\n private async viewPartA(p: ComplianceForm): Promise {\n try {\n const resp: any = await this.apiService.FileAtcsApi?.apiV2FileAtcsGetPartAFilePartAIdGet(p.partA.id);\n const base64Data = resp.data.data.base64AsString;\n const base64Response = await fetch(`data:application/pdf;base64,${base64Data}`);\n const blob = await base64Response.blob();\n const documentURL = window.URL.createObjectURL(blob);\n window.open(documentURL, 'blank');\n setTimeout(() => {\n URL.revokeObjectURL(documentURL);\n }, 300000);\n Promise.resolve(0);\n } catch (err: any) {\n this.ai.trackException('Error downloading View PartA PDF: ' + err);\n if (err.response.status === 400 && err.response.data?.errorCode == 10001) {\n // handle resubmit request in app.ts\n } else {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error downloading View Part A PDF');\n Promise.reject(0);\n }\n }\n }\n\n\n private async answerPartA(p: ComplianceForm): Promise {\n try {\n this.checkingFormStatus = true;\n const resp: any = await this.apiService.PartAFormApi?.apiV2PartAFormGetFormStatusComplianceFormIdGet(p.id);\n this.formStatus = resp.data.data as FormStatus;\n\n if (this.formStatus == null) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error checking form status - null data');\n } else if (this.formStatus?.isUpdating && this.formStatus?.updatingBy?.lawId != this.userAccount?.user?.originalLawId) {\n this.showAccessDeniedModal = true;\n } else if (this.formStatus?.isUpdating && this.formStatus?.updatingBy?.lawId == this.userAccount?.user?.originalLawId) {\n // if (this.formUpdatingKey) {\n // this.closeSessionAndRedirect(p, 'partA');\n // } else {\n // this.showAccessDeniedModal = true;\n // }\n this.currentWIPFormType = 'partA';\n this.currntWIPComplianceForm = p;\n this.showLoggedInElsewhereModal = true;\n } else {\n this.showAccessDeniedModal = false;\n store.dispatch('setSelectedComplianceFormA', p);\n this.$router.push({ name: RouteN.ATCS.FormPartA.n, query: { id: p.id, sec: Section.overview } });\n }\n } catch (err) {\n this.ai.trackException('Error checking Part A status: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Error checking Part A status: ' + err);\n } finally {\n this.checkingFormStatus = false;\n }\n }\n\n\n private clickPartB(p: ComplianceForm): void {\n if (this.practice?.partBViewEnable) {\n this.viewPartB(p);\n } else if (this.practice?.partBAnswerEnable) {\n this.answerPartB(p);\n } else {\n this.ai.trackException('Unexpected Part B');\n this.eventCtrl.emit('show-snackbar', 'error', 'Unexpected error');\n }\n }\n\n private async viewPartB(p: ComplianceForm): Promise {\n try {\n const resp: any = await this.apiService.FileAtcsApi?.apiV2FileAtcsGetPartBFilePartBIdGet(p.partB.id);\n const base64Data = resp.data.data.base64AsString;\n const base64Response = await fetch(`data:application/pdf;base64,${base64Data}`);\n const blob = await base64Response.blob();\n const documentURL = window.URL.createObjectURL(blob);\n window.open(documentURL, 'blank');\n setTimeout(() => {\n URL.revokeObjectURL(documentURL);\n }, 300000);\n Promise.resolve(0);\n } catch (err: any) {\n this.ai.trackException('Error downloading View PartB PDF: ' + err);\n if (err.response.status === 400 && err.response.data?.errorCode == 10001) {\n // handle resubmit request in app.ts\n } else {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error downloading View Part B PDF');\n Promise.reject(0);\n }\n }\n }\n\n private async answerPartB(p: ComplianceForm) {\n try {\n this.checkingFormStatus = true;\n const resp: any = await this.apiService.PartBFormApi?.apiV2PartBFormGetFormStatusComplianceFormIdGet(p.id);\n this.formStatus = resp.data.data as FormStatus;\n\n if (this.formStatus == null) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error checking form status - null data');\n } else if (this.formStatus?.isUpdating && this.formStatus?.updatingBy?.lawId != this.userAccount?.user?.originalLawId) {\n this.showAccessDeniedModal = true;\n } else if (this.formStatus?.isUpdating && this.formStatus?.updatingBy?.lawId == this.userAccount?.user?.originalLawId) {\n this.currentWIPFormType = 'partB';\n this.currntWIPComplianceForm = p; \n this.showLoggedInElsewhereModal = true;\n // if (this.formUpdatingKey) {\n // this.closeSessionAndRedirect(p, 'partB');\n // } else {\n // this.showAccessDeniedModal = true;\n // }\n } else {\n this.showAccessDeniedModal = false;\n store.dispatch('setSelectedComplianceFormB', p);\n this.$router.push({ name: RouteN.ATCS.FormPartB.n, query: { id: p.id, sec: Section.overview } });\n }\n } catch (err) {\n this.ai.trackException('Error checking PartB status: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Error checking PartB status: ' + err);\n } finally {\n this.checkingFormStatus = false;\n }\n\n }\n\n private async closeSessionAndRedirect(p: ComplianceForm, formType: string): Promise {\n let apiFunction: any;\n let routeName: string;\n\n switch (formType) {\n case 'partA':\n apiFunction = this.apiService.PartAFormApi?.apiV2PartAFormClosePost.bind(this.apiService.PartAFormApi);\n store.dispatch('setSelectedComplianceFormA', p);\n routeName = RouteN.ATCS.FormPartA.n;\n break;\n case 'partB':\n apiFunction = this.apiService.PartBFormApi?.apiV2PartBFormClosePost.bind(this.apiService.PartBFormApi);\n store.dispatch('setSelectedComplianceFormB', p);\n routeName = RouteN.ATCS.FormPartB.n;\n break;\n case 'eer':\n apiFunction = this.apiService.EeReportApi?.apiV2EeReportClosePost.bind(this.apiService.EeReportApi);\n store.dispatch('setSelectedComplianceFormEER', p);\n routeName = RouteN.ATCS.FormEer.n;\n break;\n default:\n throw new Error('Invalid formType');\n }\n\n if (!apiFunction) {\n throw new Error('API function is not defined.');\n }\n\n try {\n await apiFunction?.({\n complianceFormId: p.id,\n updatingKey: this.formUpdatingKey ?? null\n });\n this.$router.push({ name: routeName, query: { id: p.id, sec: Section.overview } });\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error closing existing session: ' + err);\n this.ai.trackException('Error closing existing session: ' + err);\n }\n\n }\n\n get formUpdatingKey(): string {\n return store.getters.getFormUpdatingKey;\n }\n\n private clickEer(p: ComplianceForm): void {\n if (this.practice?.eeReport?.complianceFormStatus?.name == 'Submitted') {\n this.viewEer(p);\n } else if (this.practice?.partAViewEnable && this.practice?.partBViewEnable) {\n this.answerEer(p);\n } else {\n this.eventCtrl.emit('show-snackbar', 'error', 'Unexpected error');\n }\n }\n\n async viewEer(p: ComplianceForm): Promise {\n try {\n const resp: any = await this.apiService.FileAtcsApi?.apiV2FileAtcsGetEeReportFileEeReportIdGet(p.eeReport.id);\n const base64Data = resp.data.data.base64AsString;\n const base64Response = await fetch(`data:application/pdf;base64,${base64Data}`);\n const blob = await base64Response.blob();\n const documentURL = window.URL.createObjectURL(blob);\n window.open(documentURL, 'blank');\n setTimeout(() => {\n URL.revokeObjectURL(documentURL);\n }, 300000);\n Promise.resolve(0);\n } catch (err: any) {\n this.ai.trackException('Error downloading View EE report PDF: ' + err);\n if (err.response.status === 400 && err.response.data?.errorCode == 10001) {\n // handle resubmit request in app.ts\n } else {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error downloading View EE report PDF');\n Promise.reject(0);\n }\n }\n }\n\n private async answerEer(p: ComplianceForm) {\n try {\n this.checkingFormStatus = true;\n const resp: any = await this.apiService.EeReportApi?.apiV2EeReportGetFormStatusComplianceFormIdGet(p.id);\n this.formStatus = resp.data.data as FormStatus;\n\n if (this.formStatus == null) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error checking form status - null data');\n } else if (this.formStatus?.isUpdating && this.formStatus?.updatingBy?.lawId != this.userAccount?.user?.originalLawId) {\n this.showAccessDeniedModal = true;\n } else if (this.formStatus?.isUpdating && this.formStatus?.updatingBy?.lawId == this.userAccount?.user?.originalLawId) {\n // if (this.formUpdatingKey) {\n // this.closeSessionAndRedirect(p, 'eer');\n // } else {\n // this.showAccessDeniedModal = true;\n // }\n this.currentWIPFormType = 'eer';\n this.currntWIPComplianceForm = p;\n this.showLoggedInElsewhereModal = true;\n } else {\n this.showAccessDeniedModal = false;\n store.dispatch('setSelectedComplianceFormEER', p);\n this.$router.push({ name: RouteN.ATCS.FormEer.n, query: { id: p.id, sec: Section.overview } });\n }\n } catch (err: any) {\n this.ai.trackException('Error checking form EER status: ' + err);\n if (err.response.status === 400 && err.response.data?.errorCode == 10001) {\n // handle resubmit request in app.ts\n } else {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error checking form status' + err);\n }\n } finally {\n this.checkingFormStatus = false;\n }\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n private showActionModal = false;\n private actionType = '';\n\n private clickResubmit(): void {\n this.actionType = 'resubmit-part-b';\n this.showActionModal = true;\n }\n\n private reloadData(): void {\n this.eventCtrl.emit('loadCardData');\n }\n\n private isNotRequired(text: string): boolean {\n // return substring of text is 'not required';\n return text?.includes('not required');\n }\n\n}\n\n","import { render } from \"./practice-card.html?vue&type=template&id=542e7eac&scoped=true&ts=true&external\"\nimport script from \"./practice-card.ts?vue&type=script&lang=ts&external\"\nexport * from \"./practice-card.ts?vue&type=script&lang=ts&external\"\n\nimport \"./practice-card.scss?vue&type=style&index=0&id=542e7eac&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-542e7eac\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, vModelCheckbox as _vModelCheckbox, withDirectives as _withDirectives, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-39a05354\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n class: \"multi-select-filter-status\",\n ref: \"dropDownSelectStatus\"\n}\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"overselect\" }, null, -1))\nconst _hoisted_3 = { class: \"c-form-input\" }\nconst _hoisted_4 = { value: \"\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"multiselect\"\n}\nconst _hoisted_6 = [\"id\", \"onUpdate:modelValue\", \"onClick\", \"disabled\"]\nconst _hoisted_7 = {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n], -1))\nconst _hoisted_9 = { class: \"checkbox-text\" }\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"dropdown\", _ctx.showMultiSelect ? 'expended' : '']),\n onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.toggleMultiSelect && _ctx.toggleMultiSelect(...args)))\n }, [\n _hoisted_2,\n _createElementVNode(\"select\", _hoisted_3, [\n _createElementVNode(\"option\", _hoisted_4, _toDisplayString(_ctx.selectedStatusText), 1)\n ])\n ], 2),\n (_ctx.showMultiSelect)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"ul\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.statusList, (status, index) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: index }, [\n _createElementVNode(\"label\", {\n class: _normalizeClass([\"checkbox-button\", status.disabled ? 'disabled' : ''])\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n id: index,\n \"onUpdate:modelValue\": $event => ((status.selected) = $event),\n onClick: $event => (_ctx.onSelectedStatusChanged(index)),\n disabled: status.disabled\n }, null, 8, _hoisted_6), [\n [_vModelCheckbox, status.selected]\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _hoisted_8,\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(status.name), 1)\n ])\n ], 2)\n ]))\n }), 128))\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 512))\n}","import { Options, Ref, Vue } from \"vue-property-decorator\";\n\n@Options({\n props: {\n statusList: Object,\n },\n components: {}\n})\nexport default class MultiSelectFilterStatus extends Vue {\n\n private statusList!: any[];\n\n private selectedStatus: any[] = [];\n\n private showMultiSelect = false;\n\n private finalSelectedStatus: any[] = [];\n\n @Ref('dropDownSelectStatus')\n private dropDownSelectUI!: HTMLElement;\n\n created(): void {\n window.addEventListener('click', this.clickedElement);\n }\n\n beforeUnmount(): void {\n window.removeEventListener('click', this.clickedElement);\n }\n\n private clickedElement(e: MouseEvent): void | boolean {\n const el: HTMLElement = this.dropDownSelectUI;\n const rect = el.getBoundingClientRect();\n if (e.pageX >= rect.left && e.pageX <= rect.right && e.pageY >= rect.top && e.pageY <= rect.bottom + 300) {\n return true;\n } else {\n this.showMultiSelect = false;\n }\n\n }\n\n mounted(): void {\n // select 'All' by default\n this.selectAllStatus();\n }\n\n private selectAllStatus() {\n // select 'All' by default\n this.finalSelectedStatus = [];\n if (this.statusList.length > 0) {\n for (let i = 0; i < this.statusList.length; i++) {\n this.selectedStatus.push(this.statusList[i]);\n this.selectedStatus[i].disabled = false;\n if (i === this.statusList.length - 1) {\n // for the completed status, uncheck it by default\n this.selectedStatus[i].selected = false;\n } else {\n this.selectedStatus[i].selected = true;\n }\n }\n\n this.finalSelectedStatus = this.selectedStatus.filter((item: any) => (item.selected === true && item.id > 0));\n this.$emit('selectStatus', this.finalSelectedStatus);\n }\n }\n\n private onSelectedStatusChanged(index: number) {\n this.selectedStatus[index].selected = !this.selectedStatus[index].selected;\n\n const allSelected = this.selectedStatus.some(item => item.name === 'All' && item.selected);\n const completedSelected = this.selectedStatus.some(item => index === (this.selectedStatus.length - 1) && item.selected);\n if (index === this.selectedStatus.length - 1) {\n if (completedSelected) {\n this.selectedStatus.forEach((item, i) => {\n item.selected = i === this.selectedStatus.length - 1;\n item.disabled = i !== this.selectedStatus.length - 1;\n });\n } else {\n this.selectedStatus = [];\n this.selectAllStatus();\n }\n } else {\n this.selectedStatus.slice(0, -1).forEach(item => (item.disabled = false));\n\n if (index === 0) {\n if (allSelected) {\n this.selectedStatus = [];\n this.selectAllStatus();\n } else {\n this.selectedStatus.forEach((item, i) => {\n if (i !== 0) {\n item.selected = false;\n }\n });\n }\n } else {\n this.selectedStatus[0].selected = false;\n this.finalSelectedStatus = this.selectedStatus.slice(1).filter(item => item.selected && item.id > 0);\n if (this.finalSelectedStatus.length === this.statusList.length - 2 && allSelected) {\n this.selectedStatus[0].selected = false;\n }\n }\n }\n\n this.finalSelectedStatus = this.selectedStatus.filter(item => item.selected && item.id > 0);\n this.$emit('selectStatus', this.finalSelectedStatus);\n }\n\n\n private toggleMultiSelect() {\n this.showMultiSelect = !this.showMultiSelect;\n }\n\n get selectedStatusText() {\n const completedSelected = this.selectedStatus.some(item => item.name === 'Completed' && item.selected);\n const allSelected = this.selectedStatus.some(item => item.name === 'All' && item.selected);\n\n if (completedSelected) {\n return 'Completed';\n } else if (allSelected) {\n return 'All except Completed';\n } else if (this.finalSelectedStatus.length > 0) {\n return this.finalSelectedStatus.map(item => item.name).join(', ');\n } else {\n return 'No status selected';\n }\n }\n\n\n}\n\n\n","import { render } from \"./multi-select-filter-status.html?vue&type=template&id=39a05354&scoped=true&ts=true&external\"\nimport script from \"./multi-select-filter-status.ts?vue&type=script&lang=ts&external\"\nexport * from \"./multi-select-filter-status.ts?vue&type=script&lang=ts&external\"\n\nimport \"./multi-select-filter-status.scss?vue&type=style&index=0&id=39a05354&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-39a05354\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, vModelCheckbox as _vModelCheckbox, withDirectives as _withDirectives, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-40ca80b8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n class: \"multi-select-filter-years\",\n ref: \"dropDownSelectYears\"\n}\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"overselect\" }, null, -1))\nconst _hoisted_3 = { class: \"c-form-input\" }\nconst _hoisted_4 = { value: \"\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"multiselect\"\n}\nconst _hoisted_6 = { class: \"checkbox-button\" }\nconst _hoisted_7 = [\"id\", \"onUpdate:modelValue\", \"onClick\"]\nconst _hoisted_8 = {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n], -1))\nconst _hoisted_10 = { class: \"checkbox-text\" }\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"dropdown\", _ctx.showMultiSelect ? 'expended' : '']),\n onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.toggleMultiSelect && _ctx.toggleMultiSelect(...args)))\n }, [\n _hoisted_2,\n _createElementVNode(\"select\", _hoisted_3, [\n _createElementVNode(\"option\", _hoisted_4, _toDisplayString(_ctx.selectedYearsText), 1)\n ])\n ], 2),\n (_ctx.showMultiSelect)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"ul\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.yearsList, (year, index) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: index }, [\n _createElementVNode(\"label\", _hoisted_6, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n id: index,\n \"onUpdate:modelValue\": $event => ((year.selected) = $event),\n onClick: $event => (_ctx.onSelectedYearsChanged(index))\n }, null, 8, _hoisted_7), [\n [_vModelCheckbox, year.selected]\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _hoisted_9,\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(year.name), 1)\n ])\n ])\n ]))\n }), 128))\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 512))\n}","\nimport { Options, Ref, Vue } from \"vue-property-decorator\";\n\n@Options({\n props: {\n yearsList: Object,\n },\n components: {}\n})\nexport default class MultiSelectFilterYears extends Vue {\n private yearsList!: any[];\n\n private selectedYears: any[] = [];\n\n private finalSelectedYears: any[] = [];\n\n private showMultiSelect = false;\n\n @Ref('dropDownSelectYears')\n private dropDownSelectUI!: HTMLElement;\n\n created(): void {\n window.addEventListener('click', this.clickedElement);\n }\n\n beforeUnmount(): void {\n window.removeEventListener('click', this.clickedElement);\n }\n\n private clickedElement(e: MouseEvent): void | boolean {\n const el: HTMLElement = this.dropDownSelectUI;\n const rect = el.getBoundingClientRect();\n if (e.pageX >= rect.left && e.pageX <= rect.right && e.pageY >= rect.top && e.pageY <= rect.bottom + this.yearsList.length * 60) {\n return true;\n } else {\n this.showMultiSelect = false;\n }\n\n }\n\n mounted(): void {\n // select 'All' by default\n if (this.yearsList.length > 0) {\n for (let i = 0; i < this.yearsList.length; i++) {\n this.selectedYears.push(this.yearsList[i]);\n this.selectedYears[i].selected = true;\n }\n this.finalSelectedYears = this.selectedYears;\n this.$emit('selectYears', this.finalSelectedYears);\n }\n }\n\n private onSelectedYearsChanged(index: number) {\n this.selectedYears[index].selected = !this.selectedYears[index].selected;\n\n const allSelected = this.selectedYears.some(item => item.name === 'All' && item.selected);\n\n if (index === 0) {\n this.selectedYears.slice(1).forEach(item => (item.selected = allSelected));\n }\n\n this.finalSelectedYears = this.selectedYears.slice(1).filter(item => item.selected);\n\n if (this.finalSelectedYears.length === this.yearsList.length - 2 && allSelected) {\n this.selectedYears[0].selected = false;\n }\n\n this.$emit('selectYears', this.finalSelectedYears);\n }\n\n\n private toggleMultiSelect() {\n this.showMultiSelect = !this.showMultiSelect;\n }\n\n get selectedYearsText() {\n if (this.finalSelectedYears.length === 0) {\n return 'No status selected';\n }\n const allSelected = this.selectedYears.some(item => item.name === 'All' && item.selected);\n if (allSelected) {\n return 'All';\n }\n return this.finalSelectedYears.map(item => item.name).join(', ');\n }\n\n\n}\n\n","import { render } from \"./multi-select-filter-years.html?vue&type=template&id=40ca80b8&scoped=true&ts=true&external\"\nimport script from \"./multi-select-filter-years.ts?vue&type=script&lang=ts&external\"\nexport * from \"./multi-select-filter-years.ts?vue&type=script&lang=ts&external\"\n\nimport \"./multi-select-filter-years.scss?vue&type=style&index=0&id=40ca80b8&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-40ca80b8\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vModelText as _vModelText, withDirectives as _withDirectives, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, toDisplayString as _toDisplayString, vModelCheckbox as _vModelCheckbox, createBlock as _createBlock, withModifiers as _withModifiers, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7302e4d4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"update-ee-modal\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"heading-text\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"line1\" }, \"Update External Examiner Details\")\n], -1))\nconst _hoisted_3 = {\n key: 0,\n class: \"body-main\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"body-main\"\n}\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Firm name\", -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"validation-msg\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }),\n /*#__PURE__*/_createTextVNode(\" Required field. \")\n], -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Address\", -1))\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"validation-msg\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }),\n /*#__PURE__*/_createTextVNode(\" Required field. \")\n], -1))\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_13 = { style: {\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"start\"} }\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"fieldname\" }, \"Telephone number\", -1))\nconst _hoisted_15 = { style: {\"display\":\"flex\",\"justify-content\":\"space-between\",\"width\":\"100%\",\"align-items\":\"center\"} }\nconst _hoisted_16 = { class: \"text-field2\" }\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"validation-msg\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fal fa-exclamation-circle fa-lg\" }),\n /*#__PURE__*/_createTextVNode(\" Required field. \")\n], -1))\nconst _hoisted_18 = { class: \"mt-3\" }\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"mb-2\" }, \"Publish on Web\", -1))\nconst _hoisted_20 = { class: \"checkbox-button\" }\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"checkbox-elmt\",\n style: {\"border\":\"none\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark-box\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"checkmark\" })\n ])\n], -1))\nconst _hoisted_22 = {\n key: 2,\n class: \"controls\"\n}\nconst _hoisted_23 = [\"disabled\"]\nconst _hoisted_24 = [\"disabled\"]\n\nexport function render(_ctx, _cache) {\n const _component_LoadingIndicator = _resolveComponent(\"LoadingIndicator\")\n const _component_PostcodeSearch = _resolveComponent(\"PostcodeSearch\")\n const _component_ModalBox = _resolveComponent(\"ModalBox\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_ModalBox, {\n onClose: _cache[8] || (_cache[8] = $event => (_ctx.closeModal()))\n }, {\n \"header-text\": _withCtx(() => [\n _hoisted_2\n ]),\n body: _withCtx(() => [\n (_ctx.isLoading)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_LoadingIndicator, {\n class: \"loading-indicator\",\n showLoadingText: false\n })\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _hoisted_5,\n _hoisted_6,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", _ctx.externalExaminer.firmName === '' && _ctx.submitPressed ? 'error': ''])\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n placeholder: \"Firm name\",\n maxLength: \"75\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => ((_ctx.externalExaminer.firmName) = $event))\n }, null, 512), [\n [_vModelText, _ctx.externalExaminer.firmName]\n ]),\n _hoisted_7\n ], 2),\n _hoisted_8,\n _hoisted_9,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"input-box\", _ctx.externalExaminer.address === '' && _ctx.submitPressed ? 'error': ''])\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n placeholder: \"Address\",\n maxLength: \"75\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => ((_ctx.externalExaminer.address) = $event))\n }, null, 512), [\n [_vModelText, _ctx.externalExaminer.address]\n ]),\n _hoisted_10\n ], 2),\n _hoisted_11,\n _createVNode(_component_PostcodeSearch, {\n suburbStatePostcode: _ctx.suburbStatePostcode,\n \"onUpdate:suburbStatePostcode\": _cache[2] || (_cache[2] = $event => ((_ctx.suburbStatePostcode) = $event)),\n suburbError: _ctx.suburbError,\n \"onUpdate:suburbError\": _cache[3] || (_cache[3] = $event => ((_ctx.suburbError) = $event)),\n onUpdateSuburb: _ctx.updateSuburb\n }, null, 8, [\"suburbStatePostcode\", \"suburbError\", \"onUpdateSuburb\"]),\n _hoisted_12,\n _createElementVNode(\"div\", _hoisted_13, [\n (_ctx.externalExaminer.phoneDetail)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass([\"input-box col-6\", ((!_ctx.externalExaminer.phoneDetail?.phoneNumber || _ctx.externalExaminer.phoneDetail?.phoneNumber === '') && _ctx.submitPressed) ? 'error': ''])\n }, [\n _hoisted_14,\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, _toDisplayString(_ctx.externalExaminer.phoneDetail?.countryCode), 1),\n _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n maxlength: \"15\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => ((_ctx.externalExaminer.phoneDetail.phoneNumber) = $event)),\n placeholder: \"\"\n }, null, 512), [\n [_vModelText, _ctx.externalExaminer.phoneDetail.phoneNumber]\n ])\n ]),\n _hoisted_17\n ], 2))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_18, [\n _hoisted_19,\n _createElementVNode(\"label\", _hoisted_20, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => ((_ctx.externalExaminer.publishOnWeb) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.externalExaminer.publishOnWeb]\n ]),\n _hoisted_21\n ])\n ])\n ])),\n (!_ctx.isLoading)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_22, [\n (_ctx.isSaving)\n ? (_openBlock(), _createBlock(_component_LoadingIndicator, {\n key: 0,\n class: \"loading-indicator\",\n showLoadingText: false\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-default ml-1\",\n disabled: _ctx.isSaving,\n onClick: _cache[6] || (_cache[6] = _withModifiers($event => (_ctx.closeModal()), [\"prevent\",\"stop\"]))\n }, \"Cancel\", 8, _hoisted_23),\n _createElementVNode(\"button\", {\n class: \"btn btn-primary ml-2\",\n disabled: _ctx.isSaving,\n onClick: _cache[7] || (_cache[7] = $event => (_ctx.saveEE()))\n }, \"Save\", 8, _hoisted_24)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n footer: _withCtx(() => []),\n _: 1\n })\n ]))\n}","import { Inject, Options, Vue } from \"vue-property-decorator\";\nimport ModalBox from \"@/shared/components/modal-box/index.vue\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-atcs-app/store\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { SuburbStatePostcode } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport PostcodeSearch from \"@/shared/components/postcodeSearch/index.vue\";\nimport LoadingIndicator from \"@/shared/components/loading-indicator/index.vue\";\n\n@Options({\n components: {\n ModalBox,\n LoadingIndicator,\n PostcodeSearch,\n }\n})\nexport default class UpdateEeModal extends Vue {\n private ai = new AppInsights;\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private externalExaminer: any = {};\n private submitPressed = false;\n private suburbStatePostcode: SuburbStatePostcode = {};\n\n private isLoading = false;\n private isSaving = false;\n\n private closeModal() {\n this.$emit('close');\n }\n\n mounted(): void {\n this.loadEEdata();\n }\n\n private loadEEdata() {\n this.isLoading = true;\n this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerGetExternalExaminerDetailsGet()\n .then((res: any) => {\n this.externalExaminer = res.data.data;\n this.suburbStatePostcode = {\n suburbName: this.externalExaminer.suburb,\n postcode: this.externalExaminer.postCode,\n stateName: this.externalExaminer.state,\n stateCode: this.externalExaminer.state,\n }\n this.isLoading = false;\n })\n .catch((err: any) => {\n this.isLoading = false;\n this.ai.trackException(err);\n });\n\n }\n\n get suburbError(): boolean {\n return this.submitPressed && !this.suburbStatePostcode?.postcode;\n }\n\n private updateSuburb(s: SuburbStatePostcode) {\n // this.suburbStatePostcode = s;\n this.externalExaminer.suburb = s.suburbName;\n this.externalExaminer.postCode = s.postcode;\n this.externalExaminer.state = s.stateName;\n }\n\n private isFormValid(): boolean {\n return !!this.externalExaminer.firmName && !!this.externalExaminer.address && !!this.externalExaminer.phoneDetail.phoneNumber &&\n !!this.externalExaminer?.postCode;\n }\n\n private async saveEE() {\n try {\n this.submitPressed = true;\n if (!this.isFormValid()) {\n throw ('Incomplete form');\n }\n this.isSaving = true;\n const resp: any = await this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerUpdateExternalExaminerDetailsPost(this.externalExaminer);\n this.eventCtrl.emit('show-snackbar', 'success', 'Application has been submitted');\n this.closeModal();\n } catch (err: any) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error: ' + err);\n this.ai.trackException('Error, Unable to save External Examiner: ' + err);\n } finally {\n this.isSaving = false;\n }\n }\n\n}\n\n","import { render } from \"./update-ee-modal.html?vue&type=template&id=7302e4d4&scoped=true&ts=true&external\"\nimport script from \"./update-ee-modal.ts?vue&type=script&lang=ts&external\"\nexport * from \"./update-ee-modal.ts?vue&type=script&lang=ts&external\"\n\nimport \"./update-ee-modal.scss?vue&type=style&index=0&id=7302e4d4&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7302e4d4\"]])\n\nexport default __exports__","import { Inject, Options, Vue, Watch } from \"vue-property-decorator\";\nimport PracticeCard from \"../practice-card/index.vue\";\nimport MultiSelectFilterStatus from \"../multi-select-filter-status/index.vue\";\nimport MultiSelectFilterYears from \"../multi-select-filter-years/index.vue\";\nimport { ComplianceForm, PageContent } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-atcs-app/store\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport HelpScreen from \"../help-screen/index.vue\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\nimport UpdateEEModal from \"./update-ee-modal/index.vue\";\n\n@Options({\n components: {\n LoadingSpinner,\n PracticeCard,\n MultiSelectFilterYears,\n MultiSelectFilterStatus,\n HelpScreen,\n UpdateEEModal,\n },\n mixins: [FormatDateTimeMixin],\n})\nexport default class EEDashboard extends Vue {\n\n private ai = new AppInsights;\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private practices: ComplianceForm[] = [];\n private complianceForm: ComplianceForm[] = [];\n\n private yearsList: any = [\n {\n \"id\": -1,\n \"name\": \"All\",\n \"description\": \"All\",\n \"inactive\": false\n }\n ];\n\n private selectedYears = [];\n\n private selectYears(val: any) {\n this.selectedYears = val;\n }\n\n private statusList = [\n {\n \"id\": -1,\n \"name\": \"All\",\n \"description\": \"All\",\n \"inactive\": false\n }];\n\n private selectedStatus = [];\n\n private selectStatus(val: any) {\n this.selectedStatus = val;\n }\n\n private isLoadingData = false;\n private dashboardType = 1; // Dashboard type of External Examiner\n\n private helpContent: PageContent = {};\n private showHelpScreen = false;\n\n mounted(): void {\n this.eventCtrl.on('loadCardData', this.loadCardData);\n this.loadFilter();\n this.loadCardData();\n }\n\n beforeUnmount(): void {\n this.eventCtrl.off('loadCardData', this.loadCardData);\n }\n\n private async loadFilter() {\n try {\n const resp: any[] = await Promise.all([\n await this.apiService.ComplianceFormApi?.apiV2ComplianceFormGetComplianceYearsGet(),\n await this.apiService.ComplianceFormApi?.apiV2ComplianceFormGetProgressesGet(),\n ]);\n\n this.yearsList = [{\n \"id\": -1,\n \"name\": \"All\",\n \"description\": \"All\",\n \"inactive\": false\n }, ...resp[0].data.data];\n\n this.statusList = [{\n \"id\": -1,\n \"name\": \"All\",\n \"description\": \"All\",\n \"inactive\": false\n }, ...resp[1].data.data];\n\n this.helpContent = this.$getPopover('Help', 18);\n this.eventCtrl.emit('updateHelpContent', this.helpContent);\n\n }\n catch (err) {\n this.ai.trackException('Error, Unable to load filter data: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to load filter data');\n }\n\n }\n\n private async loadCardData() {\n this.isLoadingData = true;\n await this.apiService.ComplianceFormApi?.apiV2ComplianceFormGetComplianceFormsGet()\n .then((resp: any) => {\n this.complianceForm = resp.data.data;\n this.onFilterChange();\n this.isLoadingData = false;\n })\n .catch((err: any) => {\n this.isLoadingData = false;\n this.ai.trackException('Error, Unable to load practice cards: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to load practice cards');\n });\n }\n\n @Watch('selectedYears')\n private async onYearChange() {\n this.onFilterChange();\n }\n\n @Watch('selectedStatus')\n private async onStatusChange() {\n this.onFilterChange();\n }\n\n private async onFilterChange() {\n const selectedYearsArray = this.selectedYears.map((item: any) => item.name);\n const selectedStatusArray = this.selectedStatus.map((item: any) => item.name);\n // filter only this.compliance Form that match selectedYearsArray and selectedStatusArray\n this.practices = this.complianceForm.filter((item: any) => {\n return selectedYearsArray.includes(item.complianceYear.name) && selectedStatusArray.includes(item.progress.name);\n });\n }\n\n private showUpdateEEmodal = false;\n\n private updateEE() {\n this.showUpdateEEmodal = true;\n\n }\n\n}","import { render } from \"./ee-dashboard.html?vue&type=template&id=54598d0e&scoped=true&ts=true&external\"\nimport script from \"./ee-dashboard.ts?vue&type=script&lang=ts&external\"\nexport * from \"./ee-dashboard.ts?vue&type=script&lang=ts&external\"\n\nimport \"./ee-dashboard.scss?vue&type=style&index=0&id=54598d0e&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-54598d0e\"]])\n\nexport default __exports__","import { Inject, Options, Ref, Vue } from \"vue-property-decorator\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport { AuthorizedUser } from '@/trust-atcs-app/models/authorized-user';\nimport store from '../../store';\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport PostcodeSearch from \"@/shared/components/postcodeSearch/index.vue\";\nimport FileDragAndDrop from \"@/shared/components/file-drag-and-drop/index.vue\";\nimport EEDashboard from \"../ee-dashboard/index.vue\";\nimport { RouteN } from \"@/trust-atcs-app/constants/router-name\";\nimport { EeSignUpFormRequest, SuburbStatePostcode } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport ConfirmDialogue from '@/shared/components/confirm-dialogue/index.vue';\nimport { EventEmitter } from \"events\";\nimport LoadingIndicator from '@/shared/components/loading-indicator/index.vue';\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\n\n@Options({\n components: {\n LoadingSpinner,\n PostcodeSearch,\n EEDashboard,\n FileDragAndDrop,\n ConfirmDialogue,\n LoadingIndicator\n }\n})\nexport default class EESignup extends Vue {\n\n @Ref('fileDropAndDrop') readonly fileDropAndDrop!: any;\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private ai = new AppInsights;\n\n private waitingApproval = false;\n private iWantToSignUp = false;\n private loadingDataSet = false;\n\n private membershipStatusTypes: any = [];\n\n private selectedMembershipType: any = null;\n private suburbStatePostcode: SuburbStatePostcode = {};\n private fileList: Array = [];\n private uploadedFileList: Array = [];\n private uploading = false;\n private submitting = false;\n private submitPressed = false;\n\n private firmName = null;\n private address = null;\n private phoneNumber = null;\n private publishOnWeb = true; // default to true\n\n private dirtyFields: Array = [];\n\n created(): void {\n this.preloadData();\n this.dirtyFields = [false, false, false, false, false, false];\n }\n\n private async preloadData(): Promise {\n try {\n this.loadingDataSet = true;\n const resp: any = await Promise.all([\n this.apiService.CodeApi?.apiV2CodeGetEeMembershipTypesGet(),\n this.apiService.CodeApi?.apiV2CodeGetEeSignUpFormStatusesGet(),\n this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerGetEeSignUpFormGet(),\n ]);\n\n this.membershipStatusTypes = resp[0].data.data;\n this.waitingApproval = resp[2].data.data ? true : false;\n\n } catch (err) {\n console.log(err);\n this.ai.trackException('Error, Unable to load current status: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to load current status: ' + err);\n } finally {\n this.loadingDataSet = false;\n }\n }\n\n private async signUpForEE(): Promise {\n try {\n this.submitPressed = true;\n if (!this.isFormValid()) {\n throw ('Incomplete form');\n }\n this.submitting = true;\n const body: EeSignUpFormRequest = {\n id: 0,\n firmName: this.firmName,\n address: this.address,\n suburb: this.suburbStatePostcode.suburbName,\n postCode: this.suburbStatePostcode.postcode,\n state: this.suburbStatePostcode.stateCode,\n phoneDetail: {\n countryCode: '+61',\n phoneNumber: this.phoneNumber\n },\n eeMembershipType: this.selectedMembershipType,\n publishOnWeb: this.publishOnWeb,\n files: this.uploadedFileList.map(x => { return { id: x.id }; })\n\n };\n const resp: any = await this.apiService.ExternalExaminerApi?.apiV2ExternalExaminerSaveEeSignUpFormPost(body);\n this.eventCtrl.emit('show-snackbar', 'success', 'Application has been submitted');\n this.waitingApproval = true;\n this.iWantToSignUp = false;\n\n } catch (err) {\n this.eventCtrl.emit('show-snackbar', 'error', 'Error signing up: ' + err);\n } finally {\n this.submitting = false;\n }\n }\n\n private fileListChanged(fileList: Array): void {\n this.fileList = fileList;\n this.uploadAllFiles(this.fileList);\n }\n\n private deleteFile(id: number): void {\n const _confirm: any = this.$refs.confirmDialogue;\n _confirm.show({\n title: 'Delete File',\n message: 'Are you sure you want to delete this file?',\n okButton: 'Delete',\n cancelButton: 'Cancel',\n }).then((res: any) => {\n if (res) {\n this.deleteFileFromServer(id);\n }\n })\n\n }\n\n private async deleteFileFromServer(id: number): Promise {\n try {\n await this.apiService.FileAtcsApi?.apiV2FileAtcsDeleteFileFileIdDelete(id);\n\n this.uploadedFileList = this.uploadedFileList.filter(x => x.id !== id);\n this.eventCtrl.emit('show-snackbar', 'success', 'File removed.');\n\n } catch (err) {\n // this.ai.trackException('Error on delete file: ' + JSON.stringify(err));\n this.eventCtrl.emit('show-snackbar', 'error', 'Error on delete file: ' + err);\n }\n }\n\n private async uploadAllFiles(fileList: Array): Promise {\n const allRequests: Array> = [];\n this.uploading = true;\n try {\n if (fileList.length > 0) {\n fileList.forEach((x) => allRequests.push(this.uploadFile(x)));\n await Promise.all(allRequests);\n this.eventCtrl.emit('show-snackbar', 'success', 'File(s) uploaded');\n this.fileList = [];\n this.fileDropAndDrop.selectedFiles = [];\n }\n } catch (err: any) {\n // this.ai.trackException('Error on upload file: ' + JSON.stringify(err));\n this.eventCtrl.emit('show-snackbar', 'error', 'Error on upload file: ' + err);\n } finally {\n this.uploading = false;\n }\n }\n\n private async uploadFile(file: File): Promise {\n try {\n const fileStr = await this.fileToString(file);\n const body = {\n fileName: file.name,\n fileExtension: file.name,\n fileDataUrl: fileStr,\n id: ''\n };\n\n const res: any = await this.apiService.FileAtcsApi?.apiV2FileAtcsSaveFilePost(body);\n body.id = res.data.data;\n body.fileDataUrl = '';\n this.uploadedFileList.push(body);\n\n return Promise.resolve(true);\n } catch (err) {\n console.log(err);\n this.ai.trackException('Error on upload file: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Error on upload file: ' + err);\n return Promise.reject(false);\n }\n }\n\n private fileToString(file: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n return resolve(reader.result as string);\n };\n\n reader.onabort = () => {\n return reject();\n }\n\n reader.onerror = () => {\n return reject();\n }\n });\n }\n\n private updateSuburb(s: SuburbStatePostcode) {\n this.suburbStatePostcode = s;\n this.dirtyFields[2] = true;\n }\n\n private signOut() {\n this.$router.push({ name: RouteN.ATCS.LogoutPage.n });\n }\n\n private isFormValid(): boolean {\n return !!this.firmName && !!this.address && !!this.phoneNumber &&\n !!this.suburbStatePostcode?.postcode && this.selectedMembershipType != null &&\n this.uploadedFileList.length > 0;\n }\n\n get eeStatusType(): number {\n let eeType = -1;\n if (this.userAccount.user.lawIdUserTypeId == 2) {\n eeType = 0;\n } else if (this.userAccount.user.lawIdUserTypeId == 3) {\n eeType = 1; // Sign up required\n }\n return eeType;\n }\n\n get suburbError(): boolean {\n return (!this.suburbStatePostcode?.postcode && (this.dirtyFields[2] || this.submitPressed));\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n get userAccount(): AuthorizedUser {\n return store.getters.getUserAccount;\n }\n}\n\n","import { render } from \"./ee-signup.html?vue&type=template&id=ad76de90&scoped=true&ts=true&external\"\nimport script from \"./ee-signup.ts?vue&type=script&lang=ts&external\"\nexport * from \"./ee-signup.ts?vue&type=script&lang=ts&external\"\n\nimport \"./ee-signup.scss?vue&type=style&index=0&id=ad76de90&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ad76de90\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createBlock as _createBlock, renderList as _renderList, Fragment as _Fragment, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4e463734\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"atcs-dashboard container\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_3 = { class: \"right\" }\nconst _hoisted_4 = {\n id: \"filters\",\n class: \"row mt-2\"\n}\nconst _hoisted_5 = {\n key: 0,\n class: \"col-4 ml-0\"\n}\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", { class: \"field_name mb-1\" }, \"Compliance year\", -1))\nconst _hoisted_7 = {\n key: 1,\n class: \"col-4\"\n}\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", { class: \"field_name mb-1\" }, \"Progress\", -1))\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, null, -1))\nconst _hoisted_10 = {\n key: 1,\n id: \"practice-cards\"\n}\nconst _hoisted_11 = { key: 2 }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"text-center\" }, \"No records.\", -1))\nconst _hoisted_13 = [\n _hoisted_12\n]\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, null, -1))\n\nexport function render(_ctx, _cache) {\n const _component_MultiSelectFilterYears = _resolveComponent(\"MultiSelectFilterYears\")\n const _component_MultiSelectFilterStatus = _resolveComponent(\"MultiSelectFilterStatus\")\n const _component_LoadingSpinner = _resolveComponent(\"LoadingSpinner\")\n const _component_PracticeCard = _resolveComponent(\"PracticeCard\")\n const _component_HelpScreen = _resolveComponent(\"HelpScreen\")\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _hoisted_2,\n _createElementVNode(\"div\", _hoisted_3, [\n (_ctx.helpContent?.isShow)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"btn btn-outline sml\",\n onClick: _cache[0] || (_cache[0] = $event => (_ctx.showHelpScreen = !_ctx.showHelpScreen))\n }, \"Help\"))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n (_ctx.yearsList.length > 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _hoisted_6,\n _createVNode(_component_MultiSelectFilterYears, {\n yearsList: _ctx.yearsList,\n \"onUpdate:yearsList\": _cache[1] || (_cache[1] = $event => ((_ctx.yearsList) = $event)),\n onSelectYears: _ctx.selectYears\n }, null, 8, [\"yearsList\", \"onSelectYears\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.statusList.length > 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _hoisted_8,\n _createVNode(_component_MultiSelectFilterStatus, {\n statusList: _ctx.statusList,\n \"onUpdate:statusList\": _cache[2] || (_cache[2] = $event => ((_ctx.statusList) = $event)),\n onSelectStatus: _ctx.selectStatus\n }, null, 8, [\"statusList\", \"onSelectStatus\"])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _hoisted_9,\n (_ctx.isLoadingData)\n ? (_openBlock(), _createBlock(_component_LoadingSpinner, { key: 0 }))\n : (_ctx.practices.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.practices, (practice, index) => {\n return (_openBlock(), _createBlock(_component_PracticeCard, {\n key: practice.id,\n practice: practice,\n modelValue: _ctx.practices[index],\n \"onUpdate:modelValue\": $event => ((_ctx.practices[index]) = $event),\n dashboardType: _ctx.dashboardType\n }, null, 8, [\"practice\", \"modelValue\", \"onUpdate:modelValue\", \"dashboardType\"]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_11, _hoisted_13)),\n (_ctx.showHelpScreen)\n ? (_openBlock(), _createBlock(_component_HelpScreen, {\n key: 3,\n onClose: _cache[3] || (_cache[3] = $event => (_ctx.showHelpScreen = false)),\n helpContent: _ctx.helpContent\n }, {\n header: _withCtx(() => [\n _hoisted_14\n ]),\n body: _withCtx(() => []),\n _: 1\n }, 8, [\"helpContent\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { Inject, Options, Vue, Watch } from \"vue-property-decorator\";\nimport PracticeCard from \"../practice-card/index.vue\";\nimport MultiSelectFilterStatus from \"../multi-select-filter-status/index.vue\";\nimport MultiSelectFilterYears from \"../multi-select-filter-years/index.vue\";\nimport { ComplianceForm, PageContent } from \"@/shared/modules/typescript-trustapi-client/models\";\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { AppInsights } from \"@/trust-atcs-app/appInsights\";\nimport { EventEmitter } from \"events\";\nimport store from \"@/trust-atcs-app/store\";\nimport LoadingSpinner from \"@/shared/components/loading-spinner/index.vue\";\nimport HelpScreen from \"../help-screen/index.vue\";\nimport FormatDateTimeMixin from '@/shared/mixins/format-datetime';\n\n\n@Options({\n components: {\n LoadingSpinner,\n PracticeCard,\n MultiSelectFilterYears,\n MultiSelectFilterStatus,\n HelpScreen,\n },\n mixins: [FormatDateTimeMixin],\n})\nexport default class AtcsDashboard extends Vue {\n\n private ai = new AppInsights;\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private practices: ComplianceForm[] = [];\n private complianceForm: ComplianceForm[] = [];\n\n private yearsList: any = [\n {\n \"id\": -1,\n \"name\": \"All\",\n \"description\": \"All\",\n \"inactive\": false\n }\n ];\n\n private selectedYears = [];\n\n private selectYears(val: any) {\n this.selectedYears = val;\n }\n\n private statusList = [\n {\n \"id\": -1,\n \"name\": \"All\",\n \"description\": \"All\",\n \"inactive\": false\n }];\n\n private selectedStatus = [];\n\n private selectStatus(val: any) {\n this.selectedStatus = val;\n }\n\n private isLoadingData = false;\n\n private dashboardType = 0; // Dashboard type 0 = Principal, 1 = External Examiner\n\n private helpContent: PageContent = {};\n private showHelpScreen = false;\n\n mounted(): void {\n this.eventCtrl.on('loadCardData', this.loadCardData);\n this.loadFilter();\n this.loadCardData();\n }\n\n beforeUnmount(): void {\n this.eventCtrl.off('loadCardData', this.loadCardData);\n }\n\n private async loadFilter() {\n try {\n const resp: any[] = await Promise.all([\n await this.apiService.ComplianceFormApi?.apiV2ComplianceFormGetComplianceYearsGet(),\n await this.apiService.ComplianceFormApi?.apiV2ComplianceFormGetProgressesGet(),\n ]);\n\n this.yearsList = [{\n \"id\": -1,\n \"name\": \"All\",\n \"description\": \"All\",\n \"inactive\": false\n }, ...resp[0].data.data];\n\n this.statusList = [{\n \"id\": -1,\n \"name\": \"All\",\n \"description\": \"All\",\n \"inactive\": false\n }, ...resp[1].data.data];\n\n this.helpContent = this.$getPopover('Help', 1);\n this.eventCtrl.emit('updateHelpContent', this.helpContent);\n }\n\n catch (err) {\n this.ai.trackException('Error, Unable to load filter data: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to load filter data');\n }\n\n }\n\n private async loadCardData() {\n this.isLoadingData = true;\n await this.apiService.ComplianceFormApi?.apiV2ComplianceFormGetComplianceFormsGet()\n .then((resp: any) => {\n this.complianceForm = resp.data.data;\n this.onFilterChange();\n this.isLoadingData = false;\n })\n .catch((err: any) => {\n this.isLoadingData = false;\n this.ai.trackException('Error, Unable to load practice cards: ' + err);\n this.eventCtrl.emit('show-snackbar', 'error', 'Unable to load practice cards');\n });\n }\n\n @Watch('selectedYears')\n private async onYearChange() {\n this.onFilterChange();\n }\n\n @Watch('selectedStatus')\n private async onStatusChange() {\n this.onFilterChange();\n }\n\n private async onFilterChange() {\n const selectedYearsArray = this.selectedYears.map((item: any) => item.name);\n const selectedStatusArray = this.selectedStatus.map((item: any) => item.name);\n // filter only this.compliance Form that match selectedYearsArray and selectedStatusArray\n this.practices = this.complianceForm.filter((item: any) => {\n return selectedYearsArray.includes(item.complianceYear.name) && selectedStatusArray.includes(item.progress.name);\n });\n }\n\n}","import { render } from \"./atcs-dashboard.html?vue&type=template&id=4e463734&scoped=true&ts=true&external\"\nimport script from \"./atcs-dashboard.ts?vue&type=script&lang=ts&external\"\nexport * from \"./atcs-dashboard.ts?vue&type=script&lang=ts&external\"\n\nimport \"./atcs-dashboard.scss?vue&type=style&index=0&id=4e463734&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4e463734\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, withModifiers as _withModifiers, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-252a2c72\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"ee-inactive\" }\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = {\n class: \"row\",\n style: {\"display\":\"flex\",\"justify-content\":\"center\"}\n}\nconst _hoisted_4 = { class: \"col-md-6\" }\nconst _hoisted_5 = { class: \"inactive-ee-box\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fas fa-exclamation big-icon\" }, null, -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Inactivated Account\", -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, [\n /*#__PURE__*/_createTextVNode(\" Your account has been inactivated. \"),\n /*#__PURE__*/_createElementVNode(\"br\"),\n /*#__PURE__*/_createTextVNode(\" if you have any questions regarding your account, please \"),\n /*#__PURE__*/_createElementVNode(\"a\", {\n class: \"link\",\n href: \"https://www.lawsociety.com.au/contact-us\",\n target: \"_blank\"\n }, \"contact us\"),\n /*#__PURE__*/_createTextVNode(\". \")\n], -1))\nconst _hoisted_11 = { class: \"buttons\" }\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _hoisted_6,\n _hoisted_7,\n _hoisted_8,\n _hoisted_9,\n _hoisted_10,\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"button\", {\n class: \"btn btn-outline mr-1\",\n onClick: _cache[0] || (_cache[0] = _withModifiers($event => (_ctx.signOut()), [\"prevent\"]))\n }, \"My Account\")\n ])\n ])\n ])\n ])\n ])\n ]))\n}","import { Inject, Options, Vue } from \"vue-property-decorator\";\nimport { AuthorizedUser } from '@/trust-atcs-app/models/authorized-user';\nimport store from '../../store';\nimport { TrustAPI } from \"@/shared/modules/trust-api\";\nimport { RouteN } from \"@/trust-atcs-app/constants/router-name\";\nimport { EventEmitter } from \"events\";\n\n@Options({})\nexport default class EEInactive extends Vue {\n\n @Inject({ from: 'apiService', default: new TrustAPI() })\n private apiService!: TrustAPI;\n\n private signOut() {\n this.$router.push({ name: RouteN.ATCS.LogoutPage.n });\n }\n\n get eventCtrl(): EventEmitter {\n return store.getters.getEventController;\n }\n\n get userAccount(): AuthorizedUser {\n return store.getters.getUserAccount;\n } \n}\n\n","import { render } from \"./ee-inactive.html?vue&type=template&id=252a2c72&scoped=true&ts=true&external\"\nimport script from \"./ee-inactive.ts?vue&type=script&lang=ts&external\"\nexport * from \"./ee-inactive.ts?vue&type=script&lang=ts&external\"\n\nimport \"./ee-inactive.scss?vue&type=style&index=0&id=252a2c72&scoped=true&lang=scss&external\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-252a2c72\"]])\n\nexport default __exports__","import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router';\nimport { accessPermitted } from '@/shared/components/helpers';\nimport { RouteN } from '../constants/router-name';\nimport AutoLogin from '../components/auto-login/index.vue';\nimport Logout from '../components/logout/index.vue';\nimport NoAccess from '../components/no-access/index.vue';\nimport AtscMain from '../components/atcs-main/index.vue';\nimport AtcsImpersonate from '../components/atcs-impersonate/index.vue';\nimport { AuthorizedUser } from '../models/authorized-user';\nimport store from '../store';\nimport { RoleType } from '../models/user';\nimport AppDashboard from '../components/app-dashboard/index.vue';\nimport FormPartA from '../components/form-part-a/index.vue';\nimport FormPartB from '../components/form-part-b/index.vue';\nimport FormEer from '../components/form-eer/index.vue';\nimport EESignup from '../components/ee-signup/index.vue';\nimport EEDashboard from '../components/ee-dashboard/index.vue';\nimport AtcsDashboard from '../components/atcs-dashboard/index.vue';\nimport EEInactive from '../components/ee-inactive/index.vue';\n\nconst routes: Array = [\n {\n path: RouteN.ATCS.LoginPage.p,\n name: RouteN.ATCS.LoginPage.n,\n component: AutoLogin,\n },\n {\n path: RouteN.ATCS.LogoutPage.p,\n name: RouteN.ATCS.LogoutPage.n,\n component: Logout,\n },\n {\n path: RouteN.NoAccess.p,\n name: RouteN.NoAccess.n,\n component: NoAccess,\n },\n {\n path: RouteN.ATCS.Main.p,\n meta: {\n requiresAuth: true,\n rolesAllowed: RouteN.ATCS.Main.r\n },\n name: RouteN.ATCS.Main.n,\n component: AtscMain,\n children: [\n {\n path: RouteN.ATCS.ImpersonateUser.p,\n name: RouteN.ATCS.ImpersonateUser.n,\n meta: {\n rolesAllowed: RouteN.ATCS.ImpersonateUser.lt\n },\n component: AtcsImpersonate,\n },\n {\n path: RouteN.ATCS.DashboardMain.p,\n name: RouteN.ATCS.DashboardMain.n,\n component: AppDashboard,\n children: [\n {\n path: RouteN.ATCS.DashboardHome.p,\n name: RouteN.ATCS.DashboardHome.n,\n component: AtcsDashboard,\n },\n {\n path: RouteN.ATCS.EEHome.p,\n name: RouteN.ATCS.EEHome.n,\n component: EEDashboard,\n },\n {\n path: RouteN.ATCS.EESignUp.p,\n name: RouteN.ATCS.EESignUp.n,\n component: EESignup,\n },\n {\n path: RouteN.ATCS.EEInactive.p,\n name: RouteN.ATCS.EEInactive.n,\n component: EEInactive,\n },\n {\n path: RouteN.ATCS.FormPartA.p,\n name: RouteN.ATCS.FormPartA.n,\n component: FormPartA,\n },\n {\n path: RouteN.ATCS.FormPartB.p,\n name: RouteN.ATCS.FormPartB.n,\n component: FormPartB,\n },\n {\n path: RouteN.ATCS.FormEer.p,\n name: RouteN.ATCS.FormEer.n,\n component: FormEer,\n },\n ]\n }\n ]\n }\n]\n\nconst router = createRouter({\n history: createWebHistory(process.env.BASE_URL),\n routes\n})\n\nrouter.afterEach((to) => {\n const authUser: AuthorizedUser = store.getters.getUserAccount;\n const routeRoles: any[] = to.meta.rolesAllowed as any[] || []\n\n try {\n if (to.matched.length >= 2 && (to.matched[1].name as any) != RouteN.ATCS.ImpersonateUser.n && routeRoles.filter(y => y == authUser.user.lawIdUserTypeId).length == 0) {\n // router.replace({ name: RouteN.NoAccess.n });\n }\n } catch (error) {\n console.log(error);\n }\n\n\n\n // else if (to.matched.length >= 2 && (to.matched[1].name as any) == RouteN.ATCS.ImpersonateUser && !authUser.user.isTester) {\n // router.replace({ name: RouteN.NoAccess.n });\n // }\n\n // if (to.matched.length >= 2 && !accessPermitted(\n // authUser.user.lawIdUserTypeId as any, to.meta.rolesAllowed as any[])) {\n // router.replace({ name: RouteN.NoAccess.n });\n // }\n});\n\nexport default router","import { createApp } from 'vue';\nimport App from './app.vue';\nimport { createPinia } from 'pinia';\nimport router from './router';\nimport { AppInsights } from './appInsights';\nimport VueTippy from 'vue-tippy';\nimport 'tippy.js/dist/tippy.css' // optional for styling\n\nconst appInsights = new AppInsights;\n\nappInsights.loadAppInsights();\nappInsights.trackPageView();\nconst pinia = createPinia();\n\ncreateApp(App)\n .use(router)\n .use(pinia)\n .use(VueTippy, {\n directive: 'tippy', // => v-tippy\n component: 'tippy', // => \n componentSingleton: 'tippy-singleton', // => ,\n defaultProps: {\n placement: 'auto-end',\n allowHTML: true,\n }, // => Global default options * see all props\n })\n .mount('#app');\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t524: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkTrustApp\"] = self[\"webpackChunkTrustApp\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(6278); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","render","_ctx","_cache","_component_SnackBar","_resolveComponent","_component_ConfirmDialogue","_component_router_view","_openBlock","_createElementBlock","_Fragment","_createVNode","store","ref","modalOpened","localUrl","result","window","location","href","split","APP_INSIGHT_CS","process","API_URL","IDLE_TIMEOUT","parseInt","TOKEN_REFRESH_TIME","SELF_URL","SOURCE_BRANCH","User","constructor","adminCommitteeIds","externalId","email","firstName","lastName","title","userName","lawId","isMember","isPcHolder","isPrincipal","isTester","isExternalExaminer","isTrustContact","isTrustCoordinator","securityGroups","roles","impersonatedLawId","originalDisplayName","originalFirstName","originalLastName","originalLawId","lawIdUserTypeId","isInactiveExternalExaminer","_defineProperty","RoleType","LawIDUserType","AuthenticationStatusType","Token","clientId","tokenStr","userId","Session","issued","expires","hasExpired","Math","round","Date","getTime","this","AuthorizedUser","user","token","session","authenticationStatus","Unknown","Url","Login","Logout","PowerBIComplaints","PowerBIInhabitRedflag","PowerBIHestoricalInvestigation","AuthenticationService","authedUser","axios","globalAxios","headers","checkAuthentication","tokenResp","console","log","get","data","LoggedIn","Promise","reject","err","response","status","HttpStatus","NotLogin","snackBarStoreModule","state","snackbar","mutations","setSnackbar","sb","actions","commit","getters","getSnackbar","popOverStoreModule","popovers","setPopovers","p","getPopovers","complianceFormStoreModule","selectedComplianceFormA","selectedComplianceFormB","selectedComplianceFormEER","formUpdatingkey","sessionStorage","getItem","setSelectedComplianceFormA","i","setSelectedComplianceFormB","setSelectedComplianceFormEER","setFormUpdatingkey","setItem","getSelectedComplianceFormA","getSelectedComplianceFormB","getSelectedComplianceFormEER","getFormUpdatingKey","createStore","modules","authorizedUser","eventController","EventEmitter","setUserAccount","getUserAccount","getEventController","RouteN","NoAccess","n","ATCS","Home","LoginPage","LogoutPage","Main","lt","PrincipalTrustCoordinatorTrustContact","ExternalExaminer","ToBeExternalExaminer","ImpersonateUser","r","DashboardMain","DashboardHome","FormPartA","FormPartB","FormEer","EEHome","EESignUp","EEInactive","_withScopeId","_pushScopeId","_popScopeId","_hoisted_1","_hoisted_2","_createElementVNode","class","_hoisted_3","showSnackbar","key","_normalizeClass","statusType","innerHTML","message","onClick","_withModifiers","$event","close","_createCommentVNode","Snackbar","Vue","args","eventCtrl","show","statusT","replace","setTimeout","$refs","timeoutID","mounted","on","beforeUnmount","removeListener","__decorate","Prop","default","__exports__","BASE_PATH","BaseAPI","configuration","basePath","RequiredError","field","msg","super","AccountApiAxiosParamCreator","apiV2AccountDeleteAccountAccountIdDelete","async","accountId","options","undefined","localVarPath","encodeURIComponent","String","localVarUrlObj","URL","baseOptions","localVarRequestOptions","method","localVarHeaderParameter","localVarQueryParameter","query","URLSearchParams","search","set","toString","headersFromBaseOptions","url","pathname","hash","apiV2AccountGetAccountsByPracticeIdPracticeIdGet","practiceId","accountTypeId","apiV2AccountGetBankBranchByKeywordSearchPost","body","needsSerialization","JSON","stringify","apiV2AccountSaveAccountPost","AccountApiFp","localVarAxiosArgs","axiosRequestArgs","request","AccountApi","then","AccountingAppApiAxiosParamCreator","apiV2AccountingAppGetAccountingAppAuditTrailsAccountingAppIdGet","accountingAppId","apiV2AccountingAppGetAccountingAppByIdAccountingAppIdGet","apiV2AccountingAppGetAccountingAppsPost","showActiveOnly","apiV2AccountingAppSaveAccountingAppPost","AccountingAppApiFp","AccountingAppApi","CalendarApiAxiosParamCreator","apiV2CalendarDeletePublicHolidayIdDelete","apiV2CalendarGetEventsByTrustTeamMemberIdPost","apiV2CalendarGetPublicHolidayByIdGet","apiV2CalendarGetPublicHolidaysPost","apiV2CalendarSavePublicHolidayPost","apiV2CalendarTrustInvestigatorGetEventsByExternalIdPost","apiV2CalendarUpdatePublicHolidaysPut","year","start","end","toISOString","CalendarApiFp","CalendarApi","CodeApiAxiosParamCreator","apiV2CodeGetAccountTypesGet","apiV2CodeGetAppointmentStatusesGet","apiV2CodeGetAtcsQuestionTypesGet","apiV2CodeGetBreachTypesPost","apiV2CodeGetBreachesPost","apiV2CodeGetCategoriesGet","apiV2CodeGetCertifiedTypesGet","apiV2CodeGetClassificationTypesGet","apiV2CodeGetContentTypesGet","apiV2CodeGetCorrespondenceDescriptionsGet","apiV2CodeGetCorrespondenceTypesGet","apiV2CodeGetEeMembershipTypesGet","apiV2CodeGetEeRequestFormStatusesGet","apiV2CodeGetEeRequestFormTypesGet","apiV2CodeGetEeSignUpFormStatusesGet","apiV2CodeGetEventTypesGet","apiV2CodeGetFileTypesGet","apiV2CodeGetFollowUpStatusesGet","apiV2CodeGetFollowUpTypesGet","apiV2CodeGetInvestigationCategoryGet","apiV2CodeGetInvestigationStatusesGet","apiV2CodeGetLeaveTypesGet","apiV2CodeGetNoteTypesGet","apiV2CodeGetPracticeRiskIndicatorsGet","apiV2CodeGetPracticeRisksGet","apiV2CodeGetPrioritiesGet","apiV2CodeGetReportResultsGet","apiV2CodeGetRoutineStatusesGet","apiV2CodeGetSignatoryTypesGet","apiV2CodeGetSolelyJointliesGet","apiV2CodeGetStatusGet","apiV2CodeGetSuburbStatePostcodePost","apiV2CodeGetTimeEntryActivitiesGet","apiV2CodeGetTimeEntryStatusesGet","apiV2CodeGetTimeEntryTypesGet","apiV2CodeGetTimesheetStatusesGet","apiV2CodeGetTrustAccountStatusesGet","apiV2CodeGetUserGroupsGet","CodeApiFp","CodeApi","ComplianceFormApiAxiosParamCreator","apiV2ComplianceFormAdminDashboardGetNumberOfCompliantFormsGet","apiV2ComplianceFormAdminGenerateNextYearTrustComplianceFormPracticeIdGet","apiV2ComplianceFormAdminGetComplianceFormAbsolutionComplianceFormIdGet","complianceFormId","apiV2ComplianceFormAdminGetComplianceFormAdditionalFilesComplianceFormIdGet","apiV2ComplianceFormAdminGetComplianceFormFilesComplianceFormIdGet","apiV2ComplianceFormAdminGetComplianceFormsPost","apiV2ComplianceFormAdminIsGenerateTrustComplianceFormEnablePracticeIdGet","apiV2ComplianceFormAdminUpdateComplianceFormAbsolutionPost","apiV2ComplianceFormGetComplianceFormsGet","apiV2ComplianceFormGetComplianceYearsGet","apiV2ComplianceFormGetProgressesGet","apiV2ComplianceFormTrustInvestigatorGetComplianceFormAdditionalFilesComplianceFormIdGet","apiV2ComplianceFormTrustInvestigatorGetComplianceFormsPost","apiV2ComplianceFormTrustInvestigatorGetComplianceFormsTipPost","ComplianceFormApiFp","ComplianceFormApi","ConfigTrustApiAxiosParamCreator","apiV2ConfigTrustGetBankAuditTrailsBankIdGet","bankId","apiV2ConfigTrustGetBankByIdBankIdGet","apiV2ConfigTrustGetBanksPost","apiV2ConfigTrustGetInvestigationTypeAuditTrailsInvestigationTypeIdGet","investigationTypeId","apiV2ConfigTrustGetInvestigationTypeByIdInvestigationTypeIdGet","apiV2ConfigTrustGetInvestigationTypesPost","apiV2ConfigTrustSaveBankPost","apiV2ConfigTrustSaveInvestigationTypePost","ConfigTrustApiFp","ConfigTrustApi","CorrespondenceApiAxiosParamCreator","apiV2CorrespondenceDeleteCorrespondenceCorrespondenceIdDelete","correspondenceId","apiV2CorrespondenceGetCorrespondenceByIdCorrespondenceIdGet","apiV2CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet","apiV2CorrespondenceGetFileByCorrespondenceIdCorrespondenceIdGet","apiV2CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet","apiV2CorrespondenceSaveCorrespondencePost","CorrespondenceApiFp","CorrespondenceApi","DateApiAxiosParamCreator","apiV2DateGetBaseDateGet","apiV2DateSetCurrentDatePost","DateApiFp","DateApi","EeReportApiAxiosParamCreator","apiV2EeReportClosePost","apiV2EeReportExtendFormStatusPost","apiV2EeReportGetBreachesPost","apiV2EeReportGetControlledMoneyPost","apiV2EeReportGetDeclarationPost","apiV2EeReportGetFormStatusComplianceFormIdGet","apiV2EeReportGetGeneralTrustMoneyPost","apiV2EeReportGetInvestmentMoneyPost","apiV2EeReportGetOtherInformationPost","apiV2EeReportGetOverviewPost","apiV2EeReportGetSpecificPowerMoneyPost","apiV2EeReportKickOutFormStatusComplianceFormIdGet","apiV2EeReportSaveBreachesPost","apiV2EeReportSaveControlledMoneyPost","apiV2EeReportSaveDeclarationPost","apiV2EeReportSaveGeneralTrustMoneyPost","apiV2EeReportSaveInvestmentMoneyPost","apiV2EeReportSaveOtherInformationPost","apiV2EeReportSavePartBResubmissionRequestPost","apiV2EeReportSaveSpecificPowerMoneyPost","apiV2EeReportSubmitEeReportPost","EeReportApiFp","EeReportApi","ExternalExaminerApiAxiosParamCreator","apiV2ExternalExaminerAdminAddExternalExaminerPost","apiV2ExternalExaminerAdminAppointExternalExaminerPost","apiV2ExternalExaminerAdminApproveEeRequestFormPost","apiV2ExternalExaminerAdminApproveEeSignUpFormEeSignUpFormIdPut","eeSignUpFormId","apiV2ExternalExaminerAdminGetEeRequestFormByIdEeRequestFormIdGet","eeRequestFormId","apiV2ExternalExaminerAdminGetEeRequestFormsPost","apiV2ExternalExaminerAdminGetEeSignUpFormByIdEeSignUpFormIdGet","apiV2ExternalExaminerAdminGetEeSignUpFormGet","apiV2ExternalExaminerAdminGetExternalExaminerByIdExternalExaminerIdGet","externalExaminerId","apiV2ExternalExaminerAdminGetExternalExaminersPost","apiV2ExternalExaminerAdminRejectEeRequestFormPost","apiV2ExternalExaminerAdminRejectEeSignUpFormEeSignUpFormIdPut","apiV2ExternalExaminerAdminSearchExternalExaminersPost","apiV2ExternalExaminerAdminUpdateExternalExaminerPost","apiV2ExternalExaminerAppointEeRequestFormPost","apiV2ExternalExaminerGetEeSignUpFormGet","apiV2ExternalExaminerGetExternalExaminerByIndividualPracticeIdIndividualPracticeIdGet","individualPracticeId","apiV2ExternalExaminerGetExternalExaminerDetailsGet","apiV2ExternalExaminerSaveEeSignUpFormPost","apiV2ExternalExaminerSearchExternalExaminersPost","apiV2ExternalExaminerTerminateEeRequestFormPost","apiV2ExternalExaminerUpdateExternalExaminerDetailsPost","ExternalExaminerApiFp","ExternalExaminerApi","FileAtcsApiAxiosParamCreator","apiV2FileAtcsAdminDeleteAdditionalFileComplianceFormIdFileIdDelete","fileId","apiV2FileAtcsAdminDeleteFileFileIdDelete","apiV2FileAtcsAdminDownloadStreamFileIdGet","apiV2FileAtcsAdminGetEeReportFileEeReportIdGet","eeReportId","apiV2FileAtcsAdminGetEeReportFileEeReportIdRegeneratedFileLogIdGet","regeneratedFileLogId","apiV2FileAtcsAdminGetEeReportFileLogsEeReportIdGet","apiV2FileAtcsAdminGetFileByIdFileIdGet","apiV2FileAtcsAdminGetPartAFileLogsPartAIdGet","partAId","apiV2FileAtcsAdminGetPartAFilePartAIdGet","apiV2FileAtcsAdminGetPartAFilePartAIdRegeneratedFileLogIdGet","apiV2FileAtcsAdminGetPartBFileLogsPartBIdGet","partBId","apiV2FileAtcsAdminGetPartBFilePartBIdGet","apiV2FileAtcsAdminGetPartBFilePartBIdRegeneratedFileLogIdGet","apiV2FileAtcsAdminSaveComplianceFormAdditionalFilePost","apiV2FileAtcsAdminSaveExternalExaminerFilePost","apiV2FileAtcsDeleteFileFileIdDelete","apiV2FileAtcsDownloadStreamFileIdGet","apiV2FileAtcsGetComplianceFormFileByIdFileIdComplianceFormIdGet","apiV2FileAtcsGetEeReportFileEeReportIdGet","apiV2FileAtcsGetFileByIdFileIdGet","apiV2FileAtcsGetPartAFilePartAIdGet","apiV2FileAtcsGetPartBFilePartBIdGet","apiV2FileAtcsSaveComplianceFormFilePost","apiV2FileAtcsSaveEeSignUpFormFilePost","apiV2FileAtcsSaveFilePost","apiV2FileAtcsTrustInvestigatorGetComplianceFormAdditionalFileComplianceFormIdFileIdGet","apiV2FileAtcsTrustInvestigatorGetComplianceFormFileAttachmentsComplianceFormIdGet","apiV2FileAtcsTrustInvestigatorGetComplianceFormFileByIdFileIdComplianceFormIdGet","apiV2FileAtcsTrustInvestigatorGetEeReportFileEeReportIdGet","apiV2FileAtcsTrustInvestigatorGetEeReportFileEeReportIdRegeneratedFileLogIdGet","apiV2FileAtcsTrustInvestigatorGetEeReportFileLogsEeReportIdGet","apiV2FileAtcsTrustInvestigatorGetPartAFileLogsPartAIdGet","apiV2FileAtcsTrustInvestigatorGetPartAFilePartAIdGet","apiV2FileAtcsTrustInvestigatorGetPartAFilePartAIdRegeneratedFileLogIdGet","apiV2FileAtcsTrustInvestigatorGetPartBFileLogsPartBIdGet","apiV2FileAtcsTrustInvestigatorGetPartBFilePartBIdGet","apiV2FileAtcsTrustInvestigatorGetPartBFilePartBIdRegeneratedFileLogIdGet","FileAtcsApiFp","FileAtcsApi","FollowUpApiAxiosParamCreator","apiV2FollowUpApproveRoutineFollowUpPut","followUpId","apiV2FollowUpGetFollowUpsPost","apiV2FollowUpRejectRoutineFollowUpPut","FollowUpApiFp","FollowUpApi","InvestigationApiAxiosParamCreator","apiV2InvestigationCancelInvestigationPost","apiV2InvestigationGetInvestigationAccountingAppsByIdInvestigationIdGet","investigationId","apiV2InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet","apiV2InvestigationGetInvestigationBreachesByIdInvestigationIdGet","apiV2InvestigationGetInvestigationByIdInvestigationIdGet","apiV2InvestigationGetInvestigationDetailsByIdInvestigationIdGet","apiV2InvestigationGetInvestigationsByPracticeIdPracticeIdGet","apiV2InvestigationGetInvestigationsByTrustTeamMemberIdPost","apiV2InvestigationGetInvestigationsPost","apiV2InvestigationGetNumberOfInvestigationsGet","apiV2InvestigationGetNumerOfInvestigationsPerInvestigatorGet","apiV2InvestigationGetPracticeHasInvestigationGet","apiV2InvestigationSaveInvestigationPost","apiV2InvestigationTrustInvestigatorGetInvestigationAccountingAppsByIdInvestigationIdGet","apiV2InvestigationTrustInvestigatorGetInvestigationBreachesByIdInvestigationIdGet","apiV2InvestigationTrustInvestigatorGetInvestigationDetailsByIdInvestigationIdGet","apiV2InvestigationUpdateClosedInvestigationDetailsPost","apiV2InvestigationUpdateCompletedInvestigationDetailsPost","apiV2InvestigationUpdateInvestigationDetailsPost","InvestigationApiFp","InvestigationApi","InvestigatorWorkingPaperApiAxiosParamCreator","apiV2InvestigatorWorkingPaperDeleteInvestigatorWorkingPaperInvestigatorWorkingPaperIdDelete","investigatorWorkingPaperId","apiV2InvestigatorWorkingPaperGetFileByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet","apiV2InvestigatorWorkingPaperGetFileStreamByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet","apiV2InvestigatorWorkingPaperGetInvestigatorWorkingPaperByIdInvestigatorWorkingPaperIdGet","apiV2InvestigatorWorkingPaperGetInvestigatorWorkingPapersByIdInvestigationIdGet","apiV2InvestigatorWorkingPaperSaveInvestigatorWorkingPaperPost","apiV2InvestigatorWorkingPaperTrustInvestigatorGetInvestigatorWorkingPapersByIdInvestigationIdGet","InvestigatorWorkingPaperApiFp","InvestigatorWorkingPaperApi","LawIdApiAxiosParamCreator","apiV2LawIdAdminSearchLawIdUsersForExternalExaminerPost","apiV2LawIdAdminSearchLawIdUsersForTrustCoordinatorPracticeIdPost","apiV2LawIdGetLawIdUsersPost","LawIdApiFp","LawIdApi","NotesApiAxiosParamCreator","apiV2NotesGetNotesByInvestigationIdInvestigationIdGet","apiV2NotesGetNotesByPracticeIdPost","apiV2NotesSaveNotePost","apiV2NotesTrustInvestigatorGetNotesByInvestigationIdInvestigationIdGet","NotesApiFp","NotesApi","PageAtcsApiAxiosParamCreator","apiV2PageAtcsAdminGetAllPageContentsGet","apiV2PageAtcsAdminGetPageContentPageContentIdGet","pageContentId","apiV2PageAtcsAdminUpdatePageContentPost","apiV2PageAtcsAdminUpdatePageContentStatusPost","apiV2PageAtcsGetAllPageContentsGet","apiV2PageAtcsGetPageContentsPageIdGet","pageId","apiV2PageAtcsGetPagesGet","PageAtcsApiFp","PageAtcsApi","PartAFormApiAxiosParamCreator","apiV2PartAFormAdminSavePartAResubmissionRequestPost","apiV2PartAFormClosePost","apiV2PartAFormExtendFormStatusPost","apiV2PartAFormGetDeclarationPost","apiV2PartAFormGetFormStatusComplianceFormIdGet","apiV2PartAFormGetOverviewPost","apiV2PartAFormGetPracticeAreasPost","apiV2PartAFormGetTrustAccountDetailsPost","apiV2PartAFormKickOutFormStatusComplianceFormIdGet","apiV2PartAFormSavePracticeAreasPost","apiV2PartAFormSaveTrustAccountDetailsPost","apiV2PartAFormSubmitFormPost","PartAFormApiFp","PartAFormApi","PartBFormApiAxiosParamCreator","apiV2PartBFormAddFormPracticeAccountPost","apiV2PartBFormAdminSavePartBResubmissionRequestPost","apiV2PartBFormClosePost","apiV2PartBFormExtendFormStatusPost","apiV2PartBFormGetControlledMoneyPost","apiV2PartBFormGetDeclarationPost","apiV2PartBFormGetFormStatusComplianceFormIdGet","apiV2PartBFormGetGeneralTrustMoneyPost","apiV2PartBFormGetInvestmentMoneyPost","apiV2PartBFormGetOtherInformationPost","apiV2PartBFormGetOverviewPost","apiV2PartBFormGetSpecificPowerMoneyPost","apiV2PartBFormGetTrustAccountingRecordsPost","apiV2PartBFormKickOutFormStatusComplianceFormIdGet","apiV2PartBFormSaveControlledMoneyPost","apiV2PartBFormSaveDeclarationPost","apiV2PartBFormSaveFormPracticeAccountPost","apiV2PartBFormSaveGeneralTrustMoneyPost","apiV2PartBFormSaveInvestmentMoneyPost","apiV2PartBFormSaveOtherInformationPost","apiV2PartBFormSaveSpecificPowerMoneyPost","apiV2PartBFormSaveTrustAccountingRecordsPost","apiV2PartBFormSubmitFormPost","apiV2PartBFormUpdateFormPracticeAccountPost","PartBFormApiFp","PartBFormApi","PeopleApiAxiosParamCreator","apiV2PeopleGetILPDirectorsByPracticeIdPracticeIdGet","keyword","apiV2PeopleGetIlpDirectorByIdIlpDirectorIdGet","ilpDirectorId","apiV2PeopleGetIndividualsByPracticeIdPracticeIdGet","apiV2PeopleGetPeopleStatsByPracticeIdPracticeIdGet","apiV2PeopleGetSearchLawIdUsersPost","apiV2PeopleGetSignatoriesPost","apiV2PeopleGetSignatoryAuditTrailsSignatoryIdGet","signatoryId","apiV2PeopleGetSignatoryByIdSignatoryIdGet","apiV2PeopleSaveIlpDirectorPost","apiV2PeopleSaveSignatoryPost","PeopleApiFp","PeopleApi","PeopleAtcsApiAxiosParamCreator","apiV2AtcsPeopleAdminAppointTrustCoordinatorPost","apiV2AtcsPeopleAdminDashboardGetNumberOfPracticeWithoutTrustCoordinatorGet","apiV2AtcsPeopleAdminDashboardGetNumberOfUnapprovedFormsGet","apiV2AtcsPeopleAdminGetTrustContactsPracticeIdGet","apiV2AtcsPeopleAdminGetTrustCoordinatorsPracticeIdGet","apiV2AtcsPeopleAdminTerminateTrustContactIndividualPracticeIdPut","apiV2AtcsPeopleGetTrustContactsForTIPracticeIdGet","apiV2AtcsPeopleGetTrustCoordinatorsForTIPracticeIdGet","PeopleAtcsApiFp","PeopleAtcsApi","PracticeApiAxiosParamCreator","apiV2PracticeDeleteLinkedPracticeIdDelete","apiV2PracticeEditAssociatedEntitiesPost","apiV2PracticeEditGeneralAccountingAppPost","apiV2PracticeEditLawPracticeNotesPost","apiV2PracticeEditMortgageInfoPost","apiV2PracticeEditPracticeAccountingDetailsPost","apiV2PracticeEditPracticeStatusPost","apiV2PracticeGetLinkedPracticesPracticeIdGet","apiV2PracticeGetPracticeAdditionalContactPracticeIdGet","apiV2PracticeGetPracticeByIdPracticeIdGet","apiV2PracticeSaveLinkedPracticePost","apiV2PracticeSavePracticeAdditionalContactPost","apiV2PracticeSearchPracticePost","apiV2PracticeUpdatePracticeAnalysesPost","PracticeApiFp","PracticeApi","PracticeAtcsApiAxiosParamCreator","apiV2AtcsPracticeAdminAddIndividualPracticeForExternalExaminerExternalExaminerIdPost","apiV2AtcsPracticeAdminGetExternalExaminerByPracticeIdPracticeIdGet","apiV2AtcsPracticeAdminGetIndividualPracticeForExternalExaminerIndividualPracticeIdGet","apiV2AtcsPracticeAdminGetIndividualPracticesForExternalExaminerExternalExaminerIdGet","apiV2AtcsPracticeAdminSaveTrustContactPost","apiV2AtcsPracticeAdminSaveTrustCoordinatorPost","apiV2AtcsPracticeAdminSearchPracticeForExternalExaminerPost","apiV2AtcsPracticeAdminTerminateExternalExaminerPost","apiV2AtcsPracticeAdminTerminateIndividualPracticeForExternalExaminerPost","apiV2AtcsPracticeAssignSelfTrustCoordinatorPracticeCoreIdPost","practiceCoreId","apiV2AtcsPracticeSaveTrustContactPost","PracticeAtcsApiFp","PracticeAtcsApi","RoutineApiAxiosParamCreator","apiV2RoutineGetRoutinesPost","RoutineApiFp","RoutineApi","TimeEntryApiAxiosParamCreator","apiV2TimeEntryApproveTimeEntriesPost","apiV2TimeEntryDeleteTimeEntryTimeEntryIdDelete","timeEntryId","apiV2TimeEntryExportTimeEntriesByTrustTeamMemberIdPost","apiV2TimeEntryExportTimeEntriesPost","apiV2TimeEntryExportTimesheetDataByInvestigationIdInvestigationIdGet","apiV2TimeEntryGetTimeEntriesByTrustTeamMemberIdPost","apiV2TimeEntryGetTimeEntriesPost","apiV2TimeEntryGetTimeEntryApprovalByTrustTeamMemberIdPost","apiV2TimeEntryGetTimeEntryApprovalsPost","apiV2TimeEntryGetTimeEntryByIdTimeEntryIdGet","apiV2TimeEntrySaveLeaveTimeEntryPost","apiV2TimeEntrySaveTimeEntryPost","apiV2TimeEntryTrustInvestigatorGetTimeEntriesByExternalIdPost","TimeEntryApiFp","TimeEntryApi","TrustTeamMemberApiAxiosParamCreator","apiV2TrustTeamMemberGetSupervisorsGet","apiV2TrustTeamMemberGetTrustTeamMemberByIdMemberIdGet","memberId","apiV2TrustTeamMemberGetTrustTeamMemberByPracticeIdPost","apiV2TrustTeamMemberGetTrustTeamMembersPost","showInvestigatorOnly","apiV2TrustTeamMemberSaveTrustTeamMemberPost","apiV2TrustTeamMemberSearchSecurityGroupMembersGet","nonTrustTeamMemberOnly","apiV2TrustTeamMemberTrustInvestigatorGetTrustTeamMemberByExternalIdPost","TrustTeamMemberApiFp","TrustTeamMemberApi","TrustAPI","_hoisted_4","style","_hoisted_5","_hoisted_6","_Transition","name","_withCtx","isVisible","_cancel","_toDisplayString","cancelButton","length","_confirm","okButton","_","ConfirmDialog","open","document","classList","add","remove","opts","resolvePromise","rejectPromise","Options","props","Boolean","components","App","created","authService","authApiAxios","gettingToken","apiAxios","interceptors","use","refreshToken","config","Authorization","error","errorCode","confirmResubmitRequest","emit","$route","fullPath","apiService","_route","_isEE","indexOf","res","$router","push","Provide","to","reactive","SnackBar","ConfirmDialogue","_component_LoadingSpinner","_component_StdPageLayout","_createBlock","showAccountControl","isExternal","Authentication","loginCallback","runAuthCheck","cb","productionAuth","logout","clearBrowserStorages","deleteAllCookies","localStorage","clear","cookies","cookie","eqPos","substr","productionVerify","catch","v2","c2","AppAccessPermitted","LoadingSpinner","_component_PageHeader","_component_PageFooter","showAppMenu","_renderSlot","$slots","baseYear","currentYear","src","_imports_0","_imports_1","_hoisted_7","_hoisted_8","_component_AccountInfoPanel","_component_AlertBox","env","isToday","showDateTip","_createTextVNode","$formatDate","displayDate","appName","showCancelAlertBox","onClose","header","alertBoxTitle","alertBoxBody","footer","exitApplication","showCloseBut","$emit","AlertBox","appInsights","ApplicationInsights","connectionString","enableAutoRouteTracking","AppInsights","loadAppInsights","trackPageView","trackEvent","eventString","trackException","exception","trackTrace","trackMetric","avg","average","startTrackPage","pageName","stopTrackPage","startTrackEvent","et","flush","_component_ApplicationMenu","appAccessPermitted","infoTextRow0","infoTextRow1","onMenuClicked","menuIcon","menuButtonText","mode","showMenu","_withDirectives","goToContactUs","goToFAQ","signOut","_vShow","ApplicationMenuComponent","UserDefine","required","AccountInfoPanel","addEventListener","clickedElement","removeEventListener","el","dropDownMenuUI","elBut","target","isConfirmationPage","sec","saveCloseClick","userAccount","selectionTypeClassName","section","isUpdating","Ref","ApplicationMenu","methods","$getPopover","pKey","_popOver","popOverStore","filter","$formatDateTimeTypeA","isoStr","moment","format","$formatMMYYYY","$formatDateTimeTypeC","$formatDateTimeTypeD","$formatSecToHours","seconds","$formatDateFullDate","PageHeader","onRouteChanged","setAppName","cancelApplication","cancelSTApplication","getSystemDate","setInterval","getAppRenew","dispatch","local","dev","sit","isSameBranchName","sourceBranch","apiBranch","isDateToday","dateString","date","today","getFullYear","getMonth","getDate","ai","Inject","from","Watch","mixins","FormatDateTimeMixin","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","termsUrl","privacyUrl","copyrightYearRange","logoClick","alt","PageFooter","StdPageLayout","toUTCString","baseDate","AutoLogin","authentication","authCheckCallBack","redirect","AppAccessDenied","logoutCallBack","KitchenSink","KitchenSink2","KitchenSink3","TA","TrustData","TrustAdmin","TrustSuperAdmin","TrustManager","TrustSectionLeader","TrustDataPractices","TrustDataAccountingSoftware","TrustDataInvestigationType","TrustDataInvestigators","TrustDataBanks","TrustDataTrustTeam","TrustDataExternalExaminer","TrustDataExternalExaminerApproval","TrustDataExternalExaminerSignUpApproval","TrustDataPageSettings","Investigations","Routines","FollowUp","TimesheetApproval","Investigator","InvestigatorDashboard","InvestigatorCalendar","InvestigatorInvestigations","InvestigatorTimesheets","Practice","PracticeDashboard","PracticeInvestigationDetails","PracticeBank","PracticeAccountingDetails","PracticeNotes","PracticePeople","PracticeCorrespondence","PracticeLinkedPractice","PracticeTrustCompliance","ExternalExaminerDashboard","trustMemberStoreModule","selectedTrustTeamMember","setSelectedTrustTeamMember","getSelectedTrustTeamMember","practiceStoreModule","selectedPractice","setSelectedPractice","getSelectedPractice","externalExaminerStoreModule","selectedEE","setSelectedEE","getSelectedEE","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","_hoisted_47","_hoisted_48","_hoisted_49","_hoisted_50","_hoisted_51","_hoisted_52","_hoisted_53","_hoisted_54","_hoisted_55","_hoisted_56","_hoisted_57","_hoisted_58","_hoisted_59","_hoisted_60","_hoisted_61","_hoisted_62","_hoisted_63","_hoisted_64","_hoisted_65","loadingDataSet","onKeydown","_withKeys","onArrowDown","onArrowUp","onEnter","type","placeholder","_vModelText","currentSelectedPractice","isSearching","_renderList","practiceList","practice","arrowCounter","highlightWord","formatPracticeText","selectPractice","isOpen","numberOfInvestigations","numberOfCreatedRoutines","numberOfCreatedCauseDrivens","numberOfOngoingRoutines","numberOfOngoingCauseDrivens","numberOfCompletedRoutines","numberOfCompletedCauseDrivens","numberOfInvestigationsPerInvestigator","trustTeamMember","displayName","numberOfRoutines","numberOfCauseDrivens","goToTrustTeam","totalNumberOfUnapprovedForms","eeSignUpForms","appointEeRequestForms","terminateEeRequestForms","totalNumberOfPracticeWithoutTC","updatedOn","practiceWithoutTrustCoordinator","totalNumberOfComplaintForms","nonCompliantPartA","nonCompliantPartB","nonCompliantEeReport","partBSubmittedNoExternalExaminer","TrustAdminDashboard","partBWithoutExternalExaminer","onKeywordChange","x","srchDebounced","cancel","onCurrentSelectedPracticeChange","pId","preloadData","handleClickOutside","debounce","searchPractice","errorLoadingDataSet","resp","all","_body","isExactMatch","evt","$el","word","regex","RegExp","branchId","firmId","tradingName","_component_NavigationBar","_component_AddEditInvestigationModal","_component_AddEventModal","_component_AddEditMemberModal","_component_InvestigationDetailsModal","_component_ErrorIndicator","isFixHeader","_createSlots","showRHSHeader","fn","navItems","errorLoadingData","loadingData","openAddEditInvestigationModal","showAddEditInvestigationModal","investigation","selectedInvestigation","isFromRoutine","routineId","onCloseAddEditInvestigationModal","closeAddEditInvestigationModal","showAddEditEventModal","eventFormData","selectedEventFormData","onCloseAddEventModal","closeAddEditEventModalBox","showAddEditMemberModal","teamMember","onCloseAddEditMemberModal","closeAddEditMemberModal","showInvestigationDetailsModal","onCloseModal","closeInvestigationDetailsModal","accessPermitted","userRoles","allowedRoles","accessAllowed","forEach","y","eventTransform","event","floor","random","formatEventTitle","startDateTime","endDateTime","display","allDay","isAllDayEvent","backgroundColor","getEventBGColour","borderColor","getEventBorderColour","textColor","getEventTextColour","eventItem","eventType","timeEntryActivity","escapeString","createCSV","filename","exportedFilenmae","blob","Blob","link","createElement","download","createObjectURL","setAttribute","visibility","appendChild","click","removeChild","$accessPermitted","$roleType","transparent","s","visible","navigate","NavItemStatusID","NavItemTypeID","NavItem","routeSecName","routeQuery","InternalLink","externalLink","NavigationBar","ExternalLink","Disabled","openNewBrowserUrl","Done","NotCurrent","IDLESessionManager","idle_timeout","doCheckSession","timeoutCallBack","setup","run","workerID","checkInterval","stop","clearInterval","resetTimer","value","_hoisted_66","_hoisted_67","_hoisted_68","_hoisted_69","_hoisted_70","_hoisted_71","_hoisted_72","_hoisted_73","_hoisted_74","_hoisted_75","_hoisted_76","_hoisted_77","_hoisted_78","_hoisted_79","_hoisted_80","_hoisted_81","_hoisted_82","_component_LoadingIndicator","_component_v3_date_picker","_component_CalendarView","_component_ModalBox","_directive_tippy","_resolveDirective","closeModal","editMode","loadingContent","errorLoadingContent","selectedDetailedInvestigator","investigators","_vModelSelect","assignInvestigator","onClickedNavItem","clickedNavItem","selectedSection","tableHeadings2","h","index","text","loadingAvailabilityContent","colspan","errorLoadingAvailabilityContent","investigations","latestPracticeLogData","commencementDate","investigationType","investigationStatus","errorLoadingTimeEntries","eventData","viewSelector","todayButton","defaultView","onUiDateTimeRangeChanged","uiDateTimeRangeChanged","buttons","loadingTimeEntries","showLoadingText","disabled","formData","onChange","selectInvestigationType","investigationTypes","iT","investigationCategory","_vModelRadio","modelValue","inputFormat","lowerLimit","disabledDates","submitting","isFormDirty","validForm","saveInvestigation","tableHeadings","loadingTrustTeamMemberHistory","errorLoadingTrustTeamMemberHistory","aI","investigatedPracticePreviously","content","totalRoutines","totalCauseDrivens","viewDetailedInvestigator","halfScreen","fullScreen","mostScreen","showStepper","ModalBox","unmounted","loadingText","LoadingIndicator","showErrorText","errorText","ErrorIndicator","_component_FullCalendar","calendarView","prev","next","currentDateDisplay","calendarOptions","CalendarView","onEventDataChanged","calendarApi","removeAllEventSources","addEventSource","events","$nextTick","refetchEvents","plugins","dayGridPlugin","interactionPlugin","timeGridPlugin","initialView","headerToolbar","eventTimeFormat","hour","minute","meridiem","dayHeaderFormat","d","firstDay","editable","selectable","selectMirror","dayMaxEvents","displayEventTime","weekends","eventClick","handleEventClick","fullCalendar","getApi","view","info","jsEvent","preventDefault","updateDisplay","onCalendarViewChanged","_from_date","startOf","_to_date","endOf","changeView","setOption","Array","FullCalendar","AddEditInvestigationModal","sortable","onSelectedInvestigatorChanged","loadInvestigations","loadTimeEntries","currentCalendarView","onCommencementDateChaged","getInvestigators","onPracticeSelection","init","updateNavItem","parse","resp2","defaultInvestigationCategoryId","Current","item","invReq","trustTeamMemberId","investigationCategoryId","startDate","activeStart","endDate","activeEnd","showMissingTime","investigatorOfPractice","c_InvestigationType","c_InvestgationCategory","c_Investigator","c_CommencementDate","unix","orderBy","toLowerCase","includes","userGroup","V3DatePicker","FormateDateTimeMixin","selected","_hoisted_83","_hoisted_84","_hoisted_85","_hoisted_86","_hoisted_87","_hoisted_88","_hoisted_89","_hoisted_90","_hoisted_91","_hoisted_92","_hoisted_93","_hoisted_94","_hoisted_95","_hoisted_96","_hoisted_97","_hoisted_98","_hoisted_99","_hoisted_100","_hoisted_101","_hoisted_102","_hoisted_103","_hoisted_104","_hoisted_105","_hoisted_106","_hoisted_107","_hoisted_108","_hoisted_109","_hoisted_110","_hoisted_111","_hoisted_112","_hoisted_113","_hoisted_114","_hoisted_115","_hoisted_116","_hoisted_117","_hoisted_118","_hoisted_119","_hoisted_120","_hoisted_121","_hoisted_122","_hoisted_123","_hoisted_124","_hoisted_125","_hoisted_126","_hoisted_127","_hoisted_128","_hoisted_129","_hoisted_130","_hoisted_131","_hoisted_132","eventTypeId","activityType","activity","description","maxlength","isInvestigation","filteredInvestigationList","branchAddress","businessPhone","step","startTime","endTime","breakDuration","isNaN","validBreakDuration","notes","leaveTypeId","leaveType","l","saveEvent","deleteEvent","loadingEvents","AddEventModal","onTrustTeamMemberChanged","getEvents","onActivityTypeChanged","saveTimeEntry","saveLeaveTimeEntry","leaveEntryReq","localToUTCString","timeEntryReq","timeEntryActivityId","diff","chk1","chk2","chk3","chk4","chk5","chk6","chk7","chk8","chk9","chk10","chk11","dateTimeCheck","breakDurationCheck","investigationList","timeString","_localTime","utc","memberList","member","selectMember","userGroups","ug","min","chargeAmount","supervisor","supervisorList","startDateForTimesheet","upperLimit","endDateForTimesheet","saveTrustTeamMember","$convertToDollarValue","v","formatter","Intl","NumberFormat","currency","minimumFractionDigits","AddEditMemberModal","searchUser","memReq","mobilePhone","userGroupId","supervisorId","m","givenName","surname","c_Role","c_ChargeAmount","c_Supervisor","c_StartDate","c_EndDate","NumberFormattingMixin","_component_date_picker","_component_AddeditIWPModal","_component_FilePreview","checkCanSubmit","dateOfAllocation","t","isSatisfactoryReplyReceived","investigationDetails","isReInspectionOrderedWithin18Months","isS165reportIssued","reportResult","reportResults","isReplyRequired","canSubmit","submitChanges","accountingApps","trustAccountingApp","trustMonthYear","trustAmount","trustAccountNumber","controlMoneyAccountingApp","controlMoneyMonthYear","controlMoneyAmount","controlMoneyAccountNumber","powerMoneyAccountingApp","powerMoneyMonthYear","powerMoneyAmount","powerMoneyAccountNumber","breaches","b","breachCode","loadingIWPList","workingPapers","w","file","fileName","information","openAddEditIWPModal","getFileStream","notesType","createdOn","showAddEditIWPModal","iWP","selectedIWP","showPreview","showFilePreview","previewFile","selectedFileForPreview","filePreviewState","disableBackgroundScroll","onCloseFilePreview","closeFilePreview","showFinalisationAlert","cancelFinalisation","updateCompletedInvestigation","_component_FileDragAndDrop","onFileInputChanged","fileListChanged","numFileLimit","fileSizeLimit","requiredFinalReport","_vModelCheckbox","taggedAsEvidence","addNewIWP","showDeleteAlert","yesDeleteClicked","onDragover","onDrop","droppedFiles","dragover","onDragleave","dragleave","multiple","accept","acceptedFileTypesOnInput","onFileSelected","uploading","selectedFiles","selectFile","tabindex","dragAndDropCapable","tryAgain","errorMsg","join","FileDragAndDrop","$guid","determineDragAndDropCapable","acceptAnyFileTypes","currentTarget","values","dataTransfer","files","checkSelectedFiles","blur","elm","fileSelector","fileList","hasOverSizedFile","hasProhibitedFileType","acceptedFileMineTypeArray","sizeLimit","size","allowedFileType","S4","substring","div","viewMode","showDownloadButton","viewingFile","FileName","ContentType","width","documentURL","FilePreviewData","FileExtension","FileStream","FilePreview","onPreviewFileChanged","createBlob","revokeObjectURL","downloadLink","closePreview","osType","userAgent","navigator","platform","macosPlatforms","windowsPlatforms","iosPlatforms","os","test","detectIE","ua","msie","trident","rv","edge","isIOS","isIE","toLocaleLowerCase","fileType","fileExtension","AddeditIWPModal","order","fileStr","fileToString","fileDataUrl","reader","FileReader","readAsDataURL","onload","onabort","onerror","deleteIWP","InvestigationDetailsModal","loadIWPList","updateInvestigationDetails","updateCompletedInvestigationDetails","updateClosedInvestigationDetails","closeAfterUpdate","reportResultId","iwp","errorLoadingIWPList","responseType","openFilePreviewer","changeFilePreviewState","DatePicker","registerHooks","TrustAdminMain","populateNavItems","updateNavItems","beforeRouteEnter","c1","matched","some","record","meta","requiresAuth","loadDataType","idleSessionMgr","idleSessionTimeoutCallback","openAddEditEventModalBox","openAddEditMemberModal","openInvestigationDetailsModal","eventsUpdated","secondLevelRouteName","navItem","timeEntryType","priorities","trustAccountStatus","noteType","practiceRisks","practiceRiskIndicators","correspondenceType","solelyJointlyType","correspondenceDescriptions","usrAcct","pagesWithMainNav","pagesWithInvestigatorNav","pagesWithPracticeNav","pagesWithExternalExaminerNav","v1","v3","v4","mainNavigationBarItems","investigatorNavigationBarItems","practiceNavigationBarItems","externalExaminerNavigationBarItems","AccessValidation","_createStaticVNode","_component_SideMenu","_component_KitchensinkModal","menuItems","demoMenuItems","onMenuSelected","menuAction","showSaveAlertBox","showKitchensinkModal","showSnackbarError","showSnackbarInfo","showSnackbarWarning","showSnackbarSuccess","dateRange","range","showSidebar","showNav","showLink","_TransitionGroup","active","current","menuClicked","idx","SideMenu","_currentItem","menuWidth","isLoadingData","cancelClicked","mockData","onInput","mandatoryCheck","maxLength","desc","submit","KitchensinkModal","path","onMenuClosed","menuClosed","TrustDataMain","num","newValue","oldValue","setCurrentMenuItem","_component_AddEditBankModal","_component_BankAuditTrailModal","searchKeyword","addBank","filteredBankList","a","editBank","viewBankAuditTrail","showAddEditModal","bank","selectedBank","onCloseAddEditBankModal","showAuditTrailModal","onCloseAuditTrailModal","_component_AuditTrailModal","applicationName","applicationTypeName","auditTrailData","auditTrail","aT","change","changeBy","AuditTrailModal","BankAuditTrailModal","loadAuditTrail","saveBank","AddEditBankModal","bankReq","statusId","trim","modifiedAppName","modifiedStatus","TrustDataBank","loadBankList","off","bankList","bankListTemp","_component_router_link","sortTableColumn","activeSortHeader","sortMethod","practices","address","statusDescription","activeSort","sortMehod","_component_AddEditModal","_component_AuditTrail","openAdd","investigationTypesTable","expectedDuration","defaultInvestigationCategory","openEdit","openAuditTrail","chosenInvestigationType","onUpdateData","getInvestigationTypes","chosenInvestigationId","investigationName","chosenInvestigationName","isEdit","iC","AddEditModal","investigationTypeRequest","AuditTrail","inspectionId","TrustDataInvestigationTypes","onShowActiveChanged","onSearchChanged","clickedEdit","_component_DateController","onGetTimePeriod","getTimePeriod","onPrev","onNext","onToday","onUpdate","showHideAdvFilter","showAdvFilter","addEntry","filters","practiceName","firmName","supervisors","applyFilter","filterApplied","resetFilter","investigatorsWithUnderclaimedHours","showHideTSApproval","showTimesheetApproval","timesheetApprovalHeadings","filteredTimesheetApprovals","$calculateHours","completeTime","missingTime","annualLeaveTime","personalLeaveTime","publicHolidayTime","timesheetStatus","approveTimeEntries","viewInvestigator","timesheetEntryHeadings","filterTimeSheetEntries","$getTimeEntryTypeName","$getDetails","$getFirmName","$getReference","$getBreakHours","$getWorkHours","editTimesheet","timeEntryTypeId","singleTimeEntryType","find","timeEntry","workHours","leaveDuration","minutes","duration","hh","years","months","days","hours","mm","$calculateHoursMins","numOfHrs","numOfMinsInDec","headerTitle","showAdvFilterButton","showAddEventModal","advanceFilter","TimesheetHeader","loadInvestigators","loadTimeEntryActivities","loadPractices","loadSupervisors","currentDatePeriodStart","currentDate","currentDatePeriodEnd","startDatePeriod","endDatePeriod","subtract","DateController","getAllTimeEntries","getAllTimesheetApprovals","getInvestigatorsWithUnderclaimedHours","timesheetApprovals","timesheetEntries","getPractices","loadingTimesheetApproval","errorLoadingTimesheetApproval","trustMemberId","investigator","TimesheetCalculationsMixin","showActiveStatus","showCauseDrivenOnly","noInvestigatorAssigned","showTrainingStatus","showAdvancedFilter","timeFrame","investigationsDisplay","branchTradingName","investigationTypeName","appointmentStatus","appointments","appointmentsTippy","exportDataCSV","exportCostCSV","isSuperAdmin","cancelInvestigation","cancelInvestigationAlert","continueClicked","label","Tag","InvestigationsMain","onShowActiveStatusChanged","onShowTrainingStatusChanged","onNoInvestigatorAssignedChanged","onShowCauseDrivenOnlyChanged","onIsReplyRequiredChanged","unassignedInvestigations","assignedInvestigations","groupInvestigations","practiceBranchId","abbreviation","activeInvestigations","inactiveInvestigations","completedInvestigations","closedInvestigations","trainingInvestigations","nameSorter","c","orderByResults","_htmlString","bodyString","headersString","dataString","totalTime","timeEntries","investigationIdToBeCancelled","AccessValidationMixin","onEventItemClicked","eventItemClicked","addAppointment","addTime","CalendarMain","extendedProps","isEditable","_component_DashboardStats","loadingInvestigatorDetails","errorLoadingInvestigatorDetails","investigatorDetails","leaveScheduled","onGoToInvestigations","goToInvestigations","goToCalendar","getDuration","goToTimesheets","totalInvestigations","isPortalOffline","totalMissingTime","DashboardStats","loadData","beforeUnmounted","getInvestigatorDetails","getTimeEntries","slice","showAddUserButton","validatingEntrance","InvestigatorMain","validateEntrance","investigationsData","formatDate","statusName","investigatorInvestigations","onShowActiveOnlyChanged","_memberId","exportTimeSheet","loadingTimesheetApprovals","errorLoadingTimesheetApprovals","timesheetApproved","timesheetApproval","addEditTimesheet","getTimesheetApproval","_component_AppointEeModal","hidePracticeInfo","showHideOptions","hideLeftPanel","branchBusinessPhone","firmBusinessPhone","website","openExternalURL","effectiveStartDate","firmTypeDescription","savingPracticeStatus","editingPracticeStatus","savePracticeDetails","practiceStatusForm","trustAccountStatusId","ta","effectiveEndDate","disposalCodeDescription","priorityId","priority","savingAccountingDetails","editingAccountingDetails","cancelEditAccountingDetails","saveAccountingDetails","canSaveAccountingDetails","practiceAccountingDetailsForm","bookkeeper","onKeyup","checkAccountingDetails","inspectResultsDiscussedWith","reInspectionPeriodInMonths","reInspectionDate","loadingEE","addEditingEE","phoneDetail","countryCode","phoneNumber","deleteEE","loadingAdditionalContacts","editingAdditionalContacts","cancelEditAdditionalContacts","saveAdditionalContacts","editAdditionalContact","selectedAdditionalContact","name1","email1","phoneNumber1","name2","email2","phoneNumber2","showAppointEE","loadEE","existingEE","suburb","reasonForTermination","dirtyFields","submitPressed","searchPressed","nameKeyword","suburbPostcode","searchinguser","gettingMoreUser","totalResultCount","externalExaminers","ee","postCode","displayShowMoreButton","numResultsShowing","submitButtonPressed","AppointEeModal","getEEUser","externalExaminer","appointmentEERequest","isFormValid","skipI","takeI","reset","skip","take","suburbPostCode","totalCount","PracticeMain","loadAdditionalContact","resp1","nameString","confirmTerminateDialogue","practiceAnalyses","pa","editPracticeAnalyses","answer","saveCheckPracticeAnalyses","question","viewLastInvestigation","cancelEditPracticeAnalyses","canSavePracticeAnalyses","savePracticeAnalyses","showInvestigationDetails","goToAllInvestigations","lawPracticeNotes","saveLawPracticeNotes","associatedEntitiesContent","saveAssociatedEntities","practiceNote","practiceRisk","practiceRiskIndicator","showInvestigationDetailsByNote","investigationNote","viewAllInvestigatorNotes","associatedEntities","getNotes","getInvestigation","showRiskOnly","_request","_lastInvestigation","_inv","addInvestigations","isEditMortgageInfo","investmentsRegisteredNumber","contributoryMortgagesNumber","isSavingMortgageInfo","saveMortgageInfo","openAddEditAccount","accountType","trustAccTableHeadings","trustAccounts","tA","bsbno","bankName","bankBranchName","accountNo","dateOpened","dateClosed","generalAccountingApp","generalAccTableHeadings","generalAccounts","gA","closeAddEditAccount","bankAcct","selectedAccount","headingName","bsb","branchName","selectBank","selectedAccountingApp","acctApp","saveDetails","deleteBank","yesClicked","searchBank","generalAccountingAppId","deleteAccount","banks","_bank","_accno","_accName","_dateOpened","loadTrustAccounts","acct","refreshPractice","investigatorOnly","addNewMember","filteredTeamMembers","goToInvestigator","loadTeamMembers","teamMembers","teamMemberListTemp","TrustInvestigator","cellClass","accountingDetails","aD","fullWidth","formatNumberToCurrencyWithZero","accountingDetailsTableHeadings","setTableClass","loadTableData","showHideStatus","accountingDetailsTableHeadingsFullWidth","amount","toFixed","showRiskNote","notesHeadings","trustTeamMemberName","pr","prI","saveNote","notesTypeId","practiceRiskId","practiceRiskIndicatorId","onShowRiskNoteChange","_component_AddEditCorrespondenceModal","openAddEditCorrespondence","correspondenceHeadings","correspondences","dateReceived","correspondenceDescription","downloadFile","showCorrespondenceModal","correspondence","selectedCorrespondence","onCloseAddEditCorrespondenceModal","closeAddEditCorrespondence","cT","cD","allowFileOverwrite","correspondenceChanged","saveCorrespondence","AddEditCorrespondenceModal","correspondenceReq","correspondenceTypeId","correspondenceDescriptionId","deleteCorrespondence","getCorrespondence","_component_PracticePeopleSolicitors","_component_PracticePeopleSignatories","_component_PracticePeopleDirectors","_component_PracticePeopleTrustCoordinator","_component_PracticePeopleAuthorisedTrustContact","loadingStat","stat","numberOfPrincipals","numberOfEmployees","totalSolicitors","numberOfSolicitorMembers","numberOfLifeMembers","numberOfTotalMembers","membershipTakeup","totalAuthorizedSignatories","totalIlpDirectors","showMode","onLoadStatData","loadStatData","allowEdit","solicitorsDisplay","indId","phone","empClassificationShortDescription","PracticePeopleSolicitors","solicitors","_result","_component_AddEditSignatoryModal","showPCOnly","addNew","signatoriesDisplay","isActive","signatoryType","categoryName","solelyJointly","commencedDate","terminatedDate","edit","signatoryRequest","signatories","categories","onUpdateTable","headerText","line2Text","signatoryTypeId","userList","selectUser","categoryId","solelyJointlyId","sT","submitBtnText","showCancelAlert","AddEditSignatoryModal","_lawId","_name","_catId","_sj","_firstName","_lastName","PracticePeopleSignatories","getGetCategories","loadStat","category","_terminatedDate","_component_AddEditDirectorModal","directorsDisplay","position","directorRequest","_normalizeStyle","AddEditDirectorModal","_position","PracticePeopleDirectors","directors","setHours","_component_AppointTrustCoordinatorModal","disableAppoint","trustCoordinatorsDisplay","showAppointCoordinatorModal","onReloadTrustCoordinators","reloadTrustCoordinators","line1Text","searchText","searchLawEmailID","invalidLawIdEmail","isLoading","save","clas","autocomplete","formDirty","suburbList","selectSuburbFromSearch","postcode","suburbName","stateName","suburbError","focus","PostcodeSearch","searchDebounced","getSuburbPostcodeList","suburbStatePostcode","getPostcodeList","getSuburbList","processResult","postcodeList","_suburb","stateCode","AppointTrustCoordinatorModal","PracticePeopleTrustCoordinator","trustCoordinators","trustContactsDisplay","deleteTrustContact","PracticePeopleAuthorisedTrustContact","trustContacts","confirmDeleteDialogue","deleteIt","closingDateRange","routineStatusId","routineStatuses","routines","routinesDisplay","firmTradingName","closedDate","addToInvestigation","dateFrom","dateTo","loadRoutines","_investigationId","newInvestigation","reinvestigationDateRange","period","followUpStatuses","checked","radioFilter","followUps","followUpsDisplay","followUpType","lastInvestigationType","reInvestigationDate","approve","followUpStatus","followUpTypeId","closingDateFrom","closingDateTo","reInvestigationDateFrom","reInvestigationDateTo","loadFollowUps","f","_component_AddEditLinkedPracticeModal","openAddEditLinkedPracticeModal","linkedPracticesHeadings","practicesFrom","linkedDate","practicesTo","showLinkedPracticeModal","linkedPractice","selectedLinkedPractice","transferMode","onCloseAddEditLinkedPracticeModal","closeAddEditLinkedPracticeModal","effectiveDate","createInvestigation","saveLinkedPractice","AddEditLinkedPracticeModal","fromPracticeId","toPracticeId","linkedPracReq","deleteTransfer","PracticeLinkedPractices","loadLinkedPractices","linkedPractices","lp","isFromPractice","_component_AddEditAccountingSoftwareModal","_component_AccountingSoftwareAuditTrailModal","addAccountingSoftware","filteredSoftwareList","certifiedType","isShowInAtcs","editAccountingSoftware","viewAccountingSoftwareAuditTrail","accountingApp","selectedAccountSoftware","onCloseAddEditAccountingSoftwareModal","certified","saveAccountingSoftware","AddEditAccountingSoftwareModal","appReq","certifiedTypeId","modifiedCertified","modifiedIsShowInAtcs","AccountingSoftwareAuditTrailModal","loadAccountSoftwareList","accountingSoftwareList","accAppList","_component_AddEeModal","searchEE","showAddEEModal","firstLoad","eeList","eeListDisplay","inactive","gotoExternalExaminerDashboard","onCloseEEModal","_component_PostcodeSearch","searchLawIDforEE","inEditMode","onUpdateSuburb","updateSuburb","selectedMembershipType","membershipStatusTypes","membershipT","publishOnWeb","uploadedFileList","deleteFile","reasonForInactive","addEE","btnText","AddEeModal","eeMembershipType","uploadAllFiles","removeOnly","confirmDialogue","deleteFileFromServer","allRequests","uploadFile","fileDropAndDrop","getEE","finally","eeId","_component_TrustDataExternalExaminerModal","isSubmitted","isApproved","isRejected","eeRequestFormType","eeRequestFormStatus","openModal","showEEModal","formType","onReloadData","actionType","readonly","questionText","terminationReason","note","isSubmitting","reason","TrustDataExternalExaminerModal","Number","action","_component_ApproveRejectToBeEEModal","showSubmmitted","showRejected","filteredEESignUpForms","eeSignUpFormStatus","approveToBeEE","rejectToBeEE","viewSignUpForm","showApproveRejectModal","eeSignUpForm","selectedEESignUpForm","onApproveRejectModalClosed","mainActionButClicked","ApproveRejectToBeEEModal","getSignUpForm","loadEESignUpFormsList","eeSignUpFormsTemp","eeSignUpFormsSubmittedTemp","eeSignUpFormsRjectedTemp","_component_HelpEditModal","pageSettingsList","page","contentType","internalNote","isShow","pageContentStatus","srcElement","editPageSettings","showPopoverEdit","helpContent","selectedPageSettings","_component_ToggleSwitch","_component_Popover","_component_QuillEditor","isClosing","isPopover","isPreviewing","initState","activeText","inactiveText","tempHelpContent","contenteditable","rows","cols","popover","preview","theme","onTextChange","checkNote","toolbar","toolbarPopovers","toolbarOptions","isSaving","saveContent","isTesting","newState","changeState","for","ToggleSwitch","onValueChange","emits","iconClass","interactive","Popover","HelpEditModal","onEscape","_local","QuillEditor","loadPageSettingsList","settingType","editEE","onUpdateEE","ExternalExaminerMain","ExternalExaminerId","_component_AddAppointedPracticeModal","_component_ViewTerminatePracticeModal","showAddAppointedPracticeModal","openView","onRefresh","getPractice","showViewTerminatePracticeModal","terminated","ViewTerminatePracticeModal","onTerminatedChanged","selectedPracticeList","isSelectable","updateSelected","notSelectableCriteria","AddAppointedPracticeModal","element","practiceCoreIds","findIndex","splice","sortPracticeList","list","withEndDate","withoutEndDate","sort","_component_DropdownActions","_component_GenerateNextYearComplianceModel","generateNextYearComplianceFormButtonClicked","generateComplianceFormAllowed","trustComplianceTableData","trustComplianceTableHeadings","tc","complianceYear","statusColorCSS","progress","getNonCompliant","getAbsolution","reloadData","showGenerateNextYearConfirmation","complianceForm","generateComplianceForm","onConfirmed","generateNextYearComplianceForm","_component_ActionModal","_component_AdditionalDocumentsModal","buttonRef","buttonClicked","iconRef","dropdownRef","menuOptions","menuSelected","isDisabled","menuText","showIcon","icon","showModal","showAdditionalDocumentsModal","generalTrustMoneyBankReconciliationFiles","generalTrustMoneyOverdrawnLedgerFiles","controlledMoneyFiles","investmentMoneyFiles","comments","isDisabledPartA","isAbsolvedPartA","isDisabledPartB","isAbsolvedPartB","isDisabledEeReport","isAbsolvedEeReport","version","dateAndTimeCreated","viewPDF","savingText","showConfirmButton","confirm","ActionModal","onIsAbsolvedPartAChanged","setCheckboxes","onIsAbsolvedPartBChanged","onIsAbsolvedEeReportChanged","getFiles","getMultiplePartA","getMultiplePartB","getMultipleEER","partA","partB","eeReport","resubmitPartA","resubmitPartB","resubmitEEReport","comment","apiCall","base64Data","base64AsString","base64Response","fetch","readOnly","getViewButtonLabel","isLoadingStream","showDeleteConfirmation","apiV1AccountDeleteAccountAccountIdDelete","apiV1AccountGetAccountsByPracticeIdPracticeIdGet","apiV1AccountGetBankBranchByKeywordSearchPost","apiV1AccountSaveAccountPost","AccountAppApiAxiosParamCreator","apiV1AccountAppGetAccountingAppsPost","AccountAppApiFp","AccountAppApi","BreachApiAxiosParamCreator","apiV1BreachGetBreachesPost","apiV1BreachGetReportGenerationBreachesPost","BreachApiFp","BreachApi","apiV1CalendarGetEventsPost","apiV1CalendarGetPublicHolidaysPost","apiV1CodeGetAccountTypesGet","apiV1CodeGetAppointmentStatusesGet","apiV1CodeGetBreachTypesGet","apiV1CodeGetCategoriesGet","apiV1CodeGetCertifiedTypesGet","apiV1CodeGetCorrespondenceDescriptionsGet","apiV1CodeGetCorrespondenceTypesGet","apiV1CodeGetEventTypesGet","apiV1CodeGetInvestigationCategoryGet","apiV1CodeGetInvestigationStatusesGet","apiV1CodeGetLeaveTypesGet","apiV1CodeGetLetterTemplatesGet","apiV1CodeGetNoteTypesGet","apiV1CodeGetPracticeRiskIndicatorsGet","apiV1CodeGetPracticeRisksGet","apiV1CodeGetPrioritiesGet","apiV1CodeGetReportResultsGet","apiV1CodeGetSectionGroupFlagsGet","apiV1CodeGetSolelyJointliesGet","apiV1CodeGetStatusGet","apiV1CodeGetTimeEntryActivitiesGet","apiV1CodeGetTimeEntryStatusesGet","apiV1CodeGetTimeEntryTypesGet","apiV1CodeGetTimesheetStatusesGet","apiV1CodeGetTrustAccountStatusesGet","apiV1CodeGetUserGroupsGet","apiV1ComplianceFormDownloadAdditionalFileStreamComplianceFormIdFileIdGet","apiV1ComplianceFormDownloadComplianceFormAdditionalFileComplianceFormIdFileIdGet","apiV1ComplianceFormDownloadEeReportEeReportIdGet","apiV1ComplianceFormDownloadEeReportEeReportIdRegeneratedFileLogIdGet","apiV1ComplianceFormDownloadFileFileIdComplianceFormIdGet","apiV1ComplianceFormDownloadPartAPartAIdGet","apiV1ComplianceFormDownloadPartAPartAIdRegeneratedFileLogIdGet","apiV1ComplianceFormDownloadPartBPartBIdGet","apiV1ComplianceFormDownloadPartBPartBIdRegeneratedFileLogIdGet","apiV1ComplianceFormGetComplianceFormAdditionalFileComplianceFormIdGet","apiV1ComplianceFormGetComplianceFormsPost","apiV1ComplianceFormGetComplianceFormsTipPost","apiV1ComplianceFormGetEeReportFileLogsEeReportIdGet","apiV1ComplianceFormGetFileAttachmentsComplianceFormIdGet","apiV1ComplianceFormGetPartAFileLogsPartAIdGet","apiV1ComplianceFormGetPartBFileLogsPartBIdGet","apiV1ConfigTrustGetBanksPost","apiV1ConfigTrustGetInvestigationTypesPost","apiV1CorrespondenceGetCorrespondenceByPracticeIdPracticeIdGet","apiV1CorrespondenceGetFileStreamByCorrespondenceIdCorrespondenceIdGet","apiV1CorrespondenceSaveCorrespondencePost","apiV1InvestigationDeleteInvestigationMaintainFileIdDelete","apiV1InvestigationDeleteInvestigationOverdrawnLedgerIdDelete","apiV1InvestigationDeleteInvestigatorWorkingPaperFileInvestigationFileIdDelete","investigationFileId","apiV1InvestigationDeleteInvestigatorWorkingPaperIdDelete","apiV1InvestigationEditInvestigatorWorkingPaperPost","apiV1InvestigationFinaliseInvestigationInvestigationIdGet","apiV1InvestigationGetFileByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet","apiV1InvestigationGetFileStreamByInvestigatorWorkingPaperIdInvestigatorWorkingPaperIdGet","apiV1InvestigationGetInvestigationAccountingDetailsByPracticeIdPracticeIdGet","apiV1InvestigationGetInvestigationBreachesByIdInvestigationIdGet","apiV1InvestigationGetInvestigationByInvestigationIdInvestigationIdGet","apiV1InvestigationGetInvestigationMaintainFilesInvestigationIdGet","apiV1InvestigationGetInvestigationOverdrawnLedgersByInvestigationIdInvestigationIdGet","apiV1InvestigationGetInvestigationParametersInvestigationIdGet","apiV1InvestigationGetInvestigationWithQuestionnaireByIdIdGet","apiV1InvestigationGetInvestigationsByPracticeIdPracticeIdGet","apiV1InvestigationGetInvestigationsByTrustTeamMemberIdPost","apiV1InvestigationGetInvestigationsGet","apiV1InvestigationGetInvestigatorWorkingPapersByInvestigationIdInvestigationIdGet","apiV1InvestigationGetIwpFileStreamPost","apiV1InvestigationGetIwpsByInvestigationIdInvestigationIdGet","apiV1InvestigationSaveInvestigationMaintainFilePost","apiV1InvestigationSaveInvestigationOverdrawnLedgerPost","apiV1InvestigationSaveInvestigationParametersPost","apiV1InvestigationSaveInvestigatorWorkingPaperFilePost","apiV1InvestigationSaveInvestigatorWorkingPaperPost","apiV1InvestigationSavePrincipalInformationPost","apiV1InvestigationSaveQuestionSectionPost","apiV1InvestigationSaveQuestionnairePost","apiV1InvestigationSaveSectionGroupOverviewPost","apiV1NotesDeleteNoteIdDelete","apiV1NotesGetNotesByInvestigationIdInvestigationIdGet","apiV1NotesGetNotesByPracticeIdPost","apiV1NotesGetReviewOfficeNotesByInvestigationIdInvestigationIdGet","apiV1NotesGetScratchPadByInvestigationIdInvestigationIdGet","apiV1NotesSaveNotePost","apiV1PeopleGetILPDirectorsByPracticeIdPracticeIdGet","apiV1PeopleGetIndividualsByPracticeIdPracticeIdGet","apiV1PeopleGetPeopleStatsByPracticeIdPracticeIdGet","apiV1PeopleGetPrincipalsByPracticeIdPracticeIdGet","apiV1PeopleGetPrincipalsByPracticeStatusPracticeIdGet","apiV1PeopleGetSearchLawIdUsersPost","apiV1PeopleGetSignatoriesByPracticeIdPracticeIdGet","apiV1PeopleGetSignatoriesPost","apiV1PeopleGetTrustContactsPracticeIdGet","apiV1PeopleGetTrustCoordinatorsPracticeIdGet","apiV1PeopleSaveIlpDirectorPost","apiV1PeopleSaveSignatoryPost","apiV1PracticeGetLinkedPracticesPracticeIdGet","apiV1PracticeGetPracticeAdditionalContactPracticeIdGet","apiV1PracticeGetPracticeByIdPracticeIdGet","apiV1PracticeSearchPracticePost","ReportApiAxiosParamCreator","apiV1ReportGenerateReportPost","apiV1ReportGetLatestReportFileInvestigationIdGet","apiV1ReportGetReportGeneratedStatusInvestigationIdGet","ReportApiFp","ReportApi","StatutoryDepositApiAxiosParamCreator","apiV1StatutoryDepositGetSummaryBankInformationPracticeIdGet","apiV1StatutoryDepositGetTransactionsPost","StatutoryDepositApiFp","StatutoryDepositApi","SyncHistoryApiAxiosParamCreator","apiV1SyncHistoryGetFileSyncStatusPost","apiV1SyncHistoryGetInvestigationSyncStatusPost","apiV1SyncHistoryGetLatestSyncJobStatusGet","apiV1SyncHistoryGetOtherDataSyncStatusGet","apiV1SyncHistoryGetSyncConflictsSyncHistoryIdIsResolvedOnlyGet","syncHistoryId","isResolvedOnly","apiV1SyncHistoryGetSyncHistoriesIsConflictsOnlyGet","isConflictsOnly","apiV1SyncHistoryGetSyncNotificationGet","apiV1SyncHistoryGetSyncStatusTableNameGet","tableName","apiV1SyncHistoryGetTableNamesGet","apiV1SyncHistoryGetTimesheetSyncStatusPost","apiV1SyncHistorySyncAllGet","apiV1SyncHistoryUpdateInvestigationByActionPost","apiV1SyncHistoryUpdateOtherDataByActionPost","apiV1SyncHistoryUpdateTimesheetByActionPost","SyncHistoryApiFp","SyncHistoryApi","SystemApiAxiosParamCreator","apiV1SystemGetOfflineStatusGet","SystemApiFp","SystemApi","apiV1TimeEntryDeleteTimeEntryTimeEntryIdDelete","apiV1TimeEntryExportTimeEntriesByTrustTeamMemberIdPost","apiV1TimeEntryGetTimeEntriesPost","apiV1TimeEntryGetTimeEntryApprovalPost","apiV1TimeEntryGetTimeEntryByIdTimeEntryIdGet","apiV1TimeEntrySaveLeaveTimeEntryPost","apiV1TimeEntrySaveTimeEntryPost","apiV1TrustTeamMemberGetTrustTeamMemberGet","apiV2CalendarGetEventsPost","apiV2ComplianceFormDownloadAdditionalFileStreamComplianceFormIdFileIdGet","apiV2ComplianceFormDownloadComplianceFormAdditionalFileComplianceFormIdFileIdGet","apiV2ComplianceFormDownloadEeReportEeReportIdGet","apiV2ComplianceFormDownloadEeReportEeReportIdRegeneratedFileLogIdGet","apiV2ComplianceFormDownloadFileFileIdComplianceFormIdGet","apiV2ComplianceFormDownloadPartAPartAIdGet","apiV2ComplianceFormDownloadPartAPartAIdRegeneratedFileLogIdGet","apiV2ComplianceFormDownloadPartBPartBIdGet","apiV2ComplianceFormDownloadPartBPartBIdRegeneratedFileLogIdGet","apiV2ComplianceFormGetComplianceFormAdditionalFileComplianceFormIdGet","apiV2ComplianceFormGetComplianceFormsPost","apiV2ComplianceFormGetEeReportFileLogsEeReportIdGet","apiV2ComplianceFormGetFileAttachmentsComplianceFormIdGet","apiV2ComplianceFormGetPartAFileLogsPartAIdGet","apiV2ComplianceFormGetPartBFileLogsPartBIdGet","apiV2InvestigationGetInvestigationParametersInvestigationIdGet","apiV2InvestigationGetInvestigationWithQuestionnaireByIdInvestigationIdGet","apiV2InvestigationGetIwpsByInvestigationIdInvestigationIdGet","apiV2InvestigationGetMyInvestigationStatsGet","apiV2InvestigationGetMyInvestigationsPost","apiV2InvestigationSaveInvestigationParametersPost","apiV2InvestigationSavePrincipalInformationPost","apiV2InvestigationSaveSectionGroupOverviewInvestigationIdPost","apiV2PeopleGetPracticeTrustContactsPracticeIdGet","apiV2PeopleGetPracticeTrustCoordinatorsPracticeIdGet","apiV2PeopleGetPrincipalsByPracticeIdPracticeIdGet","apiV2PracticeGetExternalExaminerByPracticeIdPracticeIdGet","apiV2PracticeGetInvestigationPracticeByIdInvestigationIdPracticeIdGet","SyncApiAxiosParamCreator","apiV2SyncGetSyncInvestigationsGet","apiV2SyncGetSyncOthersGet","apiV2SyncGetSyncPracticesGet","apiV2SyncGetSyncStatusGet","apiV2SyncIsSyncOtherReadyGet","SyncApiFp","SyncApi","apiV2SystemGetOfflineStatusGet","apiV2TimeEntryGetMyMissingTimeGet","TrustTIAPI","AccountApiV2","AccountAppApiV2","CalendarApiV2","CodeApiV2","ComplianceFormApiV2","CorrespondenceApiV2","InvestigationApiV2","NotesApiV2","PeopleApiV2","PracticeApiV2","SyncApiV2","SystemApiV2","TimeEntryApiV2","fullName","investigationStoreModule","setSelectedInvestigation","getSelectedInvestigation","accountAppStoreModule","setAccountingApps","getAccountingApps","AdditionalDocumentsModal","getFileList","openWorkingPaperEditor","selectedWorkingPaper","showFileEditModal","closeWorkingPaperEditor","_complianceFormId","apiServiceTA","apiServiceTI","failedUpload","filesInString","_id","pop","storeTA","storeTI","fileToDelete","DropdownActions","guid","constructMenuOptions","elBtn","toggle","menuOption","menuTarget","viewPartA","viewPartB","viewEer","trustAdminAction","isEnableViewPartA","isEnableViewPartB","isEnableViewEeReport","isEnableViewFile","hasAdditionalFiles","isEnableResubmitPartA","isEnableResubmitPartB","isEnableNotRequired","elIcon","partAPdfHasMultipleVersions","partBPdfHasMultipleVersions","eeReportPdfHasMultipleVersions","nextYear","confirmModal","GenerateNextYearComplianceModel","onModalOpenedChanged","getGenerateComplianceFormEnabled","isEnabled","absolution","part_a","part_b","eer","nonCompliant","isNonCompliantPartA","isNonCompliantPartB","isNonCompliantEeReport","routes","component","rolesAllowed","children","router","createRouter","history","createWebHistory","afterEach","authUser","selectedExternalExaminer","AtcsMain","pageRedirection","_component_DatePicker","impersonatingUser","adjustedDate","minDate","maxDate","setSystemDate","currentSelectedLawId","practitionerList","practitioner","formatPractitionerText","selectPractitioner","formatPracticesText","impersonateUser","AtcsImpersonate","searchPractitioner","isReset","getHours","getMinutes","getSeconds","setMinutes","setSeconds","dateTime","AppDashboard","onRouteChange","loadPageContents","_component_SwipeStepper","_component_FormHeaderTcNote","_component_FormHeader","_component_FormPartAOverview","_component_FormPartAPracticeAreas","_component_FormPartATrustAccountDetails","_component_FormPartADeclaration","_component_FormPartAConfirmation","_component_SessionExpired","isSectionLoading","navSteps","showHelpBtn","showFaqBtn","complianceFormA","trustCoordinator","formName","formDesc","currentSection","$Section","overview","onSetFormDesc","setFormDescription","practiceAreas","formPartAData","onValidForm","validationForm","trustAccountDetails","declaration","confirmation","backButtonVisible","goBack","backButtonText","saveSection","canGoNext","goNext","nextButtonText","showSessionExpiredModal","formStatus","exitForm","_imports_2","_component_HelpScreen","contactUs","showHelpScreen","faqLink","NavStepStatusID","NavStep","NotDone","Step","trustAccountingRecords","generalTrustMoney","controlledMoney","specificPowerMoney","investmentMoney","otherInformation","Section","HelpScreen","SwipeStepper","helpContentData","_helpContentData","_section","temp","tempJSON","navigateBack","currentNavStepIndex","z","onNavStepsChanged","scrollToItem","menuInnerBox","mouseIsDown","mouseUp","mouseLeave","mouseMove","updateHelpContent","isDown","startY","pageY","offsetTop","startX","pageX","offsetLeft","scrollLeft","scrollTop","walkX","_menuInnerBox","querySelector","scrollTo","scroll","distance","_pathName","fqaLink","navbarText","FormPartAConfirmation","completer","declarationDetails","hasTrustCoordinator","FormPartADeclaration","sectionLoading","loadDeclarationContent","updatingKey","declarationContent","Emit","overviewContent","practiceTradingName","complianceYearStart","complianceYearEnd","lawPracticeStructure","otherBranches","periodFrom","periodTo","FormPartAOverview","loadOverviewContent","_component_AllocationPercentile","_component_AllocationPercentileV2","atcsMainQuestions","q","atcsQuestionTypeId","QuestionType","AreaOfLaw","AreaOfLawsV2","_component_Percentile","wording","atcsSubQuestions","onChanged","onValueChanged","totalPercentage","max","pattern","onFocus","select","onkeydown","fieldValue","Percentile","onFieldValueChanged","responses","answerNumber","isInteger","AllocationPercentile","validSubQuestion","isValid","total","_component_TextAndPercentile","TextAndPercentile","fieldText","onTextChanged","textAreaPlaceholder","onFieldTextChanged","answerTxt","AllocationPercentileV2","FormPartAPracticeAreas","loadPracticeAreasContent","practiceAreasContent","validMainQuestions","_component_RadioButtonBranchList","_component_RadioButtonHorizontal","_component_RadioButtonVertical","_component_MultiRadioBoxes","linkedSubQuestion","newLinkedWording","obj","getResponse","newWording","option","uniqueIdName","selectedOption","RadioButtonHorizontal","onSelectedOptionChanged","answerIsSelected","generateUUID","initField","match","defaultSelection","questionType","returnValue","answerCurrency","calculateValue","developerKey","groupValue","endsWith","sumOfGroup","startsWith","maxAbsDiff","formattedCurrency","groupName","sum","allQuestions","operator","groupC","maxDiff","j","abs","linkedMainQuestion","linkedQuestionTitle","getLinedQuestionResponse","RadioButtonVertical","subQuestionTriggerValue","sq","subQuestionAnswers","updateSubQuestionAnswer","RadioButtonBranchList","valid","MultiRadioBoxes","FormPartATrustAccountDetails","loadTrustAccountDetailsContent","trustAccountDetailsContent","line1","line2","FormHeader","FormHeaderTcNote","SessionExpired","useFormPartADataStore","defineStore","setFormPartAData","clearFormPartAData","OnRouteChange","val","oldVal","_stored","setCurrentStep","formPartADataStore","extendSession","saveAndClose","beforeRouteLeave","stopExtending","setSteps","_confirmation","formUpdatingKey","confirmSaveClose","complianceFormStatus","skipValidation","validSection","_component_FormPartBOverview","_component_FormPartBTrustAccountingRecords","_component_FormPartBGeneralTrustMoney","_component_FormPartBControlledMoney","_component_FormPartBSpecificPowerMoney","_component_FormPartBInvestmentMoney","_component_FormPartBOtherInformation","_component_FormPartBDeclaration","_component_FormPartBConfirmation","complianceFormB","formPartBData","FormPartBOverview","_component_RadioButtonSubQuestions","_component_DropdownWithText","validSubForm","RadioButtonSubQuestions","subResponses","every","subQuestion","selectedAccountingAppId","DropdownWithText","relatedId","relatedTable","selectedTextOption","onSelectedAccountingAppChanged","FormPartBTrustAccountingRecords","loadTrustAccountingRecordsContent","_component_FileUploader","_component_BankAccount","_component_Signatories","_component_RadioButtonWithFiles","PerBankAccount","PerBankAccountV2","formPracticeAccountQuestions","qWording","questionTypeId","formPracticeSignatoryQuestions","RadioButtonWithFiles","_component_BankCard","_component_BankCardV2","_component_AddBankModal","onRemoveBankAccount","removeBankAccount","onValidFormBank","validFormBank","addNewBankAccount","showNewBankModal","_component_CurrencyInput","validFormEachBank","editBankAccount","popoverObj","currencyDisplay","precision","valueRange","inputRef","setValue","useCurrencyInput","watch","InputTextNumberCurrency","CurrencyInput","isEditMode","minLength","AddBankModal","BankCard","extractedContent","confirmRemoveBankDialogue","sumOfGroupLinedQuestions","toLocaleString","maximumFractionDigits","eachBankValid","WordingOnly","Currency","Text","TextArea","TextAreaConditional","ComputedCurrency","ignoreReasonForVariance","BankCardV2","textarea","BankAccount","allValid","isFileUploadOptional","fileInputChanged","FileUploader","onFileListChanged","resetFileList","_component_SignatoryCard","signatory","onRemoveSignatory","removeSignatory","onValidFormSignatory","validFormSignatory","categoryList","solelyJointlyList","addSignatory","validSignatory","isNewlyAdded","onSignatoryChanged","SignatoryCard","onSignatoryDataChanged","onSolelyJointlyIdChanged","confirmRemoveSignatoryDialogue","Signatories","loadList","newSignatory","validationFile","isFileUploadValid","FormPartBGeneralTrustMoney","loadGeneralTrustMoneyContent","isValidBankAccount","isValidSignatory","allTrue","_component_InputTextNumberCurrency","FormPartBControlledMoney","loadControlledMoneyContent","fileLists","FormPartBSpecificPowerMoney","loadSpecificPowerMoneyContent","FormPartBInvestmentMoney","FormPartBOtherInformation","loadOtherInformationContent","examinationCost","recordsProvidedOn","FormPartBDeclaration","onExaminerCostChanged","onRecordsProvidedOnChanged","FormPartBConfirmation","useFormPartBDataStore","setFormPartBData","clearFormPartBData","formPartBDataStore","skipReload","_component_FormEerOverview","_component_FormEerGeneralTrustMoney","_component_FormEerControlledMoney","_component_FormEerSpecificPowerMoney","_component_FormEerInvestmentMoney","_component_FormEerOtherInformation","_component_FormEerBreaches","_component_FormEerDeclaration","_component_FormEerConfirmation","formEERData","FormEerOverview","complianceFormEER","FormEerGeneralTrustMoney","FormEerControlledMoney","FormEerSpecificPowerMoney","FormEerInvestmentMoney","loadInvestmentMoneyMoneyContent","FormEerOtherInformation","additionalInformation","checkCanGoNext","additionalInfo","membershipType","FormEerDeclaration","FormEerConfirmation","_component_AddBreachesModal","breachesListDisplay","breachType","legislation","removeBreach","showAddBreachesModal","breachesComment","onAddBreaches","addBreaches","showRuleBreachesOnly","showLawBreachesOnly","isDuplicated","refNumber","isSelected","AddBreachesModal","breachesList","_b","_keyword","_existingBreaches","_selectedBreaches","FormEerBreaches","hasBreaches","loadBreachesContent","isYes","isNo","useFormEERDataStore","setFormEERData","clearFormEERData","formEERDataStore","waitingApproval","iWantToSignUp","signUpForEE","_component_MultiSelectFilterYears","_component_MultiSelectFilterStatus","_component_PracticeCard","_component_UpdateEEModal","yearsList","onSelectYears","selectYears","statusList","onSelectStatus","selectStatus","updateEE","dashboardType","showUpdateEEmodal","_component_AssignTrustContact","_component_AppointCoordinator","_component_AppointAndTerminateEE","_component_AccessDenied","_component_LoggedInElsewhere","checkingFormStatus","getPracticeNameDisplay","editingTrustContact","trustContact","editingTrustCoordinator","hasAwaitingEeRequestForm","editingEE","clickPartA","partAButton","isEnable","isNotRequired","partAViewEnable","clickPartB","partBButton","partBViewEnable","tag","clickEer","eeRButton","clickResubmit","resubmissionRequestPartBButton","getCardFooterText","showAccessDeniedModal","closeAccessDeniedModal","showLoggedInElsewhereModal","closeLoggedInElsewhereModal","onContinue","proceedToOvertakeSession","showActionModal","appoint","AppointCoordinator","errorWithContact","assignContact","AssignTrustContact","AppointAndTerminateEE","terminateEERequest","updatingBy","AccessDenied","sAbsolvedEeReport","LoggedInElsewhere","PracticeCard","rtText","isAuthorisedTrustContact","currntWIPComplianceForm","currentWIPFormType","partAAnswerEnable","answerPartA","partBAnswerEnable","answerPartB","closeSessionAndRedirect","apiFunction","routeName","bind","answerEer","showMultiSelect","toggleMultiSelect","selectedStatusText","onSelectedStatusChanged","MultiSelectFilterStatus","dropDownSelectUI","rect","getBoundingClientRect","left","right","top","bottom","selectAllStatus","finalSelectedStatus","selectedStatus","allSelected","completedSelected","selectedYearsText","onSelectedYearsChanged","MultiSelectFilterYears","selectedYears","finalSelectedYears","saveEE","UpdateEeModal","loadEEdata","EEDashboard","loadCardData","loadFilter","onFilterChange","onYearChange","onStatusChange","selectedYearsArray","selectedStatusArray","UpdateEEModal","EESignup","eeStatusType","eeType","AtcsDashboard","AtscMain","routeRoles","pinia","createPinia","createApp","VueTippy","directive","componentSingleton","defaultProps","placement","allowHTML","mount","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","deferred","O","chunkIds","notFulfilled","Infinity","fulfilled","getter","__esModule","definition","defineProperty","enumerable","g","globalThis","Function","prop","prototype","hasOwnProperty","nmd","paths","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}