{"version":3,"sources":["webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.scss","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/application/accommodation-welfare/accommodation-welfare.component.html","webpack:///./src/app/application/accommodation-welfare/accommodation-welfare.component.scss","webpack:///./src/app/application/accommodation-welfare/accommodation-welfare.component.ts","webpack:///./src/app/application/agent-dashboard/agent-dashboard.component.html","webpack:///./src/app/application/agent-dashboard/agent-dashboard.component.scss","webpack:///./src/app/application/agent-dashboard/agent-dashboard.component.ts","webpack:///./src/app/application/agent-student-registration-gdpr/agent-student-registration-gdpr.component.html","webpack:///./src/app/application/agent-student-registration-gdpr/agent-student-registration-gdpr.component.scss","webpack:///./src/app/application/agent-student-registration-gdpr/agent-student-registration-gdpr.component.ts","webpack:///./src/app/application/agent-student-registration/agent-student-registration.component.html","webpack:///./src/app/application/agent-student-registration/agent-student-registration.component.scss","webpack:///./src/app/application/agent-student-registration/agent-student-registration.component.ts","webpack:///./src/app/application/animations/slideInOut.ts","webpack:///./src/app/application/application-agent-details/application-agent-details.component.html","webpack:///./src/app/application/application-agent-details/application-agent-details.component.scss","webpack:///./src/app/application/application-agent-details/application-agent-details.component.ts","webpack:///./src/app/application/application-details/application-details.component.html","webpack:///./src/app/application/application-details/application-details.component.scss","webpack:///./src/app/application/application-details/application-details.component.ts","webpack:///./src/app/application/application-edit/application-edit.component.css","webpack:///./src/app/application/application-edit/application-edit.component.html","webpack:///./src/app/application/application-edit/application-edit.component.ts","webpack:///./src/app/application/application-payment/application-payment.component.html","webpack:///./src/app/application/application-payment/application-payment.component.scss","webpack:///./src/app/application/application-payment/application-payment.component.ts","webpack:///./src/app/application/application-routing.module.ts","webpack:///./src/app/application/application.component.html","webpack:///./src/app/application/application.component.scss","webpack:///./src/app/application/application.component.ts","webpack:///./src/app/application/application.module.ts","webpack:///./src/app/application/dashboard/dashboard.component.html","webpack:///./src/app/application/dashboard/dashboard.component.scss","webpack:///./src/app/application/dashboard/dashboard.component.ts","webpack:///./src/app/application/default-correspondent/default-correspondent.component.html","webpack:///./src/app/application/default-correspondent/default-correspondent.component.scss","webpack:///./src/app/application/default-correspondent/default-correspondent.component.ts","webpack:///./src/app/application/english-proficiency/english-proficiency.component.css","webpack:///./src/app/application/english-proficiency/english-proficiency.component.html","webpack:///./src/app/application/english-proficiency/english-proficiency.component.ts","webpack:///./src/app/application/important-information/important-information.component.html","webpack:///./src/app/application/important-information/important-information.component.scss","webpack:///./src/app/application/important-information/important-information.component.ts","webpack:///./src/app/application/models/accommodation-welfare-details.ts","webpack:///./src/app/application/models/application-agent-details.ts","webpack:///./src/app/application/models/application-payment.ts","webpack:///./src/app/application/models/corresondents.ts","webpack:///./src/app/application/models/english-proficiency-details.ts","webpack:///./src/app/application/models/parent-guardian-details.ts","webpack:///./src/app/application/models/school-program-placement-details.ts","webpack:///./src/app/application/models/special-circumstances.ts","webpack:///./src/app/application/models/student-details.ts","webpack:///./src/app/application/models/summary.model.ts","webpack:///./src/app/application/models/supporting-document.ts","webpack:///./src/app/application/models/visa-ohsc.ts","webpack:///./src/app/application/online-app-menu/online-app-menu.component.css","webpack:///./src/app/application/online-app-menu/online-app-menu.component.html","webpack:///./src/app/application/online-app-menu/online-app-menu.component.ts","webpack:///./src/app/application/parent-guardian-details/parent-guardian-details-edit/parent-guardian-details-edit.component.html","webpack:///./src/app/application/parent-guardian-details/parent-guardian-details-edit/parent-guardian-details-edit.component.scss","webpack:///./src/app/application/parent-guardian-details/parent-guardian-details-edit/parent-guardian-details-edit.component.ts","webpack:///./src/app/application/parent-guardian-details/parent-guardian-details.component.html","webpack:///./src/app/application/parent-guardian-details/parent-guardian-details.component.scss","webpack:///./src/app/application/parent-guardian-details/parent-guardian-details.component.ts","webpack:///./src/app/application/parent-guardian-details/parent-legalcustodian-edit/parent-legalcustodian-details/parent-legalcustodian-details.component.html","webpack:///./src/app/application/parent-guardian-details/parent-legalcustodian-edit/parent-legalcustodian-details/parent-legalcustodian-details.component.scss","webpack:///./src/app/application/parent-guardian-details/parent-legalcustodian-edit/parent-legalcustodian-details/parent-legalcustodian-details.component.ts","webpack:///./src/app/application/parent-guardian-details/parent-legalcustodian-edit/parent-legalcustodian-edit.component.html","webpack:///./src/app/application/parent-guardian-details/parent-legalcustodian-edit/parent-legalcustodian-edit.component.scss","webpack:///./src/app/application/parent-guardian-details/parent-legalcustodian-edit/parent-legalcustodian-edit.component.ts","webpack:///./src/app/application/parent-guardian-details/parent-legalcustodian-edit/parent-legalcustodian-info/parent-legalcustodian-info.component.html","webpack:///./src/app/application/parent-guardian-details/parent-legalcustodian-edit/parent-legalcustodian-info/parent-legalcustodian-info.component.scss","webpack:///./src/app/application/parent-guardian-details/parent-legalcustodian-edit/parent-legalcustodian-info/parent-legalcustodian-info.component.ts","webpack:///./src/app/application/parents-validation/parents-validation.component.html","webpack:///./src/app/application/parents-validation/parents-validation.component.scss","webpack:///./src/app/application/parents-validation/parents-validation.component.ts","webpack:///./src/app/application/pipes/australianAddress.pipe.ts","webpack:///./src/app/application/pipes/descriptionFromLookup.pipe.ts","webpack:///./src/app/application/pipes/overseasAddress.pipe.ts","webpack:///./src/app/application/pipes/utcDate.pipe.ts","webpack:///./src/app/application/school-program-placement/school-program-placement.component.html","webpack:///./src/app/application/school-program-placement/school-program-placement.component.scss","webpack:///./src/app/application/school-program-placement/school-program-placement.component.ts","webpack:///./src/app/application/shared/address/address.component.html","webpack:///./src/app/application/shared/address/address.component.scss","webpack:///./src/app/application/shared/address/address.component.ts","webpack:///./src/app/application/shared/address/address.model.ts","webpack:///./src/app/application/shared/parent-address/parent-address.component.html","webpack:///./src/app/application/shared/parent-address/parent-address.component.scss","webpack:///./src/app/application/shared/parent-address/parent-address.component.ts","webpack:///./src/app/application/shared/person-details/person-details.component.html","webpack:///./src/app/application/shared/person-details/person-details.component.scss","webpack:///./src/app/application/shared/person-details/person-details.component.ts","webpack:///./src/app/application/shared/phone-number/phone-number.component.html","webpack:///./src/app/application/shared/phone-number/phone-number.component.scss","webpack:///./src/app/application/shared/phone-number/phone-number.component.ts","webpack:///./src/app/application/shared/utils/HandleGenericHttpError.ts","webpack:///./src/app/application/shared/utils/ModelUtils.ts","webpack:///./src/app/application/shared/utils/PickDateAdapter.ts","webpack:///./src/app/application/sidebar-nav/sidebar-nav.component.css","webpack:///./src/app/application/sidebar-nav/sidebar-nav.component.html","webpack:///./src/app/application/sidebar-nav/sidebar-nav.component.ts","webpack:///./src/app/application/special-circumstances/special-circumstances.component.html","webpack:///./src/app/application/special-circumstances/special-circumstances.component.scss","webpack:///./src/app/application/special-circumstances/special-circumstances.component.ts","webpack:///./src/app/application/state/actions.ts","webpack:///./src/app/application/state/application.reducer.ts","webpack:///./src/app/application/student-details/student-details.component.html","webpack:///./src/app/application/student-details/student-details.component.scss","webpack:///./src/app/application/student-details/student-details.component.ts","webpack:///./src/app/application/student-validation/student-validation.component.html","webpack:///./src/app/application/student-validation/student-validation.component.scss","webpack:///./src/app/application/student-validation/student-validation.component.ts","webpack:///./src/app/application/students-parents-validation/students-parents-validation.component.html","webpack:///./src/app/application/students-parents-validation/students-parents-validation.component.scss","webpack:///./src/app/application/students-parents-validation/students-parents-validation.component.ts","webpack:///./src/app/application/summary/summary-print/summary-print.component.html","webpack:///./src/app/application/summary/summary-print/summary-print.component.scss","webpack:///./src/app/application/summary/summary-print/summary-print.component.ts","webpack:///./src/app/application/summary/summary.component.html","webpack:///./src/app/application/summary/summary.component.scss","webpack:///./src/app/application/summary/summary.component.ts","webpack:///./src/app/application/supporting-documents/supporting-documents.component.html","webpack:///./src/app/application/supporting-documents/supporting-documents.component.scss","webpack:///./src/app/application/supporting-documents/supporting-documents.component.ts","webpack:///./src/app/application/visa-ohsc/visa-ohsc.component.css","webpack:///./src/app/application/visa-ohsc/visa-ohsc.component.html","webpack:///./src/app/application/visa-ohsc/visa-ohsc.component.ts","webpack:///./src/app/directives/auto-focus.directive.ts","webpack:///./src/app/directives/click-stop-propagation.directive.ts","webpack:///./src/app/directives/passport-number.directive.ts","webpack:///./src/app/directives/phone-number.directive.ts","webpack:///./src/app/directives/skeleton.directive.ts","webpack:///./src/app/directives/toggle-view-password.directive.ts","webpack:///./src/app/shared/account-registration/account-registration.component.html","webpack:///./src/app/shared/account-registration/account-registration.component.scss","webpack:///./src/app/shared/account-registration/account-registration.component.ts","webpack:///./src/app/shared/account-registration/agent-account-registration/agent-account-registration.component.html","webpack:///./src/app/shared/account-registration/agent-account-registration/agent-account-registration.component.scss","webpack:///./src/app/shared/account-registration/agent-account-registration/agent-account-registration.component.ts","webpack:///./src/app/shared/agent-forgot-password/agent-forgot-password.component.html","webpack:///./src/app/shared/agent-forgot-password/agent-forgot-password.component.scss","webpack:///./src/app/shared/agent-forgot-password/agent-forgot-password.component.ts","webpack:///./src/app/shared/agent-login/agent-login.component.html","webpack:///./src/app/shared/agent-login/agent-login.component.scss","webpack:///./src/app/shared/agent-login/agent-login.component.ts","webpack:///./src/app/shared/agent-reset-password/agent-reset-password.component.html","webpack:///./src/app/shared/agent-reset-password/agent-reset-password.component.scss","webpack:///./src/app/shared/agent-reset-password/agent-reset-password.component.ts","webpack:///./src/app/shared/agent-set-password/agent-set-password.component.html","webpack:///./src/app/shared/agent-set-password/agent-set-password.component.scss","webpack:///./src/app/shared/agent-set-password/agent-set-password.component.ts","webpack:///./src/app/shared/auth/agent-auth/agent-auth.component.html","webpack:///./src/app/shared/auth/agent-auth/agent-auth.component.scss","webpack:///./src/app/shared/auth/agent-auth/agent-auth.component.ts","webpack:///./src/app/shared/auth/auth.component.html","webpack:///./src/app/shared/auth/auth.component.scss","webpack:///./src/app/shared/auth/auth.component.ts","webpack:///./src/app/shared/config/aws.config.ts","webpack:///./src/app/shared/directive/appDebounceClick.module.ts","webpack:///./src/app/shared/directive/appDebounceClick.ts","webpack:///./src/app/shared/forgot-password/forgot-password.component.html","webpack:///./src/app/shared/forgot-password/forgot-password.component.scss","webpack:///./src/app/shared/forgot-password/forgot-password.component.ts","webpack:///./src/app/shared/header/header.component.html","webpack:///./src/app/shared/header/header.component.scss","webpack:///./src/app/shared/header/header.component.ts","webpack:///./src/app/shared/login/login.component.html","webpack:///./src/app/shared/login/login.component.scss","webpack:///./src/app/shared/login/login.component.ts","webpack:///./src/app/shared/modal/modal.component.html","webpack:///./src/app/shared/modal/modal.component.scss","webpack:///./src/app/shared/modal/modal.component.ts","webpack:///./src/app/shared/models/created-student.model.ts","webpack:///./src/app/shared/models/error.model.ts","webpack:///./src/app/shared/models/lookup-data.model.ts","webpack:///./src/app/shared/models/pre-registration.model.ts","webpack:///./src/app/shared/page-not-found/page-not-found.component.css","webpack:///./src/app/shared/page-not-found/page-not-found.component.html","webpack:///./src/app/shared/page-not-found/page-not-found.component.ts","webpack:///./src/app/shared/payment/payment.component.html","webpack:///./src/app/shared/payment/payment.component.scss","webpack:///./src/app/shared/payment/payment.component.ts","webpack:///./src/app/shared/pre-registration-gdpr/pre-registration-gdpr.component.html","webpack:///./src/app/shared/pre-registration-gdpr/pre-registration-gdpr.component.scss","webpack:///./src/app/shared/pre-registration-gdpr/pre-registration-gdpr.component.ts","webpack:///./src/app/shared/pre-registration/pre-registration.component.html","webpack:///./src/app/shared/pre-registration/pre-registration.component.scss","webpack:///./src/app/shared/pre-registration/pre-registration.component.ts","webpack:///./src/app/shared/reset-password/reset-password.component.html","webpack:///./src/app/shared/reset-password/reset-password.component.scss","webpack:///./src/app/shared/reset-password/reset-password.component.ts","webpack:///./src/app/shared/safe-html.pipe.ts","webpack:///./src/app/shared/server-error/server-error.component.html","webpack:///./src/app/shared/server-error/server-error.component.scss","webpack:///./src/app/shared/server-error/server-error.component.ts","webpack:///./src/app/shared/services/accessibility.service.ts","webpack:///./src/app/shared/services/address.service.ts","webpack:///./src/app/shared/services/agency-contract.service.ts","webpack:///./src/app/shared/services/application.service.ts","webpack:///./src/app/shared/services/auth.guard.service.ts","webpack:///./src/app/shared/services/auth.interceptor.ts","webpack:///./src/app/shared/services/auth.resolver.service.ts","webpack:///./src/app/shared/services/auth.service.ts","webpack:///./src/app/shared/services/can-deactivate.guard.service.ts","webpack:///./src/app/shared/services/country.validator.ts","webpack:///./src/app/shared/services/custom-mat-sort-header-intl.ts","webpack:///./src/app/shared/services/data.service.ts","webpack:///./src/app/shared/services/error.handler.ts","webpack:///./src/app/shared/services/form.service.ts","webpack:///./src/app/shared/services/lookup.service.ts","webpack:///./src/app/shared/services/modal.service.ts","webpack:///./src/app/shared/services/payment.service.ts","webpack:///./src/app/shared/services/publicPayment.service.ts","webpack:///./src/app/shared/services/registration.service.ts","webpack:///./src/app/shared/services/resolvers.service.ts","webpack:///./src/app/shared/services/retire-unwanted-local-storage-keys.ts","webpack:///./src/app/shared/services/shared.service.ts","webpack:///./src/app/shared/services/spinner.service.ts","webpack:///./src/app/shared/services/storage.service.ts","webpack:///./src/app/shared/services/user.service.ts","webpack:///./src/app/shared/services/utility.service.ts","webpack:///./src/app/shared/services/version-check.service.ts","webpack:///./src/app/shared/shared-routing.module.ts","webpack:///./src/app/shared/shared.module.ts","webpack:///./src/app/shared/skeleton-rect/skeleton-rect.component.ts","webpack:///./src/app/shared/state/actions.ts","webpack:///./src/app/shared/state/shared.reducer.ts","webpack:///./src/app/shared/welcome-agent/welcome-agent.component.html","webpack:///./src/app/shared/welcome-agent/welcome-agent.component.scss","webpack:///./src/app/shared/welcome-agent/welcome-agent.component.ts","webpack:///./src/app/shared/welcome/welcome.component.css","webpack:///./src/app/shared/welcome/welcome.component.html","webpack:///./src/app/shared/welcome/welcome.component.ts","webpack:///./src/environments/environment.prod.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts","webpack:///fs (ignored)","webpack:///fs (ignored)?6555"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","file":"main.js","sourcesContent":["var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-SG\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-SG.js\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\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 id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { PageNotFoundComponent } from './shared/page-not-found/page-not-found.component';\r\nimport { AuthComponent } from './shared/auth/auth.component';\r\nimport { AuthResolverService } from './shared/services/auth.resolver.service';\r\nimport { WelcomeAgentComponent } from './shared/welcome-agent/welcome-agent.component';\r\nimport { LoginComponent } from './shared/login/login.component';\r\n\r\nconst routes: Routes = [\r\n { path: 'welcome', component: LoginComponent },\r\n { path: 'welcome-agent', component: WelcomeAgentComponent },\r\n { path: 'auth', component: AuthComponent },\r\n { path: '', pathMatch: 'full', redirectTo: 'welcome-agent' },\r\n { path: '**', component: PageNotFoundComponent, resolve: {currentUser: AuthResolverService}}\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, {useHash: true})],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","module.exports = \"
\\n \\n \\n
\\n\\n\"","module.exports = \"@charset \\\"UTF-8\\\";\\n/*vendor overridden style-rules*/\\n:host ::ng-deep .right-block .problems {\\n padding: 4rem 12.8rem; }\\n:host ::ng-deep .right-block .problems .problem .question h4 {\\n text-decoration: underline; }\\n:host ::ng-deep .right-block .problems .problem .question .heading4 {\\n text-decoration: underline; }\\n:host ::ng-deep .right-block .problems .problem .pro-title {\\n padding: 1rem 2rem; }\\n:host ::ng-deep .right-block .problems .problem .pro-title h3 {\\n font-size: 1.71rem;\\n display: inline-block;\\n width: calc(100% - 88px); }\\n:host ::ng-deep .right-block .problems .problem .pro-title .heading3 {\\n font-size: 1.71rem;\\n display: inline-block;\\n width: calc(100% - 88px); }\\n:host ::ng-deep .right-block .problems .problem .pro-title span {\\n font-size: 1.425rem;\\n width: 88px;\\n text-align: right; }\\n:host ::ng-deep .right-block .problems .problem .pro-title span.iconsdiv {\\n color: white; }\\n:host ::ng-deep .right-block .problems .problem .pro-title .iconsdiv span {\\n width: unset; }\\n:host ::ng-deep .right-block .problems .problem .pro-title .iconsdiv ~ h3 {\\n width: unset; }\\n:host ::ng-deep .right-block .problems .problem .pro-title .iconsdiv ~ .heading3 {\\n width: unset; }\\n:host ::ng-deep .right-block .problems .problem .question .answer .heading5 {\\n padding-bottom: 0;\\n font-size: 1.425rem; }\\n:host ::ng-deep .right-block .problems .problem .question .answer .choice-input span, :host ::ng-deep .right-block .problems .problem .question .answer .single-radio span, :host ::ng-deep .right-block .problems .problem .question .answer .select span, :host ::ng-deep .right-block .problems .problem .question .answer .choice-checkbox span {\\n margin-left: 1px; }\\n:host ::ng-deep .right-block .problems .problem .question .answer .choice span li, :host ::ng-deep .right-block .problems .problem .question .answer .choice-input span li {\\n font-size: 1.425rem;\\n padding: 0.8rem 1rem; }\\n:host ::ng-deep .right-block .problems .problem .question .answer .choice span li:first-child, :host ::ng-deep .right-block .problems .problem .question .answer .choice-input span li:first-child {\\n margin-top: 8px; }\\n:host ::ng-deep .right-block .problems .problem .question .answer .choice span li:hover, :host ::ng-deep .right-block .problems .problem .question .answer .choice-input span li:hover {\\n background: #46466e;\\n color: #fff; }\\n:host ::ng-deep .right-block .problems .problem .question .answer .choice-input span input,\\n :host ::ng-deep .right-block .problems .problem .question .answer .choice-input span textarea,\\n :host ::ng-deep .right-block .problems .problem .question .answer .single-radio span,\\n :host ::ng-deep .right-block .problems .problem .question .answer .select span select.form-control {\\n font-size: 1.425rem;\\n padding: 0.8rem 1rem; }\\n:host ::ng-deep .right-block .problems .problem .question .answer .choice-checkbox span {\\n font-size: 1.425rem;\\n padding-top: 10px; }\\n:host ::ng-deep .right-block .problems .problem .question .answer .choice-checkbox span .iconfont {\\n margin-right: 1rem;\\n position: relative;\\n top: 0.2rem; }\\n:host ::ng-deep .right-block .problems .problem .question .answer .single-radio span {\\n margin-right: 0.8rem; }\\n:host ::ng-deep .right-block .problems .problem .question .answer .choice .date:before {\\n top: 0.4rem;\\n right: 1.6rem; }\\n:host ::ng-deep .right-block .problems .problem .question .answer .select span {\\n position: relative;\\n z-index: inherit; }\\n:host ::ng-deep .right-block .problems .problem .question .answer .select span select.form-control {\\n padding-right: 3.5rem;\\n position: relative;\\n z-index: calc(inherit + 1);\\n background: rgba(255, 255, 255, 0); }\\n:host ::ng-deep .right-block .problems .problem .question .answer .select span:before {\\n margin-top: 0.6rem;\\n right: 0.4rem; }\\n:host ::ng-deep .right-block .problems .problem .further-question {\\n padding-top: 2rem; }\\n:host ::ng-deep .right-block .problems .problem .question .answer .choice-input input:-moz-read-only {\\n box-shadow: none; }\\n:host ::ng-deep .right-block .problems .problem .question .answer .choice-input input:read-only {\\n box-shadow: none; }\\n:host ::ng-deep .right-block label.subtext {\\n font-size: 1.2rem;\\n font-style: italic; }\\n:host ::ng-deep .right-block .submit-box {\\n margin-bottom: 3.2rem;\\n margin-right: 0.2rem;\\n margin-left: 0.2rem; }\\n:host ::ng-deep .right-block .submit-box input.btn-right,\\n :host ::ng-deep .right-block .submit-box input.btn-left {\\n padding: 0.8rem 1rem;\\n font-size: 1.425rem;\\n min-width: 100px;\\n text-align: center; }\\n:host ::ng-deep .right-block .submit-box.top-box {\\n margin-bottom: 7.4rem; }\\n:host ::ng-deep .right-block .radio-errors:empty {\\n display: none; }\\n:host ::ng-deep .right-block .custom-control.custom-radio, :host ::ng-deep .right-block .custom-control.custom-checkbox {\\n margin-left: 1rem; }\\n:host ::ng-deep .right-block .custom-control.custom-radio .custom-control-input:checked + .custom-control-label::before, :host ::ng-deep .right-block .custom-control.custom-checkbox .custom-control-input:checked + .custom-control-label::before {\\n border-color: #64649c;\\n background-color: #64649c; }\\n:host ::ng-deep .right-block .custom-control.custom-radio .custom-control-label, :host ::ng-deep .right-block .custom-control.custom-checkbox .custom-control-label {\\n font-size: 1.425rem; }\\n:host ::ng-deep .right-block .custom-control.custom-radio .custom-control-label::before, :host ::ng-deep .right-block .custom-control.custom-radio .custom-control-label::after, :host ::ng-deep .right-block .custom-control.custom-checkbox .custom-control-label::before, :host ::ng-deep .right-block .custom-control.custom-checkbox .custom-control-label::after {\\n width: 1.6rem;\\n height: 1.6rem;\\n top: 0.1rem;\\n left: -2.4rem; }\\n:host ::ng-deep .right-block .custom-control-input:focus ~ .custom-control-label::before {\\n box-shadow: 0 0 0 0.2rem rgba(116, 116, 166, 0.5); }\\n:host ::ng-deep .right-block .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\\n border-color: #64649c; }\\n:host ::ng-deep .right-block .custom-control-input:disabled ~ .custom-control-label {\\n color: rgba(108, 117, 125, 0.5); }\\n:host ::ng-deep .right-block .custom-control-input:disabled ~ .custom-control-label::before {\\n background-color: #dadfe4; }\\n:host ::ng-deep .right-block .required-field::after {\\n content: \\\"*\\\";\\n color: #DB0A5B;\\n position: relative;\\n left: 0.2rem; }\\n:host ::ng-deep .right-block .either-of-fields-required::after {\\n content: \\\"‡\\\";\\n color: #DB0A5B;\\n display: inline-block;\\n position: relative;\\n top: -0.5rem;\\n left: 0.2rem;\\n font-size: 1.3rem; }\\n:host ::ng-deep .right-block .either-fields-refuired-prefix::before {\\n content: \\\"‡\\\";\\n color: #DB0A5B;\\n display: inline-block;\\n position: relative;\\n top: -0.5rem;\\n font-size: 1.3rem;\\n font-style: normal; }\\n:host ::ng-deep .right-block .info-message {\\n text-align: right;\\n padding-bottom: 0.5rem; }\\n:host ::ng-deep .right-block .info-message .heading5 {\\n font-size: 1.425rem; }\\n:host ::ng-deep .right-block .info-message .heading5 .text-danger {\\n color: #DB0A5B !important; }\\n:host ::ng-deep .right-block .more-info-messages {\\n text-align: left; }\\n:host ::ng-deep .right-block .more-info-messages a {\\n color: blue;\\n text-decoration: underline; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9EOlxcYVxcMTU1XFxzXFxEZWkuT25saW5lQXBwbGljYXRpb24uUHJvZFxcRGVpLk9ubGluZUFwcGxpY2F0aW9uLldlYlxcb25saW5lLWFwcC9zcmNcXGFwcFxcYXBwLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0FoQixnQ0FBQTtBQUNBO0VBY1EscUJBQXFCLEVBQUE7QUFkN0I7SUFtQlksMEJBQTBCLEVBQUE7QUFuQnRDO0lBdUJZLDBCQUEwQixFQUFBO0FBdkJ0QztJQTJCWSxrQkFBa0IsRUFBQTtBQTNCOUI7TUE4QmMsa0JBQWtCO01BQ2xCLHFCQUFxQjtNQUNyQix3QkFBd0IsRUFBQTtBQWhDdEM7TUFvQ2Msa0JBQWtCO01BQ2xCLHFCQUFxQjtNQUNyQix3QkFBd0IsRUFBQTtBQXRDdEM7TUEwQ2MsbUJBQW1CO01BQ25CLFdBQVc7TUFDWCxpQkFBaUIsRUFBQTtBQTVDL0I7UUFnRGdCLFlBQVksRUFBQTtBQWhENUI7TUFzRGdCLFlBQVksRUFBQTtBQXRENUI7TUEwRGdCLFlBQVksRUFBQTtBQTFENUI7TUE4RGdCLFlBQVksRUFBQTtBQTlENUI7SUFzRWMsaUJBQWlCO0lBQ2pCLG1CQUFtQixFQUFBO0FBdkVqQztJQTJFYyxnQkFBZ0IsRUFBQTtBQTNFOUI7SUFnRmdCLG1CQUFtQjtJQUNuQixvQkFBb0IsRUFBQTtBQWpGcEM7TUFvRmtCLGVBQWUsRUFBQTtBQXBGakM7TUF3RmtCLG1CQUFtQjtNQUNuQixXQUFXLEVBQUE7QUF6RjdCOzs7O0lBa0djLG1CQUFtQjtJQUNuQixvQkFBb0IsRUFBQTtBQW5HbEM7SUF1R2MsbUJBQW1CO0lBQ25CLGlCQUFpQixFQUFBO0FBeEcvQjtNQTBHZ0Isa0JBQWtCO01BQ2xCLGtCQUFrQjtNQUNsQixXQUFXLEVBQUE7QUE1RzNCO0lBa0hjLG9CQUFvQixFQUFBO0FBbEhsQztJQXVIYyxXQUFXO0lBQ1gsYUFBYSxFQUFBO0FBeEgzQjtJQTRIYyxrQkFBa0I7SUFDbEIsZ0JBQWdCLEVBQUE7QUE3SDlCO01BZ0lnQixxQkFBcUI7TUFDckIsa0JBQWtCO01BQ2xCLDBCQUEwQjtNQUMxQixrQ0FBa0MsRUFBQTtBQW5JbEQ7TUF1SWdCLGtCQUFrQjtNQUNsQixhQUFhLEVBQUE7QUF4STdCO0lBOElZLGlCQUFpQixFQUFBO0FBOUk3QjtJQW9KYyxnQkFBZ0IsRUFBQTtBQXBKOUI7SUFvSmMsZ0JBQWdCLEVBQUE7QUFwSjlCO0VBMkpRLGlCQUFpQjtFQUNqQixrQkFBa0IsRUFBQTtBQTVKMUI7RUFnS1EscUJBQXFCO0VBQ3JCLG9CQUFvQjtFQUNwQixtQkFBbUIsRUFBQTtBQWxLM0I7O0lBc0tVLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLGtCQUFrQixFQUFBO0FBeks1QjtJQTZLVSxxQkFBcUIsRUFBQTtBQTdLL0I7RUFrTFEsYUFBYSxFQUFBO0FBbExyQjtFQXVMVSxpQkFBaUIsRUFBQTtBQXZMM0I7SUE0TGdCLHFCQUFtQztJQUNuQyx5QkFBdUMsRUFBQTtBQTdMdkQ7SUFtTVksbUJBQW1CLEVBQUE7QUFuTS9CO01Bc01jLGFBQWE7TUFDYixjQUFjO01BQ2QsV0FBVztNQUNYLGFBQWEsRUFBQTtBQXpNM0I7RUFpTlUsaURBQW1ELEVBQUE7QUFqTjdEO0VBcU5VLHFCQUFtQyxFQUFBO0FBck43QztFQTBOWSwrQkFBbUIsRUFBQTtBQTFOL0I7SUE2TmMseUJBQXFDLEVBQUE7QUE3Tm5EO0VBcU9VLFlBQVk7RUFDWixjQUFhO0VBQ2Isa0JBQWtCO0VBQ2xCLFlBQVksRUFBQTtBQXhPdEI7RUE4T1UsWUFBUztFQUNULGNBQWE7RUFDYixxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixZQUFZO0VBQ1osaUJBQWlCLEVBQUE7QUFwUDNCO0VBMFBVLFlBQVM7RUFDVCxjQUFhO0VBQ2IscUJBQXFCO0VBQ3JCLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLGtCQUFrQixFQUFBO0FBaFE1QjtFQTZRUSxpQkFBaUI7RUFDakIsc0JBQXNCLEVBQUE7QUE5UTlCO0lBc1FVLG1CQUFtQixFQUFBO0FBdFE3QjtNQXlRWSx5QkFBeUIsRUFBQTtBQXpRckM7RUFrUlEsZ0JBQWdCLEVBQUE7QUFsUnhCO0lBcVJVLFdBQVc7SUFDWCwwQkFBMEIsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qdmVuZG9yIG92ZXJyaWRkZW4gc3R5bGUtcnVsZXMqL1xuOmhvc3QgOjpuZy1kZWVwIC5yaWdodC1ibG9jayAucHJvYmxlbXMge1xuICBwYWRkaW5nOiA0cmVtIDEyLjhyZW07IH1cbiAgOmhvc3QgOjpuZy1kZWVwIC5yaWdodC1ibG9jayAucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIGg0IHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICA6aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmhlYWRpbmc0IHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICA6aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5wcm9ibGVtcyAucHJvYmxlbSAucHJvLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAxcmVtIDJyZW07IH1cbiAgICA6aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5wcm9ibGVtcyAucHJvYmxlbSAucHJvLXRpdGxlIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS43MXJlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4OHB4KTsgfVxuICAgIDpob3N0IDo6bmctZGVlcCAucmlnaHQtYmxvY2sgLnByb2JsZW1zIC5wcm9ibGVtIC5wcm8tdGl0bGUgLmhlYWRpbmczIHtcbiAgICAgIGZvbnQtc2l6ZTogMS43MXJlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4OHB4KTsgfVxuICAgIDpob3N0IDo6bmctZGVlcCAucmlnaHQtYmxvY2sgLnByb2JsZW1zIC5wcm9ibGVtIC5wcm8tdGl0bGUgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDEuNDI1cmVtO1xuICAgICAgd2lkdGg6IDg4cHg7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgOmhvc3QgOjpuZy1kZWVwIC5yaWdodC1ibG9jayAucHJvYmxlbXMgLnByb2JsZW0gLnByby10aXRsZSBzcGFuLmljb25zZGl2IHtcbiAgICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgOmhvc3QgOjpuZy1kZWVwIC5yaWdodC1ibG9jayAucHJvYmxlbXMgLnByb2JsZW0gLnByby10aXRsZSAuaWNvbnNkaXYgc3BhbiB7XG4gICAgICB3aWR0aDogdW5zZXQ7IH1cbiAgICA6aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5wcm9ibGVtcyAucHJvYmxlbSAucHJvLXRpdGxlIC5pY29uc2RpdiB+IGgzIHtcbiAgICAgIHdpZHRoOiB1bnNldDsgfVxuICAgIDpob3N0IDo6bmctZGVlcCAucmlnaHQtYmxvY2sgLnByb2JsZW1zIC5wcm9ibGVtIC5wcm8tdGl0bGUgLmljb25zZGl2IH4gLmhlYWRpbmczIHtcbiAgICAgIHdpZHRoOiB1bnNldDsgfVxuICA6aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuaGVhZGluZzUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMS40MjVyZW07IH1cbiAgOmhvc3QgOjpuZy1kZWVwIC5yaWdodC1ibG9jayAucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLmNob2ljZS1pbnB1dCBzcGFuLCA6aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuc2luZ2xlLXJhZGlvIHNwYW4sIDpob3N0IDo6bmctZGVlcCAucmlnaHQtYmxvY2sgLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5zZWxlY3Qgc3BhbiwgOmhvc3QgOjpuZy1kZWVwIC5yaWdodC1ibG9jayAucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLmNob2ljZS1jaGVja2JveCBzcGFuIHtcbiAgICBtYXJnaW4tbGVmdDogMXB4OyB9XG4gIDpob3N0IDo6bmctZGVlcCAucmlnaHQtYmxvY2sgLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5jaG9pY2Ugc3BhbiBsaSwgOmhvc3QgOjpuZy1kZWVwIC5yaWdodC1ibG9jayAucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLmNob2ljZS1pbnB1dCBzcGFuIGxpIHtcbiAgICBmb250LXNpemU6IDEuNDI1cmVtO1xuICAgIHBhZGRpbmc6IDAuOHJlbSAxcmVtOyB9XG4gICAgOmhvc3QgOjpuZy1kZWVwIC5yaWdodC1ibG9jayAucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLmNob2ljZSBzcGFuIGxpOmZpcnN0LWNoaWxkLCA6aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlLWlucHV0IHNwYW4gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogOHB4OyB9XG4gICAgOmhvc3QgOjpuZy1kZWVwIC5yaWdodC1ibG9jayAucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLmNob2ljZSBzcGFuIGxpOmhvdmVyLCA6aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlLWlucHV0IHNwYW4gbGk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzQ2NDY2ZTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIDpob3N0IDo6bmctZGVlcCAucmlnaHQtYmxvY2sgLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5jaG9pY2UtaW5wdXQgc3BhbiBpbnB1dCxcbiAgOmhvc3QgOjpuZy1kZWVwIC5yaWdodC1ibG9jayAucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLmNob2ljZS1pbnB1dCBzcGFuIHRleHRhcmVhLFxuICA6aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuc2luZ2xlLXJhZGlvIHNwYW4sXG4gIDpob3N0IDo6bmctZGVlcCAucmlnaHQtYmxvY2sgLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5zZWxlY3Qgc3BhbiBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICBmb250LXNpemU6IDEuNDI1cmVtO1xuICAgIHBhZGRpbmc6IDAuOHJlbSAxcmVtOyB9XG4gIDpob3N0IDo6bmctZGVlcCAucmlnaHQtYmxvY2sgLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5jaG9pY2UtY2hlY2tib3ggc3BhbiB7XG4gICAgZm9udC1zaXplOiAxLjQyNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICAgIDpob3N0IDo6bmctZGVlcCAucmlnaHQtYmxvY2sgLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5jaG9pY2UtY2hlY2tib3ggc3BhbiAuaWNvbmZvbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAwLjJyZW07IH1cbiAgOmhvc3QgOjpuZy1kZWVwIC5yaWdodC1ibG9jayAucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLnNpbmdsZS1yYWRpbyBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOHJlbTsgfVxuICA6aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlIC5kYXRlOmJlZm9yZSB7XG4gICAgdG9wOiAwLjRyZW07XG4gICAgcmlnaHQ6IDEuNnJlbTsgfVxuICA6aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuc2VsZWN0IHNwYW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiBpbmhlcml0OyB9XG4gICAgOmhvc3QgOjpuZy1kZWVwIC5yaWdodC1ibG9jayAucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLnNlbGVjdCBzcGFuIHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAgICAgcGFkZGluZy1yaWdodDogMy41cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogY2FsYyhpbmhlcml0ICsgMSk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOyB9XG4gICAgOmhvc3QgOjpuZy1kZWVwIC5yaWdodC1ibG9jayAucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLnNlbGVjdCBzcGFuOmJlZm9yZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjZyZW07XG4gICAgICByaWdodDogMC40cmVtOyB9XG4gIDpob3N0IDo6bmctZGVlcCAucmlnaHQtYmxvY2sgLnByb2JsZW1zIC5wcm9ibGVtIC5mdXJ0aGVyLXF1ZXN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuICA6aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlLWlucHV0IGlucHV0OnJlYWQtb25seSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG46aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIGxhYmVsLnN1YnRleHQge1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbjpob3N0IDo6bmctZGVlcCAucmlnaHQtYmxvY2sgLnN1Ym1pdC1ib3gge1xuICBtYXJnaW4tYm90dG9tOiAzLjJyZW07XG4gIG1hcmdpbi1yaWdodDogMC4ycmVtO1xuICBtYXJnaW4tbGVmdDogMC4ycmVtOyB9XG4gIDpob3N0IDo6bmctZGVlcCAucmlnaHQtYmxvY2sgLnN1Ym1pdC1ib3ggaW5wdXQuYnRuLXJpZ2h0LFxuICA6aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5zdWJtaXQtYm94IGlucHV0LmJ0bi1sZWZ0IHtcbiAgICBwYWRkaW5nOiAwLjhyZW0gMXJlbTtcbiAgICBmb250LXNpemU6IDEuNDI1cmVtO1xuICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIDpob3N0IDo6bmctZGVlcCAucmlnaHQtYmxvY2sgLnN1Ym1pdC1ib3gudG9wLWJveCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNy40cmVtOyB9XG5cbjpob3N0IDo6bmctZGVlcCAucmlnaHQtYmxvY2sgLnJhZGlvLWVycm9yczplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuOmhvc3QgOjpuZy1kZWVwIC5yaWdodC1ibG9jayAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLXJhZGlvLCA6aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5jdXN0b20tY29udHJvbC5jdXN0b20tY2hlY2tib3gge1xuICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICA6aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5jdXN0b20tY29udHJvbC5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgKyAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgOmhvc3QgOjpuZy1kZWVwIC5yaWdodC1ibG9jayAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkICsgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogIzY0NjQ5YztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjQ2NDljOyB9XG4gIDpob3N0IDo6bmctZGVlcCAucmlnaHQtYmxvY2sgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtbGFiZWwsIDpob3N0IDo6bmctZGVlcCAucmlnaHQtYmxvY2sgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMS40MjVyZW07IH1cbiAgICA6aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5jdXN0b20tY29udHJvbC5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIDpob3N0IDo6bmctZGVlcCAucmlnaHQtYmxvY2sgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyLCA6aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5jdXN0b20tY29udHJvbC5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIDpob3N0IDo6bmctZGVlcCAucmlnaHQtYmxvY2sgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiAxLjZyZW07XG4gICAgICBoZWlnaHQ6IDEuNnJlbTtcbiAgICAgIHRvcDogMC4xcmVtO1xuICAgICAgbGVmdDogLTIuNHJlbTsgfVxuXG46aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5jdXN0b20tY29udHJvbC1pbnB1dDpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTE2LCAxMTYsIDE2NiwgMC41KTsgfVxuXG46aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5jdXN0b20tY29udHJvbC1pbnB1dDpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM2NDY0OWM7IH1cblxuOmhvc3QgOjpuZy1kZWVwIC5yaWdodC1ibG9jayAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICBjb2xvcjogcmdiYSgxMDgsIDExNywgMTI1LCAwLjUpOyB9XG4gIDpob3N0IDo6bmctZGVlcCAucmlnaHQtYmxvY2sgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWRmZTQ7IH1cblxuOmhvc3QgOjpuZy1kZWVwIC5yaWdodC1ibG9jayAucmVxdWlyZWQtZmllbGQ6OmFmdGVyIHtcbiAgY29udGVudDogXCIqXCI7XG4gIGNvbG9yOiAjREIwQTVCO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDAuMnJlbTsgfVxuXG46aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5laXRoZXItb2YtZmllbGRzLXJlcXVpcmVkOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwi4oChXCI7XG4gIGNvbG9yOiAjREIwQTVCO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMC41cmVtO1xuICBsZWZ0OiAwLjJyZW07XG4gIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG5cbjpob3N0IDo6bmctZGVlcCAucmlnaHQtYmxvY2sgLmVpdGhlci1maWVsZHMtcmVmdWlyZWQtcHJlZml4OjpiZWZvcmUge1xuICBjb250ZW50OiBcIuKAoVwiO1xuICBjb2xvcjogI0RCMEE1QjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG46aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5pbmZvLW1lc3NhZ2Uge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTsgfVxuICA6aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5pbmZvLW1lc3NhZ2UgLmhlYWRpbmc1IHtcbiAgICBmb250LXNpemU6IDEuNDI1cmVtOyB9XG4gICAgOmhvc3QgOjpuZy1kZWVwIC5yaWdodC1ibG9jayAuaW5mby1tZXNzYWdlIC5oZWFkaW5nNSAudGV4dC1kYW5nZXIge1xuICAgICAgY29sb3I6ICNEQjBBNUIgIWltcG9ydGFudDsgfVxuXG46aG9zdCA6Om5nLWRlZXAgLnJpZ2h0LWJsb2NrIC5tb3JlLWluZm8tbWVzc2FnZXMge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIDpob3N0IDo6bmctZGVlcCAucmlnaHQtYmxvY2sgLm1vcmUtaW5mby1tZXNzYWdlcyBhIHtcbiAgICBjb2xvcjogYmx1ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuIiwiLyp2ZW5kb3Igb3ZlcnJpZGRlbiBzdHlsZS1ydWxlcyovXHJcbjpob3N0IDo6bmctZGVlcCB7XHJcblxyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XHJcbiAgICAucmlnaHQtYmxvY2sge1xyXG4gICAgICAucHJvYmxlbXMge1xyXG5cclxuICAgICAgICAvLyBwYWRkaW5nOiA0cmVtIDZyZW0gIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0gXHJcblxyXG4gICAgLnJpZ2h0LWJsb2NrIHtcclxuICAgICAgLnByb2JsZW1zIHtcclxuXHJcbiAgICAgICAgcGFkZGluZzogNHJlbSAxMi44cmVtO1xyXG5cclxuICAgICAgICAucHJvYmxlbSB7XHJcbiAgXHJcbiAgICAgICAgICAucXVlc3Rpb24gaDQge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAucXVlc3Rpb24gLmhlYWRpbmc0IHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLnByby10aXRsZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMnJlbTtcclxuICBcclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43MXJlbTtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDg4cHgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaGVhZGluZzN7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjcxcmVtO1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gODhweCk7XHJcbiAgICAgICAgICAgIH1cclxuICBcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjQyNXJlbTtcclxuICAgICAgICAgICAgICB3aWR0aDogODhweDtcclxuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICBcclxuICAgICAgICAgICAgICAmLmljb25zZGl2IHtcclxuICAgICAgICAgICAgICAgIC8vIGNvbG9yOiBsaWdodGVuKCM0NjQ2NmUsIDUlKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICBcclxuICAgICAgICAgICAgLmljb25zZGl2IHtcclxuICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiB1bnNldDtcclxuICAgICAgICAgICAgICB9XHJcbiAgXHJcbiAgICAgICAgICAgICAgfiBoMyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICB+IC5oZWFkaW5nM3tcclxuICAgICAgICAgICAgICAgIHdpZHRoOiB1bnNldDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICBcclxuICAgICAgICAgIC5xdWVzdGlvbiAuYW5zd2VyIHtcclxuICBcclxuICAgICAgICAgICAgLmhlYWRpbmc1IHtcclxuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICBmb250LXNpemU6IDEuNDI1cmVtOyAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICBcclxuICAgICAgICAgICAgLmNob2ljZS1pbnB1dCBzcGFuLCAuc2luZ2xlLXJhZGlvIHNwYW4sIC5zZWxlY3Qgc3BhbiwgLmNob2ljZS1jaGVja2JveCBzcGFuIHtcclxuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMXB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuY2hvaWNlIHNwYW4sIC5jaG9pY2UtaW5wdXQgc3BhbiB7XHJcbiAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjQyNXJlbTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbSAxcmVtO1xyXG5cclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0NjQ2NmU7XHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gIFxyXG4gICAgICAgICAgICAuY2hvaWNlLWlucHV0IHNwYW4gaW5wdXQsXHJcbiAgICAgICAgICAgIC5jaG9pY2UtaW5wdXQgc3BhbiB0ZXh0YXJlYSxcclxuICAgICAgICAgICAgLnNpbmdsZS1yYWRpbyBzcGFuLFxyXG4gICAgICAgICAgICAuc2VsZWN0IHNwYW4gc2VsZWN0LmZvcm0tY29udHJvbCB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjQyNXJlbTtcclxuICAgICAgICAgICAgICBwYWRkaW5nOiAwLjhyZW0gMXJlbTtcclxuICAgICAgICAgICAgfVxyXG4gIFxyXG4gICAgICAgICAgICAuY2hvaWNlLWNoZWNrYm94IHNwYW4ge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40MjVyZW07XHJcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgLmljb25mb250IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMC4ycmVtO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gIFxyXG4gIFxyXG4gICAgICAgICAgICAuc2luZ2xlLXJhZGlvIHNwYW4ge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC44cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgXHJcbiAgXHJcbiAgICAgICAgICAgIC5jaG9pY2UgLmRhdGU6YmVmb3JlIHtcclxuICAgICAgICAgICAgICB0b3A6IDAuNHJlbTtcclxuICAgICAgICAgICAgICByaWdodDogMS42cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgXHJcbiAgICAgICAgICAgIC5zZWxlY3Qgc3BhbiB7XHJcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgIHotaW5kZXg6IGluaGVyaXQ7XHJcblxyXG4gICAgICAgICAgICAgIHNlbGVjdC5mb3JtLWNvbnRyb2wge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMy41cmVtO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogY2FsYyhpbmhlcml0ICsgMSk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xyXG4gICAgICAgICAgICAgIH1cclxuICBcclxuICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjZyZW07XHJcbiAgICAgICAgICAgICAgICByaWdodDogMC40cmVtO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gIFxyXG4gICAgICAgICAgLmZ1cnRoZXItcXVlc3Rpb24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlLWlucHV0IHtcclxuICAgICAgICAgICAgaW5wdXQ6cmVhZC1vbmx5IHtcclxuICAgICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiBncmV5O1xyXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxhYmVsLnN1YnRleHQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgfVxyXG4gIFxyXG4gICAgICAuc3VibWl0LWJveCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy4ycmVtO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4ycmVtO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjJyZW07XHJcblxyXG4gICAgICAgIGlucHV0LmJ0bi1yaWdodCxcclxuICAgICAgICBpbnB1dC5idG4tbGVmdCB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwLjhyZW0gMXJlbTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS40MjVyZW07XHJcbiAgICAgICAgICBtaW4td2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi50b3AtYm94IHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDcuNHJlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICBcclxuICAgICAgLnJhZGlvLWVycm9yczplbXB0eSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfSAgXHJcbiAgXHJcbiAgICAgIC5jdXN0b20tY29udHJvbCB7XHJcbiAgICAgICAgJi5jdXN0b20tcmFkaW8sICYuY3VzdG9tLWNoZWNrYm94IHtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xyXG4gIFxyXG4gICAgICAgICAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQge1xyXG4gICAgICAgICAgICArIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigjNDY0NjZFLCAxNSUpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigjNDY0NjZFLCAxNSUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gIFxyXG4gICAgICAgICAgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjQyNXJlbTtcclxuICBcclxuICAgICAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEuNnJlbTtcclxuICAgICAgICAgICAgICBoZWlnaHQ6IDEuNnJlbTtcclxuICAgICAgICAgICAgICB0b3A6IDAuMXJlbTtcclxuICAgICAgICAgICAgICBsZWZ0OiAtMi40cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XHJcbiAgICAgICAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKGxpZ2h0ZW4oIzQ2NDY2RSwgMjAlKSwgMC41KTtcclxuICAgICAgICB9XHJcbiAgXHJcbiAgICAgICAgJjpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCM0NjQ2NkUsIDE1JSk7XHJcbiAgICAgICAgfVxyXG4gIFxyXG4gICAgICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogcmdiYSgjNmM3NTdkLCAwLjUpO1xyXG4gIFxyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjZTllY2VmLCA1JSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5yZXF1aXJlZC1maWVsZCB7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgY29udGVudDogXCIqXCI7IFxyXG4gICAgICAgICAgY29sb3I6I0RCMEE1QjtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIGxlZnQ6IDAuMnJlbTtcclxuICAgICAgICB9IFxyXG4gICAgICB9XHJcblxyXG4gICAgICAuZWl0aGVyLW9mLWZpZWxkcy1yZXF1aXJlZCB7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgY29udGVudDogXCLigKFcIjsgXHJcbiAgICAgICAgICBjb2xvcjojREIwQTVCO1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgdG9wOiAtMC41cmVtO1xyXG4gICAgICAgICAgbGVmdDogMC4ycmVtO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuZWl0aGVyLWZpZWxkcy1yZWZ1aXJlZC1wcmVmaXgge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiBcIuKAoVwiOyBcclxuICAgICAgICAgIGNvbG9yOiNEQjBBNUI7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICB0b3A6IC0wLjVyZW07XHJcbiAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIC5pbmZvLW1lc3NhZ2Uge1xyXG4gICAgICAgIC5oZWFkaW5nNSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEuNDI1cmVtO1xyXG5cclxuICAgICAgICAgIC50ZXh0LWRhbmdlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjREIwQTVCICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAubW9yZS1pbmZvLW1lc3NhZ2VzIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGNvbG9yOiBibHVlO1xyXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gIH1cclxuIl19 */\"","import { Component, OnInit } from '@angular/core';\nimport { Router, NavigationEnd, NavigationCancel, NavigationError, ResolveStart } from '@angular/router';\nimport 'whatwg-fetch';\nimport { AccessibilityService } from './shared/services/accessibility.service';\nimport { LookupService } from 'src/app/shared/services/lookup.service';\nimport { VersionCheckService } from './shared/services/version-check.service';\nimport { NgxUiLoaderService } from 'ngx-ui-loader';\n\ndeclare let gtag: Function;\n\n@Component({\n selector: 'online-app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\n \nexport class AppComponent implements OnInit {\n\n title = 'online-app';\n className: string;\n\n googleAnalyticsKey: string;\n \n constructor(private router: Router,\n private accessibilityService: AccessibilityService,\n private lookupService: LookupService,\n private ngxUiSpinnerService: NgxUiLoaderService,\n private versionCheckService: VersionCheckService)\n {\n // Init the version.json polling. The service keeps polls and finds if the a new version is released. \n this.versionCheckService.initVersionCheck();\n\n this.lookupService.getGASettings().subscribe((response: any) => {\n this.googleAnalyticsKey = response;\n //console.log('googleAnalyticsKey is: ', this.googleAnalyticsKey);\n });\n\n this.router.events.subscribe((event) => {\n\n this.accessibilityService.addLoadingAttr();\n \n if (event instanceof ResolveStart) {\n // console.log(`navigation start - ${event.url}`);\n /* showing or hiding of spinner is handled in NgxUiLoaderRouterModule */\n //append Start loading in loading icon html\n this.ngxUiSpinnerService.start('route-change');\n this.accessibilityService.startloadingAccessibility();\n } else if (\n event instanceof NavigationEnd ||\n event instanceof NavigationCancel ||\n event instanceof NavigationError) {\n\n // console.log(`navigation end - ${event.url}`);\n /* showing or hiding of spinner is handled in NgxUiLoaderRouterModule */\n //append Data loaded in loading icon html\n this.ngxUiSpinnerService.stop('route-change');\n this.accessibilityService.loadedAccessibility(); \n }\n\n\n //2020-02 Add GA\n if (event instanceof NavigationEnd) {\n if (this.googleAnalyticsKey) {\n gtag('config', this.googleAnalyticsKey,\n {\n 'page_path': event.urlAfterRedirects\n }\n ); \n } \n }\n\n });\n }\n\n ngOnInit(){\n this.accessibilityService.currentResizeFont.subscribe((serviceClassName: string) => {\n this.className = serviceClassName;\n });\n }\n}\n","import { BrowserModule } from '@angular/platform-browser';\nimport { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { StoreModule } from '@ngrx/store';\nimport { StoreDevtoolsModule } from '@ngrx/store-devtools';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { ApplicationModule } from './application/application.module';\nimport { SharedModule } from './shared/shared.module';\nimport { ApplicationRoutingModule } from './application/application-routing.module';\n\nimport { AppComponent } from './app.component';\nimport { SharedRoutingModule } from './shared/shared-routing.module';\nimport { AuthInterceptor } from './shared/services/auth.interceptor';\n\nimport { environment } from 'src/environments/environment.prod';\nimport { ModalComponent } from './shared/modal/modal.component';\nimport { ModalService } from './shared/services/modal.service';\nimport { CanDeactivateGuard } from './shared/services/can-deactivate.guard.service';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { AccessibilityService } from './shared/services/accessibility.service';\nimport { MatSortHeaderIntl } from '@angular/material';\nimport { CustomMatSortHeaderIntl } from './shared/services/custom-mat-sort-header-intl';\n\nimport { RecaptchaModule, RECAPTCHA_SETTINGS, RecaptchaSettings, RECAPTCHA_BASE_URL } from 'ng-recaptcha';\nimport { RecaptchaFormsModule } from 'ng-recaptcha';\nimport { VersionCheckService } from './shared/services/version-check.service';\nimport { NgxUiLoaderModule, NgxUiLoaderHttpModule } from 'ngx-ui-loader';\nimport { SpinnerService } from './shared/services/spinner.service';\nimport { RectComponent } from './shared/skeleton-rect/skeleton-rect.component';\nimport { retireUnwantedLocalStorageKeys } from './shared/services/retire-unwanted-local-storage-keys';\nimport { HashLocationStrategy, LocationStrategy } from '@angular/common';\n\n@NgModule({\n declarations: [\n \n AppComponent,\n ModalComponent, \n ],\n entryComponents: [\n RectComponent\n ],\n imports: [\n BrowserModule,\n SharedRoutingModule,\n ApplicationRoutingModule,\n AppRoutingModule,\n SharedModule,\n ApplicationModule,\n NgxUiLoaderModule,\n NgxUiLoaderHttpModule.forRoot({\n showForeground: true,\n excludeRegexp: [\n 'scanstatus'\n ]\n }),\n \n StoreModule.forRoot({}),\n StoreDevtoolsModule.instrument({\n name: 'online app',\n maxAge: 25,\n logOnly: environment.production\n }),\n BrowserAnimationsModule,\n RecaptchaModule,\n RecaptchaFormsModule,\n ],\n providers: [\n {\n provide: LocationStrategy,\n useClass: HashLocationStrategy\n },\n /* We are handling showing or hiding spinner for ajax calls in NgxUiLoaderHttpModule */\n // {\n // provide: HTTP_INTERCEPTORS,\n // useClass: AjaxBusyIdentifierInterceptor,\n // multi: true\n // },\n {\n provide: APP_INITIALIZER,\n useValue: retireUnwantedLocalStorageKeys,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AuthInterceptor,\n multi: true\n }, \n {\n provide: RECAPTCHA_SETTINGS,\n useValue: {\n siteKey: '6Ld2gM8cAAAAAL7qr1pco_xydqg_gdd4GtVla7MC',\n } as RecaptchaSettings,\n },\n {\n provide: RECAPTCHA_BASE_URL,\n useValue: \"https://recaptcha.net/recaptcha/api.js\",\n },\n SpinnerService,\n ModalService, \n CanDeactivateGuard,\n { provide: MatSortHeaderIntl, useClass: CustomMatSortHeaderIntl },\n AccessibilityService,\n VersionCheckService,\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","module.exports = \"
\\n
\\n

Accommodation and welfare

\\n \\\"\\\"/\\n
\\n\\n
\\n\\n
\\n\\n
\\n
Please note that all fields marked with an (*) are required.
\\n
\\n\\n
\\n\\n
\\n

Accommodation and welfare

\\n {{getAccommodationWelfareMetaSectionDesc()}}\\n
\\n\\n
\\n
\\n
\\n
International students under 18 years of age must have appropriate accommodation and\\n welfare arrangements for the period of study in Australia. Students under 18 years must\\n have a suitable carer.
\\n
\\n
\\n
Please complete the Parent / Carer Details Section and School Program & Placement\\n Section to be able to fill-out this page.
\\n
\\n
\\n
Parents must nominate one of the following accommodation and\\n welfare options.
\\n
\\n
\\n
\\n\\n
\\n\\n
\\n
\\n \\n\\n
\\n
\\n Parent / Legal Custodian
\\n I, as a parent / legal custodian, will accompany the above mentioned student on a guardian visa.
\\n (Students in Kindergarten to Year 4 have to live with one or both parents) radio button checkedunchecked\\n
\\n
\\n
\\n {{parentErrorText}}
\\n
\\n
\\n\\n
\\n
\\n \\n\\n
\\n
\\n Direct Relative
\\n I nominate a Department of Home Affairs approved relative to provide accommodation,\\n welfare and airport reception.
\\n (If the student is applying for primary school, this option must be selected.\\n Students in Kindergarten to Year 4 must reside with a parent on a guardian visa.\\n Students in Years 5 to 8 must reside with a direct relative who can provide parental\\n care and supervision)radio button checkedunchecked\\n
\\n
\\n
\\n {{directRelativeErrorText}}
\\n
\\n
\\n\\n
\\n
\\n \\n\\n
\\n
\\n Parent Nomination
\\n I nominate a person over 25 years of age residing in NSW to provide accommodation,\\n welfare and airport reception. I request that NSW Department of Education approve\\n these arrangements as the welfare provider.
\\n (This option is only available for students applying for Years 9 to 11. Students in\\n Years 7 and 8 must reside with a direct relative who can provide parental care and\\n supervision) radio button checkedunchecked\\n
\\n
\\n
\\n {{parentNominationErrorText}}
\\n
\\n
\\n\\n
\\n
\\n\\n \\n\\n
\\n
\\n Homestay
\\n I request the NSW Department of Education to arrange accommodation, welfare and\\n airport reception.
\\n (This option is only available for students applying for Years 9 to 12. Students\\n will be placed in approved homestay accommodation) radio button checkedunchecked\\n
\\n
\\n Standard homestay is unavailable for Terms 2 and 3, 2024 for applications submitted from Monday 4 March, 2024. Standard homestay can be chosen for term 4, 2024.\\n
\\n
\\n
\\n
\\n\\n
\\n\\n
\\n Please note you are required to make a selection demonstrating which type of guardianship the\\n student will have while in NSW.\\n This section has been customised based on the students age and the information provided in the\\n Parent / Carer Details Section\\n
\\n\\n
\\n
\\n\\n\\n
0\\\" [@slideInOut]>\\n\\n
\\n

Carer Selection

\\n 2 of 2\\n
\\n\\n
\\n
\\n\\n \\n\\n
\\n
\\n \\n \\n \\n Please select a Carer\\n \\n \\n Please select a Carer\\n \\n \\n
\\n
\\n\\n\\n
\\n
\\n
\\n\\n\\n
\\n \\n \\n \\n
\\n\\n
\\n\\n
\\n\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n
Please resolve the following
\\n
press tab to reach first focusable element
\\n
\\n

The changes you have made on this page have affected other sections of this application.\\n Please review\\n the information provided on the incomplete pages so you are able to submit this application\\n

\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \".problems .problem .question .answer .choice .radioError {\\n font-style: normal;\\n color: #f00;\\n font-size: 14px;\\n margin-bottom: 30px; }\\n\\n.choice-checkbox span {\\n display: block; }\\n\\n.problems .problem .question .answer .choice-input {\\n max-width: 1200px; }\\n\\n.accommodation-options .accommodation-option {\\n -webkit-appearance: radio;\\n /* IE 9 */\\n -webkit-transform: scale(1.5);\\n /* Chrome, Safari, Opera */\\n transform: scale(1.5); }\\n\\n.accommodation-options .accommodation-option-text {\\n font-size: 2.8rem;\\n display: inline-block;\\n margin-left: 10px; }\\n\\n.accommodation-options .accommodation-option-subtext {\\n font-size: 1.8rem;\\n display: block;\\n margin-left: 10px; }\\n\\n.accommodation-options .accommodation-option-errortext {\\n font-size: 1.425rem;\\n display: block;\\n color: #f00; }\\n\\n.problems .problem .question .answer .choice.valid span.largeErrorMsg {\\n display: inline-block;\\n box-sizing: border-box;\\n margin-bottom: 50px; }\\n\\n.problems .problem .error {\\n font-size: 1.425rem;\\n color: #f00;\\n padding: 28px 50px 10px 30px; }\\n\\ninput:disabled {\\n pointer-events: none; }\\n\\n.no-padding-top {\\n padding-top: 0px !important; }\\n\\n.error-text {\\n color: #f00; }\\n\\n.modal-dialog {\\n margin-left: 40%; }\\n\\n.span-disabled {\\n pointer-events: none; }\\n\\ninput[type=\\\"radio\\\"]:disabled {\\n pointer-events: none;\\n cursor: auto; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vYWNjb21tb2RhdGlvbi13ZWxmYXJlL0Q6XFxhXFwxNTVcXHNcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5Qcm9kXFxEZWkuT25saW5lQXBwbGljYXRpb24uV2ViXFxvbmxpbmUtYXBwL3NyY1xcYXBwXFxhcHBsaWNhdGlvblxcYWNjb21tb2RhdGlvbi13ZWxmYXJlXFxhY2NvbW1vZGF0aW9uLXdlbGZhcmUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7RUFDSSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLGVBQWU7RUFDZixtQkFBbUIsRUFBQTs7QUFHdkI7RUFDSSxjQUFjLEVBQUE7O0FBR2xCO0VBQ0ksaUJBQWlCLEVBQUE7O0FBR3JCO0VBQ0kseUJBQXlCO0VBQ0UsU0FBQTtFQUMzQiw2QkFBNkI7RUFBRSwwQkFBQTtFQUMvQixxQkFBcUIsRUFBQTs7QUFHekI7RUFDSSxpQkFBaUI7RUFDakIscUJBQXFCO0VBQ3JCLGlCQUFpQixFQUFBOztBQUdyQjtFQUNJLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QsaUJBQWlCLEVBQUE7O0FBR3JCO0VBQ0ksbUJBQW1CO0VBQ25CLGNBQWM7RUFDZCxXQUFXLEVBQUE7O0FBR2Y7RUFDSSxxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLG1CQUFtQixFQUFBOztBQUd2QjtFQUNJLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsNEJBQTRCLEVBQUE7O0FBSWhDO0VBQ0ksb0JBQW9CLEVBQUE7O0FBR3hCO0VBQ0ksMkJBQTJCLEVBQUE7O0FBRy9CO0VBQ0ksV0FBVyxFQUFBOztBQUVmO0VBQ0ksZ0JBQWdCLEVBQUE7O0FBRXBCO0VBQ0ksb0JBQW9CLEVBQUE7O0FBRXhCO0VBQ0ksb0JBQW9CO0VBQ3BCLFlBQVksRUFBQSIsImZpbGUiOiJzcmMvYXBwL2FwcGxpY2F0aW9uL2FjY29tbW9kYXRpb24td2VsZmFyZS9hY2NvbW1vZGF0aW9uLXdlbGZhcmUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5jaG9pY2UgLnJhZGlvRXJyb3Ige1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgY29sb3I6ICNmMDA7ICBcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi5jaG9pY2UtY2hlY2tib3ggc3BhbiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5jaG9pY2UtaW5wdXQge1xyXG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XHJcbn1cclxuXHJcbi5hY2NvbW1vZGF0aW9uLW9wdGlvbnMgLmFjY29tbW9kYXRpb24tb3B0aW9uIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogcmFkaW87XHJcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjUpOyAvKiBJRSA5ICovXHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS41KTsgLyogQ2hyb21lLCBTYWZhcmksIE9wZXJhICovXHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XHJcbn1cclxuXHJcbi5hY2NvbW1vZGF0aW9uLW9wdGlvbnMgLmFjY29tbW9kYXRpb24tb3B0aW9uLXRleHQge1xyXG4gICAgZm9udC1zaXplOiAyLjhyZW07XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG5cclxuLmFjY29tbW9kYXRpb24tb3B0aW9ucyAuYWNjb21tb2RhdGlvbi1vcHRpb24tc3VidGV4dCB7XHJcbiAgICBmb250LXNpemU6IDEuOHJlbTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbi5hY2NvbW1vZGF0aW9uLW9wdGlvbnMgLmFjY29tbW9kYXRpb24tb3B0aW9uLWVycm9ydGV4dCB7XHJcbiAgICBmb250LXNpemU6IDEuNDI1cmVtO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBjb2xvcjogI2YwMDtcclxufVxyXG5cclxuLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5jaG9pY2UudmFsaWQgc3Bhbi5sYXJnZUVycm9yTXNnIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyBcclxufVxyXG5cclxuLnByb2JsZW1zIC5wcm9ibGVtIC5lcnJvciB7XHJcbiAgICBmb250LXNpemU6IDEuNDI1cmVtO1xyXG4gICAgY29sb3I6ICNmMDA7XHJcbiAgICBwYWRkaW5nOiAyOHB4IDUwcHggMTBweCAzMHB4O1xyXG59XHJcblxyXG5cclxuaW5wdXQ6ZGlzYWJsZWQge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi5uby1wYWRkaW5nLXRvcHtcclxuICAgIHBhZGRpbmctdG9wOiAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmVycm9yLXRleHQge1xyXG4gICAgY29sb3I6ICNmMDA7XHJcbn1cclxuLm1vZGFsLWRpYWxvZyB7XHJcbiAgICBtYXJnaW4tbGVmdDogNDAlO1xyXG59XHJcbi5zcGFuLWRpc2FibGVkIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZCB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIGN1cnNvcjogYXV0bztcclxufSJdfQ== */\"","import { Component, OnInit, AfterContentChecked, ViewChild, ElementRef } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { ApplicationService } from 'src/app/shared/services/application.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AccommodationWelfareDetails, Carer, AccommodationWelfareUpdateDetails } from '../models/accommodation-welfare-details';\nimport { ApiResponse, SingleResultApiResponse } from 'src/app/shared/models/api-response.model';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { Action_ApplicationSectionSaved } from '../state/actions';\nimport { ErrorResponse } from 'src/app/shared/models/error.model';\nimport { ModalService } from 'src/app/shared/services/modal.service';\nimport { Observable } from 'rxjs';\nimport { compareAccommodationDetails } from '../shared/utils/ModelUtils';\nimport { slideInOut } from '../animations/slideInOut';\nimport { FormService } from 'src/app/shared/services/form.service';\nimport { Title } from '@angular/platform-browser';\nimport { Tab_Title } from 'src/app/shared/models/lookup-data.model';\n\n@Component({\n selector: 'online-app-accommodation-welfare',\n templateUrl: './accommodation-welfare.component.html',\n styleUrls: ['./accommodation-welfare.component.scss'],\n host: {\n class: 'application-section-component'\n },\n animations: [slideInOut]\n})\nexport class AccommodationWelfareComponent implements OnInit, AfterContentChecked {\n\n accommodationWelfareFormGroup: FormGroup;\n applicationId: number;\n accommodationWelfareDetails: AccommodationWelfareDetails[] = [];\n selectedAccommodationTypeId = 0;\n Carers: Carer[] = [];\n isFormSubmitted = false;\n initialAccommodationWelfareDetails: AccommodationWelfareUpdateDetails;\n isSaveSuccessful = false;\n parentErrorText = '';\n directRelativeErrorText = '';\n parentNominationErrorText = '';\n isScrollDone = false;\n isSubmittedApplication = false;\n showChangeImpactModal: boolean = false;\n isHomestayDisablePeriod: boolean;\n\n\n errorKeyFormFieldMapping = [\n { apiErrorKeyName: 'AccommodationTypeId', formFieldName: 'accommodationTypeId', apiValidationErrorMsg: null } ,\n { apiErrorKeyName: 'SelectedCarerId', formFieldName: 'selectedCarerId', apiValidationErrorMsg: null },\n ];\n\n @ViewChild('resolve') resolve: ElementRef;\n\n constructor(private fb: FormBuilder,\n private router: Router,\n private store: Store,\n private modalService: ModalService,\n private formService: FormService,\n private activatedRoute: ActivatedRoute,\n private applicationService: ApplicationService, \n private titleService: Title) {\n this.activatedRoute.parent.params.subscribe( params => {\n this.applicationId = +params['id'];\n });\n }\n\n ngOnInit() {\n if(localStorage.getItem(\"isAgent\") == \"true\"){\n this.titleService.setTitle(Tab_Title.Agent_AccommodationAndWelfare_Title);\n }else{\n this.titleService.setTitle(Tab_Title.AccommodationAndWelfare_Title);\n }\n this.accommodationWelfareFormGroup = this.fb.group({\n accommodationTypeId: 0,\n selectedCarerId: 0\n });\n\n this.applicationService.getAccommodationWelfareDetails(this.applicationId)\n .subscribe( (response: ApiResponse) => {\n //console.log('response: ', response);\n this.accommodationWelfareDetails = response.Result;\n //console.log('this.accommodationWelfareDetails: ', this.accommodationWelfareDetails);\n this.updateFormValuesFromAccommodationDetails(this.accommodationWelfareDetails);\n this.initialAccommodationWelfareDetails = this.getAccommodationWelfareUpdateDetails();\n //console.log('getAccommodationWelfareDetails: ', this.initialAccommodationWelfareDetails);\n }, err => {\n console.error(err);\n });\n\n this.applicationService.getApplicationDetails(this.applicationId)\n .subscribe( (response: SingleResultApiResponse) => {\n if (response.Result) {\n\n this.isSubmittedApplication = response.Result.ApplicationStatus === 'Submitted';\n\n this.isHomestayDisablePeriod = response.Result.IsHomestayDisablePeriod;\n\n }\n }, err => {\n console.error(err);\n });\n\n }\n\n isNoAccommodationDetailsAvailable(): boolean {\n return this.accommodationWelfareDetails.length === 1 && this.accommodationWelfareDetails[0].AccommodationTypeId === 0;\n }\n\n updateAccommodationType(accommodationTypeId: number) {\n\n // if (this.isSubmittedApplication) {\n // return;\n // }\n\n //MN-11579 if T1/2 of 2024, do not let them select\n if (accommodationTypeId === 4 && this.isHomestayDisablePeriod)\n return;\n\n\n this.selectedAccommodationTypeId = accommodationTypeId;\n this.updateAvailableCarers(accommodationTypeId);\n\n this.accommodationWelfareFormGroup.patchValue({\n accommodationTypeId: accommodationTypeId\n });\n\n if (this.Carers.length === 0) {\n\n if (accommodationTypeId === 1 ) {\n this.parentErrorText = `You cannot select this option as you have NOT created a contact\n with any of the following relationships: Father or Mother.`;\n this.directRelativeErrorText = '';\n this.parentNominationErrorText = '';\n } else if (accommodationTypeId === 2 ) {\n this.parentErrorText = '';\n\n this.directRelativeErrorText = `You cannot select this option as you have NOT created a contact\n with any of the following relationships and with age 25 years and above based on the Program Start Date :\n Aunt, Brother, Grandparent, Nephew, Niece, Sister, Step - Aunt, Step - brother, Step - father, Step - Grandparent,\n Step - mother, Step - sister, Step - Uncle or Uncle. For information on who is considered a direct relative\n please refer to the Direct Relative Nomination form.`;\n\n this.parentNominationErrorText = '';\n } else if (accommodationTypeId === 3 ) {\n this.parentErrorText = '';\n this.directRelativeErrorText = '';\n this.parentNominationErrorText = `You cannot select this option as you have NOT created a contact with\n any of the following relationships: Brother-In-Law, Cousin, Family Friend, Other Family or Sister-in-law.\n If you intend to nominate an extended family member or a family friend to act as carer\n for this student, please ensure the person you nominate is 25 years and above.`;\n }\n\n } else { \n this.parentErrorText = '';\n this.directRelativeErrorText = '';\n this.parentNominationErrorText = '';\n }\n\n this.accommodationWelfareFormGroup.updateValueAndValidity();\n }\n\n updateAvailableCarers(selectedAccommodationTypeId: number) {\n\n const selectedAccommodationWelfare =\n this.accommodationWelfareDetails.find(awd => awd.AccommodationTypeId === selectedAccommodationTypeId);\n\n if (selectedAccommodationWelfare) {\n this.Carers = selectedAccommodationWelfare.Carers;\n } else {\n this.Carers = [];\n }\n\n const selectedCarerId = this.accommodationWelfareFormGroup.get('selectedCarerId').value;\n //console.log(`selectedCarerId:${selectedCarerId}`);\n\n this.accommodationWelfareFormGroup.patchValue({\n selectedCarerId: this.getSelectedCarer()\n });\n\n }\n\n getSelectedCarer(): number {\n\n const initialSelectedAccommodationType = this.accommodationWelfareDetails.find( awd => awd.IsSelected);\n\n if (initialSelectedAccommodationType) {\n const initialSelectedCarerId = initialSelectedAccommodationType.SelectedCarerId;\n\n const selectedCarer = this.Carers.find( c => c.CarerId === initialSelectedCarerId);\n\n if (selectedCarer) {\n return selectedCarer.CarerId;\n }\n }\n\n return 0;\n\n }\n\n getAccommodationWelfareMetaSectionDesc(): string {\n return this.Carers && this.Carers.length > 0 ? '1 of 2' : '1 of 1';\n }\n\n previous() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'parent-guardian-details']);\n }\n next() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'visa-oshc']);\n }\n\n getCarerMetaDescription(carerId: number): string {\n\n let carerMetaDescription = '';\n\n const carer = this.Carers.find(c => c.CarerId === carerId);\n\n if (carer) {\n if(carer.FamilyName){\n carerMetaDescription = `${carer.Description} - ${carer.FamilyName}, ${carer.GivenName}`;\n }else{\n carerMetaDescription = `${carer.Description} - ${carer.GivenName}`;\n }\n }\n\n return carerMetaDescription;\n }\n\n getAccommodationWelfareUpdateDetails(): AccommodationWelfareUpdateDetails {\n\n const accommodationWelfareUpdateDetails = new AccommodationWelfareUpdateDetails();\n\n accommodationWelfareUpdateDetails.AccommodationTypeId = this.accommodationWelfareFormGroup.get('accommodationTypeId').value;\n accommodationWelfareUpdateDetails.SelectedCarerId = this.accommodationWelfareFormGroup.get('selectedCarerId').value;\n\n\n return accommodationWelfareUpdateDetails;\n }\n\n setApiValidationError(apiErrorKeyName: string, apiErrorMsg): void {\n //console.log(`In setApiValidationError.apiErrorKeyName: ${apiErrorKeyName}, apiErrorMsg:${apiErrorMsg}`);\n const errorField = this.errorKeyFormFieldMapping.find( errorKeyFormField => errorKeyFormField.apiErrorKeyName === apiErrorKeyName);\n\n if (errorField) {\n const { formFieldName } = errorField;\n this.accommodationWelfareFormGroup.get(formFieldName).setErrors({apiValidationError : true});\n errorField.apiValidationErrorMsg = apiErrorMsg;\n }\n\n }\n\n updateFormValuesFromAccommodationDetails(accommodationWelfareDetails: AccommodationWelfareDetails[]): void {\n const selectedAccommodationDetail = accommodationWelfareDetails.find( awd => awd.IsSelected);\n\n if (selectedAccommodationDetail) {\n this.updateAccommodationType(selectedAccommodationDetail.AccommodationTypeId);\n\n const selectedCarerId = selectedAccommodationDetail.SelectedCarerId;\n\n this.accommodationWelfareFormGroup.patchValue({\n selectedCarerId\n });\n\n this.accommodationWelfareFormGroup.updateValueAndValidity();\n }\n\n }\n\n canDeactivate(): Observable | boolean {\n\n if (this.isSaveSuccessful) {\n return true;\n }\n\n if (!this.isAccommodationWelfareDetailsSame()) {\n this.modalService.showModal();\n return this.modalService.stayOnThePage;\n } else {\n this.modalService.hideModal();\n return true;\n }\n }\n\n\n isAccommodationWelfareDetailsSame(): boolean {\n\n const currentAccommodationWelfareDetails = this.getAccommodationWelfareUpdateDetails();\n const initialAccommodationWelfareDetails = this.initialAccommodationWelfareDetails;\n\n const isAccommodationWelfareDetailsSame =\n compareAccommodationDetails(initialAccommodationWelfareDetails, currentAccommodationWelfareDetails);\n\n return isAccommodationWelfareDetailsSame;\n }\n\n saveAndContinue() {\n this.isFormSubmitted = true;\n\n const accommodationWelfareUpdateDetails = this.getAccommodationWelfareUpdateDetails();\n\n this.applicationService.updateAccommodationWelfareDetails(this.applicationId, accommodationWelfareUpdateDetails)\n .subscribe( (response: SingleResultApiResponse) => {\n this.dispatchSectionSaveAction();\n this.isSaveSuccessful = true;\n\n if(response.Result){\n this.showChangeImpactModal = response.Result.IsAccommodationStatusChanged;\n }\n if(this.showChangeImpactModal === false){\n this.router.navigate(['/applications', this.applicationId, 'edit', 'visa-oshc']);\n }else{\n setTimeout(() => {\n this.resolve.nativeElement.focus();\n }, 100);\n }\n\n }, (errorResponse: ErrorResponse) => {\n const { errors } = errorResponse;\n for (const error of errors) {\n this.setApiValidationError(error.Key, error.Value);\n }\n this.accommodationWelfareFormGroup.updateValueAndValidity();\n this.dispatchSectionSaveAction();\n this.initialAccommodationWelfareDetails = this.getAccommodationWelfareUpdateDetails();\n this.isScrollDone = false;\n this.formService.scrollToFirstErrorField();\n });\n\n }\n\n ngAfterContentChecked(): void {\n if (!this.isScrollDone) {\n this.isScrollDone = this.formService.scrollToFirstErrorField();\n }\n }\n\n\n\n getApiValidationErrorMsg(formFieldName: string): string {\n const errorField = this.errorKeyFormFieldMapping.find( errorKeyFormField => errorKeyFormField.formFieldName === formFieldName);\n return errorField.apiValidationErrorMsg ? errorField.apiValidationErrorMsg : '';\n }\n\n\n dispatchSectionSaveAction() {\n this.store.dispatch({\n type: Action_ApplicationSectionSaved\n });\n }\n\n displayChangeImpactModal(): boolean {\n return this.showChangeImpactModal;\n }\n\n closeChangeImpactModal() {\n this.showChangeImpactModal = false;\n this.router.navigate(['/applications', this.applicationId, 'edit', 'visa-oshc']);\n }\n\n //accessibility -- link error msg to form field\n errorDoubleErrorAccessibility(formControlName: string, requireErrorId: string, apiErrorId: string): string {\n if (this.isFormSubmitted &&\n this.accommodationWelfareFormGroup.get(formControlName).errors &&\n this.accommodationWelfareFormGroup.get(formControlName).errors.required) {\n return requireErrorId;\n } else if (this.isFormSubmitted &&\n this.accommodationWelfareFormGroup.get(formControlName).errors &&\n this.accommodationWelfareFormGroup.get(formControlName).errors.apiValidationError) {\n return apiErrorId;\n } else {\n return \"\";\n }\n }\n \n\n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n 0)\\\" matSort\\r\\n [matSortActive]=\\\"sharedService.dashboardSortColumn\\\" [matSortDirection]=\\\"sharedService.dashboardsortDirection\\\"\\r\\n matSortDisableClear>\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
Student No.{{row.StudentNumber}}Application No.{{row.ApplicationNumber}}Given Name{{row.GivenName}}Family Name{{row.FamilyName}}Application Status{{row.ApplicationStatusCode}}Date Created{{row.CreatedDate | utcdate: 'defaultdate'}}Last Modified{{row.ModifiedDate | utcdate: 'defaultdate'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n No applications matching the search criteria found.\\r\\n
\\r\\n
0)\\\">\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n
IMPORTANT:
\\r\\n

Please note that an application will only remain valid for {{ applicationExpiryOffsetDays || 90 }} days from\\r\\n the date of creation. If an application is not submitted within that period it will automatically be deleted.\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

No Applications

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
You don't have any applications. Please click \\\"New Application\\\" button to create new application
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Please resolve the following
\\r\\n
press tab to reach first focusable element
\\r\\n
\\r\\n
\\r\\n
{{dataValidationErrorMsg}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n OK\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Cannot create application
\\r\\n
press tab to reach first focusable element
\\r\\n
\\r\\n

{{errorMessage}}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".problems.no-applications-message-container {\\n padding: 0px 0px; }\\n .problems.no-applications-message-container .problem .pro-title {\\n padding: 1rem 2rem; }\\n .problems.no-applications-message-container .problem .pro-title h3 {\\n font-size: 1.71rem; }\\n .problems.no-applications-message-container .problem .pro-title .heading3 {\\n font-size: 1.71rem; }\\n .problems.no-applications-message-container .problem .question .answer h4 {\\n font-size: 1.425rem;\\n padding-bottom: 2rem; }\\n .problems.no-applications-message-container .problem .question .answer .heading4 {\\n font-size: 1.425rem;\\n padding-bottom: 2rem; }\\n .new-appln-btn-div button {\\n padding: 0.8rem 2rem;\\n font-size: 1.425rem;\\n color: white;\\n background-color: #40806a;\\n transition: all .3s;\\n border: 1px solid transparent;\\n border-radius: 2px;\\n float: right;\\n cursor: pointer; }\\n .search-div {\\n width: calc(100% - 2rem); }\\n .search-div span.search-input {\\n display: inline-block;\\n font-size: 2rem;\\n border: 1px solid #007faa;\\n border-radius: 5px;\\n transition: all .2s;\\n width: 52rem;\\n position: relative; }\\n .search-div span.search-input .fa-search {\\n margin-left: 1rem;\\n font-size: 1.6rem; }\\n .search-div span.search-input:hover {\\n transition: all .2s;\\n box-shadow: 0 3px 10px 0px #D8D8D8; }\\n .search-div span.search-input input {\\n width: calc(100% - 2.6rem);\\n padding: 0.8rem 2rem 0.8rem 1rem;\\n font-size: 1.6rem; }\\n .search-div span.search-input .btn-clear-search {\\n display: inline-block;\\n background-color: #51799B;\\n color: white;\\n font-size: 1.2rem;\\n border-radius: 1.3rem;\\n padding: 0.3565rem 0.55rem;\\n line-height: 1rem;\\n position: absolute;\\n top: 0.75rem;\\n right: 1.6rem; }\\n .search-div span.search-input .btn-clear-search:hover {\\n background-color: #46466E; }\\n .search-div span.search-input .btn-clear-search:focus {\\n box-shadow: 0 0 0 0.2rem black !important; }\\n :host ::ng-deep .paginator-outer-container {\\n border: 1px solid #e3ebeb;\\n border-top: none; }\\n :host ::ng-deep .paginator-outer-container mat-paginator .mat-paginator-container {\\n justify-content: space-between; }\\n .modal-dialog {\\n margin-left: 40%; }\\n .table-block .table-content .table,\\n.table-block .table-content .mat-table,\\n.table-block .table-content [mat-table],\\n.table-block .table-content [matsort] {\\n border: 1px solid #E3EBEB;\\n background-color: #fff;\\n margin-bottom: 0; }\\n .table-block .table-content .table tbody tr,\\n .table-block .table-content .table tbody tr.mat-row,\\n .table-block .table-content .table tbody [mat-row],\\n .table-block .table-content .mat-table tbody tr,\\n .table-block .table-content .mat-table tbody tr.mat-row,\\n .table-block .table-content .mat-table tbody [mat-row],\\n .table-block .table-content [mat-table] tbody tr,\\n .table-block .table-content [mat-table] tbody tr.mat-row,\\n .table-block .table-content [mat-table] tbody [mat-row],\\n .table-block .table-content [matsort] tbody tr,\\n .table-block .table-content [matsort] tbody tr.mat-row,\\n .table-block .table-content [matsort] tbody [mat-row] {\\n cursor: pointer; }\\n .table-block .table-content .table tbody tr:nth-child(even),\\n .table-block .table-content .table tbody tr.mat-row:nth-child(even),\\n .table-block .table-content .table tbody [mat-row]:nth-child(even),\\n .table-block .table-content .mat-table tbody tr:nth-child(even),\\n .table-block .table-content .mat-table tbody tr.mat-row:nth-child(even),\\n .table-block .table-content .mat-table tbody [mat-row]:nth-child(even),\\n .table-block .table-content [mat-table] tbody tr:nth-child(even),\\n .table-block .table-content [mat-table] tbody tr.mat-row:nth-child(even),\\n .table-block .table-content [mat-table] tbody [mat-row]:nth-child(even),\\n .table-block .table-content [matsort] tbody tr:nth-child(even),\\n .table-block .table-content [matsort] tbody tr.mat-row:nth-child(even),\\n .table-block .table-content [matsort] tbody [mat-row]:nth-child(even) {\\n background: #fbfbfb; }\\n .table-block .table-content .table tbody tr:hover,\\n .table-block .table-content .table tbody tr.mat-row:hover,\\n .table-block .table-content .table tbody [mat-row]:hover,\\n .table-block .table-content .mat-table tbody tr:hover,\\n .table-block .table-content .mat-table tbody tr.mat-row:hover,\\n .table-block .table-content .mat-table tbody [mat-row]:hover,\\n .table-block .table-content [mat-table] tbody tr:hover,\\n .table-block .table-content [mat-table] tbody tr.mat-row:hover,\\n .table-block .table-content [mat-table] tbody [mat-row]:hover,\\n .table-block .table-content [matsort] tbody tr:hover,\\n .table-block .table-content [matsort] tbody tr.mat-row:hover,\\n .table-block .table-content [matsort] tbody [mat-row]:hover {\\n background-color: #FFFBEF; }\\n .table-block .table-content .table tbody tr td,\\n .table-block .table-content .table tbody tr.mat-row td,\\n .table-block .table-content .table tbody [mat-row] td,\\n .table-block .table-content .mat-table tbody tr td,\\n .table-block .table-content .mat-table tbody tr.mat-row td,\\n .table-block .table-content .mat-table tbody [mat-row] td,\\n .table-block .table-content [mat-table] tbody tr td,\\n .table-block .table-content [mat-table] tbody tr.mat-row td,\\n .table-block .table-content [mat-table] tbody [mat-row] td,\\n .table-block .table-content [matsort] tbody tr td,\\n .table-block .table-content [matsort] tbody tr.mat-row td,\\n .table-block .table-content [matsort] tbody [mat-row] td {\\n padding: 1.4rem 0.8rem; }\\n .table-block .table-content .table tbody tr td a,\\n .table-block .table-content .table tbody tr.mat-row td a,\\n .table-block .table-content .table tbody [mat-row] td a,\\n .table-block .table-content .mat-table tbody tr td a,\\n .table-block .table-content .mat-table tbody tr.mat-row td a,\\n .table-block .table-content .mat-table tbody [mat-row] td a,\\n .table-block .table-content [mat-table] tbody tr td a,\\n .table-block .table-content [mat-table] tbody tr.mat-row td a,\\n .table-block .table-content [mat-table] tbody [mat-row] td a,\\n .table-block .table-content [matsort] tbody tr td a,\\n .table-block .table-content [matsort] tbody tr.mat-row td a,\\n .table-block .table-content [matsort] tbody [mat-row] td a {\\n cursor: pointer;\\n color: #646e6e; }\\n .table-block .table-content .table tbody tr td a:hover,\\n .table-block .table-content .table tbody tr.mat-row td a:hover,\\n .table-block .table-content .table tbody [mat-row] td a:hover,\\n .table-block .table-content .mat-table tbody tr td a:hover,\\n .table-block .table-content .mat-table tbody tr.mat-row td a:hover,\\n .table-block .table-content .mat-table tbody [mat-row] td a:hover,\\n .table-block .table-content [mat-table] tbody tr td a:hover,\\n .table-block .table-content [mat-table] tbody tr.mat-row td a:hover,\\n .table-block .table-content [mat-table] tbody [mat-row] td a:hover,\\n .table-block .table-content [matsort] tbody tr td a:hover,\\n .table-block .table-content [matsort] tbody tr.mat-row td a:hover,\\n .table-block .table-content [matsort] tbody [mat-row] td a:hover {\\n color: #46466E; }\\n .table-block .table-content .table tr th,\\n .table-block .table-content .mat-table tr th,\\n .table-block .table-content [mat-table] tr th,\\n .table-block .table-content [matsort] tr th {\\n font-weight: bold;\\n font-size: 16px; }\\n .table-block .table-content .table tr th:first-child, .table-block .table-content .table tr th.mat-column-StudentNumber,\\n .table-block .table-content .mat-table tr th:first-child,\\n .table-block .table-content .mat-table tr th.mat-column-StudentNumber,\\n .table-block .table-content [mat-table] tr th:first-child,\\n .table-block .table-content [mat-table] tr th.mat-column-StudentNumber,\\n .table-block .table-content [matsort] tr th:first-child,\\n .table-block .table-content [matsort] tr th.mat-column-StudentNumber {\\n width: 14rem; }\\n .table-block .table-content .table tr th.mat-column-ApplicationNumber,\\n .table-block .table-content .mat-table tr th.mat-column-ApplicationNumber,\\n .table-block .table-content [mat-table] tr th.mat-column-ApplicationNumber,\\n .table-block .table-content [matsort] tr th.mat-column-ApplicationNumber {\\n width: 16rem; }\\n .table-block .table-content .table tr th.mat-column-GivenName, .table-block .table-content .table tr th.mat-column-FamilyName,\\n .table-block .table-content .mat-table tr th.mat-column-GivenName,\\n .table-block .table-content .mat-table tr th.mat-column-FamilyName,\\n .table-block .table-content [mat-table] tr th.mat-column-GivenName,\\n .table-block .table-content [mat-table] tr th.mat-column-FamilyName,\\n .table-block .table-content [matsort] tr th.mat-column-GivenName,\\n .table-block .table-content [matsort] tr th.mat-column-FamilyName {\\n width: calc(50% - 27rem); }\\n .table-block .table-content .table tr th.mat-column-ApplicationStatusCode,\\n .table-block .table-content .mat-table tr th.mat-column-ApplicationStatusCode,\\n .table-block .table-content [mat-table] tr th.mat-column-ApplicationStatusCode,\\n .table-block .table-content [matsort] tr th.mat-column-ApplicationStatusCode {\\n width: 20rem; }\\n .table-block .table-content .table tr th.mat-column-CreatedDate, .table-block .table-content .table tr th.mat-column-ModifiedDate,\\n .table-block .table-content .mat-table tr th.mat-column-CreatedDate,\\n .table-block .table-content .mat-table tr th.mat-column-ModifiedDate,\\n .table-block .table-content [mat-table] tr th.mat-column-CreatedDate,\\n .table-block .table-content [mat-table] tr th.mat-column-ModifiedDate,\\n .table-block .table-content [matsort] tr th.mat-column-CreatedDate,\\n .table-block .table-content [matsort] tr th.mat-column-ModifiedDate {\\n width: 14rem; }\\n .table-block .table-content .table tr th.mat-column-ActionMenu,\\n .table-block .table-content .mat-table tr th.mat-column-ActionMenu,\\n .table-block .table-content [mat-table] tr th.mat-column-ActionMenu,\\n .table-block .table-content [matsort] tr th.mat-column-ActionMenu {\\n width: 6rem; }\\n .new-appln-error {\\n font-size: 1.8rem;\\n color: #DB0A5B; }\\n .important-message {\\n padding-top: 2rem;\\n padding-left: 0.9rem;\\n color: #46466E; }\\n .important-message h4 {\\n font-weight: bold; }\\n .important-message .heading4 {\\n font-weight: bold; }\\n .word-break-all {\\n word-break: break-all; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vYWdlbnQtZGFzaGJvYXJkL0Q6XFxhXFwxNTVcXHNcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5Qcm9kXFxEZWkuT25saW5lQXBwbGljYXRpb24uV2ViXFxvbmxpbmUtYXBwL3NyY1xcYXBwXFxhcHBsaWNhdGlvblxcYWdlbnQtZGFzaGJvYXJkXFxhZ2VudC1kYXNoYm9hcmQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxnQkFBZ0IsRUFBQTtFQURsQjtJQUtNLGtCQUFrQixFQUFBO0VBTHhCO01BUVEsa0JBQWtCLEVBQUE7RUFSMUI7TUFZUSxrQkFBa0IsRUFBQTtFQVoxQjtJQW1CVSxtQkFBbUI7SUFDbkIsb0JBQW9CLEVBQUE7RUFwQjlCO0lBd0JVLG1CQUFtQjtJQUNuQixvQkFBb0IsRUFBQTtFQWE5QjtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFFbkIsWUFBWTtFQUNaLHlCQUF5QjtFQUN6QixtQkFBbUI7RUFDbkIsNkJBQTZCO0VBQzdCLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osZUFBZSxFQUFBO0VBR2pCO0VBQ0Usd0JBQXdCLEVBQUE7RUFEMUI7SUFJSSxxQkFBcUI7SUFDckIsZUFBZTtJQUNmLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixrQkFBa0IsRUFBQTtFQVZ0QjtNQWNNLGlCQUFpQjtNQUNqQixpQkFBaUIsRUFBQTtFQWZ2QjtNQW1CTSxtQkFBbUI7TUFDbkIsa0NBQWtDLEVBQUE7RUFwQnhDO01Bd0JNLDBCQUEwQjtNQUMxQixnQ0FBZ0M7TUFDaEMsaUJBQWlCLEVBQUE7RUExQnZCO01BOEJNLHFCQUFxQjtNQUNyQix5QkFBeUI7TUFDekIsWUFBWTtNQUNaLGlCQUFpQjtNQUNqQixxQkFBcUI7TUFDckIsMEJBQTBCO01BQzFCLGlCQUFpQjtNQUNqQixrQkFBa0I7TUFDbEIsWUFBWTtNQUNaLGFBQWEsRUFBQTtFQXZDbkI7UUEwQ1EseUJBQXlCLEVBQUE7RUExQ2pDO01BK0NNLHlDQUF5QyxFQUFBO0VBTS9DO0VBT00seUJBQW9DO0VBQ3BDLGdCQUFnQixFQUFBO0VBUnRCO0lBWVUsOEJBQThCLEVBQUE7RUFPeEM7RUFDRSxnQkFBZ0IsRUFBQTtFQWNsQjs7OztFQU9NLHlCQUF5QjtFQUN6QixzQkFBc0I7RUFDdEIsZ0JBQWdCLEVBQUE7RUFUdEI7Ozs7Ozs7Ozs7OztJQWVVLGVBQWUsRUFBQTtFQWZ6Qjs7Ozs7Ozs7Ozs7O01Ba0JZLG1CQUFtQixFQUFBO0VBbEIvQjs7Ozs7Ozs7Ozs7O01Bc0JZLHlCQUF5QixFQUFBO0VBdEJyQzs7Ozs7Ozs7Ozs7O01BMEJZLHNCQUFzQixFQUFBO0VBMUJsQzs7Ozs7Ozs7Ozs7O1FBNkJjLGVBQWU7UUFDZixjQUFjLEVBQUE7RUE5QjVCOzs7Ozs7Ozs7Ozs7VUFpQ2dCLGNBQWMsRUFBQTtFQWpDOUI7Ozs7SUEwQ1UsaUJBQWlCO0lBQ2pCLGVBQWUsRUFBQTtFQTNDekI7Ozs7Ozs7TUErQ1ksWUFBWSxFQUFBO0VBL0N4Qjs7OztNQW1EWSxZQUFZLEVBQUE7RUFuRHhCOzs7Ozs7O01Bd0RZLHdCQUF3QixFQUFBO0VBeERwQzs7OztNQTREWSxZQUFZLEVBQUE7RUE1RHhCOzs7Ozs7O01BaUVZLFlBQVksRUFBQTtFQWpFeEI7Ozs7TUFxRVksV0FBVyxFQUFBO0VBUXZCO0VBQ0UsaUJBQWlCO0VBQ2pCLGNBQWMsRUFBQTtFQUdoQjtFQUNFLGlCQUFpQjtFQUNqQixvQkFBb0I7RUFDcEIsY0FBYyxFQUFBO0VBSGhCO0lBTUksaUJBQWlCLEVBQUE7RUFOckI7SUFVSSxpQkFBaUIsRUFBQTtFQUlyQjtFQUNFLHFCQUFvQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvYXBwbGljYXRpb24vYWdlbnQtZGFzaGJvYXJkL2FnZW50LWRhc2hib2FyZC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5wcm9ibGVtcy5uby1hcHBsaWNhdGlvbnMtbWVzc2FnZS1jb250YWluZXIge1xyXG4gIHBhZGRpbmc6IDBweCAwcHg7XHJcblxyXG4gIC5wcm9ibGVtIHtcclxuICAgIC5wcm8tdGl0bGUge1xyXG4gICAgICBwYWRkaW5nOiAxcmVtIDJyZW07XHJcblxyXG4gICAgICBoMyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjcxcmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuaGVhZGluZzN7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjcxcmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnF1ZXN0aW9uIHtcclxuICAgICAgLmFuc3dlciB7XHJcbiAgICAgICAgaDQge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxLjQyNXJlbTtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmhlYWRpbmc0IHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS40MjVyZW07XHJcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIC5uZXctYXBwbG4tYnRuLWRpdiB7XHJcbi8vICAgLy8gbWFyZ2luOiA1cHg7XHJcbi8vICAgLy8gZGlzcGxheTogYmxvY2s7XHJcbi8vICAgLy8gbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbi8vIH1cclxuXHJcbi5uZXctYXBwbG4tYnRuLWRpdiBidXR0b24ge1xyXG4gIHBhZGRpbmc6IDAuOHJlbSAycmVtO1xyXG4gIGZvbnQtc2l6ZTogMS40MjVyZW07XHJcbiAgLy8gbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQwODA2YTtcclxuICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICBmbG9hdDogcmlnaHQ7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uc2VhcmNoLWRpdiB7XHJcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pO1xyXG5cclxuICBzcGFuLnNlYXJjaC1pbnB1dCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA3ZmFhO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycztcclxuICAgIHdpZHRoOiA1MnJlbTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAuZmEtc2VhcmNoIHtcclxuICAgICAgLy8gbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICAgICAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggMHB4ICNEOEQ4RDg7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXQge1xyXG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMi42cmVtKTtcclxuICAgICAgcGFkZGluZzogMC44cmVtIDJyZW0gMC44cmVtIDFyZW07XHJcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5idG4tY2xlYXItc2VhcmNoIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTE3OTlCO1xyXG4gICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxLjNyZW07XHJcbiAgICAgIHBhZGRpbmc6IDAuMzU2NXJlbSAwLjU1cmVtO1xyXG4gICAgICBsaW5lLWhlaWdodDogMXJlbTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDAuNzVyZW07XHJcbiAgICAgIHJpZ2h0OiAxLjZyZW07XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDY0NjZFO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJ0bi1jbGVhci1zZWFyY2g6Zm9jdXN7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSBibGFjayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbjpob3N0IHtcclxuICAvLyBoZWlnaHQ6IDEwMCU7XHJcbiAgLy8gZGlzcGxheTogYmxvY2s7XHJcbiAgLy8gb3ZlcmZsb3c6IGF1dG87XHJcblxyXG4gIDo6bmctZGVlcCB7XHJcbiAgICAucGFnaW5hdG9yLW91dGVyLWNvbnRhaW5lciB7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYigyMjcsIDIzNSwgMjM1KTtcclxuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuXHJcbiAgICAgIG1hdC1wYWdpbmF0b3Ige1xyXG4gICAgICAgIC5tYXQtcGFnaW5hdG9yLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubW9kYWwtZGlhbG9nIHtcclxuICBtYXJnaW4tbGVmdDogNDAlO1xyXG59XHJcblxyXG4vLyAuZGFzaGJvYXJkIHtcclxuLy8gICAvLyBtYXgtaGVpZ2h0OiA3NjBweDtcclxuLy8gICAvLyBkaXNwbGF5OiBibG9jaztcclxuLy8gICAvLyBvdmVyZmxvdzogYXV0bztcclxuLy8gfVxyXG5cclxuXHJcbi8vIHRib2R5IHRyIHtcclxuLy8gICAgIGN1cnNvcjogcG9pbnRlcjtcclxuLy8gfVxyXG5cclxuLnRhYmxlLWJsb2NrIHtcclxuICAudGFibGUtY29udGVudCB7XHJcblxyXG4gICAgLnRhYmxlLFxyXG4gICAgLm1hdC10YWJsZSxcclxuICAgIFttYXQtdGFibGVdLFxyXG4gICAgW21hdHNvcnRdIHtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0UzRUJFQjtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICAgIHRib2R5IHtcclxuICAgICAgICB0cixcclxuICAgICAgICB0ci5tYXQtcm93LFxyXG4gICAgICAgIFttYXQtcm93XSB7XHJcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmJmYmZiO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGQkVGO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMS40cmVtIDAuOHJlbTtcclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICBjb2xvcjogIzY0NmU2ZTtcclxuXHJcbiAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzQ2NDY2RTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0gICAgICBcclxuXHJcbiAgICAgIHRyIHtcclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuXHJcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkLFxyXG4gICAgICAgICAgJi5tYXQtY29sdW1uLVN0dWRlbnROdW1iZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTRyZW07XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJi5tYXQtY29sdW1uLUFwcGxpY2F0aW9uTnVtYmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE2cmVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYubWF0LWNvbHVtbi1HaXZlbk5hbWUsXHJcbiAgICAgICAgICAmLm1hdC1jb2x1bW4tRmFtaWx5TmFtZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDI3cmVtKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmLm1hdC1jb2x1bW4tQXBwbGljYXRpb25TdGF0dXNDb2RlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIwcmVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYubWF0LWNvbHVtbi1DcmVhdGVkRGF0ZSxcclxuICAgICAgICAgICYubWF0LWNvbHVtbi1Nb2RpZmllZERhdGUge1xyXG4gICAgICAgICAgICB3aWR0aDogMTRyZW07XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJi5tYXQtY29sdW1uLUFjdGlvbk1lbnUge1xyXG4gICAgICAgICAgICB3aWR0aDogNnJlbTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5uZXctYXBwbG4tZXJyb3Ige1xyXG4gIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gIGNvbG9yOiAjREIwQTVCO1xyXG59XHJcblxyXG4uaW1wb3J0YW50LW1lc3NhZ2Uge1xyXG4gIHBhZGRpbmctdG9wOiAycmVtO1xyXG4gIHBhZGRpbmctbGVmdDogMC45cmVtO1xyXG4gIGNvbG9yOiAjNDY0NjZFO1xyXG5cclxuICBoNCB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICB9XHJcblxyXG4gIC5oZWFkaW5nNCB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICB9XHJcbn1cclxuXHJcbi53b3JkLWJyZWFrLWFsbHtcclxuICB3b3JkLWJyZWFrOmJyZWFrLWFsbDtcclxufVxyXG5cclxuLy8gQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCl7XHJcbi8vICAgLmRhc2hib2FyZHtcclxuLy8gICAgIG1heC13aWR0aDogNzUwcHg7XHJcbi8vICAgICBtYXgtaGVpZ2h0OiAyNjFweDtcclxuLy8gICB9XHJcbi8vIH1cclxuIl19 */\"","import { Component, OnInit, OnDestroy, AfterViewInit, ViewChild, ElementRef } from '@angular/core';\nimport { MatSort, MatPaginator } from '@angular/material';\nimport { Router } from '@angular/router';\nimport { ModalService } from 'src/app/shared/services/modal.service';\nimport { ApplicationService } from 'src/app/shared/services/application.service';\nimport { SharedService } from 'src/app/shared/services/shared.service';\nimport { Store, select } from '@ngrx/store';\nimport { Subscription, fromEvent, merge, forkJoin } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { Application } from '../models/application';\nimport { Action_SetCurrentApplication } from '../state/actions';\nimport { ApiResponse } from 'src/app/shared/models/api-response.model';\nimport { FormControl } from '@angular/forms';\nimport { ErrorResponse } from 'src/app/shared/models/error.model';\nimport { Title } from '@angular/platform-browser';\nimport { Tab_Title } from '../../shared/models/lookup-data.model';\n\n\n@Component({\n selector: 'online-app-agent-dashboard',\n templateUrl: './agent-dashboard.component.html',\n styleUrls: ['./agent-dashboard.component.scss'],\n host: {\n class:'full-view-port-component-with-no-side-nav dashboard-specific'\n }\n})\nexport class AgentDashboardComponent implements OnInit, AfterViewInit, OnDestroy {\n\n public displayedColumns: string[] = ['StudentNumber', 'ApplicationNumber', 'GivenName', 'FamilyName',\n 'ApplicationStatus', 'CreatedDate', 'ModifiedDate', 'ActionMenu'];\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatSort) sort: MatSort;\n @ViewChild('clearSearchButton') clearSearchButton: ElementRef;\n @ViewChild('resolve') resolve: ElementRef;\n @ViewChild('createApplication') createApplication: ElementRef;\n\n searchInput: FormControl;\n\n constructor(private router: Router,\n private modalService: ModalService,\n private applicationService: ApplicationService,\n public sharedService: SharedService,\n private store: Store,\n private titleService: Title) {\n this.titleService.setTitle(Tab_Title.Agent_Dashboard_Title);\n }\n\n currentUser: any;\n\n storeSubscription: Subscription;\n subscriptions: Subscription[] = [];\n applications: Application[] = [];\n filteredApplications: Application[] = [];\n pagedSortedApplications: Application[] = [];\n gotApplicationStatuses = false;\n applnIdToBeDeleted = 0;\n\n showDataValidationErrorModal = false;\n dataValidationErrorMsgs = [];\n\n isVisaExpired = false;\n isOSHCExpired = false;\n isStartTermInvalid = false;\n\n applicationId = 0;\n errorModal = false;\n errorMessage = '';\n\n ngOnInit() {\n this.searchInput = new FormControl(this.sharedService.dashboardSearchTerm);\n\n this.getApplicationStatuses();\n\n this.subscriptions.push(this.store.pipe(select('shared'))\n .subscribe(sharedState => {\n if (sharedState) {\n this.currentUser = sharedState.currentUser;\n } else {\n this.currentUser = null;\n }\n }));\n\n this.subscriptions.push(this.modalService.allowDelete.subscribe(allowDelete => {\n if (allowDelete && this.applnIdToBeDeleted > 0) {\n this.subscriptions.push(this.applicationService.deleteApplication(this.applnIdToBeDeleted)\n .subscribe(response => {\n this.getApplicationStatuses();\n }, err => console.error(err)));\n } else {\n this.applnIdToBeDeleted = 0;\n }\n }));\n }\n\n ngAfterViewInit() {\n\n const clearSearchBtnClick$ = fromEvent(this.clearSearchButton.nativeElement, 'click'); // listen for clicks\n const searchInput$ = this.searchInput.valueChanges\n .pipe(debounceTime(200));\n\n this.subscriptions.push(\n clearSearchBtnClick$.subscribe(() => {\n this.searchInput.setValue('');\n this.paginator.pageIndex = 0;\n })\n );\n \n this.subscriptions.push(this.sort.sortChange.subscribe(() => this.paginator.pageIndex = 0));\n\n this.subscriptions.push(\n merge(this.sort.sortChange, this.paginator.page, searchInput$, clearSearchBtnClick$)\n .subscribe(() => {\n this.filterSortAndPaginate();\n })\n );\n }\n\n getApplicationStatuses() {\n this.subscriptions.push(this.applicationService.getApplicationStatuses()\n .subscribe((response: ApiResponse) => {\n if (response.Errors && response.Errors.length > 0) {\n //console.log(`Error: ${response.Errors}`);\n } else if (response.Result) {\n this.applications = response.Result;\n this.filterSortAndPaginate();\n }\n }, (error: any) => {\n console.log(error);\n }, () => {\n this.gotApplicationStatuses = true;\n }));\n }\n\n\n filterSortAndPaginate() {\n if (!this.applications || !this.applications.length) {\n this.pagedSortedApplications = [];\n }\n\n const startOffset = this.paginator.pageIndex * this.paginator.pageSize;\n const endOffset = (this.paginator.pageIndex + 1) * this.paginator.pageSize;\n const searchTermLower = this.searchInput.value.toString().toLowerCase();\n\n this.filteredApplications = this.applications\n .filter(appl => {\n return searchTermLower && searchTermLower.trim().length ?\n appl.StudentNumber.toLowerCase().indexOf(searchTermLower) >= 0 ||\n (appl.GivenName && appl.GivenName.toLowerCase().indexOf(searchTermLower) >= 0) ||\n (appl.FamilyName && appl.FamilyName.toLowerCase().indexOf(searchTermLower) >= 0)\n :\n true;\n });\n\n this.pagedSortedApplications = this.filteredApplications\n .sort((a, b) => {\n let aVal = a[this.sort.active] || '';\n let bVal = b[this.sort.active] || '';\n aVal = aVal.toLowerCase();\n bVal = bVal.toLowerCase();\n\n if (this.sort.direction === 'asc') {\n return aVal > bVal ? 1 : ((bVal > aVal) ? -1 : 0);\n } else {\n return aVal > bVal ? -1 : ((bVal > aVal) ? 1 : 0);\n }\n })\n .slice(startOffset, endOffset);\n\n this.updateDashboardOptions();\n }\n\n updateDashboardOptions() {\n this.sharedService.setDashboardOptions({\n pageNum: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n sortColumn: this.sort.active,\n sortDirection: this.sort.direction,\n searchTerm: this.searchInput.value\n });\n }\n\n closeDataValidationErrorModal() {\n this.showDataValidationErrorModal = false;\n\n if (this.isVisaExpired || this.isOSHCExpired) {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'visa-oshc']);\n } else if (this.isStartTermInvalid) {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'school-program-placement']);\n }\n\n }\n\n newApplication(): void {\n this.router.navigate(['/applications', 'agent-student-registration']);\n }\n\n getApplicationStatus(applicationId: number): string {\n\n const application = this.pagedSortedApplications.find(app => app.ApplicationId === applicationId);\n\n if (application) {\n return application.ApplicationStatusCode.toString();\n }\n\n return '';\n }\n\n getApplication(currentApplicationId: number): void {\n // this.setCurrentApplicationId(currentApplicationId);\n\n\n this.applicationId = currentApplicationId;\n\n // const validations = forkJoin(this.applicationService.validateProgram(this.applicationId),\n // this.applicationService.validateVisaOSHC(this.applicationId));\n\n const validations = forkJoin(this.applicationService.validateVisaOSHC(this.applicationId));\n\n const validationResponses = [];\n\n validations.subscribe(responses => {\n for (const response of responses) {\n validationResponses.push(response.Result);\n }\n }, error => {\n return console.log(error);\n }, () => {\n\n // this.isStartTermInvalid = validationResponses[0].IsStartTermInValidForToday;\n // this.isVisaExpired = validationResponses[1].IsVisaExpired;\n // this.isOSHCExpired = validationResponses[1].isOSHCExpired;\n this.isVisaExpired = validationResponses[0].IsVisaExpired;\n this.isOSHCExpired = validationResponses[0].isOSHCExpired;\n\n\n let visaExpiredMsg = '';\n let oshcExpiredMsg = '';\n let isStartTermInvalidMsg = '';\n\n if (this.isStartTermInvalid) {\n isStartTermInvalidMsg = `Please note the school start date selected previously is no longer valid.\n Please visit the ‘Student Program and Placement’ section to update your selection. `;\n this.dataValidationErrorMsgs.push(isStartTermInvalidMsg);\n }\n\n if (this.isVisaExpired) {\n visaExpiredMsg = `Please note that the visa which was previously included in this application has now expired.\n If the student has obtained a new visa or a bridging visa, please provide this information in the “Visa and OSHC’ section.\n If the student no longer has an Australian visa, please also update the ‘Visa and OSHC section.`;\n this.dataValidationErrorMsgs.push(visaExpiredMsg);\n }\n\n if (this.isOSHCExpired) {\n oshcExpiredMsg = `Please note that the OSHC policy previously provided has expired.\n If this student has purchased a new OSHC policy please update this information in the ‘Visa and OSHC’ section.`;\n this.dataValidationErrorMsgs.push(oshcExpiredMsg);\n }\n\n this.showDataValidationErrorModal = this.isStartTermInvalid || this.isVisaExpired || this.isOSHCExpired;\n\n if (!(this.isStartTermInvalid || this.isVisaExpired || this.isOSHCExpired)) {\n this.router.navigate(['/applications', currentApplicationId, 'edit', 'important-information']);\n } else {\n setTimeout(() => {\n this.resolve.nativeElement.focus();\n }, 100);\n }\n });\n\n }\n\n cloneApplication(event, applicationId: number): void {\n event.stopPropagation();\n this.modalService.showCopySAModal();\n\n var subscription = this.modalService.copySAModalResult.subscribe(isConfirm => {\n if (isConfirm == \"Yes\" && applicationId > 0) {\n this.subscriptions.push(this.applicationService.cloneSAApplication(applicationId)\n .subscribe(response => {\n this.setCurrentApplicationId(response.Result.ApplicationId);\n this.router.navigate(['/applications', `${response.Result.ApplicationId}`, 'edit', 'important-information']);\n }, (errorResponse: ErrorResponse) => {\n\n const { errors } = errorResponse;\n\n const applicatonCloneError = errors.find(e => e.Key === 'GivenName');\n if (applicatonCloneError) {\n this.errorModal = true;\n setTimeout(() => {\n this.createApplication.nativeElement.focus();\n }, 100);\n this.errorMessage = 'You are not able to clone the application as there is an existing draft application for this student.';\n }\n }));\n } else if (isConfirm == \"sibling\" && applicationId > 0) {\n this.setCurrentApplicationId(applicationId);\n this.router.navigate(['/applications', 'agent-student-registration']);\n }\n //Clone application\n // if (isConfirm && applicationId > 0) {\n // this.subscriptions.push(this.applicationService.cloneApplication(applicationId)\n // .subscribe(response => {\n // this.setCurrentApplicationId(response.Result.ApplicationId);\n // this.router.navigate(['/applications', `${response.Result.ApplicationId}`, 'edit', 'important-information']);\n // }, (errorResponse: ErrorResponse) => {\n\n // const { errors } = errorResponse;\n\n // const applicatonCloneError = errors.find(e => e.Key === 'GivenName');\n // if (applicatonCloneError) {\n // this.errorModal = true;\n // setTimeout(() => {\n // this.createApplication.nativeElement.focus();\n // }, 100);\n // this.errorMessage = 'You are not able to clone the application as there is an existing draft application for this student.';\n // }\n // }));\n // }\n subscription.unsubscribe();\n })\n }\n\n deleteApplication(event, applicationId: number): void {\n event.stopPropagation();\n this.applnIdToBeDeleted = applicationId;\n\n this.modalService.showDeleteModal();\n }\n\n\n setCurrentApplicationId(currentApplicationId: number): void {\n this.store.dispatch({\n type: Action_SetCurrentApplication,\n payload: currentApplicationId\n });\n }\n\n /* For accessibility, keyboard only design, use tab to show borders but showing no border by clicking on mouse */\n keyboardFocus(event): void {\n event.style.outline = \"2px solid blue\";\n }\n\n keyboardBlur(event): void {\n event.style.outline = \"\";\n }\n\n keyboardMatTableFocus(event): void {\n event.srcElement.style.outline = \"2px solid blue\";\n }\n\n keyboardMatTableBlur(event): void {\n event.srcElement.style.outline = \"\";\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n }\n\n}\n","module.exports = \"
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n

GDPR - Registration

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n

Personal data collection and consent supplement for applicants residing in the EU

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n In order to process applications to study in New South Wales (NSW) government schools, it is\\r\\n necessary for the\\r\\n NSW Department of Education by its DE International to collect certain personal data prior to\\r\\n your arrival in Australia\\r\\n via the Request for the AASES form and any subsequent related request for personal data (the\\r\\n Requested Personal Data).

\\r\\n\\r\\n In some circumstances where DE International collects personal data in relation to an individual that\\r\\n is resident in\\r\\n European Union (EU) at the time of collection, the EU General Data Protection Regulation\\r\\n (GDPR) may apply under\\r\\n EU laws in addition to relevant laws in Australia. This form:
\\r\\n\\r\\n
    \\r\\n
  • \\r\\n once completed reflects an acknowledgement by you of the purpose Requested Personal Data is\\r\\n collected for and additionally your consent regarding how DE international may use or process\\r\\n Requested Personal Data; but\\r\\n
  • \\r\\n
  • \\r\\n does not limit the rights of DE international or grant you any additional rights in relation to\\r\\n Requested Personal\\r\\n Data that is not the subject to the GDPR.\\r\\n
  • \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n DE International will manage all Requested Personal Data in accordance with its obligations under\\r\\n the Privacy and\\r\\n Personal Information Protection Act 1998 (NSW) and the Health Records and Information\\r\\n Privacy Act 2002 (NSW). If you\\r\\n would like further information about DE International's obligations under these laws you can contact\\r\\n the NSW Information\\r\\n and Privacy Commission here\\r\\n (http://www.ipc.nsw.gov.au/contact-us-0)\\r\\n

\\r\\n Providing your acknowledgement and consent in accordance with this form is voluntary, but failure to\\r\\n do so may\\r\\n delay or prevent DE International from processing the relevant application for study.\\r\\n


\\r\\n
\\r\\n Purpose of Processing

\\r\\n\\r\\n DE International may use the Requested Personal Data for one or more of the following\\r\\n purposes:
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n assessing the application for study in NSW against eligibility requirements, including:\\r\\n
      \\r\\n
    • \\r\\n any eligibility requirements applying to international applicants; and\\r\\n
    • \\r\\n
    • \\r\\n for the level of schooling applied for;\\r\\n
    • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n information will be:\\r\\n
      \\r\\n
    • \\r\\n provided to schools to arrange an enrolment;\\r\\n
    • \\r\\n
    • \\r\\n used to access data from the Australian Government’s Department of Home Affairs concerning\\r\\n the student visa: and\\r\\n
    • \\r\\n
    • \\r\\n provided to student exchange organisations (SEOs) to arrange accommodation and airport\\r\\n pick\\r\\n up services;\\r\\n
    • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n implementing any contract or pre-contractual measures at your request in relation to study\\r\\n opportunity; and\\r\\n
  • \\r\\n
  • \\r\\n providing the Requested Personal Data to SEOs or host families. Further details of potential\\r\\n third parties\\r\\n who information may be disclosed to can be obtained at https://www.deinternational.nsw.edu.au/study-options/study-programs/international-student-program;\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n At any time, you are able to withdraw consent for DE International to process the Requested Personal\\r\\n Data, by\\r\\n contacting us here here (https://www.deinternational.nsw.edu.au/contact-us).\\r\\n Withdrawing your consent may prevent or\\r\\n delay DE International from processing the application for study or providing the study opportunity.\\r\\n If you withdraw\\r\\n consent (even where you no longer wish to apply for or have completed your study in NSW), it may still\\r\\n be necessary\\r\\n for DE International to retain and process your data for some of the purposes for which it was\\r\\n collected.\\r\\n

\\r\\n
\\r\\n Transfer of Personal Data outside of the European Union

\\r\\n\\r\\n DE International is not based in the European Union and any Requested Personal Data provided will be\\r\\n transferred\\r\\n to and stored at a location in Australia for the purposes outlined above. You consent to this\\r\\n transfer and also\\r\\n acknowledge it is necessary (including to implement any contract or pre-contractual measures) in\\r\\n order for your\\r\\n application to be assessed and make the study opportunity that you have requested available.\\r\\n

\\r\\n You should be aware when providing your acknowledgement and consent to the transfer outside the EU\\r\\n under this form that:\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n the European Commission has not made an adequacy decision in respect of the privacy protections\\r\\n outlined\\r\\n above that will apply to the Requested Personal Data when stored in Australia and processed by\\r\\n DE\\r\\n International; and\\r\\n
  • \\r\\n
  • \\r\\n although the Requested Personal Data will be subject to the protections outlined above, these\\r\\n may not be\\r\\n 'appropriate safeguards' within the meaning of Article 46 of the GDPR.\\r\\n
  • \\r\\n
\\r\\n
\\r\\n This means that while DE International will comply with the requirements in NSW for protection of\\r\\n personal\\r\\n information, the Requested Personal Data will not be subject to the same rights for data subjects\\r\\n and obligations for\\r\\n controllers and processors of personal data as would apply in the European Union under the GDPR. The\\r\\n potential\\r\\n risks may include you not being able to access the same kind of legal rights and remedies that may\\r\\n otherwise be\\r\\n available within the EU if the GDPR applied. If you have any concerns regarding the level of\\r\\n protection given please\\r\\n contact DE International or the NSW Information and Privacy Commissioner for further information.\\r\\n

\\r\\n\\r\\n
\\r\\n Declaration of acknowledgement and consent

\\r\\n A person signing this form must not provide personal data to DE International unless they have the\\r\\n consent of the\\r\\n relevant individual the personal data relates to. Any persons under 18 years of age must obtain\\r\\n acknowledgement\\r\\n and consent to this form from a parent or legal guardian.\\r\\n

\\r\\n By signing this form I/we:
\\r\\n
    \\r\\n
  • \\r\\n acknowledge that collection of the Requested Personal Data is necessary in order to process the\\r\\n application\\r\\n for study in NSW and for the other the purposes specified above;\\r\\n
  • \\r\\n
  • \\r\\n give free and informed consent for DE International (and the other third party processors listed\\r\\n on this form)\\r\\n to use the Requested Personal Data for the purposes listed above; and\\r\\n
  • \\r\\n
  • \\r\\n acknowledge it is necessary in order to process the application for study in NSW, and give free\\r\\n and\\r\\n informed consent to DE International, to transfer the Requested Personal Data from the European\\r\\n Union to\\r\\n Australia as set out in this form.\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".content .right-block {\\n width: 100%; }\\n\\n.problems .problem .question .answer .choice.valid span.largeErrorMsg {\\n display: inline-block;\\n box-sizing: border-box;\\n margin-bottom: 50px; }\\n\\n.problems .problem .question .answer .gdpr-text {\\n font-size: 1.8rem; }\\n\\n.problems .problem .question .answer .gdpr-text ul {\\n margin-top: 10px;\\n margin-bottom: 20px; }\\n\\n.problems .problem .question .answer .gdpr-text ul li {\\n list-style-type: square;\\n margin-left: 40px; }\\n\\n.problems .problem .question .answer .gdpr-text a {\\n text-decoration: underline;\\n color: #46466E; }\\n\\n.problems .problem .question .answer .gdpr-text .purpose-bordered-text {\\n border: 1px solid black; }\\n\\n.problems .problem .question .answer .gdpr-text .purpose-bordered-text ul li ul li {\\n list-style-type: disc; }\\n\\n.problems button {\\n padding: 14px 26px;\\n font-size: 2rem;\\n color: #fff;\\n transition: all .2s;\\n background-color: #46466E;\\n border: 1px solid transparent;\\n border-radius: 5px;\\n cursor: pointer;\\n margin-left: 20px; }\\n\\n.problems .gdpr-submit-buttons {\\n margin-top: 50px;\\n text-align: center; }\\n\\n.problems .gdpr-submit-buttons .agree-button {\\n background-color: #40806a;\\n color: white; }\\n\\n.problems .gdpr-submit-buttons .disagree-button {\\n background-color: #007faa;\\n color: white; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vYWdlbnQtc3R1ZGVudC1yZWdpc3RyYXRpb24tZ2Rwci9EOlxcYVxcMTU1XFxzXFxEZWkuT25saW5lQXBwbGljYXRpb24uUHJvZFxcRGVpLk9ubGluZUFwcGxpY2F0aW9uLldlYlxcb25saW5lLWFwcC9zcmNcXGFwcFxcYXBwbGljYXRpb25cXGFnZW50LXN0dWRlbnQtcmVnaXN0cmF0aW9uLWdkcHJcXGFnZW50LXN0dWRlbnQtcmVnaXN0cmF0aW9uLWdkcHIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxXQUNKLEVBQUE7O0FBR0E7RUFDSSxxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLG1CQUFtQixFQUFBOztBQUd2QjtFQUNJLGlCQUFpQixFQUFBOztBQUdyQjtFQUNJLGdCQUFnQjtFQUNoQixtQkFBbUIsRUFBQTs7QUFHdkI7RUFDSSx1QkFBdUI7RUFDdkIsaUJBQWdCLEVBQUE7O0FBR3BCO0VBQ0ksMEJBQTBCO0VBQzFCLGNBQWMsRUFBQTs7QUFHbEI7RUFDSSx1QkFBdUIsRUFBQTs7QUFHM0I7RUFDSSxxQkFBcUIsRUFBQTs7QUFLekI7RUFDSSxrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIseUJBQXlCO0VBQ3pCLDZCQUE2QjtFQUM3QixrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLGlCQUFpQixFQUFBOztBQUdyQjtFQUNJLGdCQUFnQjtFQUNoQixrQkFBa0IsRUFBQTs7QUFJdEI7RUFDSSx5QkFBeUI7RUFDekIsWUFBWSxFQUFBOztBQUdoQjtFQUNJLHlCQUF5QjtFQUN6QixZQUFZLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9hcHBsaWNhdGlvbi9hZ2VudC1zdHVkZW50LXJlZ2lzdHJhdGlvbi1nZHByL2FnZW50LXN0dWRlbnQtcmVnaXN0cmF0aW9uLWdkcHIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY29udGVudCAucmlnaHQtYmxvY2sge1xyXG4gICAgd2lkdGg6IDEwMCVcclxufVxyXG5cclxuXHJcbi5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlLnZhbGlkIHNwYW4ubGFyZ2VFcnJvck1zZyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDsgXHJcbn1cclxuXHJcbi5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuZ2Rwci10ZXh0IHtcclxuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG59XHJcblxyXG4ucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLmdkcHItdGV4dCB1bHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4ucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLmdkcHItdGV4dCB1bCBsaXtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlO1xyXG4gICAgbWFyZ2luLWxlZnQ6NDBweDtcclxufVxyXG5cclxuLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5nZHByLXRleHQgYSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIGNvbG9yOiAjNDY0NjZFO1xyXG59XHJcblxyXG4ucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLmdkcHItdGV4dCAucHVycG9zZS1ib3JkZXJlZC10ZXh0IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xyXG59XHJcblxyXG4ucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLmdkcHItdGV4dCAucHVycG9zZS1ib3JkZXJlZC10ZXh0IHVsIGxpIHVsIGxpe1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG59XHJcblxyXG5cclxuXHJcbi5wcm9ibGVtcyAgYnV0dG9uIHtcclxuICAgIHBhZGRpbmc6IDE0cHggMjZweDtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NjQ2NkU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG59XHJcblxyXG4ucHJvYmxlbXMgLmdkcHItc3VibWl0LWJ1dHRvbnMge1xyXG4gICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuXHJcbi5wcm9ibGVtcyAuZ2Rwci1zdWJtaXQtYnV0dG9ucyAuYWdyZWUtYnV0dG9uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MDgwNmE7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5wcm9ibGVtcyAuZ2Rwci1zdWJtaXQtYnV0dG9ucyAuZGlzYWdyZWUtYnV0dG9uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdmYWE7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbn1cclxuIl19 */\"","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { Store, select } from '@ngrx/store';\nimport { Subscription } from 'rxjs';\nimport { RegisterUserResultModel } from 'src/app/shared/models/registerUserResult.model';\nimport { PreRegistrationModel } from 'src/app/shared/models/pre-registration.model';\nimport { PreRegistrationValidationResult } from 'src/app/shared/models/pre-registration-validation.result.model';\nimport { Action_SetGDPRCOMPLIANCE } from 'src/app/shared/state/actions';\nimport { ErrorResponse } from 'src/app/shared/models/error.model';\nimport { Action_SetCurrentApplication } from '../state/actions';\nimport { ApplicationService } from 'src/app/shared/services/application.service';\nimport { CreatedStudentModel } from 'src/app/shared/models/created-student.model';\nimport { SingleResultApiResponse } from 'src/app/shared/models/api-response.model';\nimport { RegistrationService } from 'src/app/shared/services/registration.service';\n\n@Component({\n selector: 'online-app-agent-student-registration-gdpr',\n templateUrl: './agent-student-registration-gdpr.component.html',\n styleUrls: ['./agent-student-registration-gdpr.component.scss'],\n host: {\n class:'application-component-after-login'\n }\n})\nexport class AgentStudentRegistrationGdprComponent implements OnInit {\n\n constructor(private router: Router,\n private applicationService: ApplicationService,\n private registrationService: RegistrationService,\n private formBuilder: FormBuilder,\n private store: Store) { }\n\n\n studentRegistrationGDPRFormGroup: FormGroup;\n isFormSubmitted = false;\n isGDPRAccepted = false;\n sharedStateSubscription: Subscription;\n createdStudent: RegisterUserResultModel;\n preRegistrationDetails: PreRegistrationModel;\n preRegistrationValidationResult: PreRegistrationValidationResult;\n\n ngOnInit() {\n\n this.sharedStateSubscription = this.store\n .pipe(select('shared'))\n .subscribe(sharedState => {\n if (sharedState) {\n this.preRegistrationDetails = sharedState.preRegistrationDetails;\n this.preRegistrationValidationResult = sharedState.preRegistrationValidationResult;\n\n if (!this.preRegistrationValidationResult || !this.preRegistrationValidationResult.IsGdprRequired) {\n this.router.navigate(['applications', 'agent-student-registration']);\n }\n\n } else {\n this.router.navigate(['applications', 'agent-student-registration']);\n }\n });\n\n this.studentRegistrationGDPRFormGroup = this.formBuilder.group({\n acceptGDPR: false\n });\n\n }\n\n\n acceptGDPRClicked() {\n this.isGDPRAccepted = !this.isGDPRAccepted;\n\n this.studentRegistrationGDPRFormGroup.patchValue({\n acceptGDPR: this.isGDPRAccepted\n });\n\n if (this.isGDPRAccepted ) {\n this.studentRegistrationGDPRFormGroup.get('acceptGDPR').setErrors(null);\n }\n\n this.studentRegistrationGDPRFormGroup.updateValueAndValidity();\n\n }\n\n acceptGDPR(): void {\n\n this.isFormSubmitted = true;\n const gdprAccepted = this.studentRegistrationGDPRFormGroup.get('acceptGDPR').value;\n\n if (gdprAccepted) {\n this.storeGDPRAcceptance();\n this.router.navigate(['/account-registration']);\n // this.router.navigateByUrl('/account-registration');\n } else {\n // this.preRegistrationGDPRFormGroup.get('acceptGDPR').setErrors({'gdprNotAccepted': 'true'});\n }\n\n }\n\n agreeGDPR() {\n this.storeGDPRAcceptance();\n this.createNewStudent(this.preRegistrationDetails);\n }\n\n createNewStudent(preRegistrationDetails: PreRegistrationModel) {\n\n let createdStudent = new CreatedStudentModel();\n \n this.registrationService.createStudent(preRegistrationDetails)\n .subscribe( (response: SingleResultApiResponse) => {\n createdStudent = response.Result as CreatedStudentModel;\n\n this.setGDPRCompliance();\n preRegistrationDetails.StudentNumber = createdStudent.StudentNumber\n this.createNewApplication(preRegistrationDetails);\n\n }, (errorResponse: ErrorResponse) => {\n console.log(errorResponse);\n });\n\n }\n\n setGDPRCompliance(): void {\n this.store.dispatch({\n type: Action_SetGDPRCOMPLIANCE,\n payload: true\n });\n }\n\n createNewApplication(preRegistrationDetails: PreRegistrationModel) {\n this.applicationService.createApplicationByAgent(preRegistrationDetails)\n .subscribe(response => {\n // this.setCurrentApplicationId(response.Result.ApplicationId);\n this.router.navigate(['/applications', `${response.Result.ApplicationId}`, 'edit', 'important-information']);\n }, err => {\n //console.log('error in creating new application');\n console.log(err);\n });\n\n }\n\n setCurrentApplicationId(currentApplicationId: number): void {\n this.store.dispatch({\n type: Action_SetCurrentApplication,\n payload: currentApplicationId\n });\n }\n\n\n\n disagreeGDPR() {\n this.router.navigate(['applications', 'agent-student-registration']);\n }\n\n storeGDPRAcceptance(): void {\n this.store.dispatch({\n type: Action_SetGDPRCOMPLIANCE,\n payload: true\n });\n }\n\n //show border when tab on link for accessibility\n linkTabAccessibility(event): void {\n event.style.outline = \"1px solid black\";\n }\n\n linkBlurAccessibility(event): void {\n event.style.outline = \"\";\n }\n}\n","module.exports = \"
\\n
\\n\\n
\\n\\n
\\n

Student Registration

\\n
\\n\\n\\n\\n
\\n\\n\\n
\\n Go back to Home Page\\n\\n \\n
Please note that all fields marked with an (*) are required.
\\n
\\n
\\n\\n
\\n\\n
\\n\\n
\\n
Student Details
\\n 1 of 2\\n
\\n\\n
\\n
\\n\\n\\n
Have you applied to a NSW Governmnent school in the past?
\\n
\\n\\n \\n Yes
radio button
checked
unchecked
\\n
\\n\\n \\n No
radio button
checked
unchecked
\\n
\\n
\\n \\n Please select an option\\n \\n
\\n
\\n\\n
\\n\\n \\n \\n\\n \\n \\n \\n\\n \\n Student Number is required\\n \\n \\n {{ getApiValidationErrorMsg('studentNumber') }}\\n \\n
\\n\\n
\\n\\n \\n
\\n\\n \\n \\n \\n \\n Given name is required\\n \\n \\n {{ getApiValidationErrorMsg('givenName') }}\\n \\n
\\n\\n \\n
\\n\\n \\n \\n \\n \\n Family name is required\\n \\n \\n {{ getApiValidationErrorMsg('familyName') }}\\n \\n
\\n\\n
\\n \\n Has only one name as per passport or birth certificate\\n
\\n\\n \\n
\\n\\n \\n \\n \\n \\n \\n \\n Date of Birth is required\\n \\n \\n {{ getApiValidationErrorMsg('dateOfBirth') }}\\n \\n
\\n\\n \\n
\\n\\n \\n \\n \\n \\n Email Address is required\\n \\n \\n Please enter valid email\\n \\n \\n {{ getApiValidationErrorMsg('emailAddress') }}\\n \\n
\\n\\n \\n
\\n\\n \\n \\n \\n \\n Email Address is required\\n \\n \\n Please enter valid email\\n \\n \\n Email address doesn’t match\\n \\n
\\n\\n \\n \\n
\\n \\n \\n \\n
\\n \\n Nationality is required\\n \\n \\n {{ getApiValidationErrorMsg('countryOfNationalityId') }}\\n \\n
\\n\\n \\n \\n
\\n \\n \\n \\n
\\n \\n Country of Residence is required\\n \\n \\n {{ getApiValidationErrorMsg('countryOfResidenceId') }}\\n \\n
\\n\\n
Which program does the student wish\\n to enter?
\\n \\n\\n \\n Study\\n Abroad
radio button
checked
unchecked
\\n\\n \\n\\n\\n \\n International\\n Student Program
radio button
checked
unchecked
\\n \\n\\n
\\n\\n \\n {{ getApiValidationErrorMsg('willStudyForYearOrLess') }}\\n \\n\\n \\n Please select an option\\n \\n\\n \\n NOTE: Please be advised that you are not eligible to submit an application on behalf of\\n this student due to the current conditions of your contract with DE International. Please contact\\n DE International for further information.\\n \\n \\n NOTE: Please be advised that you are not eligible to submit an application for the\\n International Student Program on behalf of this student due to the current conditions of your\\n contract with DE International. Please contact DE International for further information.\\n \\n \\n NOTE: Please be advised that you are not eligible to submit an application for the Study\\n Abroad Program on behalf of this student due to the current conditions of your contract with DE\\n International. Please contact DE International for further information.\\n \\n\\n
\\n
\\n
\\n
\\n\\n
\\n\\n
\\n\\n
\\n

Parent Details

\\n 2 of 2\\n
\\n\\n
\\n
\\n\\n
\\n \\n The student currently has only one parent or a legal Custodian\\n
\\n \\n You have indicated the student currently has only one parent or legal guardian. Please review this\\n selection and ensure this information is correct. If this is correct please deselect the checkbox\\n confirming the student only has one parent or legal guardian\\n \\n\\n\\n \\n \\n
\\n \\n \\n \\n
\\n \\n Parent 1 Relationship is required\\n \\n
\\n\\n\\n \\n \\n\\n \\n \\n \\n \\n Given name is required\\n \\n \\n {{ getApiValidationErrorMsg('parent1GivenName') }}\\n \\n
\\n\\n \\n \\n\\n \\n \\n \\n \\n Family name is required\\n \\n \\n {{ getApiValidationErrorMsg('parent1FamilyName') }}\\n \\n
\\n\\n
\\n \\n only one name as per passport or birth certificate\\n
\\n\\n\\n\\n
\\n\\n \\n \\n
\\n \\n \\n \\n
\\n \\n Parent 2 Relationship is required\\n \\n
\\n\\n\\n \\n \\n \\n \\n \\n \\n \\n Given name is required\\n \\n \\n {{ getApiValidationErrorMsg('parent2GivenName') }}\\n \\n \\n\\n \\n \\n\\n \\n \\n \\n \\n Family name is required\\n \\n \\n {{ getApiValidationErrorMsg('parent2FamilyName') }}\\n \\n \\n\\n
\\n \\n only one name as per passport or birth certificate\\n
\\n\\n \\n\\n \\n\\n \\n\\n \\n\\n
\\n \\n \\n
\\n\\n \\n \\n\\n \\n\\n \\n\\n\"","module.exports = \".content .right-block {\\n width: 100%; }\\n\\n.problems .problem .question .answer .choice span.disabled {\\n text-decoration: none;\\n cursor: default; }\\n\\n.problems .problem .question .answer .single-radio span.disabled {\\n background-color: #DDDDDD;\\n cursor: not-allowed;\\n pointer-events: none; }\\n\\n.problems .problem .question .answer .choice.valid span.disabled {\\n border-color: #dce6e6; }\\n\\n.content .right-block .block .problems {\\n padding: 2.4rem 12.8rem; }\\n\\n.problems .problem .question .answer .choice.valid span:last-of-type .alert {\\n cursor: auto; }\\n\\n.problems .problem .question .answer .choice.valid span.largeErrorMsg {\\n display: inline-block;\\n box-sizing: border-box;\\n margin-bottom: 5rem; }\\n\\n.problems .problem .question .answer .choice.valid span.largerErrorMsg {\\n display: inline-block;\\n box-sizing: border-box;\\n margin-bottom: 10rem; }\\n\\n.problems .problem .question .answer .choice.valid span:last-of-type .alert a {\\n text-decoration: underline;\\n color: blue; }\\n\\n.problems .problem .question .answer .radioError {\\n font-style: normal;\\n color: #f00;\\n font-size: 1.4rem; }\\n\\n.problems .problem .question .answer .radioError .note-in-fact {\\n color: black !important; }\\n\\n.content .right-block .block .goback {\\n display: inline-block;\\n width: 100%;\\n box-sizing: border-box; }\\n\\n.content .right-block .block .problems .goback {\\n display: inline-block; }\\n\\n.content .right-block .block .problems .goback a {\\n float: left;\\n font-size: 1.425rem;\\n color: blue;\\n cursor: pointer;\\n text-decoration: underline; }\\n\\n.content .right-block .block .problems .goback .info-message {\\n float: right;\\n padding-bottom: unset; }\\n\\n.submit-box input.inactive {\\n background-color: #aec5e7;\\n cursor: not-allowed; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vYWdlbnQtc3R1ZGVudC1yZWdpc3RyYXRpb24vRDpcXGFcXDE1NVxcc1xcRGVpLk9ubGluZUFwcGxpY2F0aW9uLlByb2RcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5XZWJcXG9ubGluZS1hcHAvc3JjXFxhcHBcXGFwcGxpY2F0aW9uXFxhZ2VudC1zdHVkZW50LXJlZ2lzdHJhdGlvblxcYWdlbnQtc3R1ZGVudC1yZWdpc3RyYXRpb24uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxXQUNKLEVBQUE7O0FBRUE7RUFDSSxxQkFBcUI7RUFDckIsZUFBZSxFQUFBOztBQUduQjtFQUNJLHlCQUF3QjtFQUN4QixtQkFBbUI7RUFDbkIsb0JBQW1CLEVBQUE7O0FBR3ZCO0VBQ0kscUJBQStCLEVBQUE7O0FBR25DO0VBQ0ksdUJBQXVCLEVBQUE7O0FBRzNCO0VBQ0ksWUFBWSxFQUFBOztBQUdoQjtFQUNJLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIsbUJBQW1CLEVBQUE7O0FBR3ZCO0VBQ0kscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0QixvQkFBb0IsRUFBQTs7QUFHeEI7RUFDSSwwQkFBMEI7RUFDMUIsV0FBVyxFQUFBOztBQUlmO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxpQkFBaUIsRUFBQTs7QUFIbkI7SUFNSSx1QkFBdUIsRUFBQTs7QUFJM0I7RUFDSSxxQkFBcUI7RUFFckIsV0FBVztFQUVYLHNCQUFzQixFQUFBOztBQUcxQjtFQUNJLHFCQUFxQixFQUFBOztBQUR6QjtJQUlRLFdBQVc7SUFDWCxtQkFBbUI7SUFFbkIsV0FBVztJQUNYLGVBQWU7SUFDZiwwQkFBMEIsRUFBQTs7QUFUbEM7SUFhUSxZQUFZO0lBQ1oscUJBQXFCLEVBQUE7O0FBSTdCO0VBQ0kseUJBQXlCO0VBQ3pCLG1CQUFrQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvYXBwbGljYXRpb24vYWdlbnQtc3R1ZGVudC1yZWdpc3RyYXRpb24vYWdlbnQtc3R1ZGVudC1yZWdpc3RyYXRpb24uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY29udGVudCAucmlnaHQtYmxvY2sge1xyXG4gICAgd2lkdGg6IDEwMCVcclxufVxyXG5cclxuLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5jaG9pY2Ugc3Bhbi5kaXNhYmxlZCB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuXHJcbi5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuc2luZ2xlLXJhZGlvIHNwYW4uZGlzYWJsZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojREREREREO1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIHBvaW50ZXItZXZlbnRzOm5vbmU7XHJcbn1cclxuXHJcbi5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlLnZhbGlkIHNwYW4uZGlzYWJsZWQge1xyXG4gICAgYm9yZGVyLWNvbG9yOnJnYigyMjAsIDIzMCwgMjMwKTtcclxufVxyXG5cclxuLmNvbnRlbnQgLnJpZ2h0LWJsb2NrIC5ibG9jayAucHJvYmxlbXMge1xyXG4gICAgcGFkZGluZzogMi40cmVtIDEyLjhyZW07XHJcbn1cclxuXHJcbi5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlLnZhbGlkIHNwYW46bGFzdC1vZi10eXBlIC5hbGVydCB7XHJcbiAgICBjdXJzb3I6IGF1dG87XHJcbn1cclxuXHJcbi5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlLnZhbGlkIHNwYW4ubGFyZ2VFcnJvck1zZyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXJlbTsgXHJcbn1cclxuXHJcbi5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlLnZhbGlkIHNwYW4ubGFyZ2VyRXJyb3JNc2cge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcmVtOyBcclxufVxyXG5cclxuLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5jaG9pY2UudmFsaWQgc3BhbjpsYXN0LW9mLXR5cGUgLmFsZXJ0IGF7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIGNvbG9yOiBibHVlO1xyXG59XHJcblxyXG5cclxuLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5yYWRpb0Vycm9yIHtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgY29sb3I6ICNmMDA7XHJcbiAgZm9udC1zaXplOiAxLjRyZW07XHJcblxyXG4gIC5ub3RlLWluLWZhY3Qge1xyXG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4uY29udGVudCAucmlnaHQtYmxvY2sgLmJsb2NrIC5nb2JhY2t7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAvLyBtYXJnaW4tdG9wOiAycmVtO1xyXG4gICAgd2lkdGg6IDEwMCU7ICAgIFxyXG4gICAgLy8gbWFyZ2luLXJpZ2h0OjVyZW07XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4uY29udGVudCAucmlnaHQtYmxvY2sgLmJsb2NrIC5wcm9ibGVtcyAuZ29iYWNrICB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7ICAgXHJcbiAgICAgICAgZm9udC1zaXplOiAxLjQyNXJlbTtcclxuICAgICAgICAvLyBjb2xvcjogIzZDNzU3RDtcclxuICAgICAgICBjb2xvcjogYmx1ZTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmluZm8tbWVzc2FnZSB7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB1bnNldDtcclxuICAgIH1cclxufVxyXG5cclxuLnN1Ym1pdC1ib3ggaW5wdXQuaW5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FlYzVlNztcclxuICAgIGN1cnNvcjpub3QtYWxsb3dlZDtcclxufVxyXG4iXX0= */\"","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Country } from 'src/app/shared/models/lookup-data.model';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Store, select } from '@ngrx/store';\nimport { RegistrationService } from 'src/app/shared/services/registration.service';\nimport { PreRegistrationValidationResult } from 'src/app/shared/models/pre-registration-validation.result.model';\nimport { PreRegistrationModel } from 'src/app/shared/models/pre-registration.model';\nimport { SingleResultApiResponse } from 'src/app/shared/models/api-response.model';\nimport { ErrorResponse } from 'src/app/shared/models/error.model';\nimport {\n Action_StorePreRegistrationDetails,\n Action_SetGDPRCOMPLIANCE,\n Action_StorePreRegistrationValidationResult\n} from 'src/app/shared/state/actions';\nimport { ApplicationService } from 'src/app/shared/services/application.service';\nimport { Action_SetCurrentApplication } from '../state/actions';\nimport { CreatedStudentModel } from 'src/app/shared/models/created-student.model';\nimport { LookupData } from 'src/app/shared/models/lookup-data.model';\nimport { UserInfo } from 'src/app/shared/models/user.model';\nimport { AgencyContractService } from 'src/app/shared/services/agency-contract.service';\nimport { Title } from '@angular/platform-browser';\nimport { FormService } from 'src/app/shared/services/form.service';\nimport { Subscription } from 'rxjs';\nimport { UtilityService } from 'src/app/shared/services/utility.service';\n\n@Component({\n selector: 'online-app-agent-student-registration',\n templateUrl: './agent-student-registration.component.html',\n styleUrls: ['./agent-student-registration.component.scss'],\n host: {\n class:'application-component-after-login'\n }\n})\nexport class AgentStudentRegistrationComponent implements OnInit, OnDestroy {\n\n countries: Country[];\n nationalities: Country[];\n countriesOfResidence: Country[];\n selectedCountryErrorMessage: String = '';\n invalidDateOfBirthReason = '';\n preRegistrationValidationResult: PreRegistrationValidationResult;\n\n studentOnlyHasOneName: boolean = null;\n parent1OnlyHasOneName: boolean = null;\n parent2OnlyHasOneName: boolean = null;\n\n singleParentOrGuardian: boolean = null;\n singleParentOrGuardianHasError: boolean = false;\n\n selectedRelationship1: LookupData;\n selectedRelationship2: LookupData;\n\n\n errorKeyFormFieldMapping = [\n { apiErrorKeyName: 'model', formFieldName: 'givenName', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'IsPastStudent', formFieldName: 'isPastStudent', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'StudentNumber', formFieldName: 'studentNumber', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'GivenName', formFieldName: 'givenName', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'FamilyName', formFieldName: 'familyName', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'EmailAddress', formFieldName: 'emailAddress', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'DateOfBirth', formFieldName: 'dateOfBirth', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'CountryOfNationalityId', formFieldName: 'countryOfNationalityId', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'WillStudyForYearOrLess', formFieldName: 'willStudyForYearOrLess', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'Parent1GivenName', formFieldName: 'parent1GivenName', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'Parent1FamilyName', formFieldName: 'parent1FamilyName', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'Parent1Relationship', formFieldName: 'parent1Relationship', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'Parent2GivenName', formFieldName: 'parent2GivenName', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'parent2FamilyName', formFieldName: 'parent2FamilyName', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'Parent2Relationship', formFieldName: 'parent2Relationship', apiValidationErrorMsg: null },\n ];\n\n studentRegistrationFormGroup: FormGroup;\n\n isFormSubmitted = false;\n isPastStudent: boolean = null;\n willStudyForYearOrLess: boolean = null;\n isValidStudent = false;\n userInfo: UserInfo\n\n validationError: boolean = false;\n\n agentHasValidIspContract: boolean = true;\n agentHasValidStudyAbroadContract: boolean = true;\n cloneApplicationId: string;\n \n private subscriptionsToDispose: Subscription[] = [];\n\n constructor(private activatedRoute: ActivatedRoute,\n private formBuilder: FormBuilder,\n private agencyContractService: AgencyContractService,\n private applicationService: ApplicationService,\n private router: Router,\n private store: Store,\n private formService: FormService,\n private registrationService: RegistrationService,\n private utilityService: UtilityService,\n private titleService: Title) {\n this.titleService.setTitle(\"Online Application Portal - DE International - Agent\");\n\n // this.configureJQuery();\n\n this.selectedRelationship1 = this.getDefaultRelationship();\n this.selectedRelationship2 = this.getDefaultRelationship();\n }\n\n ngOnInit() {\n\n this.studentOnlyHasOneName = false;\n this.parent1OnlyHasOneName = false;\n this.parent2OnlyHasOneName = false;\n this.singleParentOrGuardian = false;\n\n this.userInfo = this.activatedRoute.parent.snapshot.data['currentUser'] as UserInfo;\n this.countries = this.activatedRoute.snapshot.data['countries'];\n this.nationalities = this.countries.filter(c => c.Code !== 'AU' && c.Code !== 'NZ');\n this.countriesOfResidence = [...this.countries];\n\n this.store.pipe(select('application'))\n .subscribe(sharedState => {\n if(sharedState && sharedState.currentApplicationId){\n this.cloneApplicationId = sharedState.currentApplicationId;\n }\n });\n\n this.studentRegistrationFormGroup = this.formBuilder.group({\n isPastStudent: ['', [Validators.required]],\n studentNumber: '',\n givenName: ['', Validators.required],\n familyName: ['', Validators.required],\n emailAddress: ['', [Validators.required, Validators.pattern(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/)]],\n verifyEmailAddress: ['', [Validators.required, Validators.pattern(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/)]],\n dateOfBirth: ['', Validators.required],\n countryOfNationalityId: ['', [Validators.required]],\n countryOfResidenceId: ['', [Validators.required]],\n willStudyForYearOrLess: ['', [Validators.required]],\n parent1GivenName: ['', Validators.required],\n parent1FamilyName: ['', Validators.required],\n parent1Relationship: ['', Validators.required],\n parent2GivenName: ['', Validators.required],\n parent2FamilyName: ['', Validators.required],\n parent2Relationship: ['', Validators.required],\n });\n\n this.subscriptionsToDispose.push(this.studentRegistrationFormGroup.controls['countryOfNationalityId'].valueChanges.subscribe(val => this.performContractValidation()));\n\n }\n\n ngOnDestroy() {\n this.subscriptionsToDispose.forEach(s => s.unsubscribe());\n }\n\n private performContractValidation() {\n const studentNationalityCountryId = this.studentRegistrationFormGroup.controls['countryOfNationalityId'].value;\n const willStudyForYearOrLess = this.studentRegistrationFormGroup.controls['willStudyForYearOrLess'].value;\n const ISP_PROGRAM_NAME = 'InternationalStudentProgram';\n const STUDYABROAD_PROGRAM_NAME = 'StudyAbroadProgram';\n const selectedProgram = willStudyForYearOrLess === '' ? '' : (!willStudyForYearOrLess ? ISP_PROGRAM_NAME : STUDYABROAD_PROGRAM_NAME);\n\n this.agentHasValidIspContract = this.agencyContractService.doesAgencyHaveValidIspContractForNationality(this.userInfo, studentNationalityCountryId);\n this.agentHasValidStudyAbroadContract = this.agencyContractService.doesAgencyHaveValidStudyAbroadContractForNationality(this.userInfo, studentNationalityCountryId);\n\n if ((!this.agentHasValidIspContract && selectedProgram === ISP_PROGRAM_NAME) || (!this.agentHasValidStudyAbroadContract && selectedProgram === STUDYABROAD_PROGRAM_NAME)) {\n this.setWillStudyForYearOrLess('');\n }\n }\n\n getDefaultRelationship(): LookupData {\n return {\n Code: 'Please select',\n Description: 'Please select'\n };\n }\n\n getCountryNameById(countryId: string) {\n const country = this.countries.find(c => c.Id === countryId);\n\n return country ? country.Description : '';\n }\n\n\n setPastStudent(isPastStudent: boolean): void {\n this.isPastStudent = isPastStudent;\n\n this.studentRegistrationFormGroup.patchValue({\n isPastStudent: isPastStudent,\n });\n\n if (!isPastStudent) {\n this.studentRegistrationFormGroup.patchValue({\n studentNumber: '',\n });\n\n }\n\n this.studentRegistrationFormGroup.get('givenName').setErrors(null);\n\n this.studentRegistrationFormGroup.updateValueAndValidity();\n }\n\n givenNameUpdate(event: any) {\n if(this.studentRegistrationFormGroup.get('givenName').value){\n this.studentRegistrationFormGroup.get('givenName').setValue(this.titleCaseWord(this.studentRegistrationFormGroup.get('givenName').value));\n this.studentRegistrationFormGroup.updateValueAndValidity();\n }\n }\n\n familyNameUpdate(event: any) {\n if(this.studentRegistrationFormGroup.get('familyName').value){\n this.studentRegistrationFormGroup.get('familyName').setValue(this.studentRegistrationFormGroup.get('familyName').value.toUpperCase());\n this.studentRegistrationFormGroup.updateValueAndValidity();\n }\n }\n\n parent1GivenNameUpdate(event: any) {\n if(this.studentRegistrationFormGroup.get('parent1GivenName').value){\n this.studentRegistrationFormGroup.get('parent1GivenName').setValue(this.titleCaseWord(this.studentRegistrationFormGroup.get('parent1GivenName').value));\n this.studentRegistrationFormGroup.updateValueAndValidity();\n }\n }\n\n parent1FamilyNameUpdate(event: any) {\n if(this.studentRegistrationFormGroup.get('parent1FamilyName').value){\n this.studentRegistrationFormGroup.get('parent1FamilyName').setValue(this.studentRegistrationFormGroup.get('parent1FamilyName').value.toUpperCase());\n this.studentRegistrationFormGroup.updateValueAndValidity();\n }\n }\n\n parent2GivenNameUpdate(event: any) {\n if(this.studentRegistrationFormGroup.get('parent2GivenName').value){\n this.studentRegistrationFormGroup.get('parent2GivenName').setValue(this.titleCaseWord(this.studentRegistrationFormGroup.get('parent2GivenName').value));\n this.studentRegistrationFormGroup.updateValueAndValidity();\n }\n }\n\n parent2FamilyNameUpdate(event: any) {\n if(this.studentRegistrationFormGroup.get('parent2FamilyName').value){\n this.studentRegistrationFormGroup.get('parent2FamilyName').setValue(this.studentRegistrationFormGroup.get('parent2FamilyName').value.toUpperCase());\n this.studentRegistrationFormGroup.updateValueAndValidity();\n }\n }\n\n titleCaseWord(word: string) {\n if (!word) return word;\n return word[0].toUpperCase() + word.substr(1).toLowerCase();\n }\n\n onStudentNumberChange(studentNumber: string) {\n\n if (this.studentRegistrationFormGroup.get('givenName').errors &&\n this.studentRegistrationFormGroup.get('givenName').errors.apiValidationError) {\n this.studentRegistrationFormGroup.get('givenName').setErrors(null);\n this.studentRegistrationFormGroup.updateValueAndValidity();\n }\n\n }\n\n setWillStudyForYearOrLess(willStudyForYearOrLess: any) {\n this.willStudyForYearOrLess = willStudyForYearOrLess;\n\n this.studentRegistrationFormGroup.patchValue({\n willStudyForYearOrLess: willStudyForYearOrLess,\n });\n this.studentRegistrationFormGroup.updateValueAndValidity();\n\n }\n\n getApiValidationErrorMsg(formFieldName: string): string {\n const errorField = this.errorKeyFormFieldMapping\n .find(errorKeyFormField => errorKeyFormField.formFieldName === formFieldName &&\n errorKeyFormField.apiValidationErrorMsg);\n return errorField && errorField.apiValidationErrorMsg ? errorField.apiValidationErrorMsg : '';\n }\n\n\n\n getDateInISOString(dateObject: Date): string {\n const userTimezoneOffset = dateObject.getTimezoneOffset() * 60000;\n const date = new Date(dateObject.getTime() - userTimezoneOffset);\n return date.toISOString();\n }\n\n getDateInString(dateObject: Date): string {\n return `${dateObject.getDate()}/${dateObject.getMonth() + 1}/${dateObject.getFullYear()}`;\n }\n\n setDateOfBirth(dateObject: Date) {\n\n this.studentRegistrationFormGroup.patchValue({\n dateOfBirth: dateObject,\n });\n this.studentRegistrationFormGroup.updateValueAndValidity();\n }\n\n // configureJQuery() {\n\n // const setDateOfBirth = this.setDateOfBirth.bind(this);\n\n // $(function () {\n\n // $('.datepicker-global').datepicker({\n // dateFormat: 'dd/mm/yy',\n // dayNamesMin: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n // showOtherMonths: true,\n // selectOtherMonths: true,\n // firstDay: 1,\n // beforeShow: function (textbox, instance) {\n // $('.my-datepicker-global').append($('#ui-datepicker-div'));\n // },\n // onSelect: function () {\n\n // const dateObject = $(this).datepicker('getDate');\n // setDateOfBirth(dateObject);\n // },\n // });\n // });\n // }\n\n\n getDate(fieldName: string): string|null {\n // const dateObject = new Date($(`#${fieldName}`).datepicker('getDate'));\n // const dateObject = this.studentRegistrationFormGroup.get(fieldName).value;\n // const userTimezoneOffset = dateObject.getTimezoneOffset() * 60000;\n // const date = new Date(dateObject.getTime() - userTimezoneOffset);\n // return date.toISOString();\n\n return this.utilityService.getDateStrWithoutTimeZone(this.studentRegistrationFormGroup.get(fieldName).value);\n }\n\n\n continueRegistration(): void {\n\n this.isFormSubmitted = true;\n\n const emailAddress = this.studentRegistrationFormGroup.get('emailAddress').value;\n const verifyEmailAddress = this.studentRegistrationFormGroup.get('verifyEmailAddress').value;\n\n if(emailAddress && verifyEmailAddress && emailAddress !== verifyEmailAddress) {\n this.studentRegistrationFormGroup.get('verifyEmailAddress').setErrors({ 'notMatch': true });\n }\n\n\n const isPastStudent = this.studentRegistrationFormGroup.get('isPastStudent').value;\n const studentNo = this.studentRegistrationFormGroup.get('studentNumber').value;\n\n if (isPastStudent && studentNo.trim().length <= 0) {\n this.studentRegistrationFormGroup.get('studentNumber').setErrors({ 'required': true });\n } else {\n this.studentRegistrationFormGroup.get('studentNumber').setErrors(null);\n }\n\n //MN-349\n var parent1GivenNameControl = this.studentRegistrationFormGroup.get('parent1GivenName');\n var parent2GivenNameControl = this.studentRegistrationFormGroup.get('parent2GivenName');\n var parent1FamilyNameControl = this.studentRegistrationFormGroup.get('parent1FamilyName');\n var parent2FamilyNameControl = this.studentRegistrationFormGroup.get('parent2FamilyName');\n var parent1RelationshipControl = this.studentRegistrationFormGroup.get('parent1Relationship');\n var parent2RelationshipControl = this.studentRegistrationFormGroup.get('parent2Relationship');\n\n\n if (this.singleParentOrGuardian) {\n if (parent1GivenNameControl.value && parent2GivenNameControl.value) {\n this.singleParentOrGuardianHasError = true;\n }\n else {\n this.singleParentOrGuardianHasError = false;\n\n // if single parent, then we need to ignore 'given/family name missing' if there is\n if (parent1GivenNameControl.value && !parent2GivenNameControl.value) {\n parent2GivenNameControl.setValidators(null);\n parent2GivenNameControl.updateValueAndValidity();\n parent2FamilyNameControl.setValidators(null);\n parent2FamilyNameControl.updateValueAndValidity();\n parent2RelationshipControl.setValidators(null);\n parent2RelationshipControl.updateValueAndValidity();\n } else\n if (!parent1GivenNameControl.value && parent2GivenNameControl.value) {\n parent1GivenNameControl.setValidators(null);\n parent1GivenNameControl.updateValueAndValidity();\n parent1FamilyNameControl.setValidators(null);\n parent1FamilyNameControl.updateValueAndValidity();\n parent1RelationshipControl.setValidators(null);\n parent1RelationshipControl.updateValueAndValidity();\n }\n }\n }\n else {\n this.singleParentOrGuardianHasError = false;\n }\n\n setTimeout(() => {\n this.formService.scrollToFirstErrorField();\n }, 100);\n\n if (this.studentRegistrationFormGroup.valid && !this.singleParentOrGuardianHasError) {\n // this.registerUser();\n const preRegistrationDetails = this.getPreRegistrationDetails();\n this.validatePreRegistrationStudentInfo(preRegistrationDetails);\n }\n\n }\n\n\n validatePreRegistrationStudentInfo(preRegistrationDetails: PreRegistrationModel) {\n this.isValidStudent = false;\n this.registrationService.validatePreRegistrationStudentDetails(preRegistrationDetails)\n .subscribe((response: SingleResultApiResponse) => {\n this.isValidStudent = true;\n this.preRegistrationValidationResult = response.Result as PreRegistrationValidationResult;\n this.storePreRegistrationDetails(preRegistrationDetails);\n this.storePreRegistrationValidationResult(this.preRegistrationValidationResult);\n\n if (this.preRegistrationValidationResult.DoesStudentAlreadyExist) {\n preRegistrationDetails.StudentNumber = this.preRegistrationValidationResult.StudentNumber;\n\n //2020-04 If student number now starts with '1XXXXXC', then it is TISIM student!!\n if (preRegistrationDetails.StudentNumber.startsWith('1')) {\n console.log(\"TISIM Student!! --> \",preRegistrationDetails.StudentNumber);\n\n //then still create student identifier in Mantis first!!! -- this method will also create application\n this.createNewStudent(preRegistrationDetails);\n }\n else {\n\n //student exist already and NOT TISIM student ...\n this.createNewApplication(preRegistrationDetails);\n } \n\n } else {\n\n if (this.preRegistrationValidationResult && this.preRegistrationValidationResult.IsGdprRequired) {\n this.router.navigate(['applications', 'agent-student-registration-gdpr']);\n } else {\n this.createNewStudent(preRegistrationDetails);\n }\n\n }\n\n }, (error: ErrorResponse) => {\n const { errors } = error;\n for (const errorKeyValue of errors) {\n this.setApiValidationError(errorKeyValue.Key, errorKeyValue.Value);\n }\n this.studentRegistrationFormGroup.updateValueAndValidity();\n\n });\n }\n\n createNewStudent(preRegistrationDetails: PreRegistrationModel) {\n\n let createdStudent = new CreatedStudentModel();\n\n this.registrationService.createStudent(preRegistrationDetails)\n .subscribe((response: SingleResultApiResponse) => {\n createdStudent = response.Result as CreatedStudentModel;\n\n if (this.preRegistrationValidationResult && this.preRegistrationValidationResult.IsGdprRequired) {\n this.router.navigate(['applications', 'agent-student-registration-gdpr']);\n } else {\n this.setGDPRCompliance();\n preRegistrationDetails.StudentNumber = createdStudent.StudentNumber.toUpperCase();\n\n this.createNewApplication(preRegistrationDetails);\n }\n\n\n\n }, (errorResponse: ErrorResponse) => {\n console.log(errorResponse);\n });\n\n }\n\n createNewApplication(preRegistrationDetails: PreRegistrationModel) {\n if(!this.cloneApplicationId){\n this.applicationService.createApplicationByAgent(preRegistrationDetails)\n .subscribe(response => {\n // this.setCurrentApplicationId(response.Result.ApplicationId);\n this.router.navigate(['/applications', `${response.Result.ApplicationId}`, 'edit', 'important-information']);\n }, (error: ErrorResponse) => {\n\n const { errors } = error;\n for (const errorKeyValue of errors) {\n this.setApiValidationError(errorKeyValue.Key, errorKeyValue.Value);\n }\n this.studentRegistrationFormGroup.updateValueAndValidity();\n\n //console.log('error in creating new application');\n //console.log(error);\n });\n }else{\n this.applicationService.cloneSiblingApplication(this.cloneApplicationId, preRegistrationDetails).subscribe(res => {\n this.cloneApplicationId = \"\";\n this.store.dispatch({\n type: Action_SetCurrentApplication,\n payload: \"\"\n });\n this.router.navigate(['/applications', `${res.Result.ApplicationId}`, 'edit', 'important-information']);\n });\n }\n }\n\n setCurrentApplicationId(currentApplicationId: number): void {\n this.store.dispatch({\n type: Action_SetCurrentApplication,\n payload: currentApplicationId\n });\n }\n\n\n setApiValidationError(apiErrorKeyName: string, apiErrorMsg): void {\n //console.log(`apiErrorKeyName:${apiErrorKeyName},apiErrorMsg:${apiErrorMsg} `);\n const errorField = this.errorKeyFormFieldMapping.find(errorKeyFormField => errorKeyFormField.apiErrorKeyName === apiErrorKeyName);\n\n if (errorField) {\n const { formFieldName } = errorField;\n this.studentRegistrationFormGroup.get(formFieldName).setErrors({ apiValidationError: true });\n errorField.apiValidationErrorMsg = apiErrorMsg;\n }\n\n }\n\n getPreRegistrationDetails(): PreRegistrationModel {\n\n const registrationDetails = new PreRegistrationModel();\n\n registrationDetails.StudentNumber = '';\n\n const isPastStudent = this.studentRegistrationFormGroup.get('isPastStudent').value;\n\n if (isPastStudent) {\n //We agree for student Id, Online Application use Upper case to register / authenticate\n registrationDetails.StudentNumber = this.studentRegistrationFormGroup.get('studentNumber').value.toUpperCase();\n }\n\n registrationDetails.GivenName = this.studentRegistrationFormGroup.get('givenName').value;\n registrationDetails.FamilyName = this.studentRegistrationFormGroup.get('familyName').value;\n registrationDetails.EmailAddress = this.studentRegistrationFormGroup.get('emailAddress').value;\n registrationDetails.DateOfBirth = this.utilityService.getDateStrWithoutTimeZone(this.studentRegistrationFormGroup.get('dateOfBirth').value);\n registrationDetails.CountryOfNationalityId = this.studentRegistrationFormGroup.get('countryOfNationalityId').value;\n registrationDetails.CountryOfResidenceId = this.studentRegistrationFormGroup.get('countryOfResidenceId').value;\n registrationDetails.WillStudyForYearOrLess = this.studentRegistrationFormGroup.get('willStudyForYearOrLess').value;\n registrationDetails.Parent1GivenName = this.studentRegistrationFormGroup.get('parent1GivenName').value;\n registrationDetails.Parent1FamilyName = this.studentRegistrationFormGroup.get('parent1FamilyName').value;\n registrationDetails.Parent1Relationship = this.studentRegistrationFormGroup.get('parent1Relationship').value;\n registrationDetails.Parent2GivenName = this.studentRegistrationFormGroup.get('parent2GivenName').value;\n registrationDetails.Parent2FamilyName = this.studentRegistrationFormGroup.get('parent2FamilyName').value;\n registrationDetails.Parent2Relationship = this.studentRegistrationFormGroup.get('parent2Relationship').value;\n\n if(this.studentRegistrationFormGroup.get('parent1Relationship').value === 'Legal Custodian') {\n registrationDetails.LegalCustodianGivenName = this.studentRegistrationFormGroup.get('parent1GivenName').value;\n registrationDetails.LegalCustodianFamilyName = this.studentRegistrationFormGroup.get('parent1FamilyName').value;\n }\n\n registrationDetails.StudentOnlyHasOneName = this.studentOnlyHasOneName;\n registrationDetails.Parent1OnlyHasOneName = this.parent1OnlyHasOneName;\n registrationDetails.Parent2OnlyHasOneName = this.parent2OnlyHasOneName;\n registrationDetails.SingleParentOrGuardian = this.singleParentOrGuardian;\n\n return registrationDetails;\n }\n\n storePreRegistrationDetails(preRegistrationDetails: PreRegistrationModel) {\n this.store.dispatch({\n type: Action_StorePreRegistrationDetails,\n payload: preRegistrationDetails\n });\n }\n\n setGDPRCompliance(): void {\n this.store.dispatch({\n type: Action_SetGDPRCOMPLIANCE,\n payload: true\n });\n }\n\n storePreRegistrationValidationResult(preRegistrationValidationResult: PreRegistrationValidationResult) {\n this.store.dispatch({\n type: Action_StorePreRegistrationValidationResult,\n payload: preRegistrationValidationResult\n });\n }\n\n cancel(): void {\n this.router.navigate(['applications', 'agent-dashboard']);\n }\n\n isOnlyHasOneNameClicked(event, personEntity: string) {\n\n switch (personEntity) {\n\n case 'student': {\n \n this.studentOnlyHasOneName = event.checked;\n var onlyHasOneNameNewValue = this.studentOnlyHasOneName;\n this.studentOnlyHasOneName = onlyHasOneNameNewValue;\n\n const studentFamilyNameControl = this.studentRegistrationFormGroup.get('familyName');\n if (onlyHasOneNameNewValue) {\n studentFamilyNameControl.setValidators(null);\n studentFamilyNameControl.setValue(\"\");\n }\n else {\n studentFamilyNameControl.setValidators([Validators.required]);\n }\n\n studentFamilyNameControl.updateValueAndValidity();\n break;\n }\n\n\n case 'parent1': {\n\n this.parent1OnlyHasOneName = event.checked;\n var onlyHasOneNameNewValue = this.parent1OnlyHasOneName;\n this.parent1OnlyHasOneName = onlyHasOneNameNewValue;\n\n const parent1FamilyNameControl = this.studentRegistrationFormGroup.get('parent1FamilyName');\n if (onlyHasOneNameNewValue) {\n parent1FamilyNameControl.setValidators(null);\n parent1FamilyNameControl.setValue(\"\");\n }\n else {\n parent1FamilyNameControl.setValidators([Validators.required]);\n }\n\n parent1FamilyNameControl.updateValueAndValidity();\n break;\n }\n\n\n case 'parent2': {\n\n this.parent2OnlyHasOneName = event.checked;\n var onlyHasOneNameNewValue = this.parent2OnlyHasOneName;\n this.parent2OnlyHasOneName = onlyHasOneNameNewValue;\n\n const parent2FamilyNameControl = this.studentRegistrationFormGroup.get('parent2FamilyName');\n if (onlyHasOneNameNewValue) {\n parent2FamilyNameControl.setValidators(null);\n parent2FamilyNameControl.setValue(\"\");\n }\n else {\n parent2FamilyNameControl.setValidators([Validators.required]);\n }\n\n parent2FamilyNameControl.updateValueAndValidity();\n break;\n }\n\n default: {\n break;\n }\n }\n\n\n //Have to re-call !!\n this.studentRegistrationFormGroup.updateValueAndValidity();\n\n }\n\n //show border when tab on link for accessibility\n linkTabAccessibility(event): void {\n event.style.outline = \"1px solid black\";\n }\n\n linkBlurAccessibility(event): void {\n event.style.outline = \"\";\n }\n\n //accessibility -- link error msg to form field\n errorDoubleErrorAccessibility(formControlName: string, requireErrorId: string, apiErrorId: string): string {\n if (this.isFormSubmitted &&\n this.studentRegistrationFormGroup.get(formControlName).errors &&\n this.studentRegistrationFormGroup.get(formControlName).errors.required) {\n return requireErrorId;\n } else if (this.isFormSubmitted &&\n this.studentRegistrationFormGroup.get(formControlName).errors &&\n this.studentRegistrationFormGroup.get(formControlName).errors.apiValidationError) {\n return apiErrorId;\n } else {\n return \"\";\n }\n }\n\n errorEmailErrorAccessibility(): string {\n if (this.isFormSubmitted &&\n this.studentRegistrationFormGroup.get(\"emailAddress\").errors &&\n this.studentRegistrationFormGroup.get(\"emailAddress\").errors.required) {\n return \"requiredEmail\";\n } else if (this.isFormSubmitted &&\n this.studentRegistrationFormGroup.get(\"emailAddress\").errors &&\n this.studentRegistrationFormGroup.get(\"emailAddress\").errors.apiValidationError) {\n return \"apiErrorEmail\";\n } else if (this.isFormSubmitted &&\n this.studentRegistrationFormGroup.get('emailAddress').errors &&\n this.studentRegistrationFormGroup.get('emailAddress').errors.email) {\n return \"errorEmail\";\n }else {\n return \"\";\n }\n }\n \n errorVerifyEmailErrorAccessibility(): string {\n if (this.isFormSubmitted &&\n this.studentRegistrationFormGroup.get(\"verifyEmailAddress\").errors &&\n this.studentRegistrationFormGroup.get(\"verifyEmailAddress\").errors.required) {\n return \"requiredEmail\";\n } else if (this.isFormSubmitted &&\n this.studentRegistrationFormGroup.get('verifyEmailAddress').errors &&\n this.studentRegistrationFormGroup.get('verifyEmailAddress').errors.email) {\n return \"errorEmail\";\n }else if (this.isFormSubmitted &&\n this.studentRegistrationFormGroup.get('verifyEmailAddress').errors &&\n this.studentRegistrationFormGroup.get('verifyEmailAddress').errors.notMatch) {\n return \"errorEmail\";\n }\n else {\n return \"\";\n }\n }\n\n isSingleParentOrGuardianClicked(event) {\n\n this.singleParentOrGuardian = event.checked;\n\n if (this.singleParentOrGuardian) {\n //var parent2GivenNameControl = this.studentRegistrationFormGroup.get('parent2GivenName');\n //var parent2FamilyNameControl = this.studentRegistrationFormGroup.get('parent2FamilyName');\n //parent2GivenNameControl.setValue(null);\n //parent2FamilyNameControl.setValue(null);\n }\n }\n/* For accessibility, keyboard only design, use tab to show borders but showing no border by clicking on mouse */\n keyboardFocus(event): void {\n event.style.outline = \"1px solid blue\";\n }\n\n keyboardBlur(event): void {\n event.style.outline = \"\";\n }\n}\n","import { trigger, transition, style, animate, state } from '@angular/animations';\r\n\r\nexport const slideInOut = trigger('slideInOut', [\r\n state('*', style({\r\n 'overflow-y': 'hidden',\r\n 'height': '*',\r\n 'opacity': 1\r\n })),\r\n state('void', style({\r\n 'height': '0',\r\n 'overflow-y': 'hidden',\r\n 'opacity': 0\r\n })),\r\n transition('* => void', animate('250ms ease-out')),\r\n transition('void => *', animate('250ms ease-in')),\r\n\r\n // transition(':enter', [\r\n // style({\r\n // 'height': '0',\r\n // 'overflow-y': 'hidden',\r\n // 'opacity': 0\r\n // }),\r\n // animate('200ms ease-in', style({\r\n // 'overflow-y': 'hidden',\r\n // 'height': '*',\r\n // 'opacity': 1\r\n // }))\r\n // ]),\r\n // transition(':leave', [\r\n // style({\r\n // 'overflow-y': 'hidden',\r\n // 'height': '*',\r\n // 'opacity': 1\r\n // }),\r\n // animate('200ms ease-in', style({\r\n // 'height': '0',\r\n // 'overflow-y': 'hidden',\r\n // 'opacity': 0\r\n // }))\r\n // ])\r\n]);\r\n","module.exports = \"
\\n
\\n

Agent Details

\\n \\\"\\\"/\\n
\\n\\n
\\n\\n
\\n
\\n
Please note that all fields marked with an (*) are required.
\\n
\\n\\n
\\n
\\n

Agent Details

\\n 1 of 1\\n
\\n
\\n
Please provide the name and contact details of the counsellor completing this application.
\\n
\\n \\n
\\n \\n \\n This is a required field\\n Given name should not exceed 50 characters\\n \\n
\\n \\n \\n \\n
\\n \\n \\n Family name should not exceed 50 characters\\n \\n
\\n\\n \\n
\\n \\n \\n This is a required field\\n Invalid email address\\n \\n
\\n
\\n \\n
\\n\\n
\\n

Phone

\\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n This is a required field\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n This is a required field\\n \\n
\\n
\\n
\\n \\n
\\n \\n
\\n\\n
\\n
\\n \\n
\\n \\n \\n Additional information should not exceed 400 characters\\n \\n
\\n
\\n
\\n
\\n\\n
\\n \\n \\n \\n
\\n\\n
\\n
\\n
\"","module.exports = \".permanent-prompt {\\n position: relative;\\n top: -1.2rem;\\n font-size: 1.4rem;\\n font-style: italic; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vYXBwbGljYXRpb24tYWdlbnQtZGV0YWlscy9EOlxcYVxcMTU1XFxzXFxEZWkuT25saW5lQXBwbGljYXRpb24uUHJvZFxcRGVpLk9ubGluZUFwcGxpY2F0aW9uLldlYlxcb25saW5lLWFwcC9zcmNcXGFwcFxcYXBwbGljYXRpb25cXGFwcGxpY2F0aW9uLWFnZW50LWRldGFpbHNcXGFwcGxpY2F0aW9uLWFnZW50LWRldGFpbHMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixrQkFBa0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2FwcGxpY2F0aW9uL2FwcGxpY2F0aW9uLWFnZW50LWRldGFpbHMvYXBwbGljYXRpb24tYWdlbnQtZGV0YWlscy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5wZXJtYW5lbnQtcHJvbXB0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogLTEuMnJlbTtcclxuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59Il19 */\"","import { AfterContentChecked, Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { Observable, Subscription } from 'rxjs';\nimport { SingleResultApiResponse } from 'src/app/shared/models/api-response.model';\nimport { ErrorResponse } from 'src/app/shared/models/error.model';\nimport { Country } from 'src/app/shared/models/lookup-data.model';\nimport { ApplicationService } from 'src/app/shared/services/application.service';\nimport { FormService } from 'src/app/shared/services/form.service';\nimport { ModalService } from 'src/app/shared/services/modal.service';\nimport { ApplicationAgentDetails } from '../models/application-agent-details';\nimport { compareApplicationAgentDetails } from '../shared/utils/ModelUtils';\nimport { Action_ApplicationSectionSaved } from '../state/actions';\n\n@Component({\n selector: 'online-app-application-agent-details',\n templateUrl: './application-agent-details.component.html',\n styleUrls: ['./application-agent-details.component.scss'],\n host: {\n class: 'application-section-component'\n },\n})\nexport class ApplicationAgentDetailsComponent implements OnInit, AfterContentChecked, OnDestroy{\n\n agentDetailsForm: FormGroup\n\n applicationId: number;\n isSaveSuccessful = false;\n isScrollDone = false;\n isFormSubmitted = false;\n isSubmittedApplication = false;\n initialApplicationAgentDetails: ApplicationAgentDetails;\n\n countries: Country[]\n \n private subscriptionsToDispose: Subscription[] = [];\n\n constructor(fb: FormBuilder,\n private router: Router,\n private activatedRoute: ActivatedRoute,\n private store: Store,\n private modalService: ModalService,\n private formService: FormService,\n private applicationService: ApplicationService,) { \n this.activatedRoute.parent.params.subscribe(params => {\n this.applicationId = +params['id'];\n });\n\n this.agentDetailsForm = fb.group({\n givenName: [null, Validators.compose([Validators.required, Validators.maxLength(50)])],\n familyName: [null, Validators.compose([Validators.maxLength(50)])],\n phoneCountryCode: [null, Validators.required],\n phoneNumber: [null, Validators.compose([Validators.required/*, Validators.pattern()*/])],\n emailAddress: [null, Validators.compose([Validators.required, Validators.email])],\n additionalInformation: [null, Validators.compose([Validators.maxLength(400)])],\n });\n }\n\n ngOnInit() {\n setTimeout(() => {\n this.countries = [this.getDefaultCountry(), ...this.activatedRoute.snapshot.data['countries']];\n\n this.applicationService.getApplicationAgentDetails(this.applicationId)\n .subscribe((response: SingleResultApiResponse) => {\n if (response.Result) {\n this.updateFormValuesFromApiResult(response.Result);\n this.initialApplicationAgentDetails = this.getApplicationAgentDetailsDto();\n }\n }, err => {\n console.error(err);\n }, () => {\n\n });\n\n this.applicationService.getApplicationDetails(this.applicationId)\n .subscribe((response: SingleResultApiResponse) => {\n if (response.Result) {\n this.isSubmittedApplication = response.Result.ApplicationStatus === 'Submitted';\n if (this.isSubmittedApplication) {\n this.agentDetailsForm.disable();\n }\n }\n }, err => {\n console.error(err);\n });\n\n }, 4);\n }\n\n ngAfterContentChecked(): void {\n if (!this.isScrollDone) {\n this.isScrollDone = this.formService.scrollToFirstErrorField();\n }\n }\n\n ngOnDestroy() {\n this.subscriptionsToDispose.forEach(s => s.unsubscribe());\n }\n\n countryCodeDescription(country: Country) {\n if (!country || !country.Code) {\n return 'Please select';\n }\n\n return `${country.Description} (+${country.PhoneCode})`;\n }\n\n private updateFormValuesFromApiResult(agentDetails: ApplicationAgentDetails): void {\n\n //console.log(englishProficiencyDetails);\n this.agentDetailsForm.patchValue({\n givenName: agentDetails.GivenName,\n familyName: agentDetails.FamilyName,\n phoneCountryCode: agentDetails.PhoneCountryCode,\n phoneNumber: agentDetails.PhoneNumber,\n emailAddress: agentDetails.EmailAddress,\n additionalInformation: agentDetails.AdditionalInformation,\n });\n\n this.agentDetailsForm.updateValueAndValidity();\n }\n\n //#region getters for individual form controls\n\n get givenName() : FormControl {\n return this.agentDetailsForm.get('givenName') as FormControl;\n } \n get familyName() : FormControl {\n return this.agentDetailsForm.get('familyName') as FormControl;\n } \n get phoneCountryCode() : FormControl {\n return this.agentDetailsForm.get('phoneCountryCode') as FormControl;\n } \n get phoneNumber() : FormControl {\n return this.agentDetailsForm.get('phoneNumber') as FormControl;\n } \n get emailAddress() : FormControl {\n return this.agentDetailsForm.get('emailAddress') as FormControl;\n } \n get additionalInformation() : FormControl {\n return this.agentDetailsForm.get('additionalInformation') as FormControl;\n }\n\n givenNameUpdate(event: any) {\n if(this.agentDetailsForm.get('givenName').value){\n this.agentDetailsForm.get('givenName').setValue(this.titleCaseWord(this.agentDetailsForm.get('givenName').value));\n this.agentDetailsForm.updateValueAndValidity();\n }\n }\n\n familyNameUpdate(event: any) {\n if(this.agentDetailsForm.get('familyName').value){\n this.agentDetailsForm.get('familyName').setValue(this.agentDetailsForm.get('familyName').value.toUpperCase());\n this.agentDetailsForm.updateValueAndValidity();\n }\n }\n\n titleCaseWord(word: string) {\n if (!word) return word;\n return word[0].toUpperCase() + word.substr(1).toLowerCase();\n }\n //#endregion\n\n previous() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'summary']);\n }\n next() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'payment']);\n }\n\n saveAndContinue(): void {\n this.isFormSubmitted = true;\n \n if (this.agentDetailsForm.valid) {\n const agentDetails = this.getApplicationAgentDetailsDto();\n\n this.applicationService.updateApplicationAgentDetails(this.applicationId, agentDetails)\n .subscribe((response: SingleResultApiResponse) => {\n this.dispatchSectionSaveAction();\n this.isSaveSuccessful = true;\n this.next();\n }, (errorResponse: ErrorResponse) => {\n const { errors } = errorResponse;\n //console.log('errors: ', errors);\n // this.setApiValidationError(errors);\n this.agentDetailsForm.updateValueAndValidity();\n\n this.dispatchSectionSaveAction();\n this.initialApplicationAgentDetails = this.getApplicationAgentDetailsDto();\n this.isScrollDone = false;\n this.formService.scrollToFirstErrorField();\n });\n\n } \n }\n\n private getApplicationAgentDetailsDto(): ApplicationAgentDetails {\n const dto = new ApplicationAgentDetails();\n\n dto.GivenName = this.givenName.value;\n dto.FamilyName = this.familyName.value;\n dto.PhoneCountryCode = this.phoneCountryCode.value;\n dto.PhoneNumber = this.phoneNumber.value;\n dto.EmailAddress = this.emailAddress.value;\n dto.AdditionalInformation = this.additionalInformation.value;\n\n return dto;\n }\n\n private getDefaultCountry(): Country {\n return {\n Id: '',\n Code: '',\n Description: 'Please select',\n Status: '',\n IsAgentMandatory: false,\n CanStudyAbroad: false,\n PhoneCode: 0,\n IsDeleted: false\n };\n }\n\n dispatchSectionSaveAction() {\n this.store.dispatch({\n type: Action_ApplicationSectionSaved\n });\n }\n\n canDeactivate(): Observable | boolean {\n if (this.isSaveSuccessful) {\n return true;\n }\n\n if (!this.isAgentDetailsSame()) {\n this.modalService.showModal();\n return this.modalService.stayOnThePage;\n } else {\n this.modalService.hideModal();\n return true;\n }\n }\n\n\n isAgentDetailsSame(): boolean {\n const currentAgentDetails = this.getApplicationAgentDetailsDto();\n const initialAgentDetails = this.initialApplicationAgentDetails; \n\n return compareApplicationAgentDetails(initialAgentDetails, currentAgentDetails);;\n }\n\n //accessibility -- link error msg to form field\n errorDoubleErrorAccessibility(formControlName: string, requireErrorId: string, apiErrorId: string): string {\n if (this.isFormSubmitted &&\n this.agentDetailsForm.get(formControlName).errors &&\n this.agentDetailsForm.get(formControlName).errors.required) {\n return requireErrorId;\n } else if (this.isFormSubmitted &&\n this.agentDetailsForm.get(formControlName).errors &&\n this.agentDetailsForm.get(formControlName).errors.apiValidationError) {\n return apiErrorId;\n } else {\n return \"\";\n }\n }\n\n}\n","module.exports = \"
\\n
\\n Application No: {{applicationNumber}}\\n
\\n \\n
\\n \\n Back to\\n Home\\n
\\n
\"","module.exports = \"div.app-details {\\n padding: 15px;\\n font-size: 2.1rem;\\n border-bottom: 5px solid #46466e; }\\n\\n.app-details a {\\n text-decoration: underline;\\n text-align: right;\\n color: #46466e;\\n font-size: 16px;\\n cursor: pointer; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vYXBwbGljYXRpb24tZGV0YWlscy9EOlxcYVxcMTU1XFxzXFxEZWkuT25saW5lQXBwbGljYXRpb24uUHJvZFxcRGVpLk9ubGluZUFwcGxpY2F0aW9uLldlYlxcb25saW5lLWFwcC9zcmNcXGFwcFxcYXBwbGljYXRpb25cXGFwcGxpY2F0aW9uLWRldGFpbHNcXGFwcGxpY2F0aW9uLWRldGFpbHMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxhQUFhO0VBQ2IsaUJBQWdCO0VBQ2hCLGdDQUFnQyxFQUFBOztBQUdwQztFQUNJLDBCQUEwQjtFQUMxQixpQkFBaUI7RUFDakIsY0FBYztFQUNkLGVBQWU7RUFDZixlQUFlLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9hcHBsaWNhdGlvbi9hcHBsaWNhdGlvbi1kZXRhaWxzL2FwcGxpY2F0aW9uLWRldGFpbHMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJkaXYuYXBwLWRldGFpbHMge1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICAgIGZvbnQtc2l6ZToyLjFyZW07XHJcbiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgIzQ2NDY2ZTtcclxufVxyXG5cclxuLmFwcC1kZXRhaWxzIGEge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIGNvbG9yOiAjNDY0NjZlO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59Il19 */\"","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ApplicationService } from 'src/app/shared/services/application.service';\nimport { SingleResultApiResponse } from 'src/app/shared/models/api-response.model';\nimport { Store, select } from '@ngrx/store';\n\n@Component({\n selector: 'online-app-application-details',\n templateUrl: './application-details.component.html',\n styleUrls: ['./application-details.component.scss']\n})\nexport class ApplicationDetailsComponent implements OnInit {\n\n applicationId: number;\n applicationNumber: string;\n\n SchoolProgramType: string;\n\n constructor(private activatedRoute: ActivatedRoute,\n private router: Router,\n private store: Store,\n private applicationService: ApplicationService) {\n\n this.applicationId = +this.activatedRoute.snapshot.params['id'];\n }\n\n ngOnInit() {\n\n this.applicationService.getApplicationDetails(this.applicationId)\n .subscribe((response: SingleResultApiResponse) => {\n if (response.Result) {\n this.applicationNumber = response.Result.ApplicationNumber;\n this.SchoolProgramType = response.Result.SchoolProgramType;\n }\n }, err => {\n console.error(err);\n });\n\n this.store.pipe(select('application'))\n .subscribe(applicationState => {\n\n if (applicationState &&\n (applicationState.schoolProgramChanged || this.isDraftStudyAroadApplication) &&\n this.applicationId > 0) {\n\n this.applicationService.getApplicationDetails(this.applicationId)\n .subscribe((response: SingleResultApiResponse) => {\n if (response.Result) {\n this.applicationNumber = response.Result.ApplicationNumber;\n }\n }, err => {\n console.error(err);\n });\n\n }\n\n });\n\n\n }\n\n //show border when tab on link for accessibility\n linkTabAccessibility(event): void {\n event.style.outline = \"1px solid black\";\n }\n\n linkBlurAccessibility(event): void {\n event.style.outline = \"\";\n }\n\n goBackToHome() {\n const userType = localStorage.getItem('userType');\n\n if (userType === 'agent') {\n this.router.navigate(['applications', 'agent-dashboard']);\n } else {\n this.router.navigate(['applications', 'dashboard']);\n }\n }\n\n\n get isDraftStudyAroadApplication(): boolean {\n return this.SchoolProgramType == 'StudyAbroad' && this.applicationNumber.startsWith(\"Z-\");\n }\n}\n","module.exports = \".content .right-block .problems {\\r\\n -webkit-transform: scale(0.5);\\r\\n transform: scale(0.5);\\r\\n}\\r\\n\\r\\n/* @media (max-width: 1420px) {\\r\\n\\r\\n .content {\\r\\n max-width: 100vw;\\r\\n max-height: calc(100vh - 18rem);\\r\\n }\\r\\n\\r\\n .content .right-block {\\r\\n padding-bottom: 2rem;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (min-width: 1420.1px) {\\r\\n .content{\\r\\n overflow: auto;\\r\\n max-height: calc(100vh - 9rem);\\r\\n }\\r\\n} */\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vYXBwbGljYXRpb24tZWRpdC9hcHBsaWNhdGlvbi1lZGl0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSw2QkFBNkI7SUFHN0IscUJBQXFCO0FBQ3pCOztBQUVBOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRyIsImZpbGUiOiJzcmMvYXBwL2FwcGxpY2F0aW9uL2FwcGxpY2F0aW9uLWVkaXQvYXBwbGljYXRpb24tZWRpdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbnRlbnQgLnJpZ2h0LWJsb2NrIC5wcm9ibGVtcyB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC41KTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC41KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcclxufVxyXG5cclxuLyogQG1lZGlhIChtYXgtd2lkdGg6IDE0MjBweCkge1xyXG5cclxuICAgIC5jb250ZW50IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMHZ3O1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxOHJlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRlbnQgLnJpZ2h0LWJsb2NrIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDE0MjAuMXB4KSB7XHJcbiAgICAuY29udGVudHtcclxuICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA5cmVtKTtcclxuICAgIH1cclxufSAqLyJdfQ== */\"","module.exports = \"
\\n \\n
\\n \\n
\\n
\"","import { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute, NavigationEnd } from '@angular/router';\nimport { IApplicationStep } from '../models/application-step.interface';\nimport { filter } from 'rxjs/operators';\nimport { Store, select } from '@ngrx/store';\nimport { ApplicationService } from 'src/app/shared/services/application.service';\nimport { SingleResultApiResponse } from 'src/app/shared/models/api-response.model';\n\n@Component({\n selector: 'online-app-application-edit',\n templateUrl: './application-edit.component.html',\n styleUrls: ['./application-edit.component.css'],\n host: {\n class: 'application-component-after-login'\n }\n})\nexport class ApplicationEditComponent implements OnInit {\n\n previousButtonVisible = false;\n saveButtonText = 'Save & Continue';\n applicationId = 0;\n\n previousSectionURL = '';\n nextSectionURL = '';\n currentSectionURL = '';\n\n\n applicationSteps: IApplicationStep[] = [];\n // {\n // Id: 1,\n // Description: 'Important Information',\n // URL: 'important-information'\n // },\n // {\n // Id: 2,\n // Description: 'Student Details',\n // URL: 'student-details'\n // },\n // {\n // Id: 3,\n // Description: 'Parent Guardian Details',\n // URL: 'parent-guardian-details'\n // },\n // ];\n\n applicationState: any;\n\n constructor(private router: Router,\n private applicationService: ApplicationService,\n private store: Store,\n private activatedRoute: ActivatedRoute) {}\n\n ngOnInit() {\n\n // this.currentSectionURL = this.router.url;\n\n // this.updateButtons();\n // this.updateURLs();\n\n // this.activatedRoute.params.subscribe(params => {\n // this.applicationId = +params['id']; // (+) converts string 'id' to a number\n // });\n\n // this.router.events.pipe( filter(event => event instanceof NavigationEnd) )\n // .subscribe((navigationEndEvent: NavigationEnd) => {\n // this.currentSectionURL = navigationEndEvent.url;\n // this.updateButtons();\n // this.updateURLs();\n // });\n\n // this.store.pipe(select('application'))\n // .subscribe( applicationState => {\n // this.applicationState = applicationState;\n // });\n\n }\n\n updateButtons() {\n\n const isImportantInformationSection = this.currentSectionURL.endsWith('important-information');\n if (isImportantInformationSection) {\n this.previousButtonVisible = false;\n this.saveButtonText = 'Continue';\n } else {\n this.previousButtonVisible = true;\n this.saveButtonText = 'Save & Continue';\n }\n }\n\n isApplicationStepExists(applicationStepId: number): boolean {\n return this.applicationSteps.filter( step => step.Id === applicationStepId).length === 1\n && applicationStepId > 0 && applicationStepId <= this.applicationSteps.length;\n }\n\n getSectionURL(applicationStepId: number): string {\n // Arrays start with 0 based index whereas application step id starts with 1\n const applicationStepIndex = applicationStepId - 1;\n return this.isApplicationStepExists(applicationStepId) ? this.applicationSteps[applicationStepIndex].URL : null;\n\n }\n\n updateURLs() {\n const currentSectionURL = this.currentSectionURL.split('/').pop();\n const currentApplicationStep = this.applicationSteps.filter( step => step.URL === currentSectionURL).pop();\n\n this.previousSectionURL = this.getSectionURL(currentApplicationStep.Id - 1);\n this.nextSectionURL = this.getSectionURL(currentApplicationStep.Id + 1);\n }\n\n previous() {\n this.router.navigate(['/applications', this.applicationId, 'edit', this.previousSectionURL]);\n }\n\n saveCurrentSectionData() {\n const currentSection = this.currentSectionURL.split('/').pop();\n\n switch (currentSection) {\n case 'important-information':\n this.router.navigate(['/applications', this.applicationId, 'edit', this.nextSectionURL]);\n break;\n case 'student-details':\n //console.log('going to update student details');\n //console.log(this.applicationState.studentDetails);\n this.applicationService.updateStudentDetails(this.applicationId, this.applicationState.studentDetails)\n .subscribe( (response: SingleResultApiResponse) => {\n //console.log('successfully updated student details');\n this.router.navigate(['/applications', this.applicationId, 'edit', this.nextSectionURL]);\n }, err => {\n //console.log('error in updateStudentDetails api');\n console.error(err);\n });\n break;\n\n\n }\n\n\n }\n\n saveAndContinue() {\n this.saveCurrentSectionData();\n }\n\n}\n","module.exports = \"
\\n\\n
\\n

Application Payment

\\n \\\"\\\"\\n
\\n\\n
\\n\\n
\\n\\n
\\n\\n
\\n

Application payment

\\n
\\n\\n
\\n
\\n
\\n Congratulations! Your application has been submitted successfully.\\n
\\n
\\n Application Number: {{paymentDetail?.ApplicationNumber}}\\n
\\n
\\n Application Fee Charged: {{paymentDetail?.Currency}} {{paymentDetail?.TotalAmountAfterDiscount }}\\n
\\n
\\n
\\n
Payment cancelled. Please try again.
\\n
\\n
\\n
\\n Application fee: \\n
\\n
\\n {{applicationPaymentDetails.Currency || 'AUD'}} {{ applicationPaymentDetails.ApplicationFee || '290' }}\\n
\\n
\\n \\n \\n
\\n \\n \\n\\n \\n {{ getApiValidationErrorMsg('voucherNumber') }}\\n \\n\\n \\n\\n
\\n \\n
\\n\\n\\n
\\n\\n
\\n
\\n Discount: \\n
\\n
\\n {{applicationPaymentDetails.Currency || 'AUD'}} {{applicationPaymentDetails.DiscountAmount }} \\n
\\n
\\n
\\n
\\n Application Fee Payable:\\n
\\n
\\n {{applicationPaymentDetails.Currency || 'AUD'}} {{applicationPaymentDetails.TotalAmountAfterDiscount }} \\n
\\n
\\n\\n
\\n\\n
\\n
\\n\\n
\\n Please ensure that all mandatory fields from the previous sections are filled-out in order to proceed.\\n
\\n\\n
\\n The student is no more eligible for the selected program year/term as per the age criteria. Please select a different program year/term and resubmit your application.\\n
\\n\\n
\\n\\n
\\n \\n \\n \\n
\\n\\n
\\n\\n
\\n\\n
\\n\"","module.exports = \".discountApplyBtnDiv {\\n display: inline-block;\\n margin-left: 35px; }\\n\\n.discountApplyBtn {\\n display: inline-block;\\n background-color: #46466E;\\n padding: 7px 13px;\\n color: #fff;\\n border: 1px solid transparent;\\n border-radius: 5px;\\n font-size: 1.425rem;\\n cursor: pointer; }\\n\\n.discountApplyBtn:hover {\\n box-shadow: 0 2px 5px 1px #9D9F9F;\\n transition: all .2s; }\\n\\n.payment-completion-status {\\n font-size: 1.8rem; }\\n\\n.problems .problem .payment-not-ready {\\n font-size: 1.8rem;\\n color: #DB0A5B;\\n margin: 10px;\\n padding: 10px; }\\n\\n.discountApplyBtn:disabled, .btn-right:disabled {\\n background-color: grey; }\\n\\n.empty-placeholder {\\n display: inline-block;\\n height: 20px;\\n line-height: 20px;\\n -webkit-animation: fetching-data 1.7s infinite linear;\\n animation: fetching-data 1.7s infinite linear;\\n background: #dedfe1;\\n background-image: linear-gradient(to right, #dedfe1 0%, #f2f3f5 20%, #dedfe1 40%, #dedfe1 100%);\\n background-repeat: no-repeat;\\n border-radius: 4px;\\n color: rgba(65, 71, 71, 0.15);\\n min-width: 15rem;\\n color: transparent;\\n transition: all 20s ease-in-out; }\\n\\n.block form .problems .problem .question {\\n min-height: 20rem; }\\n\\n@-webkit-keyframes fetching-data {\\n 0% {\\n background-position: -100px; }\\n 100% {\\n background-position: 200px; } }\\n\\n@keyframes fetching-data {\\n 0% {\\n background-position: -100px; }\\n 100% {\\n background-position: 200px; } }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vYXBwbGljYXRpb24tcGF5bWVudC9EOlxcYVxcMTU1XFxzXFxEZWkuT25saW5lQXBwbGljYXRpb24uUHJvZFxcRGVpLk9ubGluZUFwcGxpY2F0aW9uLldlYlxcb25saW5lLWFwcC9zcmNcXGFwcFxcYXBwbGljYXRpb25cXGFwcGxpY2F0aW9uLXBheW1lbnRcXGFwcGxpY2F0aW9uLXBheW1lbnQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxxQkFBcUI7RUFDckIsaUJBQWlCLEVBQUE7O0FBR3JCO0VBQ0kscUJBQXFCO0VBQ3JCLHlCQUF5QjtFQUN6QixpQkFBaUI7RUFDakIsV0FBVztFQUNYLDZCQUE2QjtFQUM3QixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWUsRUFBQTs7QUFHbkI7RUFDSSxpQ0FBaUM7RUFDakMsbUJBQW1CLEVBQUE7O0FBR3ZCO0VBQ0ksaUJBQWlCLEVBQUE7O0FBR3JCO0VBQ0ksaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxZQUFZO0VBQ1osYUFBYSxFQUFBOztBQUdqQjtFQUNJLHNCQUFzQixFQUFBOztBQUcxQjtFQUNJLHFCQUFxQjtFQUNyQixZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLHFEQUE2QztVQUE3Qyw2Q0FBNkM7RUFDN0MsbUJBQW1CO0VBQ25CLCtGQUErRjtFQUMvRiw0QkFBNEI7RUFDNUIsa0JBQWtCO0VBQ2xCLDZCQUE2QjtFQUM3QixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBRWxCLCtCQUErQixFQUFBOztBQUluQztFQUNJLGlCQUFpQixFQUFBOztBQUdyQjtFQUNJO0lBQ0ksMkJBQTJCLEVBQUE7RUFHL0I7SUFDSSwwQkFBMEIsRUFBQSxFQUFBOztBQU5sQztFQUNJO0lBQ0ksMkJBQTJCLEVBQUE7RUFHL0I7SUFDSSwwQkFBMEIsRUFBQSxFQUFBIiwiZmlsZSI6InNyYy9hcHAvYXBwbGljYXRpb24vYXBwbGljYXRpb24tcGF5bWVudC9hcHBsaWNhdGlvbi1wYXltZW50LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmRpc2NvdW50QXBwbHlCdG5EaXYge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDM1cHg7IFxyXG59XHJcblxyXG4uZGlzY291bnRBcHBseUJ0biB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDY0NjZFO1xyXG4gICAgcGFkZGluZzogN3B4IDEzcHg7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgZm9udC1zaXplOiAxLjQyNXJlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmRpc2NvdW50QXBwbHlCdG46aG92ZXIge1xyXG4gICAgYm94LXNoYWRvdzogMCAycHggNXB4IDFweCAjOUQ5RjlGO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycztcclxufVxyXG5cclxuLnBheW1lbnQtY29tcGxldGlvbi1zdGF0dXMge1xyXG4gICAgZm9udC1zaXplOiAxLjhyZW07XHJcbn1cclxuXHJcbi5wcm9ibGVtcyAucHJvYmxlbSAucGF5bWVudC1ub3QtcmVhZHkge1xyXG4gICAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgICBjb2xvcjogI0RCMEE1QjtcclxuICAgIG1hcmdpbjogMTBweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi5kaXNjb3VudEFwcGx5QnRuOmRpc2FibGVkLCAuYnRuLXJpZ2h0OmRpc2FibGVke1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ3JleTtcclxufVxyXG5cclxuLmVtcHR5LXBsYWNlaG9sZGVyIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgYW5pbWF0aW9uOiBmZXRjaGluZy1kYXRhIDEuN3MgaW5maW5pdGUgbGluZWFyO1xyXG4gICAgYmFja2dyb3VuZDogI2RlZGZlMTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2RlZGZlMSAwJSwgI2YyZjNmNSAyMCUsICNkZWRmZTEgNDAlLCAjZGVkZmUxIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGNvbG9yOiByZ2JhKDY1LCA3MSwgNzEsIDAuMTUpO1xyXG4gICAgbWluLXdpZHRoOiAxNXJlbTtcclxuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjBzIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG5cclxuLmJsb2NrIGZvcm0gLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiB7XHJcbiAgICBtaW4taGVpZ2h0OiAyMHJlbTtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmZXRjaGluZy1kYXRhIHtcclxuICAgIDAlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHg7XHJcbiAgICB9XHJcbiAgXHJcbiAgICAxMDAlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMDBweDtcclxuICAgIH1cclxufSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ApplicationService } from 'src/app/shared/services/application.service';\r\nimport { PaymentService } from 'src/app/shared/services/payment.service';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport { SingleResultApiResponse, ApiResponse } from 'src/app/shared/models/api-response.model';\r\nimport { ApplicationPayment, Voucher, PaymentUpdateModel} from '../models/application-payment';\r\nimport { ErrorResponse } from 'src/app/shared/models/error.model';\r\nimport { ApplicationDetail } from '../models/application-detail';\r\nimport { IApplicationStep } from '../models/application-step.interface';\r\nimport { Store } from '@ngrx/store';\r\nimport { Action_ApplicationSectionSaved } from '../state/actions';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Tab_Title } from 'src/app/shared/models/lookup-data.model';\r\n\r\n\r\n@Component({\r\n selector: 'online-app-application-payment',\r\n templateUrl: './application-payment.component.html',\r\n styleUrls: ['./application-payment.component.scss'],\r\n host: {\r\n class: 'application-section-component'\r\n },\r\n})\r\nexport class ApplicationPaymentComponent implements OnInit {\r\n\r\n applicationPaymentFormGroup: FormGroup;\r\n applicationId: number;\r\n applicationPaymentDetails: ApplicationPayment;\r\n voucherDetails: Voucher;\r\n voucherError = '';\r\n isVoucherSubmitted: boolean = false;\r\n discountAmount = 0;\r\n totalAmountAfterDiscount: number;\r\n isPaymentCompleted: boolean = false;\r\n applicationDetail: ApplicationDetail;\r\n applicationSteps: IApplicationStep[];\r\n isPaymentReady: boolean;\r\n isAgeValidForProgramStartDate: boolean;\r\n isTermSelectionValidForToday: boolean;\r\n paymentStatus: string;\r\n paymentDetail: any;\r\n\r\n paymentApplicationTypeId = 3;\r\n\r\n errorKeyFormFieldMapping = [\r\n { apiErrorKeyName: 'voucherNumber', formFieldName: 'voucherNumber', apiValidationErrorMsg: null },\r\n ];\r\n\r\n sections = [\r\n {name: 'StudentDetails', visiblilityStatus: false, completionStatus: false},\r\n {name: 'ParentGuardianDetails', visiblilityStatus: false, completionStatus: false},\r\n {name: 'VisaAndOhscDetails', visiblilityStatus: false, completionStatus: false},\r\n {name: 'SchoolProgramAndPlacement', visiblilityStatus: false, completionStatus: false},\r\n {name: 'AccommodationAndWelfare', visiblilityStatus: false, completionStatus: false},\r\n {name: 'EnglishProficiency', visiblilityStatus: false, completionStatus: false},\r\n {name: 'SpecialCircumstances', visiblilityStatus: false, completionStatus: false},\r\n {name: 'DefaultCorrespondent', visiblilityStatus: false, completionStatus: false },\r\n {name: 'SupportingDocuments', visiblilityStatus: false, completionStatus: false }, \r\n {name: 'MakePayment', visiblilityStatus: false, completionStatus: false },\r\n ];\r\n\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private applicationService: ApplicationService,\r\n private paymentService: PaymentService,\r\n private store: Store,\r\n private fb: FormBuilder,\r\n private activatedRoute: ActivatedRoute,\r\n private titleService: Title\r\n ) {\r\n this.activatedRoute.parent.params.subscribe( params => {\r\n this.applicationId = +params['id'];\r\n });\r\n\r\n this.applicationPaymentDetails = new ApplicationPayment();\r\n this.applicationSteps = this.applicationService.getApplicationSteps();\r\n\r\n }\r\n\r\n\r\n\r\n ngOnInit() { \r\n if(localStorage.getItem(\"isAgent\") == \"true\"){\r\n this.titleService.setTitle(Tab_Title.Agent_Payment_Title);\r\n }else{\r\n this.titleService.setTitle(Tab_Title.Payment_Title);\r\n }\r\n this.paymentStatus = this.route.snapshot.paramMap.get(\"paymentStatus\");\r\n // console.log(this.paymentStatus);\r\n\r\n this.applicationPaymentFormGroup = this.fb.group({\r\n voucherNumber: ''\r\n });\r\n\r\n this.updatePaymentFromWestpac();\r\n\r\n this.applicationService.getApplicationSections(this.applicationId)\r\n .subscribe((response: ApiResponse) => {\r\n this.updateSectionCompletionStatus(response.Result);\r\n\r\n // if all sections except for last payment section is 'Complete', then good to go\r\n this.isPaymentReady = !this.sections.some(section => section.completionStatus === false && section.name !== 'MakePayment');\r\n \r\n this.isPaymentCompleted = this.isPaymentCompleted ||\r\n this.sections.some(section => section.completionStatus === true && section.name === 'MakePayment');\r\n\r\n\r\n if(!this.isPaymentCompleted) {\r\n this.applicationService.areAgeAndProgramSelectionStillValid(this.applicationId)\r\n .subscribe((response: SingleResultApiResponse) => {\r\n this.isAgeValidForProgramStartDate = response.Result.IsAgeValidForProgramStartDate;\r\n this.isTermSelectionValidForToday = response.Result.IsTermSelectionValidForToday;\r\n\r\n this.isPaymentReady = this.isPaymentReady && this.isAgeValidForProgramStartDate && this.isTermSelectionValidForToday;\r\n\r\n if ( this.isPaymentReady) {\r\n this.applicationService.getApplicationPaymentDetails(this.applicationId)\r\n .subscribe( (pResponse: SingleResultApiResponse) => {\r\n if (pResponse.Result) {\r\n this.updateApplicationPaymentDetails(pResponse.Result);\r\n }\r\n }, err => {\r\n console.error(err);\r\n });\r\n \r\n this.applicationService.getApplicationDetails(this.applicationId)\r\n .subscribe( (aResponse: SingleResultApiResponse) => {\r\n if (aResponse.Result) {\r\n this.applicationDetail = aResponse.Result;\r\n } \r\n }, (err: ErrorResponse) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n }, err => {\r\n console.log(err);\r\n });\r\n } else {\r\n this.isAgeValidForProgramStartDate = true;\r\n this.isTermSelectionValidForToday = true;\r\n this.applicationService.getApplicationPaymentDetails(this.applicationId)\r\n .subscribe( (pResponse: SingleResultApiResponse) => {\r\n if (pResponse.Result) {\r\n this.paymentDetail = pResponse.Result;\r\n }\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n }, err => {\r\n console.error(err);\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n updateSectionCompletionStatus(applicationSections: ApplicationSection[]) {\r\n\r\n // this.sections\r\n for (const section of applicationSections ) {\r\n const appSection = this.sections.find(appStep => appStep.name === section.Type);\r\n\r\n if(appSection){\r\n appSection.completionStatus = section.Status === 'Complete';\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n makePayment() {\r\n // tslint:disable-next-line:max-line-length\r\n // window.location.href = 'http://externalservice.det.nsw.edu.au/payment/MakePaymentAsync?applicationId=1&paymentDescription=aaa&paymentAmount=123&invoiceNumber=INV009965';\r\n\r\n let voucherNumber = this.applicationPaymentFormGroup.get('voucherNumber').value;\r\n\r\n this.applicationService.makeApplicationPaymentDetails(this.applicationId, voucherNumber)\r\n\r\n .subscribe( (response: SingleResultApiResponse) => {\r\n\r\n const { IsFullDiscount, TotalAmountAfterDiscount, InvoiceNumber } = response.Result;\r\n const paymentDescription = 'OnlineApplicationPayment';\r\n\r\n if (IsFullDiscount) {\r\n this.isPaymentCompleted = true;\r\n\r\n // Auto-refresh left-side menu res => f2()\r\n // this.sections.filter(x => x.name == \"MakePayment\")[0].completionStatus = true;\r\n this.dispatchSectionSaveAction();\r\n\r\n this.paymentDetail = {\r\n ApplicationNumber: this.applicationPaymentDetails.ApplicationNumber,\r\n Currency: \"AUD\",\r\n TotalAmountAfterDiscount: \"0.00\"};\r\n\r\n\r\n //Immediately call external web api to trigger data copy!\r\n this.applicationService.processDataCopyAsync(this.applicationId).subscribe((response: SingleResultApiResponse) => { }); \r\n\r\n } else {\r\n // http://isponlineapi.det.nsw.edu.au/api/payment/getexternalpaymentserviceurl?paymentApplicationTypeId=3&onelineApplicationId=1122&paymentAmount=280&invoiceNumber=A12948\r\n this.paymentService.getpaymentgatewayurl(this.paymentApplicationTypeId, this.applicationId, TotalAmountAfterDiscount, InvoiceNumber)\r\n .subscribe((result: any) => {\r\n console.log('Payment external getway URL is: ' + result.Result);\r\n if(!result || !result.Result){\r\n console.log('server error');\r\n this.router.navigate(['/server-error']);\r\n }else{\r\n window.location.href = result.Result;\r\n\r\n }\r\n\r\n \r\n },\r\n err => {\r\n console.log(err);\r\n this.router.navigate(['/server-error']);\r\n });\r\n\r\n //let observableBatch = [];\r\n //observableBatch.push(this.paymentService.getcohortpaymentgatewayurl());\r\n //observableBatch.push(this.paymentService.getcohortpaymentparameterbase(this.applicationId));\r\n\r\n //let observable: Observable = forkJoin(observableBatch);\r\n\r\n //observable.subscribe(\r\n // data => {\r\n // //console.log(\"cohort api url issss:\", data[0]);\r\n // //console.log(\"cohort paramter re-write from cohort issss\", data[1]);\r\n // //CohortPaymentParameter\r\n // }, (errorResponse: ErrorResponse) => {}); \r\n } \r\n\r\n }, (errorResponse: ErrorResponse) => {\r\n\r\n const { errors } = errorResponse;\r\n for (const error of errors) {\r\n this.setApiValidationError(error.Key, error.Value);\r\n }\r\n this.applicationPaymentFormGroup.updateValueAndValidity();\r\n\r\n });\r\n }\r\n\r\n\r\n validateVoucher() {\r\n\r\n this.isVoucherSubmitted = true;\r\n const voucherNumber = this.applicationPaymentFormGroup.get('voucherNumber').value;\r\n\r\n this.applicationService.validateVoucher(this.applicationId, voucherNumber)\r\n .subscribe( (response: SingleResultApiResponse) => {\r\n\r\n if (response.Result) {\r\n //console.log('successfully validated the voucher');\r\n this.voucherDetails = response.Result;\r\n this.applicationPaymentDetails.DiscountAmount = this.voucherDetails.VoucherDiscountAmount;\r\n this.applicationPaymentDetails.TotalAmountAfterDiscount = this.voucherDetails.TotalAmountAfterDiscount;\r\n //console.log(response.Result);\r\n }\r\n\r\n }, (errorResponse: ErrorResponse) => {\r\n\r\n const { errors } = errorResponse;\r\n console.log(errorResponse);\r\n \r\n for (const error of errors) {\r\n if(!voucherNumber){\r\n error.Key = \"voucherNumber\";\r\n }\r\n this.setApiValidationError(error.Key, error.Value);\r\n }\r\n this.applicationPaymentFormGroup.updateValueAndValidity();\r\n });\r\n\r\n }\r\n\r\n\r\n updateApplicationPaymentDetails(result: any) {\r\n\r\n //console.log('result');\r\n //console.log(result);\r\n\r\n this.applicationPaymentDetails.ApplicationNumber = result.ApplicationNumber;\r\n this.applicationPaymentDetails.InvoiceNumber = result.InvoiceNumber;\r\n this.applicationPaymentDetails.ApplicationFee = result.ApplicationFee;\r\n this.applicationPaymentDetails.Currency = result.Currency;\r\n this.applicationPaymentDetails.DiscountAmount = 0;\r\n this.applicationPaymentDetails.TotalAmountAfterDiscount = result.ApplicationFee;\r\n\r\n //console.log('applicationPaymentDetails');\r\n //console.log(this.applicationPaymentDetails);\r\n }\r\n\r\n voucherNumberChange(){\r\n const voucherNumber = this.applicationPaymentFormGroup.get('voucherNumber').value;\r\n console.log(voucherNumber)\r\n if(!voucherNumber){\r\n this.applicationPaymentDetails.DiscountAmount = 0;\r\n this.applicationPaymentDetails.TotalAmountAfterDiscount = this.applicationPaymentDetails.ApplicationFee;\r\n }\r\n }\r\n\r\n\r\n updatePaymentFromWestpac() {\r\n\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n const receiptNumber = params['receiptNumber']; // receiptNumber\r\n // if (receiptNumber) {\r\n // alert(receiptNumber);\r\n // }\r\n\r\n const responseCode = params['responseCode'];\r\n // if (responseCode) {\r\n // alert(responseCode);\r\n // }\r\n\r\n if (receiptNumber && responseCode) {\r\n this.isPaymentCompleted = true;\r\n\r\n\r\n // call API to update Payment record in OnlineApplication\r\n const paymentUpdateModel: PaymentUpdateModel = {\r\n ResponseCode: responseCode,\r\n ReceiptNumber: receiptNumber,\r\n ApplicationId: this.applicationId,\r\n PaymentStatus: 'Complete'\r\n };\r\n\r\n this.paymentService.updatepaymentrecord(paymentUpdateModel).subscribe(\r\n (result: any) => {\r\n\r\n // Auto-refresh left-side menu\r\n // this.sections.filter(x => x.name == \"MakePayment\")[0].completionStatus = true;\r\n this.dispatchSectionSaveAction();\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n setApiValidationError(apiErrorKeyName: string, apiErrorMsg): void {\r\n const errorField = this.errorKeyFormFieldMapping.find( errorKeyFormField => errorKeyFormField.apiErrorKeyName === apiErrorKeyName);\r\n if (errorField) {\r\n const { formFieldName } = errorField;\r\n this.applicationPaymentFormGroup.get(formFieldName).setErrors({apiValidationError : true});\r\n errorField.apiValidationErrorMsg = apiErrorMsg;\r\n }\r\n\r\n }\r\n\r\n getApiValidationErrorMsg(formFieldName: string): string {\r\n const errorField = this.errorKeyFormFieldMapping.find( errorKeyFormField => errorKeyFormField.formFieldName === formFieldName);\r\n return errorField.apiValidationErrorMsg ? errorField.apiValidationErrorMsg : '';\r\n }\r\n\r\n\r\n dispatchSectionSaveAction() {\r\n this.store.dispatch({\r\n type: Action_ApplicationSectionSaved\r\n });\r\n }\r\n\r\n\r\n previous() {\r\n const userType = localStorage.getItem('userType');\r\n\r\n if (userType === 'agent') {\r\n this.router.navigate(['/applications', this.applicationId, 'edit', 'agent-details']);\r\n } else {\r\n this.router.navigate(['/applications', this.applicationId, 'edit', 'summary']);\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nimport { ApplicationComponent } from './application.component';\nimport { StudentDetailsComponent } from './student-details/student-details.component';\nimport { VisaOhscComponent } from './visa-ohsc/visa-ohsc.component';\nimport { ApplicationEditComponent } from './application-edit/application-edit.component';\nimport { StudentValidationComponent } from './student-validation/student-validation.component';\nimport { ParentsValidationComponent } from './parents-validation/parents-validation.component';\nimport { DashboardComponent } from './dashboard/dashboard.component';\nimport { ImportantInformationComponent } from './important-information/important-information.component';\nimport { StudentsParentsValidationComponent } from './students-parents-validation/students-parents-validation.component';\nimport { AuthGuard } from '../shared/services/auth.guard.service';\nimport { AuthResolverService } from '../shared/services/auth.resolver.service';\nimport { ParentGuardianDetailsComponent } from './parent-guardian-details/parent-guardian-details.component';\nimport { CanDeactivateGuard } from '../shared/services/can-deactivate.guard.service';\nimport { SchoolProgramPlacementComponent } from './school-program-placement/school-program-placement.component';\nimport { AccommodationWelfareComponent } from './accommodation-welfare/accommodation-welfare.component';\nimport { EnglishProficiencyComponent } from './english-proficiency/english-proficiency.component';\nimport { SpecialCircumstancesComponent } from './special-circumstances/special-circumstances.component';\nimport { DefaultCorrespondentComponent } from './default-correspondent/default-correspondent.component';\nimport { SupportingDocumentsComponent } from './supporting-documents/supporting-documents.component';\nimport { SummaryComponent } from './summary/summary.component';\nimport { RelationshipTypesResolverService,\n CountryResolverService,\n VisaSubClassesResolverService,\n OHSCProvidersResolverService,\n SchoolSubjectResolverService,\n SchoolsResolverService,\n DurationsResolverService,\n TermsResolverService,\n ParentGuardianResolverService,\n SummaryResolverService,\n SummaryWithDocumentsService} from '../shared/services/resolvers.service';\nimport {\n ParentGuardianDetailsEditComponent } from './parent-guardian-details/parent-guardian-details-edit/parent-guardian-details-edit.component';\nimport { ApplicationPaymentComponent } from './application-payment/application-payment.component';\nimport { AgentDashboardComponent } from './agent-dashboard/agent-dashboard.component';\nimport { AgentStudentRegistrationComponent } from './agent-student-registration/agent-student-registration.component';\nimport { AgentStudentRegistrationGdprComponent } from './agent-student-registration-gdpr/agent-student-registration-gdpr.component';\nimport { ParentLegalcustodianEditComponent } from './parent-guardian-details/parent-legalcustodian-edit/parent-legalcustodian-edit.component';\nimport { ApplicationAgentDetailsComponent } from './application-agent-details/application-agent-details.component';\n\n\nconst routes: Routes = [\n {\n path: 'applications',\n component: ApplicationComponent,\n canActivate: [AuthGuard],\n resolve: {currentUser: AuthResolverService},\n children: [\n {\n path: 'dashboard',\n component: DashboardComponent,\n },\n {\n path: 'agent-dashboard',\n component: AgentDashboardComponent,\n },\n {\n path: 'agent-student-registration',\n component: AgentStudentRegistrationComponent,\n resolve: { countries: CountryResolverService}\n },\n {\n path: 'agent-student-registration-gdpr',\n component: AgentStudentRegistrationGdprComponent,\n },\n {\n path: 'student-parents-validation',\n component: StudentsParentsValidationComponent,\n resolve: { countries: CountryResolverService}\n },\n {\n path: 'student-validation',\n component: StudentValidationComponent,\n resolve: { countries: CountryResolverService}\n },\n {\n path: 'parents-validation',\n component: ParentsValidationComponent\n },\n {\n path: ':id/edit',\n component: ApplicationEditComponent,\n children: [\n {\n path: 'important-information',\n component: ImportantInformationComponent\n },\n {\n path: 'student-details',\n component: StudentDetailsComponent,\n resolve: { countries: CountryResolverService},\n canDeactivate: [CanDeactivateGuard]\n },\n {\n path: 'parent-guardian-details',\n resolve: { countries: CountryResolverService, relationshipTypes: RelationshipTypesResolverService},\n children: [\n {\n path: '',\n component: ParentGuardianDetailsComponent,\n resolve: { parentGuardianDetails: ParentGuardianResolverService }\n },\n {\n path: ':parentGuardianId/edit',\n component: ParentGuardianDetailsEditComponent,\n canDeactivate: [CanDeactivateGuard]\n },\n {\n path: 'parent-legalcustodian',\n component: ParentLegalcustodianEditComponent,\n canDeactivate: [CanDeactivateGuard]\n }\n ]\n },\n {\n path: 'visa-oshc',\n component: VisaOhscComponent,\n resolve: { visaSubClasses: VisaSubClassesResolverService, ohscProviders: OHSCProvidersResolverService },\n canDeactivate: [CanDeactivateGuard]\n },\n {\n path: 'school-program-placement',\n component: SchoolProgramPlacementComponent,\n resolve: {\n schoolSubjects: SchoolSubjectResolverService,\n schools: SchoolsResolverService,\n terms: TermsResolverService,\n durations: DurationsResolverService\n },\n canDeactivate: [CanDeactivateGuard]\n },\n {\n path: 'accommodation-welfare',\n component: AccommodationWelfareComponent,\n canDeactivate: [CanDeactivateGuard]\n },\n {\n path: 'english-proficiency',\n component: EnglishProficiencyComponent,\n canDeactivate: [CanDeactivateGuard]\n },\n {\n path: 'special-circumstances',\n component: SpecialCircumstancesComponent,\n canDeactivate: [CanDeactivateGuard]\n },\n {\n path: 'default-correspondent',\n component: DefaultCorrespondentComponent,\n canDeactivate: [CanDeactivateGuard]\n },\n {\n path: 'supporting-documents',\n component: SupportingDocumentsComponent,\n resolve: { summaryWithDocuments: SummaryWithDocumentsService },\n canDeactivate: [CanDeactivateGuard]\n },\n {\n path: 'summary',\n component: SummaryComponent,\n resolve: {\n countries: CountryResolverService,\n schools: SchoolsResolverService,\n summary: SummaryResolverService,\n schoolSubjects: SchoolSubjectResolverService,\n terms: TermsResolverService,\n durations: DurationsResolverService,\n relationshipTypes: RelationshipTypesResolverService }\n },\n {\n path: 'agent-details',\n component: ApplicationAgentDetailsComponent,\n resolve: { countries: CountryResolverService },\n canDeactivate: [CanDeactivateGuard]\n },\n {\n path: 'payment/:paymentStatus',\n component: ApplicationPaymentComponent,\n },\n {\n path: 'payment',\n component: ApplicationPaymentComponent,\n },\n ]\n }\n ]\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class ApplicationRoutingModule { }\n","module.exports = \"
\\n \\n \\n
\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcGxpY2F0aW9uL2FwcGxpY2F0aW9uLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\nimport { Store, select } from '@ngrx/store';\n\n@Component({\n selector: 'online-app-application',\n templateUrl: './application.component.html',\n styleUrls: ['./application.component.scss']\n})\nexport class ApplicationComponent implements OnInit {\n\n constructor(private store: Store) { }\n\n ngOnInit() {\n\n // console.log(`In ngOnInit of Application Component`);\n\n // console.log(localStorage.getItem('PRE_REGISTER_INFO'));\n\n // this.store.pipe(select('preRegistration'))\n // .subscribe( preRegistrationInfo => {\n // if (preRegistrationInfo) {\n // console.log('in ngoninit applications');\n // console.log(preRegistrationInfo);\n // }\n // });\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { StoreModule } from '@ngrx/store';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { ApplicationRoutingModule } from './application-routing.module';\nimport { MatListModule, MatTableModule, MatPaginatorModule, MatSortModule, MatTooltipModule, MatAutocompleteModule, MatNativeDateModule, MatInputModule, DateAdapter, MAT_DATE_FORMATS, MatRadioModule, MatBadgeModule } from '@angular/material';\n\nimport { StudentDetailsComponent } from './student-details/student-details.component';\nimport { VisaOhscComponent } from './visa-ohsc/visa-ohsc.component';\nimport { OnlineAppMenuComponent } from './online-app-menu/online-app-menu.component';\nimport { ApplicationComponent } from './application.component';\nimport { ApplicationEditComponent } from './application-edit/application-edit.component';\nimport { SidebarNavComponent } from './sidebar-nav/sidebar-nav.component';\nimport { EnglishProficiencyComponent } from './english-proficiency/english-proficiency.component';\n\nimport { ApplicationReducer } from './state/application.reducer';\nimport { DashboardComponent } from '../application/dashboard/dashboard.component';\nimport { StudentValidationComponent } from './student-validation/student-validation.component';\nimport { ParentsValidationComponent } from './parents-validation/parents-validation.component';\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\nimport { ImportantInformationComponent } from './important-information/important-information.component';\nimport { StudentsParentsValidationComponent } from './students-parents-validation/students-parents-validation.component';\nimport { AuthGuard } from '../shared/services/auth.guard.service';\nimport { AuthResolverService } from '../shared/services/auth.resolver.service';\nimport { ParentGuardianDetailsComponent } from './parent-guardian-details/parent-guardian-details.component';\nimport { SchoolProgramPlacementComponent } from './school-program-placement/school-program-placement.component';\nimport { AccommodationWelfareComponent } from './accommodation-welfare/accommodation-welfare.component';\nimport { SpecialCircumstancesComponent } from './special-circumstances/special-circumstances.component';\nimport { DefaultCorrespondentComponent } from './default-correspondent/default-correspondent.component';\nimport { SupportingDocumentsComponent } from './supporting-documents/supporting-documents.component';\nimport { SummaryComponent } from './summary/summary.component';\nimport {\n ParentGuardianDetailsEditComponent\n} from './parent-guardian-details/parent-guardian-details-edit/parent-guardian-details-edit.component';\nimport { AddressComponent } from './shared/address/address.component';\nimport { SharedModule } from '../shared/shared.module';\nimport { PersonDetailsComponent } from './shared/person-details/person-details.component';\nimport { PhoneNumberComponent } from './shared/phone-number/phone-number.component';\nimport { ApplicationDetailsComponent } from './application-details/application-details.component';\nimport { ApplicationPaymentComponent } from './application-payment/application-payment.component';\nimport { FileUploadModule } from 'ng2-file-upload';\nimport { AgentDashboardComponent } from './agent-dashboard/agent-dashboard.component';\nimport { AgentStudentRegistrationComponent } from './agent-student-registration/agent-student-registration.component';\nimport { AgentStudentRegistrationGdprComponent } from './agent-student-registration-gdpr/agent-student-registration-gdpr.component';\nimport { AustralianAddressPipe } from './pipes/australianAddress.pipe';\nimport { OverseasAddressPipe } from './pipes/overseasAddress.pipe';\nimport { ClickStopPropagation } from '../directives/click-stop-propagation.directive';\nimport { UtcDatePipe } from './pipes/utcDate.pipe';\nimport { ParentLegalcustodianEditComponent } from './parent-guardian-details/parent-legalcustodian-edit/parent-legalcustodian-edit.component';\nimport { ParentLegalcustodianInfoComponent } from './parent-guardian-details/parent-legalcustodian-edit/parent-legalcustodian-info/parent-legalcustodian-info.component';\nimport { ParentLegalcustodianDetailsComponent } from './parent-guardian-details/parent-legalcustodian-edit/parent-legalcustodian-details/parent-legalcustodian-details.component';\nimport { ParentAddressComponent } from './shared/parent-address/parent-address.component';\nimport {MatCheckboxModule} from '@angular/material/checkbox';\nimport { DebounceClickModule } from '../shared/directive/appDebounceClick.module';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport { PickDateAdapter, PICK_FORMATS } from './shared/utils/PickDateAdapter';\nimport { ApplicationAgentDetailsComponent } from './application-agent-details/application-agent-details.component';\nimport { SummaryPrintComponent } from './summary/summary-print/summary-print.component';\nimport { DescriptionFromLookupPipe } from './pipes/descriptionFromLookup.pipe';\n\n@NgModule({\n imports: [\n BrowserAnimationsModule,\n CommonModule,\n ApplicationRoutingModule,\n FormsModule,\n ReactiveFormsModule,\n FileUploadModule,\n\n /*Angular Material Design modules*/\n MatListModule,\n MatTableModule,\n MatPaginatorModule,\n MatSortModule,\n MatTooltipModule,\n MatBadgeModule,\n MatAutocompleteModule,\n MatCheckboxModule,\n DebounceClickModule,\n MatNativeDateModule,\n MatDatepickerModule,\n MatFormFieldModule,\n MatInputModule,\n SharedModule,\n StoreModule.forFeature('application', ApplicationReducer)\n ],\n declarations: [\n ApplicationComponent,\n StudentDetailsComponent,\n VisaOhscComponent,\n OnlineAppMenuComponent,\n ApplicationEditComponent,\n SidebarNavComponent,\n EnglishProficiencyComponent,\n DashboardComponent,\n StudentValidationComponent,\n ParentsValidationComponent,\n ImportantInformationComponent,\n StudentsParentsValidationComponent,\n ParentGuardianDetailsComponent,\n SchoolProgramPlacementComponent,\n AccommodationWelfareComponent,\n SpecialCircumstancesComponent,\n DefaultCorrespondentComponent,\n SupportingDocumentsComponent,\n SummaryComponent,\n ParentGuardianDetailsEditComponent,\n AddressComponent,\n PersonDetailsComponent,\n PhoneNumberComponent,\n ApplicationDetailsComponent,\n ApplicationPaymentComponent,\n AgentDashboardComponent,\n AgentStudentRegistrationComponent,\n AgentStudentRegistrationGdprComponent,\n\n AustralianAddressPipe,\n OverseasAddressPipe,\n UtcDatePipe,\n DescriptionFromLookupPipe,\n\n ClickStopPropagation,\n ParentLegalcustodianEditComponent,\n ParentLegalcustodianInfoComponent,\n ParentLegalcustodianDetailsComponent,\n ParentAddressComponent,\n ApplicationAgentDetailsComponent,\n SummaryPrintComponent\n ],\n providers: [\n AuthGuard, \n AuthResolverService,\n MatNativeDateModule,\n {provide: DateAdapter, useClass: PickDateAdapter},\n {provide: MAT_DATE_FORMATS, useValue: PICK_FORMATS}]\n})\nexport class ApplicationModule { }\n","module.exports = \"
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n\\n \\n\\n
\\n 0)\\\" matSort\\n [matSortActive]=\\\"sharedService.dashboardSortColumn\\\" [matSortDirection]=\\\"sharedService.dashboardsortDirection\\\"\\n matSortDisableClear>\\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n
Student No.{{row.StudentNumber}}Application No.{{row.ApplicationNumber}}Given Name{{row.GivenName}}Family Name{{row.FamilyName}}Application Status{{row.ApplicationStatusCode}}Date Created{{row.CreatedDate | utcdate: 'defaultdate'}}Last Modified{{row.ModifiedDate | utcdate: 'defaultdate'}}\\n \\n \\n \\n \\n \\n \\n
\\n
\\n\\n
\\n No applications matching the search criteria found.\\n
\\n\\n
0)\\\">\\n \\n \\n
\\n\\n
0\\\">\\n
IMPORTANT:
\\n

Please note that an application will only remain valid for {{ applicationExpiryOffsetDays || 90 }} days\\n from the date of creation. If an application is not submitted within that period it will automatically be\\n deleted.

\\n
\\n\\n
\\n
\\n \\n
\\n

No Applications

\\n
\\n \\n
\\n
\\n
You don't have any applications. Please click the \\\"New Application\\\" button\\n to create a new application.
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
Cannot create application
\\n
press tab to reach first focusable element
\\n
\\n

You are not able to create a new application as there is an existing draft application

\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n
Please resolve the following
\\n
press tab to reach first focusable element
\\n
\\n
\\n
{{dataValidationErrorMsg}}
\\n
\\n
\\n
\\n
\\n
\\n OK\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \".problems.no-applications-message-container {\\n padding: 0px 0px; }\\n .problems.no-applications-message-container .problem .pro-title {\\n padding: 1rem 2rem; }\\n .problems.no-applications-message-container .problem .pro-title h3 {\\n font-size: 1.71rem; }\\n .problems.no-applications-message-container .problem .pro-title .heading3 {\\n font-size: 1.71rem; }\\n .problems.no-applications-message-container .problem .question .answer h4 {\\n font-size: 1.425rem;\\n padding-bottom: 2rem; }\\n .problems.no-applications-message-container .problem .question .answer .heading4 {\\n font-size: 1.425rem;\\n padding-bottom: 2rem; }\\n .new-appln-btn-div button {\\n padding: 0.8rem 2rem;\\n font-size: 1.425rem;\\n color: white;\\n background-color: #40806a;\\n transition: all .3s;\\n border: 1px solid transparent;\\n border-radius: 2px;\\n float: right;\\n cursor: pointer; }\\n .search-div {\\n width: calc(100% - 18rem); }\\n .search-div span.search-input {\\n display: inline-block;\\n font-size: 2rem;\\n border: 1px solid #007faa;\\n border-radius: 5px;\\n transition: all .2s;\\n width: 52rem;\\n position: relative; }\\n .search-div span.search-input .fa-search {\\n margin-left: 1rem;\\n font-size: 1.6rem; }\\n .search-div span.search-input:hover {\\n transition: all .2s;\\n box-shadow: 0 3px 10px 0px #D8D8D8; }\\n .search-div span.search-input input {\\n width: calc(100% - 2.6rem);\\n padding: 0.8rem 2rem 0.8rem 1rem;\\n font-size: 1.6rem; }\\n .search-div span.search-input .btn-clear-search {\\n display: inline-block;\\n background-color: #646e6e;\\n color: white;\\n font-size: 1.2rem;\\n border-radius: 1.3rem;\\n padding: 0.3565rem 0.55rem;\\n line-height: 1rem;\\n position: absolute;\\n top: 0.75rem;\\n right: 1.6rem; }\\n .search-div span.search-input .btn-clear-search:hover {\\n background-color: #46466E; }\\n :host ::ng-deep .paginator-outer-container {\\n border: 1px solid #e3ebeb;\\n border-top: none; }\\n :host ::ng-deep .paginator-outer-container mat-paginator .mat-paginator-container {\\n justify-content: space-between; }\\n .modal-dialog {\\n margin-left: 40%; }\\n .table-block .table-content .table,\\n.table-block .table-content .mat-table,\\n.table-block .table-content [mat-table],\\n.table-block .table-content [matsort] {\\n border: 1px solid #E3EBEB;\\n background-color: #fff;\\n margin-bottom: 0; }\\n .table-block .table-content .table tbody tr,\\n .table-block .table-content .table tbody tr.mat-row,\\n .table-block .table-content .table tbody [mat-row],\\n .table-block .table-content .mat-table tbody tr,\\n .table-block .table-content .mat-table tbody tr.mat-row,\\n .table-block .table-content .mat-table tbody [mat-row],\\n .table-block .table-content [mat-table] tbody tr,\\n .table-block .table-content [mat-table] tbody tr.mat-row,\\n .table-block .table-content [mat-table] tbody [mat-row],\\n .table-block .table-content [matsort] tbody tr,\\n .table-block .table-content [matsort] tbody tr.mat-row,\\n .table-block .table-content [matsort] tbody [mat-row] {\\n cursor: pointer; }\\n .table-block .table-content .table tbody tr:nth-child(even),\\n .table-block .table-content .table tbody tr.mat-row:nth-child(even),\\n .table-block .table-content .table tbody [mat-row]:nth-child(even),\\n .table-block .table-content .mat-table tbody tr:nth-child(even),\\n .table-block .table-content .mat-table tbody tr.mat-row:nth-child(even),\\n .table-block .table-content .mat-table tbody [mat-row]:nth-child(even),\\n .table-block .table-content [mat-table] tbody tr:nth-child(even),\\n .table-block .table-content [mat-table] tbody tr.mat-row:nth-child(even),\\n .table-block .table-content [mat-table] tbody [mat-row]:nth-child(even),\\n .table-block .table-content [matsort] tbody tr:nth-child(even),\\n .table-block .table-content [matsort] tbody tr.mat-row:nth-child(even),\\n .table-block .table-content [matsort] tbody [mat-row]:nth-child(even) {\\n background: #fbfbfb; }\\n .table-block .table-content .table tbody tr:hover,\\n .table-block .table-content .table tbody tr.mat-row:hover,\\n .table-block .table-content .table tbody [mat-row]:hover,\\n .table-block .table-content .mat-table tbody tr:hover,\\n .table-block .table-content .mat-table tbody tr.mat-row:hover,\\n .table-block .table-content .mat-table tbody [mat-row]:hover,\\n .table-block .table-content [mat-table] tbody tr:hover,\\n .table-block .table-content [mat-table] tbody tr.mat-row:hover,\\n .table-block .table-content [mat-table] tbody [mat-row]:hover,\\n .table-block .table-content [matsort] tbody tr:hover,\\n .table-block .table-content [matsort] tbody tr.mat-row:hover,\\n .table-block .table-content [matsort] tbody [mat-row]:hover {\\n background-color: #FFFBEF; }\\n .table-block .table-content .table tbody tr td,\\n .table-block .table-content .table tbody tr.mat-row td,\\n .table-block .table-content .table tbody [mat-row] td,\\n .table-block .table-content .mat-table tbody tr td,\\n .table-block .table-content .mat-table tbody tr.mat-row td,\\n .table-block .table-content .mat-table tbody [mat-row] td,\\n .table-block .table-content [mat-table] tbody tr td,\\n .table-block .table-content [mat-table] tbody tr.mat-row td,\\n .table-block .table-content [mat-table] tbody [mat-row] td,\\n .table-block .table-content [matsort] tbody tr td,\\n .table-block .table-content [matsort] tbody tr.mat-row td,\\n .table-block .table-content [matsort] tbody [mat-row] td {\\n padding: 1.4rem 0.8rem; }\\n .table-block .table-content .table tbody tr td a,\\n .table-block .table-content .table tbody tr.mat-row td a,\\n .table-block .table-content .table tbody [mat-row] td a,\\n .table-block .table-content .mat-table tbody tr td a,\\n .table-block .table-content .mat-table tbody tr.mat-row td a,\\n .table-block .table-content .mat-table tbody [mat-row] td a,\\n .table-block .table-content [mat-table] tbody tr td a,\\n .table-block .table-content [mat-table] tbody tr.mat-row td a,\\n .table-block .table-content [mat-table] tbody [mat-row] td a,\\n .table-block .table-content [matsort] tbody tr td a,\\n .table-block .table-content [matsort] tbody tr.mat-row td a,\\n .table-block .table-content [matsort] tbody [mat-row] td a {\\n cursor: pointer;\\n color: #646e6e; }\\n .table-block .table-content .table tbody tr td a:hover,\\n .table-block .table-content .table tbody tr.mat-row td a:hover,\\n .table-block .table-content .table tbody [mat-row] td a:hover,\\n .table-block .table-content .mat-table tbody tr td a:hover,\\n .table-block .table-content .mat-table tbody tr.mat-row td a:hover,\\n .table-block .table-content .mat-table tbody [mat-row] td a:hover,\\n .table-block .table-content [mat-table] tbody tr td a:hover,\\n .table-block .table-content [mat-table] tbody tr.mat-row td a:hover,\\n .table-block .table-content [mat-table] tbody [mat-row] td a:hover,\\n .table-block .table-content [matsort] tbody tr td a:hover,\\n .table-block .table-content [matsort] tbody tr.mat-row td a:hover,\\n .table-block .table-content [matsort] tbody [mat-row] td a:hover {\\n color: #46466E; }\\n .table-block .table-content .table tr th,\\n .table-block .table-content .mat-table tr th,\\n .table-block .table-content [mat-table] tr th,\\n .table-block .table-content [matsort] tr th {\\n font-weight: bold;\\n font-size: 16px; }\\n .table-block .table-content .table tr th:first-child, .table-block .table-content .table tr th.mat-column-StudentNumber,\\n .table-block .table-content .mat-table tr th:first-child,\\n .table-block .table-content .mat-table tr th.mat-column-StudentNumber,\\n .table-block .table-content [mat-table] tr th:first-child,\\n .table-block .table-content [mat-table] tr th.mat-column-StudentNumber,\\n .table-block .table-content [matsort] tr th:first-child,\\n .table-block .table-content [matsort] tr th.mat-column-StudentNumber {\\n width: 14rem; }\\n .table-block .table-content .table tr th.mat-column-ApplicationNumber,\\n .table-block .table-content .mat-table tr th.mat-column-ApplicationNumber,\\n .table-block .table-content [mat-table] tr th.mat-column-ApplicationNumber,\\n .table-block .table-content [matsort] tr th.mat-column-ApplicationNumber {\\n width: 16rem; }\\n .table-block .table-content .table tr th.mat-column-GivenName, .table-block .table-content .table tr th.mat-column-FamilyName,\\n .table-block .table-content .mat-table tr th.mat-column-GivenName,\\n .table-block .table-content .mat-table tr th.mat-column-FamilyName,\\n .table-block .table-content [mat-table] tr th.mat-column-GivenName,\\n .table-block .table-content [mat-table] tr th.mat-column-FamilyName,\\n .table-block .table-content [matsort] tr th.mat-column-GivenName,\\n .table-block .table-content [matsort] tr th.mat-column-FamilyName {\\n width: calc(50% - 27rem); }\\n .table-block .table-content .table tr th.mat-column-ApplicationStatusCode,\\n .table-block .table-content .mat-table tr th.mat-column-ApplicationStatusCode,\\n .table-block .table-content [mat-table] tr th.mat-column-ApplicationStatusCode,\\n .table-block .table-content [matsort] tr th.mat-column-ApplicationStatusCode {\\n width: 20rem; }\\n .table-block .table-content .table tr th.mat-column-CreatedDate, .table-block .table-content .table tr th.mat-column-ModifiedDate,\\n .table-block .table-content .mat-table tr th.mat-column-CreatedDate,\\n .table-block .table-content .mat-table tr th.mat-column-ModifiedDate,\\n .table-block .table-content [mat-table] tr th.mat-column-CreatedDate,\\n .table-block .table-content [mat-table] tr th.mat-column-ModifiedDate,\\n .table-block .table-content [matsort] tr th.mat-column-CreatedDate,\\n .table-block .table-content [matsort] tr th.mat-column-ModifiedDate {\\n width: 14rem; }\\n .table-block .table-content .table tr th.mat-column-ActionMenu,\\n .table-block .table-content .mat-table tr th.mat-column-ActionMenu,\\n .table-block .table-content [mat-table] tr th.mat-column-ActionMenu,\\n .table-block .table-content [matsort] tr th.mat-column-ActionMenu {\\n width: 6rem; }\\n .new-appln-error {\\n font-size: 1.8rem;\\n color: #DB0A5B; }\\n .important-message {\\n padding-top: 2rem;\\n padding-left: 0.9rem;\\n color: #46466E; }\\n .important-message h4 {\\n font-weight: bold; }\\n .important-message .heading4 {\\n font-weight: bold; }\\n .word-break-all {\\n word-break: break-all; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vZGFzaGJvYXJkL0Q6XFxhXFwxNTVcXHNcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5Qcm9kXFxEZWkuT25saW5lQXBwbGljYXRpb24uV2ViXFxvbmxpbmUtYXBwL3NyY1xcYXBwXFxhcHBsaWNhdGlvblxcZGFzaGJvYXJkXFxkYXNoYm9hcmQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxnQkFBZ0IsRUFBQTtFQURsQjtJQUtNLGtCQUFrQixFQUFBO0VBTHhCO01BUVEsa0JBQWtCLEVBQUE7RUFSMUI7TUFZUSxrQkFBa0IsRUFBQTtFQVoxQjtJQW1CVSxtQkFBbUI7SUFDbkIsb0JBQW9CLEVBQUE7RUFwQjlCO0lBd0JVLG1CQUFtQjtJQUNuQixvQkFBb0IsRUFBQTtFQWE5QjtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFFbkIsWUFBWTtFQUNaLHlCQUF5QjtFQUN6QixtQkFBbUI7RUFDbkIsNkJBQTZCO0VBQzdCLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osZUFBZSxFQUFBO0VBR2pCO0VBQ0UseUJBQXlCLEVBQUE7RUFEM0I7SUFJSSxxQkFBcUI7SUFDckIsZUFBZTtJQUNmLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixrQkFBa0IsRUFBQTtFQVZ0QjtNQWNNLGlCQUFpQjtNQUNqQixpQkFBaUIsRUFBQTtFQWZ2QjtNQW1CTSxtQkFBbUI7TUFDbkIsa0NBQWtDLEVBQUE7RUFwQnhDO01Bd0JNLDBCQUEwQjtNQUMxQixnQ0FBZ0M7TUFDaEMsaUJBQWlCLEVBQUE7RUExQnZCO01BOEJNLHFCQUFxQjtNQUNyQix5QkFBeUI7TUFDekIsWUFBWTtNQUNaLGlCQUFpQjtNQUNqQixxQkFBcUI7TUFDckIsMEJBQTBCO01BQzFCLGlCQUFpQjtNQUNqQixrQkFBa0I7TUFDbEIsWUFBWTtNQUNaLGFBQWEsRUFBQTtFQXZDbkI7UUEwQ1EseUJBQXlCLEVBQUE7RUFPakM7RUFPTSx5QkFBb0M7RUFDcEMsZ0JBQWdCLEVBQUE7RUFSdEI7SUFZVSw4QkFBOEIsRUFBQTtFQU94QztFQUNFLGdCQUFnQixFQUFBO0VBU2xCOzs7O0VBT00seUJBQXlCO0VBQ3pCLHNCQUFzQjtFQUN0QixnQkFBZ0IsRUFBQTtFQVR0Qjs7Ozs7Ozs7Ozs7O0lBZVUsZUFBZSxFQUFBO0VBZnpCOzs7Ozs7Ozs7Ozs7TUFrQlksbUJBQW1CLEVBQUE7RUFsQi9COzs7Ozs7Ozs7Ozs7TUFzQlkseUJBQXlCLEVBQUE7RUF0QnJDOzs7Ozs7Ozs7Ozs7TUEwQlksc0JBQXNCLEVBQUE7RUExQmxDOzs7Ozs7Ozs7Ozs7UUE2QmMsZUFBZTtRQUNmLGNBQWMsRUFBQTtFQTlCNUI7Ozs7Ozs7Ozs7OztVQWlDZ0IsY0FBYyxFQUFBO0VBakM5Qjs7OztJQTBDVSxpQkFBaUI7SUFDakIsZUFBZSxFQUFBO0VBM0N6Qjs7Ozs7OztNQStDWSxZQUFZLEVBQUE7RUEvQ3hCOzs7O01BbURZLFlBQVksRUFBQTtFQW5EeEI7Ozs7Ozs7TUF3RFksd0JBQXdCLEVBQUE7RUF4RHBDOzs7O01BNERZLFlBQVksRUFBQTtFQTVEeEI7Ozs7Ozs7TUFpRVksWUFBWSxFQUFBO0VBakV4Qjs7OztNQXFFWSxXQUFXLEVBQUE7RUFRdkI7RUFDRSxpQkFBaUI7RUFDakIsY0FBYyxFQUFBO0VBR2hCO0VBQ0UsaUJBQWlCO0VBQ2pCLG9CQUFvQjtFQUNwQixjQUFjLEVBQUE7RUFIaEI7SUFNSSxpQkFBaUIsRUFBQTtFQU5yQjtJQVVJLGlCQUFpQixFQUFBO0VBSXJCO0VBQ0UscUJBQW9CLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9hcHBsaWNhdGlvbi9kYXNoYm9hcmQvZGFzaGJvYXJkLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnByb2JsZW1zLm5vLWFwcGxpY2F0aW9ucy1tZXNzYWdlLWNvbnRhaW5lciB7XHJcbiAgcGFkZGluZzogMHB4IDBweDtcclxuXHJcbiAgLnByb2JsZW0ge1xyXG4gICAgLnByby10aXRsZSB7XHJcbiAgICAgIHBhZGRpbmc6IDFyZW0gMnJlbTtcclxuXHJcbiAgICAgIGgzIHtcclxuICAgICAgICBmb250LXNpemU6IDEuNzFyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5oZWFkaW5nM3tcclxuICAgICAgICBmb250LXNpemU6IDEuNzFyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucXVlc3Rpb24ge1xyXG4gICAgICAuYW5zd2VyIHtcclxuICAgICAgICBoNCB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEuNDI1cmVtO1xyXG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaGVhZGluZzQge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxLjQyNXJlbTtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gLm5ldy1hcHBsbi1idG4tZGl2IHtcclxuLy8gICBtYXJnaW46IDVweDtcclxuLy8gICBkaXNwbGF5OiBibG9jaztcclxuLy8gICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuLy8gfVxyXG5cclxuLm5ldy1hcHBsbi1idG4tZGl2IGJ1dHRvbiB7XHJcbiAgcGFkZGluZzogMC44cmVtIDJyZW07XHJcbiAgZm9udC1zaXplOiAxLjQyNXJlbTtcclxuICAvLyBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA4MDZhO1xyXG4gIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gIGZsb2F0OiByaWdodDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5zZWFyY2gtZGl2IHtcclxuICB3aWR0aDogY2FsYygxMDAlIC0gMThyZW0pO1xyXG5cclxuICBzcGFuLnNlYXJjaC1pbnB1dCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA3ZmFhO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycztcclxuICAgIHdpZHRoOiA1MnJlbTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAuZmEtc2VhcmNoIHtcclxuICAgICAgLy8gbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICAgICAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggMHB4ICNEOEQ4RDg7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXQge1xyXG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMi42cmVtKTtcclxuICAgICAgcGFkZGluZzogMC44cmVtIDJyZW0gMC44cmVtIDFyZW07XHJcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5idG4tY2xlYXItc2VhcmNoIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjQ2ZTZlO1xyXG4gICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxLjNyZW07XHJcbiAgICAgIHBhZGRpbmc6IDAuMzU2NXJlbSAwLjU1cmVtO1xyXG4gICAgICBsaW5lLWhlaWdodDogMXJlbTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDAuNzVyZW07XHJcbiAgICAgIHJpZ2h0OiAxLjZyZW07XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDY0NjZFO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuOmhvc3Qge1xyXG4gIC8vIGhlaWdodDogMTAwJTtcclxuICAvLyBkaXNwbGF5OiBibG9jaztcclxuICAvLyBvdmVyZmxvdzogYXV0bztcclxuXHJcbiAgOjpuZy1kZWVwIHtcclxuICAgIC5wYWdpbmF0b3Itb3V0ZXItY29udGFpbmVyIHtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiKDIyNywgMjM1LCAyMzUpO1xyXG4gICAgICBib3JkZXItdG9wOiBub25lO1xyXG5cclxuICAgICAgbWF0LXBhZ2luYXRvciB7XHJcbiAgICAgICAgLm1hdC1wYWdpbmF0b3ItY29udGFpbmVyIHtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5tb2RhbC1kaWFsb2cge1xyXG4gIG1hcmdpbi1sZWZ0OiA0MCU7XHJcbn1cclxuXHJcbi8vIC5kYXNoYm9hcmQge1xyXG4vLyAgIC8vIG1heC1oZWlnaHQ6IDc2MHB4O1xyXG4vLyAgIC8vIGRpc3BsYXk6IGJsb2NrO1xyXG4vLyAgIC8vIG92ZXJmbG93OiBhdXRvO1xyXG4vLyB9XHJcblxyXG4udGFibGUtYmxvY2sge1xyXG4gIC50YWJsZS1jb250ZW50IHtcclxuXHJcbiAgICAudGFibGUsXHJcbiAgICAubWF0LXRhYmxlLFxyXG4gICAgW21hdC10YWJsZV0sXHJcbiAgICBbbWF0c29ydF0ge1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRTNFQkVCO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgdGJvZHkge1xyXG4gICAgICAgIHRyLFxyXG4gICAgICAgIHRyLm1hdC1yb3csXHJcbiAgICAgICAgW21hdC1yb3ddIHtcclxuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmYmZiZmI7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZCRUY7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxLjRyZW0gMC44cmVtO1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAjNjQ2ZTZlO1xyXG5cclxuICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjNDY0NjZFO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgdHIge1xyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG5cclxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQsXHJcbiAgICAgICAgICAmLm1hdC1jb2x1bW4tU3R1ZGVudE51bWJlciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNHJlbTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmLm1hdC1jb2x1bW4tQXBwbGljYXRpb25OdW1iZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTZyZW07XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJi5tYXQtY29sdW1uLUdpdmVuTmFtZSxcclxuICAgICAgICAgICYubWF0LWNvbHVtbi1GYW1pbHlOYW1lIHtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjdyZW0pO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYubWF0LWNvbHVtbi1BcHBsaWNhdGlvblN0YXR1c0NvZGUge1xyXG4gICAgICAgICAgICB3aWR0aDogMjByZW07XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJi5tYXQtY29sdW1uLUNyZWF0ZWREYXRlLFxyXG4gICAgICAgICAgJi5tYXQtY29sdW1uLU1vZGlmaWVkRGF0ZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNHJlbTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmLm1hdC1jb2x1bW4tQWN0aW9uTWVudSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2cmVtO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm5ldy1hcHBsbi1lcnJvciB7XHJcbiAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgY29sb3I6ICNEQjBBNUI7XHJcbn1cclxuXHJcbi5pbXBvcnRhbnQtbWVzc2FnZSB7XHJcbiAgcGFkZGluZy10b3A6IDJyZW07XHJcbiAgcGFkZGluZy1sZWZ0OiAwLjlyZW07XHJcbiAgY29sb3I6ICM0NjQ2NkU7XHJcblxyXG4gIGg0IHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIH1cclxuXHJcbiAgLmhlYWRpbmc0IHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIH1cclxufVxyXG5cclxuLndvcmQtYnJlYWstYWxse1xyXG4gIHdvcmQtYnJlYWs6YnJlYWstYWxsO1xyXG59XHJcbiJdfQ== */\"","import { SingleResultApiResponse } from './../../shared/models/api-response.model';\nimport { Component, OnInit, OnDestroy, ViewChild, AfterViewInit, ElementRef } from '@angular/core';\nimport { MatSort, MatPaginator } from '@angular/material';\nimport { FormControl } from '@angular/forms';\nimport { Store, select } from '@ngrx/store';\nimport { ApiResponse } from 'src/app/shared/models/api-response.model';\nimport { Subscription, fromEvent, merge, forkJoin } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { Router } from '@angular/router';\nimport { Application } from '../models/application';\nimport { Action_SetCurrentApplication } from '../state/actions';\nimport { ApplicationService } from 'src/app/shared/services/application.service';\nimport { SharedService } from 'src/app/shared/services/shared.service';\nimport { ModalService } from 'src/app/shared/services/modal.service';\nimport { ErrorResponse } from 'src/app/shared/models/error.model';\nimport { LookupService } from 'src/app/shared/services/lookup.service';\nimport { Title } from '@angular/platform-browser';\nimport { Tab_Title } from '../../shared/models/lookup-data.model';\n\n@Component({\n selector: 'online-app-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss'],\n host: {\n class:'full-view-port-component-with-no-side-nav dashboard-specific'\n }\n})\nexport class DashboardComponent implements OnInit, AfterViewInit, OnDestroy {\n\n public displayedColumns: string[] = ['StudentNumber', 'ApplicationNumber', 'GivenName', 'FamilyName',\n 'ApplicationStatus', 'CreatedDate', 'ModifiedDate', 'ActionMenu'];\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatSort) sort: MatSort;\n @ViewChild('clearSearchButton') clearSearchButton: ElementRef;\n @ViewChild('resolve') resolve: ElementRef;\n @ViewChild('createApplication') createApplication: ElementRef;\n searchInput: FormControl;\n\n constructor(private router: Router,\n private modalService: ModalService,\n private applicationService: ApplicationService,\n public sharedService: SharedService,\n private lookupService: LookupService,\n private store: Store,\n private titleService: Title) {\n this.titleService.setTitle(Tab_Title.Dashboard_Title);\n }\n\n currentUser: any;\n\n storeSubscription: Subscription;\n subscriptions: Subscription[] = [];\n applications: Application[] = [];\n filteredApplications: Application[] = [];\n pagedSortedApplications: Application[] = [];\n gotApplicationStatuses = false;\n applnIdToBeDeleted = 0;\n applicationAlreadyExists = false;\n showModal = false;\n applicationExpiryOffsetDays: any;\n showDataValidationErrorModal = false;\n dataValidationErrorMsgs = [];\n disableAddNew = false;\n\n isVisaExpired = false;\n isOSHCExpired = false;\n isStartTermInvalid = false;\n\n applicationId = 0;\n\n ngOnInit() {\n this.searchInput = new FormControl(this.sharedService.dashboardSearchTerm);\n\n this.getApplicationStatuses();\n this.getApplicationDraftExpirySetting();\n\n this.subscriptions.push(this.store.pipe(select('shared'))\n .subscribe(sharedState => {\n if (sharedState) {\n this.currentUser = sharedState.currentUser;\n } else {\n this.currentUser = null;\n }\n }));\n\n this.subscriptions.push(this.modalService.allowDelete.subscribe(allowDelete => {\n\n if (allowDelete && this.applnIdToBeDeleted > 0) {\n this.subscriptions.push(this.applicationService.deleteApplication(this.applnIdToBeDeleted)\n .subscribe(response => {\n this.getApplicationStatuses();\n }, err => console.log(err)));\n } else {\n this.applnIdToBeDeleted = 0;\n }\n\n }));\n\n }\n\n ngAfterViewInit() {\n\n const clearSearchBtnClick$ = fromEvent(this.clearSearchButton.nativeElement, 'click'); // listen for clicks\n const searchInput$ = this.searchInput.valueChanges\n .pipe(debounceTime(200));\n\n this.subscriptions.push(\n clearSearchBtnClick$.subscribe(() => {\n this.searchInput.setValue('');\n this.paginator.pageIndex = 0;\n })\n );\n\n this.subscriptions.push(\n this.sort.sortChange.subscribe(() => this.paginator.pageIndex = 0)\n );\n\n this.subscriptions.push(\n merge(this.sort.sortChange, this.paginator.page, searchInput$, clearSearchBtnClick$)\n .subscribe(() => {\n this.filterSortAndPaginate();\n })\n );\n }\n\n getApplicationStatuses() {\n this.subscriptions.push(this.applicationService.getApplicationStatuses()\n .subscribe((response: ApiResponse) => {\n if (response.Errors && response.Errors.length > 0) {\n //console.log(`Error: ${response.Errors}`);\n } else if (response.Result) {\n this.applications = response.Result;\n this.filterSortAndPaginate();\n }\n }, (error: any) => {\n console.log(error);\n }, () => {\n this.gotApplicationStatuses = true;\n }));\n }\n\n filterSortAndPaginate() {\n if (!this.applications || !this.applications.length) {\n this.pagedSortedApplications = [];\n }\n\n const startOffset = this.paginator.pageIndex * this.paginator.pageSize;\n const endOffset = (this.paginator.pageIndex + 1) * this.paginator.pageSize;\n const searchTermLower = this.searchInput.value.toString().toLowerCase();\n\n this.filteredApplications = this.applications\n .filter(appl => {\n return searchTermLower && searchTermLower.trim().length ?\n appl.StudentNumber.toLowerCase().indexOf(searchTermLower) >= 0 ||\n (appl.GivenName && appl.GivenName.toLowerCase().indexOf(searchTermLower) >= 0) ||\n (appl.FamilyName && appl.FamilyName.toLowerCase().indexOf(searchTermLower) >= 0)\n :\n true;\n });\n\n this.pagedSortedApplications = this.filteredApplications\n .sort((a, b) => {\n let aVal = a[this.sort.active] || '';\n let bVal = b[this.sort.active] || '';\n aVal = aVal.toLowerCase();\n bVal = bVal.toLowerCase();\n\n if (this.sort.direction === 'asc') {\n return aVal > bVal ? 1 : ((bVal > aVal) ? -1 : 0);\n } else {\n return aVal > bVal ? -1 : ((bVal > aVal) ? 1 : 0);\n }\n })\n .slice(startOffset, endOffset);\n\n this.updateDashboardOptions();\n }\n\n updateDashboardOptions() {\n this.sharedService.setDashboardOptions({\n pageNum: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n sortColumn: this.sort.active,\n sortDirection: this.sort.direction,\n searchTerm: this.searchInput.value\n });\n }\n\n getApplicationDraftExpirySetting() {\n this.subscriptions.push(this.lookupService.getSetting('ApplicationDraftExpirationOffsetDays')\n .subscribe((response: any) => {\n //console.log(response);\n this.applicationExpiryOffsetDays = response.Result.SettingValue;\n }, (error: any) => {\n console.log(error);\n }));\n }\n\n closeDataValidationErrorModal() {\n this.showDataValidationErrorModal = false;\n\n if (this.isVisaExpired || this.isOSHCExpired) {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'visa-oshc']);\n } else if (this.isStartTermInvalid) {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'school-program-placement']);\n }\n\n }\n\n newApplication(): void {\n if(this.disableAddNew)\n return;\n this.disableAddNew = true;\n\n this.subscriptions.push(this.applicationService.createApplication()\n .subscribe(response => {\n this.disableAddNew = false;\n this.setCurrentApplicationId(response.Result.ApplicationId);\n this.router.navigate(['/applications', `${response.Result.ApplicationId}`, 'edit', 'important-information']);\n }, (errorResponse: ErrorResponse) => {\n this.disableAddNew = false;\n\n const { errors } = errorResponse;\n\n const newApplicationError = errors.find(e => e.Key === 'StudentNumber');\n\n if (newApplicationError) {\n this.applicationAlreadyExists = true;\n this.showModal = true;\n setTimeout(() => {\n this.createApplication.nativeElement.focus();\n }, 100);\n }\n\n //console.log('error in creating new application');\n //console.log(errorResponse);\n }));\n\n }\n\n displayModal(): boolean {\n return this.applicationAlreadyExists && this.showModal;\n }\n\n getApplication(currentApplicationId: number): void {\n // this.setCurrentApplicationId(currentApplicationId);\n\n this.applicationId = currentApplicationId;\n\n const validations = forkJoin(this.applicationService.validateProgram(this.applicationId),\n this.applicationService.validateVisaOSHC(this.applicationId));\n\n const validationResponses = [];\n\n validations.subscribe(responses => {\n for (const response of responses) {\n validationResponses.push(response.Result);\n }\n }, error => {\n return console.log(error);\n }, () => {\n\n this.isStartTermInvalid = validationResponses[0].IsStartTermInValidForToday;\n this.isVisaExpired = validationResponses[1].IsVisaExpired;\n this.isOSHCExpired = validationResponses[1].isOSHCExpired;\n\n let visaExpiredMsg = '';\n let oshcExpiredMsg = '';\n let isStartTermInvalidMsg = '';\n\n if (this.isStartTermInvalid) {\n isStartTermInvalidMsg = `Please note the school start date selected previously is no longer valid.\n Please visit the ‘Student Program and Placement’ section to update your selection. `;\n this.dataValidationErrorMsgs.push(isStartTermInvalidMsg);\n }\n\n if (this.isVisaExpired) {\n visaExpiredMsg = `Please note that the visa which was previously included in this application has now expired.\n If the student has obtained a new visa or a bridging visa, please provide this information in the “Visa and OSHC’ section.\n If the student no longer has an Australian visa, please also update the ‘Visa and OSHC section.`;\n this.dataValidationErrorMsgs.push(visaExpiredMsg);\n }\n\n if (this.isOSHCExpired) {\n oshcExpiredMsg = `Please note that the OSHC policy previously provided has expired.\n If this student has purchased a new OSHC policy please update this information in the ‘Visa and OSHC’ section.`;\n this.dataValidationErrorMsgs.push(oshcExpiredMsg);\n }\n\n this.showDataValidationErrorModal = this.isStartTermInvalid || this.isVisaExpired || this.isOSHCExpired;\n\n if (!(this.isStartTermInvalid || this.isVisaExpired || this.isOSHCExpired)) {\n this.router.navigate(['/applications', currentApplicationId, 'edit', 'important-information']);\n } else {\n setTimeout(() => {\n this.resolve.nativeElement.focus();\n }, 100);\n }\n });\n\n }\n\n getApplicationStatus(applicationId: number): string {\n\n const application = this.pagedSortedApplications.find(app => app.ApplicationId === applicationId);\n\n if (application) {\n return application.ApplicationStatusCode.toString();\n }\n\n return '';\n }\n\n deleteApplication(event, applicationId: number): void {\n event.stopPropagation();\n this.applnIdToBeDeleted = applicationId;\n this.modalService.showDeleteModal();\n }\n\n cloneApplication(event, applicationId: number): void {\n event.stopPropagation();\n //this.modalService.showConfirmModal(\"This action will create a new application by duplicating the selected application.

You should only use this function if you wish to submit a new application to extend your course.\\r\\n You should review and edit the details copied over, before submitting the new application.\\r\\n Do you wish to continue?\");\n this.modalService.showCopySAModal();\n\n var subscription = this.modalService.copySAModalResult.subscribe(isConfirm => {\n //Clone application\n if (isConfirm == \"Yes\" && applicationId > 0) {\n this.subscriptions.push(this.applicationService.cloneSAApplication(applicationId)\n .subscribe(response => {\n this.setCurrentApplicationId(response.Result.ApplicationId);\n this.router.navigate(['/applications', `${response.Result.ApplicationId}`, 'edit', 'important-information']);\n }, (errorResponse: ErrorResponse) => {\n\n const { errors } = errorResponse;\n\n const newApplicationError = errors.find(e => e.Key === 'StudentNumber');\n\n if (newApplicationError) {\n this.applicationAlreadyExists = true;\n this.showModal = true;\n setTimeout(() => {\n this.createApplication.nativeElement.focus();\n }, 100);\n }\n\n //console.log('error in creating new application');\n //console.log(errorResponse);\n }));\n }\n subscription.unsubscribe();\n })\n }\n\n clickOK() {\n this.showModal = false;\n }\n\n setCurrentApplicationId(currentApplicationId: number): void {\n this.store.dispatch({\n type: Action_SetCurrentApplication,\n payload: currentApplicationId\n });\n }\n\n getApplicationDate(dateInString: string): string {\n const applnDate = new Date(Date.parse(dateInString));\n return applnDate.toLocaleDateString('en-GB');\n }\n\n /* For accessibility, keyboard only design, use tab to show borders but showing no border by clicking on mouse */\n keyboardFocus(event): void {\n event.style.outline = \"1px solid blue\";\n }\n\n keyboardBlur(event): void {\n event.style.outline = \"\";\n }\n\n keyboardMatTableFocus(event): void {\n event.srcElement.style.outline = \"1px solid blue\";\n }\n\n keyboardMatTableBlur(event): void {\n event.srcElement.style.outline = \"\";\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n }\n\n}\n","module.exports = \"
\\n\\n
\\n

Default Correspondent

\\n \\n \\\"\\\"/\\n
\\n\\n
\\n
\\n
\\n \\n
\\n \\n
\\n \\n \\n \\n
\\n
\\n\\n
\\n\"","module.exports = \".correspondent {\\n border: 2px solid #dce6e6;\\n padding: 20px;\\n margin: 20px;\\n display: inline-block; }\\n\\n.correspondent.active {\\n background-color: greenyellow; }\\n\\n.tile-layout a.disabled {\\n pointer-events: none;\\n background-color: #dfe3eb;\\n cursor: not-allowed; }\\n\\n.question .answer .correspondent span {\\n display: block;\\n padding: 0px;\\n border: 0px;\\n margin: 0px;\\n cursor: auto; }\\n\\n.divError {\\n color: #DB0A5B;\\n font-size: 1.8rem; }\\n\\n.submit-box {\\n margin-top: 20px; }\\n\\n.header-text {\\n font-size: 1.71rem;\\n margin: 2rem 0; }\\n\\n.tile-layout .tile .card.card-body {\\n background: transparent;\\n border: none; }\\n\\n.tile-layout .tile .card.card-body .icon-mother::before, .tile-layout .tile .card.card-body .icon-father::before, .tile-layout .tile .card.card-body .icon-agent::before {\\n font-size: 4rem; }\\n\\n.tile-layout .tile .card.card-body .icon-mother label, .tile-layout .tile .card.card-body .icon-father label, .tile-layout .tile .card.card-body .icon-agent label {\\n font-family: \\\"Work Sans\\\"; }\\n\\n.tile-layout .tile .card.card-body .correspondent-name label {\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n font-size: 1.71rem; }\\n\\n.tile-layout .tile .card.card-body .contact-details li {\\n font-size: 1.425rem; }\\n\\na.span-disabled {\\n pointer-events: none; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vZGVmYXVsdC1jb3JyZXNwb25kZW50L0Q6XFxhXFwxNTVcXHNcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5Qcm9kXFxEZWkuT25saW5lQXBwbGljYXRpb24uV2ViXFxvbmxpbmUtYXBwL3NyY1xcYXBwXFxhcHBsaWNhdGlvblxcZGVmYXVsdC1jb3JyZXNwb25kZW50XFxkZWZhdWx0LWNvcnJlc3BvbmRlbnQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSx5QkFBb0M7RUFDcEMsYUFBYTtFQUNiLFlBQVk7RUFDWixxQkFBcUIsRUFBQTs7QUFHekI7RUFDSSw2QkFBNkIsRUFBQTs7QUFHakM7RUFDSSxvQkFBb0I7RUFDcEIseUJBQXlCO0VBQ3pCLG1CQUFrQixFQUFBOztBQUd0QjtFQUNJLGNBQWM7RUFDZCxZQUFZO0VBQ1osV0FBVztFQUNYLFdBQVc7RUFDWCxZQUFZLEVBQUE7O0FBR2hCO0VBQ0ksY0FBYztFQUNkLGlCQUFpQixFQUFBOztBQUdyQjtFQUNJLGdCQUFnQixFQUFBOztBQUdwQjtFQUNJLGtCQUFrQjtFQUNsQixjQUFjLEVBQUE7O0FBR2xCO0VBR1ksdUJBQXVCO0VBQ3ZCLFlBQVksRUFBQTs7QUFKeEI7SUFRb0IsZUFBZSxFQUFBOztBQVJuQztJQVlvQix3QkFBd0IsRUFBQTs7QUFaNUM7SUFrQm9CLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsdUJBQXVCO0lBQ3ZCLGtCQUFrQixFQUFBOztBQXJCdEM7SUEyQm9CLG1CQUFtQixFQUFBOztBQU92QztFQUNJLG9CQUFvQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvYXBwbGljYXRpb24vZGVmYXVsdC1jb3JyZXNwb25kZW50L2RlZmF1bHQtY29ycmVzcG9uZGVudC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb3JyZXNwb25kZW50IHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYigyMjAsIDIzMCwgMjMwKTtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBtYXJnaW46IDIwcHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5jb3JyZXNwb25kZW50LmFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbnllbGxvdztcclxufVxyXG5cclxuLnRpbGUtbGF5b3V0IGEuZGlzYWJsZWQge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZlM2ViO1xyXG4gICAgY3Vyc29yOm5vdC1hbGxvd2VkO1xyXG59XHJcblxyXG4ucXVlc3Rpb24gLmFuc3dlciAuY29ycmVzcG9uZGVudCBzcGFuIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG4gICAgYm9yZGVyOiAwcHg7XHJcbiAgICBtYXJnaW46IDBweDtcclxuICAgIGN1cnNvcjogYXV0bztcclxufVxyXG5cclxuLmRpdkVycm9yIHtcclxuICAgIGNvbG9yOiAjREIwQTVCO1xyXG4gICAgZm9udC1zaXplOiAxLjhyZW07ICAgIFxyXG59XHJcblxyXG4uc3VibWl0LWJveCB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG4uaGVhZGVyLXRleHQge1xyXG4gICAgZm9udC1zaXplOiAxLjcxcmVtO1xyXG4gICAgbWFyZ2luOiAycmVtIDA7XHJcbn1cclxuXHJcbi50aWxlLWxheW91dCB7XHJcbiAgICAudGlsZSB7XHJcbiAgICAgICAgLmNhcmQuY2FyZC1ib2R5IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICAgICAgICAgIC5pY29uLW1vdGhlciwgLmljb24tZmF0aGVyLCAuaWNvbi1hZ2VudCB7XHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiV29yayBTYW5zXCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5jb3JyZXNwb25kZW50LW5hbWUge1xyXG4gICAgICAgICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNzFyZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5jb250YWN0LWRldGFpbHMge1xyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40MjVyZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmEuc3Bhbi1kaXNhYmxlZCB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { ApplicationService } from 'src/app/shared/services/application.service';\nimport { SingleResultApiResponse } from 'src/app/shared/models/api-response.model';\nimport { Correspondent, DefaultCorrespondent } from '../models/corresondents';\nimport { ErrorResponse } from 'src/app/shared/models/error.model';\nimport { Observable } from 'rxjs';\nimport { ModalService } from 'src/app/shared/services/modal.service';\nimport { compareDefaultCorrespondents } from '../shared/utils/ModelUtils';\nimport { Store } from '@ngrx/store';\nimport { Action_ApplicationSectionSaved } from '../state/actions';\n\n@Component({\n selector: 'online-app-default-correspondent',\n templateUrl: './default-correspondent.component.html',\n styleUrls: ['./default-correspondent.component.scss']\n})\nexport class DefaultCorrespondentComponent implements OnInit {\n\n defaultCorrespondentFormGroup: FormGroup;\n isFormSubmitted = false;\n applicationId: number;\n defaultCorrespondentId: number;\n defaultCorrespondentIsAgent: boolean;\n correspondents: Correspondent[] = [];\n initialCorrespondent: DefaultCorrespondent;\n defaultCorrespondentError = '';\n\n isSaveSuccessful = false;\n notAvailableText = 'Not Available';\n isSubmittedApplication = false;\n\n constructor(private formBuilder: FormBuilder,\n private router: Router,\n private store: Store,\n private modalService: ModalService,\n private applicationService: ApplicationService,\n private activatedRoute: ActivatedRoute) {\n\n this.activatedRoute.parent.params.subscribe(params => {\n this.applicationId = +params['id'];\n });\n\n }\n\n ngOnInit() {\n\n this.defaultCorrespondentFormGroup = this.formBuilder.group({\n correspondentId: 0\n });\n\n this.applicationService.getAllCorrespondents(this.applicationId)\n .subscribe((response: SingleResultApiResponse) => {\n if (response.Result) {\n this.correspondents = response.Result;\n this.updateFormValuesFromCorrespondents(response.Result);\n this.initialCorrespondent = this.getDefaultCorrespondentDetails();\n }\n }, err => {\n console.error(err);\n });\n\n this.applicationService.getApplicationDetails(this.applicationId)\n .subscribe((response: SingleResultApiResponse) => {\n if (response.Result) {\n\n this.isSubmittedApplication = response.Result.ApplicationStatus === 'Submitted';\n\n if (this.isSubmittedApplication) {\n this.defaultCorrespondentFormGroup.disable();\n }\n\n }\n }, err => {\n console.error(err);\n });\n\n }\n\n setDefaultCorrespondent(correspondentId: number, isAgent: boolean) {\n this.defaultCorrespondentId = correspondentId;\n this.defaultCorrespondentIsAgent = isAgent;\n }\n\n previous() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'special-circumstances']);\n }\n next() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'supporting-documents']);\n }\n\n saveAndContinue() {\n this.isFormSubmitted = true;\n\n const defaultCorrespondent = this.getDefaultCorrespondentDetails();\n\n this.applicationService.setDefaultCorrespondent(this.applicationId, defaultCorrespondent)\n .subscribe((response: SingleResultApiResponse) => {\n this.dispatchSectionSaveAction();\n this.isSaveSuccessful = true;\n this.router.navigate(['/applications', this.applicationId, 'edit', 'supporting-documents']);\n }, (errorResponse: ErrorResponse) => {\n const { errors } = errorResponse;\n for (const error of errors) {\n this.defaultCorrespondentError = error.Value;\n //console.log(`Error in updating Default correspondent details.${error.Key},${error.Value}`);\n }\n this.dispatchSectionSaveAction();\n this.initialCorrespondent = this.getDefaultCorrespondentDetails();\n });\n\n }\n\n dispatchSectionSaveAction() {\n this.store.dispatch({\n type: Action_ApplicationSectionSaved\n });\n }\n\n canDeactivate(): Observable | boolean {\n\n if (this.isSaveSuccessful) {\n return true;\n }\n\n if (!this.isDefaultCorrespondentDetailsSame()) {\n this.modalService.showModal();\n return this.modalService.stayOnThePage;\n } else {\n this.modalService.hideModal();\n return true;\n }\n }\n\n isCorrespondentToBeHighlighted(correspondent: Correspondent): boolean {\n let isCorrespondentToBeHighlighted = false;\n\n if (correspondent.CorrespondentId === this.defaultCorrespondentId) {\n isCorrespondentToBeHighlighted = true;\n } else if (correspondent.IsDefault && !this.defaultCorrespondentId) {\n isCorrespondentToBeHighlighted = true;\n }\n\n return isCorrespondentToBeHighlighted;\n }\n\n isCorrespondentToBeDisabled(correspondent: Correspondent): boolean {\n return correspondent.DisableForSelection === true;\n }\n\n\n getDefaultCorrespondentDetails(): DefaultCorrespondent {\n\n const defaultCorrespondent = new DefaultCorrespondent();\n defaultCorrespondent.CorrespondentId = this.defaultCorrespondentId;\n defaultCorrespondent.IsAgent = this.defaultCorrespondentIsAgent;\n return defaultCorrespondent;\n\n }\n\n getHomePhoneNumber(correspondent: Correspondent) {\n const { HomeCountryCode, HomePhoneNumber, MobileCountryCode, MobilePhoneNumber } = correspondent;\n\n if (HomeCountryCode || HomePhoneNumber) {\n if (correspondent.IsAgent === true) {\n return `${HomePhoneNumber}`;\n }\n return `${HomeCountryCode} ${HomePhoneNumber}`;\n } else {\n return this.notAvailableText;\n }\n\n }\n\n getMobilePhoneNumber(correspondent: Correspondent) {\n\n const { MobileCountryCode, MobilePhoneNumber } = correspondent;\n\n if (MobileCountryCode || MobilePhoneNumber) {\n return `${MobileCountryCode} ${MobilePhoneNumber}`;\n } else {\n return this.notAvailableText;\n }\n\n }\n\n getEmailAddress(correspondent: Correspondent) {\n\n if (!correspondent.EmailAddress) {\n return this.notAvailableText;\n }\n\n return correspondent.EmailAddress;\n }\n\n // getAgentNote(){\n // var agentNote = \"Important: Please note that all invoices and documents will be sent to the agent until the ATE is successfully returned from school\";\n // return agentNote;\n // }\n getAgentNote(correspondent: Correspondent): string {\n return correspondent.AgentNote;\n }\n getAgentNotePrefix(correspondent: Correspondent): string {\n if (correspondent.AgentNote !== '') {\n return 'Important: ';\n } else {\n return '';\n }\n }\n\n isDefaultCorrespondentDetailsSame(): boolean {\n\n const currentDefaultCorrespondent = this.getDefaultCorrespondentDetails();\n const initialDefaultCorrespondent = this.initialCorrespondent;\n\n const isDefaultCorrespondentDetailsSame =\n compareDefaultCorrespondents(initialDefaultCorrespondent, currentDefaultCorrespondent);\n\n return isDefaultCorrespondentDetailsSame;\n\n }\n\n updateFormValuesFromCorrespondents(correspondents: Correspondent[]): void {\n const defaultCorrespondent = correspondents.find(c => c.IsDefault);\n\n if (defaultCorrespondent) {\n this.defaultCorrespondentId = defaultCorrespondent.CorrespondentId;\n this.defaultCorrespondentIsAgent = defaultCorrespondent.IsAgent;\n }\n\n }\n\n //show border when tab on link for accessibility\n linkTabAccessibility(event): void {\n event.style.outline = \"1px solid black\";\n }\n\n linkBlurAccessibility(event): void {\n event.style.outline = \"\";\n }\n}\n","module.exports = \".problems .problem .question .answer .choice .radioError {\\r\\n font-style: normal;\\r\\n color: #f00; \\r\\n font-size: 14px;\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n\\r\\nspan.span-disabled {\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n.long-error-message {\\r\\n height: 100px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vZW5nbGlzaC1wcm9maWNpZW5jeS9lbmdsaXNoLXByb2ZpY2llbmN5LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxrQkFBa0I7SUFDbEIsV0FBVztJQUNYLGVBQWU7SUFDZixtQkFBbUI7QUFDdkI7O0FBRUE7RUFDRSxvQkFBb0I7QUFDdEI7O0FBRUE7RUFDRSxhQUFhO0FBQ2YiLCJmaWxlIjoic3JjL2FwcC9hcHBsaWNhdGlvbi9lbmdsaXNoLXByb2ZpY2llbmN5L2VuZ2xpc2gtcHJvZmljaWVuY3kuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlIC5yYWRpb0Vycm9yIHtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGNvbG9yOiAjZjAwOyAgXHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG59XHJcblxyXG5zcGFuLnNwYW4tZGlzYWJsZWQge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4ubG9uZy1lcnJvci1tZXNzYWdlIHtcclxuICBoZWlnaHQ6IDEwMHB4O1xyXG59XHJcbiJdfQ== */\"","module.exports = \"
\\n\\n
\\n

English Proficiency

\\n \\n \\\"\\\"/\\n \\n
\\n\\n
\\n\\n
\\n\\n
\\n
Please note that all fields marked with an (*) are required.
\\n
\\n\\n
\\n \\n
\\n

English Test

\\n {{getSubText(1)}}\\n
\\n \\n
\\n
\\n\\n
Have you taken a recognized English language test \\n (e.g. IELTS, TOEFL iBT, AEAS, STEP Eiken, CEFR) ?
\\n \\n Yes\\n
radio button
checked
unchecked
\\n No\\n
radio button
checked
unchecked
\\n\\n
\\n \\n {{ getApiValidationErrorMsg('hasTakenTest') }}\\n \\n
\\n
\\n\\n
\\n
Test Name
\\n \\n\\n IELTS
radio button
checked
unchecked
\\n\\n TOEFL iBT
radio button
checked
unchecked
\\n\\n AEAS
radio button
checked
unchecked
\\n\\n STEP Eiken
radio button
checked
unchecked
\\n\\n CEFR
radio button
checked
unchecked
\\n\\n Other
radio button
checked
unchecked
\\n\\n
\\n \\n {{ getApiValidationErrorMsg('testTypeCode') }}\\n \\n
\\n
\\n\\n
\\n\\n\\n
\\n
\\n \\n
\\n\\n\\n
\\n \\n
\\n

IELTS Results

\\n 2 of 3\\n
\\n \\n
\\n
\\n\\n \\n
\\n \\n \\n \\n \\n \\n \\n Test Date is required\\n \\n \\n {{ getApiValidationErrorMsg('dateTaken') }}\\n \\n \\n
\\n \\n\\n \\n \\n
\\n \\n \\n \\n Listening score is required\\n \\n \\n {{ getApiValidationErrorMsg('listeningScore') }}\\n \\n \\n
\\n
\\n\\n \\n \\n
\\n \\n \\n \\n Reading score is required\\n \\n \\n {{ getApiValidationErrorMsg('readingScore') }}\\n \\n \\n
\\n
\\n \\n\\n \\n \\n
\\n \\n \\n \\n Writing score is required\\n \\n \\n {{ getApiValidationErrorMsg('writingScore') }}\\n \\n \\n
\\n
\\n\\n \\n \\n \\n
\\n \\n \\n \\n Speaking score is required\\n \\n \\n {{ getApiValidationErrorMsg('speakingScore') }}\\n \\n \\n
\\n \\n \\n \\n\\n \\n \\n
\\n \\n \\n \\n \\n Average score is required\\n \\n \\n {{ getApiValidationErrorMsg('totalScore') }}\\n \\n \\n
\\n \\n \\n\\n \\n \\n \\n \\n\\n
\\n \\n
\\n

TOEFL iBT Results

\\n 2 of 3\\n
\\n \\n
\\n
\\n\\n \\n
\\n \\n \\n \\n \\n \\n \\n Test Date is required\\n \\n \\n {{ getApiValidationErrorMsg('dateTaken') }}\\n \\n \\n
\\n\\n\\n \\n \\n \\n \\n \\n \\n Reading Score is required\\n \\n \\n {{ getApiValidationErrorMsg('readingScore') }}\\n \\n \\n
\\n\\n\\n \\n \\n \\n \\n \\n \\n Listening Score is required\\n \\n \\n {{ getApiValidationErrorMsg('listeningScore') }}\\n \\n \\n
\\n\\n\\n \\n \\n \\n \\n \\n \\n Speaking Score is required\\n \\n \\n {{ getApiValidationErrorMsg('speakingScore') }}\\n \\n \\n
\\n\\n \\n \\n \\n \\n \\n Writing Score is required\\n \\n \\n {{ getApiValidationErrorMsg('writingScore') }}\\n \\n \\n \\n\\n \\n \\n \\n \\n \\n Total Score is required\\n \\n \\n {{ getApiValidationErrorMsg('totalScore') }}\\n \\n \\n \\n\\n \\n \\n \\n \\n \\n
\\n \\n
\\n

AEAS Results

\\n 2 of 3\\n
\\n \\n
\\n
\\n\\n \\n
\\n \\n \\n \\n \\n \\n \\n Test Date is required\\n \\n \\n {{ getApiValidationErrorMsg('dateTaken') }}\\n \\n \\n
\\n\\n \\n \\n \\n \\n \\n \\n Reading Comprehension Score is required\\n \\n \\n {{ getApiValidationErrorMsg('readingScore') }}\\n \\n \\n
\\n\\n\\n \\n \\n \\n \\n \\n Reading Comprehension Score is required\\n \\n \\n {{ getApiValidationErrorMsg('vocabularyScore') }}\\n \\n \\n
\\n \\n\\n \\n \\n \\n \\n \\n Written Essay Score is required\\n \\n \\n {{ getApiValidationErrorMsg('writingScore') }}\\n \\n \\n
\\n\\n \\n \\n \\n \\n \\n \\n Listening Score is required\\n \\n \\n {{ getApiValidationErrorMsg('listeningScore') }}\\n \\n \\n \\n\\n\\n \\n \\n \\n \\n \\n \\n Speaking Score is required\\n \\n \\n {{ getApiValidationErrorMsg('speakingScore') }}\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n Total Score is required\\n \\n \\n {{ getApiValidationErrorMsg('totalScore') }}\\n \\n \\n \\n\\n\\n \\n \\n \\n \\n\\n ,\\n
\\n \\n
\\n

STEP Eiken Results

\\n 2 of 3\\n
\\n \\n
\\n
\\n\\n \\n
\\n \\n \\n \\n \\n \\n \\n Test Date is required\\n \\n \\n {{ getApiValidationErrorMsg('dateTaken') }}\\n \\n \\n
\\n\\n\\n \\n \\n \\n \\n \\n \\n Grade is required\\n \\n \\n {{ getApiValidationErrorMsg('totalScore') }}\\n \\n \\n
\\n\\n
\\n
\\n \\n \\n\\n
\\n \\n
\\n

CEFR Results

\\n 2 of 3\\n
\\n \\n
\\n
\\n \\n
\\n \\n \\n \\n \\n \\n \\n Test Date is required\\n \\n \\n {{ getApiValidationErrorMsg('dateTaken') }}\\n \\n \\n
\\n\\n\\n \\n \\n
\\n \\n \\n \\n Level is required\\n \\n \\n {{ getApiValidationErrorMsg('totalScore') }}\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n\\n
\\n \\n
\\n

Results

\\n 2 of 3\\n
\\n \\n
\\n
\\n\\n \\n \\n \\n \\n \\n Test name is required\\n \\n \\n {{ getApiValidationErrorMsg('otherTestName') }}\\n \\n \\n
\\n\\n \\n
\\n \\n \\n \\n \\n \\n \\n Test Date is required\\n \\n \\n {{ getApiValidationErrorMsg('dateTaken') }}\\n \\n \\n
\\n\\n\\n \\n \\n \\n \\n \\n \\n Grade is required\\n \\n \\n {{ getApiValidationErrorMsg('totalScore') }}\\n \\n \\n
\\n\\n
\\n \\n \\n \\n\\n
\\n \\n
\\n

English at School / Home

\\n {{getSubText(3)}}\\n
\\n \\n
\\n
\\n\\n
Are all subjects at your school taught in English?
\\n \\n Yes
radio button
checked
unchecked
\\n No
radio button
checked
unchecked
\\n\\n
\\n \\n {{ getApiValidationErrorMsg('allSubjectsTaughtInEnglish') }}\\n \\n
\\n
\\n\\n
Is English your native language?
\\n \\n Yes
radio button
checked
unchecked
\\n No
radio button
checked
unchecked
\\n\\n
\\n \\n {{ getApiValidationErrorMsg('speaksEnglishAtHome') }}\\n \\n
\\n
\\n\\n
\\n \\n \\n \\n \\n\\n
\\n \\n \\n \\n
\\n\\n \\n\\n\\n \\n\\n\\n\\n\"","import { Component, OnInit, AfterContentChecked, OnDestroy } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { LookupData, Tab_Title } from 'src/app/shared/models/lookup-data.model';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { ApplicationService } from 'src/app/shared/services/application.service';\nimport { EnglishProficiencyDetails } from '../models/english-proficiency-details';\nimport { SingleResultApiResponse } from 'src/app/shared/models/api-response.model';\nimport { ErrorResponse } from 'src/app/shared/models/error.model';\nimport { Store } from '@ngrx/store';\nimport { DateTime } from 'luxon';\nimport { Action_ApplicationSectionSaved } from '../state/actions';\nimport { Observable, Subscription, merge } from 'rxjs';\nimport { ModalService } from 'src/app/shared/services/modal.service';\nimport { compareEnglishProficiencyDetails } from '../shared/utils/ModelUtils';\nimport { slideInOut } from '../animations/slideInOut';\nimport { FormService } from 'src/app/shared/services/form.service';\nimport { Title } from '@angular/platform-browser';\nimport * as _ from 'lodash';\nimport { debounceTime } from 'rxjs/operators';\nimport { UtilityService } from 'src/app/shared/services/utility.service';\n\n@Component({\n selector: 'online-app-english-proficiency',\n templateUrl: './english-proficiency.component.html',\n styleUrls: ['./english-proficiency.component.css'],\n animations: [slideInOut],\n host: {\n class: 'application-section-component'\n },\n})\nexport class EnglishProficiencyComponent implements OnInit, AfterContentChecked, OnDestroy {\n\n englishProficiencyFormGroup: FormGroup;\n isFormSubmitted = false;\n applicationId: number;\n testTypeCode = '';\n hasTakenTest: boolean;\n initialEnglishProficiencyDetails: EnglishProficiencyDetails;\n\n isSaveSuccessful = false;\n isScrollDone = false;\n cefrLevels: LookupData[];\n ieltsScores: LookupData[];\n isSubmittedApplication = false;\n averageIeltsScore: number;\n\n // selectedTestTypeCode = '';\n allSubjectsTaughtInEnglish: boolean;\n speaksEnglishAtHome: boolean;\n\n errorKeyFormFieldMapping = [\n { apiErrorKeyName: 'TestTypeCode', formFieldName: 'testTypeCode', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'HasTakenTest', formFieldName: 'hasTakenTest', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'DateTaken', formFieldName: 'dateTaken', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'ListeningScore', formFieldName: 'listeningScore', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'ReadingScore', formFieldName: 'readingScore', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'WritingScore', formFieldName: 'writingScore', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'SpeakingScore', formFieldName: 'speakingScore', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'VocabularyScore', formFieldName: 'vocabularyScore', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'TotalScore', formFieldName: 'totalScore', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'OtherTestName', formFieldName: 'otherTestName', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'AllSubjectsTaughtInEnglish', formFieldName: 'allSubjectsTaughtInEnglish', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'SpeaksEnglishAtHome', formFieldName: 'speaksEnglishAtHome', apiValidationErrorMsg: null }\n ];\n\n private subscriptionsToDispose: Subscription[] = [];\n\n constructor(private fb: FormBuilder,\n private router: Router,\n private store: Store,\n private modalService: ModalService,\n private formService: FormService,\n private applicationService: ApplicationService,\n private activatedRoute: ActivatedRoute,\n private utilityService: UtilityService,\n private titleService: Title) {\n this.activatedRoute.parent.params.subscribe(params => {\n this.applicationId = +params['id'];\n });\n\n // this.configureJquery();\n }\n\n ngOnInit() {\n if (localStorage.getItem(\"isAgent\") == \"true\") {\n this.titleService.setTitle(Tab_Title.Agent_EnglishProficiency_Title);\n } else {\n this.titleService.setTitle(Tab_Title.EnglishProficiency_Title);\n }\n this.englishProficiencyFormGroup = this.fb.group({\n testTypeCode: '',\n hasTakenTest: false,\n dateTaken: null,\n listeningScore: '',\n readingScore: '',\n writingScore: '',\n speakingScore: '',\n vocabularyScore: '',\n totalScore: '',\n otherTestName: '',\n allSubjectsTaughtInEnglish: '',\n speaksEnglishAtHome: ''\n });\n\n this.cefrLevels = [\n { Code: '', Description: 'Please select' },\n { Code: 'BelowA1', Description: 'Below A1' },\n { Code: 'A1', Description: 'A1' },\n { Code: 'A2', Description: 'A2' },\n { Code: 'B1', Description: 'B1' },\n { Code: 'B2', Description: 'B2' },\n { Code: 'C1', Description: 'C1' },\n { Code: 'C2', Description: 'C2' }\n ];\n\n this.ieltsScores = [\n { Code: '', Description: 'Please select' },\n { Code: '1.0', Description: '1.0' },\n { Code: '1.5', Description: '1.5' },\n { Code: '2.0', Description: '2.0' },\n { Code: '2.5', Description: '2.5' },\n { Code: '3.0', Description: '3.0' },\n { Code: '3.5', Description: '3.5' },\n { Code: '4.0', Description: '4.0' },\n { Code: '4.5', Description: '4.5' },\n { Code: '5.0', Description: '5.0' },\n { Code: '5.5', Description: '5.5' },\n { Code: '6.0', Description: '6.0' },\n { Code: '6.5', Description: '6.5' },\n { Code: '7.0', Description: '7.0' },\n { Code: '7.5', Description: '7.5' },\n { Code: '8.0', Description: '8.0' },\n { Code: '8.5', Description: '8.5' },\n { Code: '9.0', Description: '9.0' }\n ];\n\n this.subscriptionsToDispose.push(\n merge(\n this.englishProficiencyFormGroup.get('listeningScore').valueChanges\n .pipe(debounceTime(250)),\n this.englishProficiencyFormGroup.get('writingScore').valueChanges\n .pipe(debounceTime(250)),\n this.englishProficiencyFormGroup.get('speakingScore').valueChanges\n .pipe(debounceTime(250)),\n this.englishProficiencyFormGroup.get('readingScore').valueChanges\n .pipe(debounceTime(250)),\n ).subscribe(() => {\n this.calculateAverageScoreIelts(this.englishProficiencyFormGroup.get('listeningScore').value, \n this.englishProficiencyFormGroup.get('writingScore').value, \n this.englishProficiencyFormGroup.get('speakingScore').value, \n this.englishProficiencyFormGroup.get('readingScore').value);\n })\n );\n\n this.applicationService.getEnglishProficiencyDetails(this.applicationId)\n .subscribe((response: SingleResultApiResponse) => {\n if (response.Result) {\n this.updateFormValuesFromEnglishProficiency(response.Result);\n this.initialEnglishProficiencyDetails = this.getEnglishProficiencyDetails();\n }\n }, err => {\n console.error(err);\n }, () => {\n // this.configureJquery();\n });\n\n this.applicationService.getApplicationDetails(this.applicationId)\n .subscribe((response: SingleResultApiResponse) => {\n if (response.Result) {\n this.isSubmittedApplication = response.Result.ApplicationStatus === 'Submitted';\n if (this.isSubmittedApplication) {\n this.englishProficiencyFormGroup.disable();\n }\n }\n }, err => {\n console.error(err);\n });\n }\n\n ngOnDestroy() {\n this.subscriptionsToDispose.forEach(s => s.unsubscribe());\n }\n\n calculateAverageScoreIelts(listeningScore: string, writingScore: string, speakingScore: string, readingScore: string): void {\n\n if (this.englishProficiencyFormGroup.get('testTypeCode').value !== 'IELTS')\n return;\n\n let totalScore = _.toNumber(listeningScore) + _.toNumber(writingScore) + _.toNumber(speakingScore) + _.toNumber(readingScore);\n let intScore = parseInt((totalScore / 4).toString(), 10);\n let decimalScore = (totalScore / 4) - intScore;\n this.averageIeltsScore = 0;\n switch (decimalScore) {\n case 0.125:\n this.averageIeltsScore = intScore;\n break;\n case 0.25:\n this.averageIeltsScore = intScore + 0.5;\n break;\n case 0.375:\n this.averageIeltsScore = intScore + 0.5;\n break;\n case 0.5:\n this.averageIeltsScore = totalScore / 4;\n break;\n case 0.625:\n this.averageIeltsScore = intScore + 0.5;\n break;\n case 0.75:\n this.averageIeltsScore = intScore + 1;\n break;\n case 0.875:\n this.averageIeltsScore = intScore + 1;\n break;\n default:\n this.averageIeltsScore = totalScore / 4;\n break;\n }\n }\n\n getDateInString(dateObject: Date): string {\n return `${dateObject.getDate()}/${dateObject.getMonth() + 1}/${dateObject.getFullYear()}`;\n }\n\n setDateOfTest(dateObject: Date) {\n this.englishProficiencyFormGroup.patchValue({\n dateTaken: dateObject,\n });\n this.englishProficiencyFormGroup.updateValueAndValidity();\n }\n\n isThisFieldHasErrors(fieldName: string): boolean {\n return this.isFormSubmitted && this.englishProficiencyFormGroup.get(fieldName).errors != null;\n }\n\n isThisFieldHasApiError(fieldName: string): boolean {\n return this.isFormSubmitted\n && this.englishProficiencyFormGroup.get(fieldName).errors != null\n && this.englishProficiencyFormGroup.get(fieldName).errors.apiValidationError != null;\n }\n\n updateTestTypeCode(testTypeCode: string) {\n this.testTypeCode = testTypeCode;\n\n this.englishProficiencyFormGroup.patchValue({\n testTypeCode: testTypeCode,\n dateTaken: null,\n listeningScore: '',\n readingScore: '',\n writingScore: '',\n speakingScore: '',\n vocabularyScore: '',\n totalScore: '',\n otherTestName: '',\n });\n this.englishProficiencyFormGroup.updateValueAndValidity();\n\n // this.configureJquery();\n }\n\n\n updateAllSubjectsTaughtInEnglish(allSubjectsTaughtInEnglish: boolean) {\n this.allSubjectsTaughtInEnglish = allSubjectsTaughtInEnglish;\n this.englishProficiencyFormGroup.patchValue({\n allSubjectsTaughtInEnglish: allSubjectsTaughtInEnglish\n });\n this.englishProficiencyFormGroup.updateValueAndValidity();\n }\n\n updateSpeaksEnglishAtHome(speaksEnglishAtHome: boolean) {\n this.speaksEnglishAtHome = speaksEnglishAtHome;\n this.englishProficiencyFormGroup.patchValue({\n speaksEnglishAtHome: speaksEnglishAtHome\n });\n this.englishProficiencyFormGroup.updateValueAndValidity();\n }\n\n updateHasTakenTest(hasTakenTest: boolean) {\n this.hasTakenTest = hasTakenTest;\n\n if (!hasTakenTest) {\n this.testTypeCode = '';\n }\n\n this.englishProficiencyFormGroup.patchValue({\n hasTakenTest: hasTakenTest,\n testTypeCode: this.testTypeCode\n });\n this.englishProficiencyFormGroup.updateValueAndValidity();\n }\n\n getSubText(sectionIndex: number): string {\n let subText = '';\n\n switch (sectionIndex) {\n case 1:\n subText = this.hasSelectedEnglishTest() ? '1 of 3' : '1 of 2';\n break;\n case 2:\n subText = '2 of 3';\n break;\n case 3:\n subText = this.hasSelectedEnglishTest() ? '3 of 3' : '2 of 2';\n break;\n }\n\n return subText;\n }\n\n hasSelectedEnglishTest(): boolean {\n return this.hasTakenTest && this.testTypeCode !== null && this.testTypeCode !== '';\n }\n\n\n\n setApiValidationError(apiErrorKeyName: string, apiErrorMsg): void {\n const errorField = this.errorKeyFormFieldMapping.find(errorKeyFormField => errorKeyFormField.apiErrorKeyName === apiErrorKeyName);\n\n if (errorField) {\n const { formFieldName } = errorField;\n this.englishProficiencyFormGroup.get(formFieldName).setErrors({ apiValidationError: true });\n errorField.apiValidationErrorMsg = apiErrorMsg;\n }\n\n }\n\n getApiValidationErrorMsg(formFieldName: string): string {\n const errorField = this.errorKeyFormFieldMapping.find(errorKeyFormField => errorKeyFormField.formFieldName === formFieldName);\n return errorField.apiValidationErrorMsg ? errorField.apiValidationErrorMsg : '';\n }\n\n previous() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'student-details']);\n }\n next() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'school-program-placement']);\n }\n\n getDateFromString(dateInString: string): Date {\n const dateParts = dateInString.split('/');\n return new Date(+dateParts[2], +dateParts[1] - 1, +dateParts[0]);\n }\n\n\n updateFormValuesFromEnglishProficiency(englishProficiencyDetails: EnglishProficiencyDetails): void {\n\n //console.log(englishProficiencyDetails);\n this.englishProficiencyFormGroup.patchValue({\n testTypeCode: englishProficiencyDetails.TestTypeCode,\n hasTakenTest: englishProficiencyDetails.HasTakenTest,\n dateTaken: englishProficiencyDetails.DateTaken ? new Date(englishProficiencyDetails.DateTaken) : null,\n listeningScore: englishProficiencyDetails.ListeningScore,\n readingScore: englishProficiencyDetails.ReadingScore,\n writingScore: englishProficiencyDetails.WritingScore,\n speakingScore: englishProficiencyDetails.SpeakingScore,\n vocabularyScore: englishProficiencyDetails.VocabularyScore,\n totalScore: englishProficiencyDetails.TotalScore,\n otherTestName: englishProficiencyDetails.OtherTestName,\n allSubjectsTaughtInEnglish: englishProficiencyDetails.AllSubjectsTaughtInEnglish,\n speaksEnglishAtHome: englishProficiencyDetails.SpeaksEnglishAtHome\n });\n\n this.hasTakenTest = englishProficiencyDetails.HasTakenTest;\n this.allSubjectsTaughtInEnglish = englishProficiencyDetails.AllSubjectsTaughtInEnglish;\n this.speaksEnglishAtHome = englishProficiencyDetails.SpeaksEnglishAtHome;\n this.testTypeCode = englishProficiencyDetails.TestTypeCode;\n\n this.englishProficiencyFormGroup.updateValueAndValidity();\n\n }\n\n getDate(fieldName: string): string {\n const dateObject = this.englishProficiencyFormGroup.get(fieldName).value;\n const dateTimeObject = DateTime.fromJSDate(dateObject);\n\n if (!dateTimeObject.isValid) {\n return null;\n }\n\n const initialDate = new Date(1970, 0, 1);\n\n if (dateObject.getDate() === initialDate.getDate() &&\n dateObject.getMonth() === initialDate.getMonth() &&\n dateObject.getFullYear() === initialDate.getFullYear()) {\n return null;\n }\n const userTimezoneOffset = dateObject.getTimezoneOffset() * 60000;\n const date = new Date(dateObject.getTime() - userTimezoneOffset);\n return date.toISOString();\n }\n\n convertDateToString(dateInString: string): string {\n if (!dateInString) {\n return null;\n }\n\n const date = new Date(dateInString);\n const dateStr = date ? `${date.getDate()}/${date.getMonth() + 1}/${date.getFullYear()}` : '';\n return dateStr;\n }\n\n getEnglishProficiencyDetails(): EnglishProficiencyDetails {\n\n const englishProficiencyDetails = new EnglishProficiencyDetails();\n englishProficiencyDetails.HasTakenTest = this.englishProficiencyFormGroup.get('hasTakenTest').value;\n\n if (englishProficiencyDetails.HasTakenTest) {\n englishProficiencyDetails.TestTypeCode = this.englishProficiencyFormGroup.get('testTypeCode').value;\n // englishProficiencyDetails.DateTaken = this.englishProficiencyFormGroup.get('dateTaken').value;\n englishProficiencyDetails.DateTaken = this.utilityService.getDateStrWithoutTimeZone(this.englishProficiencyFormGroup.get('dateTaken').value) //this.getDate('dateTaken')\n englishProficiencyDetails.ListeningScore = this.englishProficiencyFormGroup.get('listeningScore').value;\n englishProficiencyDetails.ReadingScore = this.englishProficiencyFormGroup.get('readingScore').value;\n englishProficiencyDetails.WritingScore = this.englishProficiencyFormGroup.get('writingScore').value;\n englishProficiencyDetails.SpeakingScore = this.englishProficiencyFormGroup.get('speakingScore').value;\n englishProficiencyDetails.VocabularyScore = this.englishProficiencyFormGroup.get('vocabularyScore').value;\n englishProficiencyDetails.TotalScore = this.englishProficiencyFormGroup.get('totalScore').value;\n englishProficiencyDetails.OtherTestName = this.englishProficiencyFormGroup.get('otherTestName').value;\n }\n englishProficiencyDetails.AllSubjectsTaughtInEnglish = this.englishProficiencyFormGroup.get('allSubjectsTaughtInEnglish').value;\n englishProficiencyDetails.SpeaksEnglishAtHome = this.englishProficiencyFormGroup.get('speaksEnglishAtHome').value;\n\n return englishProficiencyDetails;\n }\n\n saveAndContinue() {\n this.isFormSubmitted = true;\n\n const englishProficiencyDetails = this.getEnglishProficiencyDetails();\n this.applicationService.updateEnglishProficiencyDetails(this.applicationId, englishProficiencyDetails)\n .subscribe((response: SingleResultApiResponse) => {\n this.dispatchSectionSaveAction();\n this.isSaveSuccessful = true;\n this.router.navigate(['/applications', this.applicationId, 'edit', 'school-program-placement']);\n }, (errorResponse: ErrorResponse) => {\n const { errors } = errorResponse;\n for (const error of errors) {\n this.setApiValidationError(error.Key, error.Value);\n }\n this.englishProficiencyFormGroup.updateValueAndValidity();\n this.dispatchSectionSaveAction();\n this.initialEnglishProficiencyDetails = this.getEnglishProficiencyDetails();\n this.isScrollDone = false;\n this.formService.scrollToFirstErrorField();\n });\n }\n\n ngAfterContentChecked(): void {\n if (!this.isScrollDone) {\n this.isScrollDone = this.formService.scrollToFirstErrorField();\n }\n }\n\n dispatchSectionSaveAction() {\n this.store.dispatch({\n type: Action_ApplicationSectionSaved\n });\n }\n\n canDeactivate(): Observable | boolean {\n\n if (this.isSaveSuccessful) {\n return true;\n }\n\n if (!this.isEnglishProficiencyDetailsSame()) {\n this.modalService.showModal();\n return this.modalService.stayOnThePage;\n } else {\n this.modalService.hideModal();\n return true;\n }\n }\n\n\n isEnglishProficiencyDetailsSame(): boolean {\n\n const currentEnglishProficiencyDetails = this.getEnglishProficiencyDetails();\n const initialEnglishProficiencyDetails = this.initialEnglishProficiencyDetails;\n\n const isEnglishProficiencyDetailsSame =\n compareEnglishProficiencyDetails(initialEnglishProficiencyDetails, currentEnglishProficiencyDetails);\n\n return isEnglishProficiencyDetailsSame;\n }\n\n //accessibility -- link error msg to form field\n errorDoubleErrorAccessibility(formControlName: string, requireErrorId: string, apiErrorId: string): string {\n if (this.isFormSubmitted &&\n this.englishProficiencyFormGroup.get(formControlName).errors &&\n this.englishProficiencyFormGroup.get(formControlName).errors.required) {\n return requireErrorId;\n } else if (this.isFormSubmitted &&\n this.englishProficiencyFormGroup.get(formControlName).errors &&\n this.englishProficiencyFormGroup.get(formControlName).errors.apiValidationError) {\n return apiErrorId;\n } else {\n return \"\";\n }\n }\n\n}\n","module.exports = \"
\\n\\n
\\n

Important Information

\\n \\n \\\"\\\"/\\n
\\n\\n
\\n
\\n Please note that as part of submitting an application there are a number of required documents which must be\\n uploaded. Depending on your intended enrolment, some of the below documents will not be required.\\n

\\n Certain documents need to be:
\\n
    \\n
  • In the original language
  • \\n
  • Translated into English
  • \\n
  • Certified as true copies of the original person of the country concerned
  • \\n
\\n
\\n Please refer to the table below for clarification on which documents are required. These documents will need to be\\n uploaded in the supporting documents section.\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
DocumentsScanned copies of original documentIs English translation required?
\\n {{ document.DocumentType}}\\n \\n \\n Click here to download {{ document.DocumentType}}\\n Click here to download {{ document.DocumentType}}\\n \\n \\n {{document.ExternalLinkText || document.ExternalLinkUrl || 'Click here for more information'}}\\n \\n {{ getYesNoText(document.ScannedCopiesOfOriginalDocument) }} {{ getYesNoText(document.IsEnglishTranslationRequired) }}
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
English Teacher's Recommendation Letter
\\n
press tab to reach first focusable element
\\n
\\n
\\n
Please select the language you'd like to download:
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n Close\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n\\n\"","module.exports = \".submit-box input {\\n margin-top: 5rem;\\n margin-bottom: 5rem; }\\n\\n.table-block .table-content .table {\\n table-layout: fixed; }\\n\\n.table-block .table-content .table th.width50 {\\n width: 50%;\\n font-weight: bold;\\n font-size: 1.6rem; }\\n\\n.table-block .table-content .table th.width25 {\\n width: 25%;\\n font-weight: bold;\\n font-size: 1.6rem; }\\n\\n.table-block .table-content .table td.width50 {\\n width: 50%; }\\n\\n.table-block .table-content .table td.width25 {\\n width: 25%; }\\n\\n.table-block .table-content .table th.center {\\n text-align: center; }\\n\\n.table-block .table-content .table td.center {\\n text-align: center; }\\n\\n.table-block .table-content .table tbody span {\\n display: block; }\\n\\n.table-block .table-content .table tbody span a {\\n text-decoration: underline;\\n color: #46466E;\\n cursor: pointer; }\\n\\n.modal-content .login-box .login-box-content .login-buttons {\\n width: 30%; }\\n\\n.modal-content .login-box .login-box-content ul li {\\n list-style-type: square;\\n margin: 2rem;\\n margin-left: 5rem; }\\n\\n.modal-content .login-box .login-box-content ul li a {\\n text-decoration: underline;\\n cursor: pointer; }\\n\\n.modal-dialog {\\n margin-left: 40%; }\\n\\n.table-block .table-block-text {\\n font-size: 1.425rem; }\\n\\n.table-block .table-block-text ul {\\n padding-top: 0.8rem; }\\n\\n.table-block .table-block-text ul li {\\n list-style-type: square;\\n list-style-position: inside;\\n margin-left: 0.4rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vaW1wb3J0YW50LWluZm9ybWF0aW9uL0Q6XFxhXFwxNTVcXHNcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5Qcm9kXFxEZWkuT25saW5lQXBwbGljYXRpb24uV2ViXFxvbmxpbmUtYXBwL3NyY1xcYXBwXFxhcHBsaWNhdGlvblxcaW1wb3J0YW50LWluZm9ybWF0aW9uXFxpbXBvcnRhbnQtaW5mb3JtYXRpb24uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxnQkFBZ0I7RUFDaEIsbUJBQW1CLEVBQUE7O0FBR3ZCO0VBQ0ksbUJBQW1CLEVBQUE7O0FBSXZCO0VBQ0ksVUFBVTtFQUNWLGlCQUFpQjtFQUNqQixpQkFBaUIsRUFBQTs7QUFHckI7RUFDSSxVQUFVO0VBQ1YsaUJBQWlCO0VBQ2pCLGlCQUFpQixFQUFBOztBQUlyQjtFQUNJLFVBQVUsRUFBQTs7QUFHZDtFQUNJLFVBQVUsRUFBQTs7QUFHZDtFQUNJLGtCQUFrQixFQUFBOztBQUd0QjtFQUNJLGtCQUFrQixFQUFBOztBQUd0QjtFQUNJLGNBQWMsRUFBQTs7QUFHbEI7RUFDSSwwQkFBMEI7RUFDMUIsY0FBYztFQUNkLGVBQWUsRUFBQTs7QUFHbkI7RUFHUSxVQUFVLEVBQUE7O0FBSGxCO0VBUVEsdUJBQXVCO0VBQ3ZCLFlBQVk7RUFDWixpQkFBaUIsRUFBQTs7QUFWekI7SUFhWSwwQkFBMEI7SUFDMUIsZUFBZSxFQUFBOztBQVMzQjtFQUNJLGdCQUFnQixFQUFBOztBQUdwQjtFQUNJLG1CQUFtQixFQUFBOztBQUR2QjtJQUlRLG1CQUFtQixFQUFBOztBQUozQjtNQU1ZLHVCQUF1QjtNQUN2QiwyQkFBMkI7TUFDM0IsbUJBQW1CLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9hcHBsaWNhdGlvbi9pbXBvcnRhbnQtaW5mb3JtYXRpb24vaW1wb3J0YW50LWluZm9ybWF0aW9uLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnN1Ym1pdC1ib3ggaW5wdXQge1xyXG4gICAgbWFyZ2luLXRvcDogNXJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDVyZW07XHJcbn1cclxuXHJcbi50YWJsZS1ibG9jayAudGFibGUtY29udGVudCAudGFibGV7XHJcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG59XHJcblxyXG5cclxuLnRhYmxlLWJsb2NrIC50YWJsZS1jb250ZW50IC50YWJsZSB0aC53aWR0aDUwe1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiAxLjZyZW07XHJcbn1cclxuXHJcbi50YWJsZS1ibG9jayAudGFibGUtY29udGVudCAudGFibGUgdGgud2lkdGgyNXtcclxuICAgIHdpZHRoOiAyNSU7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xyXG59XHJcblxyXG5cclxuLnRhYmxlLWJsb2NrIC50YWJsZS1jb250ZW50IC50YWJsZSB0ZC53aWR0aDUwe1xyXG4gICAgd2lkdGg6IDUwJTtcclxufVxyXG5cclxuLnRhYmxlLWJsb2NrIC50YWJsZS1jb250ZW50IC50YWJsZSB0ZC53aWR0aDI1e1xyXG4gICAgd2lkdGg6IDI1JTtcclxufVxyXG5cclxuLnRhYmxlLWJsb2NrIC50YWJsZS1jb250ZW50IC50YWJsZSB0aC5jZW50ZXJ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi50YWJsZS1ibG9jayAudGFibGUtY29udGVudCAudGFibGUgdGQuY2VudGVye1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4udGFibGUtYmxvY2sgLnRhYmxlLWNvbnRlbnQgLnRhYmxlIHRib2R5IHNwYW4ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi50YWJsZS1ibG9jayAudGFibGUtY29udGVudCAudGFibGUgdGJvZHkgc3BhbiBhIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgY29sb3I6ICM0NjQ2NkU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5tb2RhbC1jb250ZW50IC5sb2dpbi1ib3ggLmxvZ2luLWJveC1jb250ZW50ICB7XHJcblxyXG4gICAgLmxvZ2luLWJ1dHRvbnMge1xyXG4gICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICB9XHJcblxyXG4gICAgdWwgbGlcclxuICAgIHtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTtcclxuICAgICAgICBtYXJnaW46IDJyZW07XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVyZW07XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgXHJcblxyXG4gICBcclxufVxyXG5cclxuXHJcbi5tb2RhbC1kaWFsb2cge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDQwJTtcclxufVxyXG5cclxuLnRhYmxlLWJsb2NrIC50YWJsZS1ibG9jay10ZXh0IHtcclxuICAgIGZvbnQtc2l6ZTogMS40MjVyZW07XHJcblxyXG4gICAgdWwgeyAgICAgICAgXHJcbiAgICAgICAgcGFkZGluZy10b3A6IDAuOHJlbTtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjRyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { ApplicationDocument } from '../models/application-document';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { ApplicationService } from 'src/app/shared/services/application.service';\nimport { SingleResultApiResponse } from 'src/app/shared/models/api-response.model';\nimport { Title } from '@angular/platform-browser';\nimport { Tab_Title } from 'src/app/shared/models/lookup-data.model';\nimport { tap } from 'rxjs/operators';\n\n@Component({\n selector: 'online-app-important-information',\n templateUrl: './important-information.component.html',\n styleUrls: ['./important-information.component.scss'],\n host: {\n class: 'application-section-component'\n }\n})\nexport class ImportantInformationComponent implements OnInit {\n\n documents: ApplicationDocument[];\n applicationId: number;\n showModal = false;\n isSubmittedApplication = false;\n isDownloadEnglishRecommendationLetterClicked = false;\n @ViewChild('resolve') resolve: ElementRef;\n constructor(private router: Router,\n private applicationService: ApplicationService,\n private activatedRoute: ActivatedRoute,\n private titleService: Title) {\n this.activatedRoute.parent.params.subscribe( params => {\n this.applicationId = +params['id'];\n });\n }\n\n ngOnInit() {\n if(localStorage.getItem(\"isAgent\") == \"true\"){\n this.titleService.setTitle(Tab_Title.Agent_ImportantInformation_Title);\n }else{\n this.titleService.setTitle(Tab_Title.ImportantInformation_Title);\n }\n this.documents = [\n {\n DocumentType: 'Student\\'s Birth Certificate',\n ScannedCopiesOfOriginalDocument: true,\n IsEnglishTranslationRequired: true,\n },\n {\n DocumentType: 'Student\\'s Passport',\n ScannedCopiesOfOriginalDocument: true,\n IsEnglishTranslationRequired: false,\n },\n {\n DocumentType: 'Student\\'s Current Visa',\n ScannedCopiesOfOriginalDocument: true,\n IsEnglishTranslationRequired: false,\n },\n {\n DocumentType: 'Carer\\'s Birth Certificate or Passport',\n ScannedCopiesOfOriginalDocument: true,\n IsEnglishTranslationRequired: true,\n },\n //{\n // DocumentType: 'Carer\\'s Visa or Citizenship',\n // ScannedCopiesOfOriginalDocument: true\n //},\n {\n DocumentType: 'Parent Declaration for Guardian Visa Applicants form',\n ScannedCopiesOfOriginalDocument: true,\n DownloadLink: '/assets/docs/parent-declaration-for-guardian-visa-applicants.pdf',\n },\n {\n DocumentType: 'Direct Relative Nomination form',\n ScannedCopiesOfOriginalDocument: true,\n DownloadLink: '/assets/docs/direct-relative-nomination-v2.pdf',\n },\n {\n DocumentType: 'Parent Nomination for Homestay form',\n ScannedCopiesOfOriginalDocument: true,\n DownloadLink: '/assets/docs/parent-nomination-for-homestay-v2.pdf',\n },\n {\n DocumentType: 'Homestay Information for Parents form',\n ScannedCopiesOfOriginalDocument: true,\n DownloadLink: '/assets/docs/homestay-information-for-parents.pdf',\n },\n {\n DocumentType: 'Homestay Booking form',\n ScannedCopiesOfOriginalDocument: true,\n DownloadLink: '/assets/docs/homestay-booking-form.pdf',\n },\n {\n DocumentType: 'English teacher\\'s recommendation letter',\n ScannedCopiesOfOriginalDocument: true,\n DownloadLink: 'showModal',\n },\n {\n DocumentType: 'Student\\'s Academic Transcript',\n ScannedCopiesOfOriginalDocument: true,\n IsEnglishTranslationRequired: true,\n },\n {\n DocumentType: 'Student\\'s Examination Results',\n ScannedCopiesOfOriginalDocument: true,\n IsEnglishTranslationRequired: true,\n },\n {\n DocumentType: 'Student\\'s Current COE ',\n ScannedCopiesOfOriginalDocument: true,\n },\n {\n DocumentType: 'Student\\'s Current CAAW',\n ScannedCopiesOfOriginalDocument: true,\n },\n {\n DocumentType: 'Student\\'s Current OSHC Membership',\n ScannedCopiesOfOriginalDocument: true,\n IsEnglishTranslationRequired: false,\n },\n {\n DocumentType: 'GDPR Consent Form',\n ScannedCopiesOfOriginalDocument: true,\n DownloadLink: '/assets/docs/international-student-program-consent-form.pdf',\n },\n {\n DocumentType: 'Parent and Student Declaration - Terms and Conditions',\n ScannedCopiesOfOriginalDocument: true,\n DownloadLink: '/assets/docs/Parent-Student-Declaration-Terms-conditions.pdf',\n },\n {\n DocumentType: 'Legal Custodian - Evidence of Court Order',\n ScannedCopiesOfOriginalDocument: true,\n IsEnglishTranslationRequired: true,\n HelperText: 'A legal custodian is someone who has been appointed by a court of law to have legal custody of the student - for example, someone who has adopted the student. Evidence of the court order must be provided.',\n },\n ];\n\n this.applicationService.getApplicationDetails(this.applicationId)\n .subscribe( (response: SingleResultApiResponse) => {\n if (response.Result) {\n this.isSubmittedApplication = response.Result.ApplicationStatus === 'Submitted';\n }\n }, err => {\n console.error(err);\n });\n\n this.applicationService.isCovid19VaccinationNeeded(this.applicationId)\n .pipe(\n tap(\n x => {\n if (x === true) \n this.documents = [...this.documents, \n {\n DocumentType: 'COVID-19 Vaccination Parent Declaration Form',\n ScannedCopiesOfOriginalDocument: true,\n DownloadLink: '/assets/docs/covid-19-parent-declaration.pdf',\n IsNew: true,\n },\n {\n DocumentType: 'COVID-19 Proof of Vaccination',\n ScannedCopiesOfOriginalDocument: true,\n IsEnglishTranslationRequired: true,\n IsNew: true,\n ExternalLinkText: 'Click here for list of DE International approved vaccines.',\n ExternalLinkUrl: 'https://www.deinternational.nsw.edu.au/news/covid-19-information-and-resources'\n }\n ];\n }\n )\n ).subscribe();\n }\n\n displayModal():void {\n this.showModal = true;\n setTimeout(() => {\n this.resolve.nativeElement.focus();\n }, 100);\n }\n\n displayModalKeyboard():void {\n this.showModal = true;\n setTimeout(() => {\n this.resolve.nativeElement.focus();\n }, 100);\n }\n\n closeModal() {\n this.showModal = false;\n }\n\n getDocumentLink(document: ApplicationDocument): string {\n\n const selectedDocument = this.documents.find(doc => doc.DocumentType === document.DocumentType);\n\n let documentLink = '';\n if (selectedDocument) {\n documentLink = selectedDocument.DownloadLink;\n }\n\n return documentLink;\n }\n\n getYesNoText(value): string {\n if (value === true) {\n return 'Yes';\n } else if (value === false) {\n return 'No';\n } else if (value === undefined) {\n return 'N/A';\n }\n return '';\n }\n\n //show border when tab on link for accessibility\n linkTabAccessibility(event): void {\n event.style.outline = \"1px solid black\";\n }\n\n linkBlurAccessibility(event): void {\n event.style.outline = \"\";\n }\n\n continue() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'student-details']);\n }\n\n next() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'student-details']);\n }\n\n}\n","export class AccommodationWelfareDetails {\r\n AccommodationTypeId: number;\r\n Code: string;\r\n Description: string;\r\n IsSelected: boolean;\r\n Carers: Carer[];\r\n SelectedCarerId: number;\r\n}\r\n\r\n\r\nexport class Carer {\r\n CarerId: number;\r\n Code: string;\r\n Description: string;\r\n GivenName: string;\r\n FamilyName: string;\r\n}\r\n\r\n\r\nexport class AccommodationWelfareUpdateDetails {\r\n AccommodationTypeId: number;\r\n SelectedCarerId: number;\r\n}\r\n","export class ApplicationAgentDetails {\r\n GivenName: string;\r\n FamilyName: string;\r\n PhoneCountryCode: string;\r\n PhoneNumber: string;\r\n EmailAddress: string;\r\n AdditionalInformation: string;\r\n}","export class ApplicationPayment {\r\n ApplicationNumber: string;\r\n InvoiceNumber: string;\r\n ApplicationFee: number;\r\n Currency: string;\r\n VoucherNumber: string;\r\n DiscountAmount: number;\r\n TotalAmountAfterDiscount: number;\r\n}\r\n\r\n\r\nexport class Voucher {\r\n VoucherId: number;\r\n VoucherNumber: string;\r\n IsValid: boolean;\r\n VoucherDiscountAmount: number;\r\n TotalAmountAfterDiscount: number;\r\n IsFullDiscount: boolean;\r\n}\r\n\r\n\r\nexport class PaymentUpdateModel {\r\n\r\n ApplicationId: number;\r\n ResponseCode: string;\r\n ReceiptNumber: string;\r\n PaymentStatus: string;\r\n}\r\n\r\nexport class CohortPaymentParameter {\r\n\r\n //#region Common Shared\r\n\r\n // Application ID of the web application (load corresponding settings from ApplicationDetail.xml)\r\n ApplicationTypeId: number;\r\n ApplicationId: number;\r\n InvoiceNumber: string;\r\n PaymentDescription: string;\r\n PaymentAmount:number\r\n\r\n//#endregion\r\n\r\n\r\n//#region Cohort part\r\n Partner: string;\r\n CancelUrl: string;\r\n CompletionUrl: string;\r\n FingerPrint: string; //a fingerprint calculated as hex(sha1(timestamp '|' secret '|' invoice '|' amount)) (where amount is formatted as XXX.XX)\r\n DocumentUrl: string;\r\n Locale: string;\r\n TimeStamp: string;\r\n Email: string;\r\n GivenName: string;\r\n FamilyName: string;\r\n DOB: string;\r\n Phone1: string;\r\n HomeCountry: string;\r\n PassportCountry: string;\r\n PassportNumber: string;\r\n\r\n//#endregion\r\n}\r\n","export class DefaultCorrespondent {\r\n CorrespondentId: number;\r\n IsAgent: boolean;\r\n}\r\n\r\n\r\nexport class Correspondent {\r\n CorrespondentId: number;\r\n IsAgent: boolean;\r\n Name: string;\r\n Gender: string;\r\n RelationshipCode: string;\r\n RelationshipTypeName: string;\r\n MobileCountryCode: string;\r\n MobilePhoneNumber: string;\r\n HomeCountryCode: string;\r\n HomePhoneNumber: string;\r\n EmailAddress: string;\r\n AddressLine1: string;\r\n AddressLine2: string;\r\n Suburb: string;\r\n State: string;\r\n Postcode: string;\r\n Country: string;\r\n IsDefault: boolean;\r\n DisableForSelection: boolean;\r\n AgentNote: string;\r\n}\r\n","export class EnglishProficiencyDetails {\r\n TestTypeCode: string;\r\n HasTakenTest: boolean;\r\n DateTaken: string;\r\n ListeningScore: number;\r\n ReadingScore: number;\r\n WritingScore: number;\r\n SpeakingScore: number;\r\n VocabularyScore: number;\r\n TotalScore: number;\r\n OtherTestName: string;\r\n AllSubjectsTaughtInEnglish: boolean;\r\n SpeaksEnglishAtHome: boolean;\r\n}\r\n","export class ParentGuardianDetails {\r\n \r\n SchoolProgramType: string;\r\n ParentGuardianId: number;\r\n\r\n RelationshipCode: string;\r\n OtherRelationship: string;\r\n GivenName: string;\r\n FamilyName: string;\r\n OnlyHasOneName: boolean;\r\n PreferredName: string;\r\n Gender: string;\r\n IsRefusedAusVisaBefore: boolean;\r\n VisaRefusalDetails: string;\r\n DateOfBirth: string;\r\n CountryOfBirthId: string;\r\n CountryOfNationalityId: string;\r\n HasPassport: boolean;\r\n PassportNumber: string;\r\n PassportExpiryDate: string;\r\n EmailAddress: string;\r\n\r\n MobileCountryCode: string;\r\n MobilePhoneNumber: string;\r\n HomeCountryCode: string;\r\n HomePhoneNumber: string;\r\n\r\n IsAustralianAddressCurrentAddress: boolean;\r\n AustralianAddressLine1: string;\r\n AustralianAddressLine2: string;\r\n AustralianSuburb: string;\r\n AustralianState: string;\r\n AustralianPostcode: string;\r\n //no AustraliaCountryId in database\r\n\r\n IsOverseasAddressCurrentAddress: boolean;\r\n OverseasAddressLine1: string;\r\n OverseasAddressLine2: string;\r\n OverseasSuburbTown: string;\r\n OverseasStateProvinceRegion: string;\r\n OverseasPostcode: string;\r\n OverseasCountryId: string;\r\n OverseasCountryName: string;\r\n\r\n IsDateOfBirthStatusChanged: boolean;\r\n IsDefaultCorrespondent: boolean;\r\n IsCorrespondentSelectionDisabled: boolean\r\n AgentNote: string;\r\n\r\n IsValid: boolean;\r\n HasLegalCustody: boolean;\r\n IsParent: boolean;\r\n IsDeceased: boolean;\r\n \r\n}\r\n\r\nexport interface ParentErrors {\r\n IsParentTheCarer?: string;\r\n}\r\n\r\nexport interface ParentInfo {\r\n Relationship: string;\r\n OtherRelationship: string;\r\n IsDeceased: boolean;\r\n GivenName: string;\r\n FamilyName: string;\r\n OnlyHasOneName: boolean;\r\n HasLegalCustody?: boolean;\r\n}\r\nexport interface ParentInfoErrors {\r\n Relationship?: string;\r\n OtherRelationship?: string;\r\n IsDeceased?: string;\r\n GivenName?: string;\r\n FamilyName?: string;\r\n HasLegalCustody?: string;\r\n}\r\n\r\nexport interface ParentInfoConfig {\r\n isSubmittedApplication?: boolean;\r\n isParentTheCarer?: boolean;\r\n isParent: boolean;\r\n ParentId?: number;\r\n}\r\n\r\nexport interface ParentDetails {\r\nSchoolProgramType: string;\r\nDateOfBirth: string;\r\nGender: string;\r\nCountryOfBirthId: string;\r\nCountryOfNationalityId: string;\r\nPassportNumber: string;\r\nEmailAddress: string;\r\nNote: string;\r\nIsRefusedAusVisaBefore: boolean;\r\nVisaRefusalDetails: string;\r\nMobileCountryCode: string;\r\nMobilePhoneNumber: string;\r\nHomeCountryCode: string;\r\nHomePhoneNumber: string;\r\nIsAustralianAddress: boolean;\r\nAddressLine1: string;\r\nAddressLine2: string;\r\nSuburbTownCity: string;\r\nStateProvinceRegion: string;\r\nPostcode: string;\r\nCountryId: string;\r\nIsSameAddress: boolean;\r\n}\r\n\r\nexport interface ParentDetailsErrors {\r\n DateOfBirth?: string;\r\n Gender?: string;\r\n CountryOfBirthId?: string;\r\n CountryOfNationalityId?: string;\r\n PassportNumber?: string;\r\n EmailAddress?: string;\r\n Note?: string;\r\n IsRefusedAusVisaBefore?: string; \r\n VisaRefusalDetails?: string;\r\n MobileCountryCode?: string;\r\n MobilePhoneNumber?: string;\r\n HomeCountryCode?: string;\r\n HomePhoneNumber?: string;\r\n IsAustralianAddress?: string;\r\n CountryId?: string;\r\n AddressLine1?: string;\r\n AddressLine2?: string;\r\n SuburbTownCity?: string;\r\n StateProvinceRegion?: string;\r\n Postcode?: string;\r\n}\r\nexport interface ParentDetailsConfig {\r\n isSubmittedApplication?: boolean;\r\n isParentTheCarer: boolean;\r\n isParent: boolean;\r\n isSecondParent: boolean;\r\n isSameAddress: boolean;\r\n isP1ParentDeceased: boolean;\r\n}\r\nexport interface ParentAddressConfig {\r\n isSubmittedApplication?: boolean;\r\n isParent: boolean;\r\n title: string;\r\n titleAdditionalInfo: string;\r\n}\r\nexport interface ParentAddress {\r\n IsAustralianAddress?: boolean;\r\n AddressLine1?: string;\r\n AddressLine2?: string;\r\n SuburbTownCity?: string;\r\n StateProvinceRegion?: string;\r\n Postcode?: string;\r\n CountryId?: string;\r\n}\r\nexport interface ParentAddressErrors {\r\n AddressLine1?: string;\r\n AddressLine2?: string;\r\n SuburbTownCity?: string;\r\n StateProvinceRegion?: string;\r\n Postcode?: string;\r\n CountryId?: string;\r\n}\r\nexport class ParentLegalcustodianDetails {\r\nSchoolProgramType: string;\r\nIsParentTheCarer: boolean;\r\nIsSingleParent: boolean; \r\n//Parent 1\r\nP1ParentId : number;\r\nP1RelationshipCode: string;\r\nP1GivenName: string;\r\nP1FamilyName: string;\r\nP1OnlyHasOneName: boolean;\r\nP1IsDeceased: boolean;\r\nP1HasLegalCustody?: boolean;\r\n\r\nP1DateOfBirth: string;\r\nP1Gender: string;\r\nP1CountryOfBirthId: string;\r\nP1CountryOfNationalityId: string;\r\nP1PassportNumber: string;\r\nP1EmailAddress: string;\r\nP1Note: string;\r\nP1IsRefusedAusVisaBefore: boolean;\r\nP1VisaRefusalDetails: string;\r\n\r\nP1MobileCountryCode: string;\r\nP1MobilePhoneNumber: string;\r\nP1HomeCountryCode: string;\r\nP1HomePhoneNumber: string;\r\n\r\nP1IsAustralianAddress: boolean;\r\nP1AddressLine1: string;\r\nP1AddressLine2: string;\r\nP1SuburbTownCity: string;\r\nP1StateProvinceRegion: string;\r\nP1Postcode: string;\r\nP1CountryId: string;\r\n\r\n//Parent 2\r\nP2ParentId : number;\r\nP2RelationshipCode: string;\r\nP2GivenName: string;\r\nP2FamilyName: string;\r\nP2OnlyHasOneName: boolean;\r\nP2IsDeceased: boolean;\r\nP2HasLegalCustody?: boolean;\r\n\r\nP2DateOfBirth: string;\r\nP2Gender: string;\r\nP2CountryOfBirthId: string;\r\nP2CountryOfNationalityId: string;\r\nP2PassportNumber: string;\r\nP2EmailAddress: string;\r\nP2Note: string;\r\nP2IsRefusedAusVisaBefore: boolean;\r\nP2VisaRefusalDetails: string;\r\n\r\nP2MobileCountryCode: string;\r\nP2MobilePhoneNumber: string;\r\nP2HomeCountryCode: string;\r\nP2HomePhoneNumber: string;\r\n\r\nP2IsAustralianAddress: boolean;\r\nP2AddressLine1: string;\r\nP2AddressLine2: string;\r\nP2SuburbTownCity: string;\r\nP2StateProvinceRegion: string;\r\nP2Postcode: string;\r\nP2CountryId: string;\r\n\r\n\r\n//Legal Custodian\r\nLCParentId : number;\r\nLCRelationshipCode: string;\r\nLCOtherRelationship: string;\r\nLCGivenName: string;\r\nLCFamilyName: string;\r\nLCOnlyHasOneName: boolean;\r\n\r\nLCDateOfBirth: string;\r\nLCGender: string;\r\nLCCountryOfBirthId: string;\r\nLCCountryOfNationalityId: string;\r\nLCPassportNumber: string;\r\nLCEmailAddress: string;\r\nLCNote: string;\r\nLCIsRefusedAusVisaBefore: boolean;\r\nLCVisaRefusalDetails: string;\r\n\r\nLCMobileCountryCode: string;\r\nLCMobilePhoneNumber: string;\r\nLCHomeCountryCode: string;\r\nLCHomePhoneNumber: string;\r\n\r\nLCIsAustralianAddress: boolean;\r\nLCAddressLine1: string;\r\nLCAddressLine2: string;\r\nLCSuburbTownCity: string;\r\nLCStateProvinceRegion: string;\r\nLCPostcode: string;\r\nLCCountryId: string;\r\n}\r\n","export class SchoolProgramPlacementDetails {\n SchoolProgramType: string;\n YearOfEntryCode: string;\n YearOfEntryDescription: string;\n WishToEnrolIec: boolean;\n IecStartTermCode: string;\n IecStartTermYear: number;\n IecDurationCode: string;\n StartTermCode: string;\n StartTermDescription: string;\n StartTermYear: number;\n DurationCode: string;\n Year12InNSW?: boolean;\n Year11InNSW?: boolean;\n FromTRP?: boolean;\n CompulsorySubject1Code: string;\n CompulsorySubject2Code: string;\n CompulsorySubject3Code: string;\n CompulsorySubject4Code: string;\n CompulsorySubject5Code: string;\n CompulsorySubject6Code: string;\n CompulsorySubject7Code: string;\n PreferredSchool1Id: string;\n PreferredSchool2Id: string;\n PreferredSchool3Id: string;\n HasASiblingEnrollingAtTheSameTime?: boolean;\n IsSiblingEnrolledInAustralia?: boolean;\n SiblingGivenName: string;\n SiblingFamilyName: string;\n SiblingPreferredName: string;\n SiblingDateOfBirth: string;\n SiblingSchoolName: string;\n SiblingStudentNumber: string;\n SiblingComments: string;\n IsEligibleForStudyAbroad: boolean;\n AgeInYears: number;\n Gender: string;\n IsStudentFromRegularCountry: boolean;\n EligibleYearOfEntries: string[];\n AllowAdditionalMessage: boolean;\n}\n","export class SpecialCircumstances {\r\n \r\n HadCovid19Vaccination: boolean | null;\r\n Covid19VaccinesTaken: string;\r\n\r\n IsDisabled: boolean;\r\n DisabledDescription: string;\r\n WasHospitalised: boolean;\r\n HospitalisedDescription: string;\r\n HasMedicalHistory: boolean;\r\n MedicalHistoryDescription: string;\r\n HadViolentBehaviour: boolean;\r\n ViolentBehaviourDescription: string;\r\n WasSuspended: boolean;\r\n SuspensionDueToViolenceToPerson: boolean;\r\n SuspensionDueToIllegalDrugs: boolean;\r\n SuspensionDueToWeaponPossession: boolean;\r\n SuspensionDueToViolenceAtSchool: boolean;\r\n SuspendedDueToOtherReason: boolean;\r\n OtherReasonForSuspension: boolean;\r\n InvolvedInOtherIncidentsOutsideSchool: boolean;\r\n OtherIncidentsDescription: string;\r\n\r\n OtherDisabilitiesNotListed: string;\r\n AnyModificationsDoneAtHome: boolean;\r\n DetailsOfModificationAndStrategies: string;\r\n SpecificImpairmentsOrDisabilities: string;\r\n}\r\n","export class StudentDetails {\n\n GivenName: string;\n FamilyName: string;\n OnlyHasOneName: boolean;\n PreferredName: string;\n Gender: string;\n DateOfBirth: string;\n CountryOfBirthId: string;\n CountryOfNationalityId: string;\n HasPassport: boolean;\n PassportNumber: string;\n PassportExpiryDate: string;\n EmailAddress: string;\n\n MobileCountryCode: string;\n MobilePhoneNumber: string;\n HomeCountryCode: string;\n HomePhoneNumber: string;\n\n AustralianAddressLine1: string;\n AustralianAddressLine2: string;\n AustralianSuburb: string;\n AustralianState: string;\n AustralianPostcode: string;\n IsAustralianAddressCurrentAddress: boolean;\n\n OverseasAddressLine1: string;\n OverseasAddressLine2: string;\n OverseasSuburbTown: string;\n OverseasStateProvinceRegion: string;\n OverseasPostcode: string;\n OverseasCountryId: string;\n IsOverseasAddressCurrentAddress: boolean;\n\n IsStudentAlreadyEnrolledInAustralia?: boolean;\n StudentLivingWith: string; \n}\n","import { StudentDetails } from './student-details';\r\nimport { ParentGuardianDetails } from './parent-guardian-details';\r\nimport { EnglishProficiencyDetails } from './english-proficiency-details';\r\nimport { SchoolProgramPlacementDetails } from './school-program-placement-details';\r\nimport { SpecialCircumstances } from './special-circumstances';\r\nimport { VisaOshc } from './visa-ohsc';\r\nimport { AccommodationWelfareDetails } from './accommodation-welfare-details';\r\nimport { Correspondent } from './corresondents';\r\n\r\nexport class Summary {\r\n ApplicationId: number;\r\n ApplicationNumber: string;\r\n StudentNumber: string;\r\n ApplicationStatus: string;\r\n StudentDetails: StudentDetails;\r\n ParentGuardians: ParentGuardianDetails[];\r\n EnglishProficiency: EnglishProficiencyDetails;\r\n SchoolProgram: SchoolProgramPlacementDetails;\r\n SpecialCircumstances: SpecialCircumstances;\r\n VisaOshc: VisaOshc;\r\n Accommodation: AccommodationWelfareDetails;\r\n Correspondent: Correspondent;\r\n}","export class SupportingDocument {\r\n DocumentTypeId: number;\r\n DocumentTypeCode: string;\r\n DocumentDescription: string;\r\n DocumentMessage: string;\r\n Subtext: string;\r\n FormURL: string;\r\n DocumentId: number;\r\n FileKey: string;\r\n FileName: string;\r\n Status: string;\r\n DownloadURL: string;\r\n FileError: string;\r\n DocumentNote: string;\r\n DocumentNoteValidationFailed: boolean = false;\r\n ExternalLinkUrl?: string;\r\n ExternalLinkText?: string;\r\n}\r\n\r\nexport class UploadedSupportingDocument {\r\n DocumentId: number;\r\n DocumentTypeId: number;\r\n FileKey: string;\r\n FileName: string;\r\n UserFederatedId: string;\r\n DocumentNote: string = '';\r\n}\r\n\r\n\r\nexport class SupportingDocumentScanStatus {\r\n DocumentTypeId: number;\r\n DocumentId: number;\r\n Status: string;\r\n}\r\n","export class VisaOshc {\n IsOnshoreWhileLodgingVisa: boolean;\n HoldsAustralianVisa: boolean;\n\n // we need to use VisaSubclassId\n VisaSubclassId: number | null;\n VisaSubclassCode: string; \n VisaSubclassDescription: string;\n VisaExpiryDate: string;\n VisaNumber: string;\n\n HasOshc: boolean;\n OshcProviderCode: string;\n OshcProviderName: string;\n OshcExpiryDate: string;\n IsVisaStatusChanged: boolean;\n IsHealthCoverFromDEInternational: boolean;\n IsReciprocalHealthCareCountry: boolean;\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcGxpY2F0aW9uL29ubGluZS1hcHAtbWVudS9vbmxpbmUtYXBwLW1lbnUuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"

\\r\\n online-app-menu works!\\r\\n

\\r\\n\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'online-app-online-app-menu',\n templateUrl: './online-app-menu.component.html',\n styleUrls: ['./online-app-menu.component.css']\n})\nexport class OnlineAppMenuComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"
\\n\\n
\\n

Edit Parent / Carer Details

\\n \\\"\\\"/\\n
\\n \\n
\\n \\n
\\n \\n
\\n
Please note that all fields marked with an (*) are required.
\\n
\\n\\n \\n \\n \\n \\n \\n\\n\\n \\n \\n\\n \\n \\n \\n
\\n \\n \\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n
Please resolve the following
\\n
press tab to reach first focusable element
\\n
\\n

The changes you have made on this page have affected other sections of this application. Please review\\n the information provided on the incomplete pages so you are able to submit this application

\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \".modal-dialog {\\n margin-left: 40%; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vcGFyZW50LWd1YXJkaWFuLWRldGFpbHMvcGFyZW50LWd1YXJkaWFuLWRldGFpbHMtZWRpdC9EOlxcYVxcMTU1XFxzXFxEZWkuT25saW5lQXBwbGljYXRpb24uUHJvZFxcRGVpLk9ubGluZUFwcGxpY2F0aW9uLldlYlxcb25saW5lLWFwcC9zcmNcXGFwcFxcYXBwbGljYXRpb25cXHBhcmVudC1ndWFyZGlhbi1kZXRhaWxzXFxwYXJlbnQtZ3VhcmRpYW4tZGV0YWlscy1lZGl0XFxwYXJlbnQtZ3VhcmRpYW4tZGV0YWlscy1lZGl0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksZ0JBQWdCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9hcHBsaWNhdGlvbi9wYXJlbnQtZ3VhcmRpYW4tZGV0YWlscy9wYXJlbnQtZ3VhcmRpYW4tZGV0YWlscy1lZGl0L3BhcmVudC1ndWFyZGlhbi1kZXRhaWxzLWVkaXQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubW9kYWwtZGlhbG9nIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA0MCU7XHJcbn0iXX0= */\"","import { Component, OnInit, AfterContentChecked, ViewChild, ElementRef, OnDestroy } from '@angular/core';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { ParentGuardianDetails } from '../../models/parent-guardian-details';\nimport { ApplicationService } from 'src/app/shared/services/application.service';\nimport { SingleResultApiResponse } from 'src/app/shared/models/api-response.model';\nimport { ErrorResponse } from 'src/app/shared/models/error.model';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { Relationship } from 'aws-sdk/clients/configservice';\nimport { Country } from 'src/app/shared/models/lookup-data.model';\nimport { Address, AddressConfig, AddressErrors } from '../../shared/address/address.model';\nimport { PersonDetails, PersonDetailsConfig, PersonDetailsErrors } from '../../shared/person-details/person-details.model';\nimport { PhoneNumberDetails, PhoneNumberConfig, PhoneNumberErrors } from '../../shared/phone-number/phone-number.model';\nimport { Store } from '@ngrx/store';\nimport { Action_ApplicationSectionSaved } from '../../state/actions';\nimport { Observable, Subscription } from 'rxjs';\nimport { ModalService } from 'src/app/shared/services/modal.service';\nimport { compareParentGuardianDetails } from '../../shared/utils/ModelUtils';\nimport { FormService } from 'src/app/shared/services/form.service';\nimport { ParentAddress, ParentAddressErrors, ParentAddressConfig } from '../../models/parent-guardian-details';\nimport { debounceTime } from 'rxjs/operators';\nimport { UtilityService } from 'src/app/shared/services/utility.service';\n\n@Component({\n selector: 'online-app-parent-guardian-details-edit',\n templateUrl: './parent-guardian-details-edit.component.html',\n host: {\n class: 'application-section-component'\n },\n styleUrls: ['./parent-guardian-details-edit.component.scss']\n})\nexport class ParentGuardianDetailsEditComponent implements OnInit, AfterContentChecked, OnDestroy {\n\n parentGuardianDetailsFormGroup: FormGroup;\n relationships: Relationship[];\n isFormSubmitted = false;\n applicationId: number;\n parentGuardianId: number;\n isSaveSuccessful = false;\n selectedRelationship = '';\n isScrollDone = false;\n isSubmittedApplication = false;\n showChangeImpactModal: boolean = false;\n\n\n initialParentDetails: PersonDetails = {\n relationship: undefined,\n otherRelationship: undefined,\n givenName: undefined,\n isRefusedAusVisaBefore: undefined,\n visaRefusalDetails: undefined,\n familyName: undefined,\n preferredName: undefined,\n dateOfBirth: undefined,\n gender: undefined,\n countryOfBirth: undefined,\n nationality: undefined,\n hasPassport: undefined,\n passportNumber: undefined,\n passportExpiryDate: undefined,\n emailAddress: undefined,\n onlyHasOneName: undefined\n };\n\n initialPhoneNumber: PhoneNumberDetails = {\n mobileCountryCode: undefined,\n mobilePhoneNumber: undefined,\n homeCountryCode: undefined,\n homePhoneNumber: undefined\n };\n\n parentDetailsConfig: PersonDetailsConfig = {\n isRelationshipRequired: true,\n isRefusedAusVisaBefore: true,\n title: 'Person Details',\n titleAdditionalInfo: '1 of 4',\n countries: [],\n nationalityCountries: [],\n relationships: []\n };\n\n parentDetailsErrors: PersonDetailsErrors = {};\n\n parentDetailsData: PersonDetails;\n initialParentDetailsData: PersonDetails;\n\n phoneNumberConfig: PhoneNumberConfig = {\n title: 'Phone Number',\n titleAdditionalInfo: '2 of 4',\n countries: [],\n };\n\n phoneNumberErrors: PhoneNumberErrors = {};\n\n phoneNumberData: PhoneNumberDetails;\n initialPhoneNumberData: PhoneNumberDetails;\n\n overseasAddressErrors: AddressErrors = {};\n australianAddressErrors: AddressErrors = {};\n\n overseasAddressConfig: AddressConfig = {\n isAustralianAddress: false,\n title: 'Overseas Address',\n titleAdditionalInfo: '4 of 4',\n idPrefix: 'overseas-address-'\n };\n\n overseasAddressData: Address;\n initialOverseasAddressData: Address;\n\n australianAddressConfig: AddressConfig = {\n isAustralianAddress: true,\n title: 'Australian Address',\n titleAdditionalInfo: '3 of 4',\n idPrefix: 'aus-address-' \n };\n\n australianAddressData: Address;\n initialAustralianAddressData: Address;\n\n\n //Mn-936\n currentAddressData: ParentAddress = {};\n currentAddressConfig: ParentAddressConfig = {\n isSubmittedApplication: false,\n isParent: false,\n title: \"Current Address\",\n titleAdditionalInfo: '3 of 4'\n };\n currentAddressErrors: ParentAddressErrors = {};\n\n\n\n initialOverseasAddressValue: Address = {\n line1: undefined,\n line2: undefined,\n suburb: undefined,\n state: undefined,\n postcode: undefined,\n country: undefined,\n isCurrentAddress: undefined\n };\n\n initialAustralianAddressValue: Address = {\n line1: undefined,\n line2: undefined,\n suburb: undefined,\n state: undefined,\n postcode: undefined,\n country: undefined,\n isCurrentAddress: undefined\n };\n \n private subscriptionsToDispose: Subscription[] = [];\n schoolProgramTypeStr: string;\n\n @ViewChild('resolve') resolve: ElementRef;\n constructor(private formBuilder: FormBuilder,\n private store: Store,\n private applicationService: ApplicationService,\n private modalService: ModalService,\n private formService: FormService,\n private router: Router,\n private utilityService: UtilityService,\n private activatedRoute: ActivatedRoute) {\n\n this.activatedRoute.parent.parent.params.subscribe(params => {\n this.applicationId = +params['id'];\n });\n\n this.activatedRoute.params.subscribe(params => {\n this.parentGuardianId = +params['parentGuardianId'];\n\n if (!this.parentGuardianId) {\n this.parentGuardianId = 0;\n }\n\n });\n\n }\n\n ngOnInit() {\n\n const countries = this.activatedRoute.snapshot.data['countries'];\n\n //let relationships = this.activatedRoute.snapshot.data['relationshipTypes'];\n let relationships = this.activatedRoute.snapshot.data['relationshipTypes'].filter(rel => rel.IsParent || rel.IsDirectRelative || rel.IsParentNomination || rel.IsHomestay || rel.Code == 'AGENT')\n\n\n const noRelationship = {\n Code: '',\n Description: 'Please select',\n IsDirectRelative: false,\n IsHomestay: false,\n IsParent: false,\n IsParentNomination: false,\n IsSoftDeleted: false\n };\n\n // mn-346 : as this stage do not set IsSoftDelete = 1 in db for these items, as other page/logic MAY also use them\n // const excludeRelationshipList = ['Husband', 'Wife', 'Other'];\n\n // excludeRelationshipList.forEach(function (excl) {\n // relationships = relationships.filter(obj => obj.Description !== excl);\n // });\n\n relationships = relationships.filter(r => !r.IsParent);\n\n relationships.unshift(noRelationship);\n // this.parentDetailsConfig.countries = countries;\n\n this.parentDetailsConfig.relationships = relationships;\n\n this.parentDetailsConfig.countries = [this.getDefaultCountry(), ...countries];\n\n this.phoneNumberConfig.countries = [this.getDefaultCountry(), ...countries];\n\n this.overseasAddressConfig.countries = [this.getDefaultCountry(), ...countries];\n\n\n // this.overseasAddressConfig.countries = countries;\n\n\n this.parentGuardianDetailsFormGroup = this.formBuilder.group({\n parentDetails: this.initialParentDetails,\n phoneNumber: this.initialPhoneNumber,\n australianAddress: this.initialAustralianAddressValue,\n overseasAddress: this.initialOverseasAddressValue,\n currentAddress: this.currentAddressData,\n });\n\n this.subscriptionsToDispose.push(\n this.parentGuardianDetailsFormGroup.get('parentDetails').valueChanges\n .pipe(debounceTime(250))\n .subscribe(data => { \n const isRelationshipChanged = data.relationship !== this.selectedRelationship;\n \n if (isRelationshipChanged) {\n this.selectedRelationship = data.relationship;\n \n this.applicationService.getParent(this.applicationId, data.relationship)\n .subscribe((response: SingleResultApiResponse) => {\n \n if (response.Result) {\n const { GivenName, FamilyName } = response.Result;\n const parentDetailsData = { ...data };\n parentDetailsData.givenName = GivenName;\n parentDetailsData.familyName = FamilyName;\n this.parentDetailsData = parentDetailsData;\n }\n \n }, (errorResponse: ErrorResponse) => {\n }); \n }\n \n })\n );\n\n this.subscriptionsToDispose.push(\n this.parentGuardianDetailsFormGroup.get('australianAddress').valueChanges\n .pipe(debounceTime(250))\n .subscribe(data => {\n if (data.isCurrentAddress) {\n const overseasAddressData = { ...this.parentGuardianDetailsFormGroup.get('overseasAddress').value };\n if (overseasAddressData.isCurrentAddress) {\n overseasAddressData.isCurrentAddress = false;\n this.overseasAddressData = overseasAddressData;\n }\n }\n })\n );\n \n this.subscriptionsToDispose.push(\n this.parentGuardianDetailsFormGroup.get('overseasAddress').valueChanges\n .pipe(debounceTime(250))\n .subscribe(data => {\n if (data.isCurrentAddress) {\n const australianAddressData = { ...this.parentGuardianDetailsFormGroup.get('australianAddress').value };\n if (australianAddressData.isCurrentAddress) {\n australianAddressData.isCurrentAddress = false;\n this.australianAddressData = australianAddressData;\n }\n }\n })\n );\n\n\n if (this.parentGuardianId > 0) {\n this.applicationService.getParentGuardianDetails(this.applicationId, this.parentGuardianId)\n .subscribe((response: SingleResultApiResponse) => {\n\n const parentGuardianDetails = response.Result;\n this.updateFormValuesFromParentGuardianDetails(parentGuardianDetails);\n\n }, (err) => {\n console.error(err);\n }\n );\n }\n\n this.applicationService.getApplicationDetails(this.applicationId)\n .subscribe((response: SingleResultApiResponse) => {\n if (response.Result) {\n\n this.isSubmittedApplication = response.Result.ApplicationStatus === 'Submitted';\n\n this.schoolProgramTypeStr = response.Result.ApplicationNumber.indexOf('S-') >= 0 ? 'International' : (response.Result.ApplicationNumber.indexOf('A-') >= 0 ? 'StudyAbroad' : '');\n\n if (this.isSubmittedApplication) {\n this.parentGuardianDetailsFormGroup.disable();\n\n const submittedParentDetailsConfig = { ...this.parentDetailsConfig };\n submittedParentDetailsConfig.isSubmittedApplication = true;\n this.parentDetailsConfig = submittedParentDetailsConfig;\n\n\n const submittedPhoneNumberConfig = { ...this.phoneNumberConfig };\n submittedPhoneNumberConfig.isSubmittedApplication = true;\n this.phoneNumberConfig = submittedPhoneNumberConfig;\n\n const submittedAustralianAddressConfig = { ...this.australianAddressConfig };\n submittedAustralianAddressConfig.isSubmittedApplication = true;\n this.australianAddressConfig = submittedAustralianAddressConfig;\n\n\n const submittedOverseasAddressConfig = { ...this.overseasAddressConfig };\n submittedOverseasAddressConfig.isSubmittedApplication = true;\n this.overseasAddressConfig = submittedOverseasAddressConfig;\n\n }\n }\n }, err => {\n console.error(err);\n });\n\n\n }\n\n ngOnDestroy() {\n this.subscriptionsToDispose.forEach(s => s.unsubscribe());\n }\n\n onCloseModal() {\n this.showChangeImpactModal = false;\n this.router.navigate(['/applications', this.applicationId, 'edit', 'parent-guardian-details']);\n }\n\n getDefaultCountry(): Country {\n return {\n Id: '',\n Code: '',\n Description: 'Please select',\n Status: '',\n IsAgentMandatory: false,\n CanStudyAbroad: false,\n PhoneCode: 0,\n IsDeleted: false\n };\n }\n\n reloadInitialData() {\n\n if (this.parentGuardianId > 0) {\n this.applicationService.getParentGuardianDetails(this.applicationId, this.parentGuardianId)\n .subscribe((response: SingleResultApiResponse) => {\n this.updateInitialData(response.Result);\n }, err => {\n console.error(err);\n });\n }\n\n }\n\n updateInitialData(parentGuardianDetails: ParentGuardianDetails): void {\n\n const parentDetailsData = this.getPersonDetailsFromParentGuardianDetails(parentGuardianDetails);\n const phoneNumberData = this.getPhoneNumberDetailsFromParentGuardianDetails(parentGuardianDetails);\n const australianAddressData = this.getAustralianAddressFromParentGuardianDetails(parentGuardianDetails);\n const overseasAddressData = this.getOverseasAddressFromParentGuardianDetails(parentGuardianDetails);\n\n this.initialParentDetailsData = { ...parentDetailsData };\n this.initialPhoneNumberData = { ...phoneNumberData };\n this.initialAustralianAddressData = { ...australianAddressData };\n this.initialOverseasAddressData = { ...overseasAddressData };\n }\n\n\n\n getAustralianAddressFromParentGuardianDetails(parentGuardianDetails: ParentGuardianDetails): Address {\n return {\n line1: parentGuardianDetails.AustralianAddressLine1,\n line2: parentGuardianDetails.AustralianAddressLine2,\n suburb: parentGuardianDetails.AustralianSuburb,\n state: parentGuardianDetails.AustralianState,\n postcode: parentGuardianDetails.AustralianPostcode,\n country: parentGuardianDetails.OverseasCountryId,\n isCurrentAddress: parentGuardianDetails.IsAustralianAddressCurrentAddress\n };\n }\n\n getOverseasAddressFromParentGuardianDetails(parentGuardianDetails: ParentGuardianDetails): Address {\n return {\n line1: parentGuardianDetails.OverseasAddressLine1,\n line2: parentGuardianDetails.OverseasAddressLine2,\n suburb: parentGuardianDetails.OverseasSuburbTown,\n state: parentGuardianDetails.OverseasStateProvinceRegion,\n postcode: parentGuardianDetails.OverseasPostcode,\n country: parentGuardianDetails.OverseasCountryId,\n isCurrentAddress: parentGuardianDetails.IsOverseasAddressCurrentAddress\n };\n }\n\n getPersonDetailsFromParentGuardianDetails(parentGuardianDetails: ParentGuardianDetails): PersonDetails {\n\n this.selectedRelationship = parentGuardianDetails.RelationshipCode;\n\n return {\n relationship: parentGuardianDetails.RelationshipCode,\n otherRelationship: parentGuardianDetails.OtherRelationship,\n givenName: parentGuardianDetails.GivenName,\n familyName: parentGuardianDetails.FamilyName,\n onlyHasOneName: parentGuardianDetails.OnlyHasOneName,\n preferredName: parentGuardianDetails.PreferredName,\n isRefusedAusVisaBefore: parentGuardianDetails.IsRefusedAusVisaBefore,\n visaRefusalDetails: parentGuardianDetails.VisaRefusalDetails,\n dateOfBirth: parentGuardianDetails.DateOfBirth,\n gender: parentGuardianDetails.Gender,\n countryOfBirth: parentGuardianDetails.CountryOfBirthId,\n nationality: parentGuardianDetails.CountryOfNationalityId,\n hasPassport: parentGuardianDetails.HasPassport,\n passportNumber: parentGuardianDetails.PassportNumber,\n passportExpiryDate: parentGuardianDetails.PassportExpiryDate,\n emailAddress: parentGuardianDetails.EmailAddress,\n };\n }\n\n getPhoneNumberDetailsFromParentGuardianDetails(parentGuardianDetails: ParentGuardianDetails): PhoneNumberDetails {\n return {\n mobileCountryCode: parentGuardianDetails.MobileCountryCode,\n mobilePhoneNumber: parentGuardianDetails.MobilePhoneNumber,\n homeCountryCode: parentGuardianDetails.HomeCountryCode,\n homePhoneNumber: parentGuardianDetails.HomePhoneNumber\n };\n }\n\n\n updateFormValuesFromParentGuardianDetails(parentGuardianDetails: ParentGuardianDetails): void {\n\n this.parentDetailsData = this.getPersonDetailsFromParentGuardianDetails(parentGuardianDetails);\n this.phoneNumberData = this.getPhoneNumberDetailsFromParentGuardianDetails(parentGuardianDetails);\n this.australianAddressData = this.getAustralianAddressFromParentGuardianDetails(parentGuardianDetails);\n this.overseasAddressData = this.getOverseasAddressFromParentGuardianDetails(parentGuardianDetails);\n\n //console.log('this.australianAddressData: ', this.australianAddressData);\n //console.log('this.overseasAddressData: ', this.overseasAddressData);\n\n //2019-08-21\n if (this.australianAddressData.isCurrentAddress) {\n this.currentAddressData.AddressLine1 = this.australianAddressData.line1;\n this.currentAddressData.AddressLine2 = this.australianAddressData.line2;\n this.currentAddressData.IsAustralianAddress = true;\n this.currentAddressData.Postcode = this.australianAddressData.postcode;\n this.currentAddressData.StateProvinceRegion = this.australianAddressData.state;\n this.currentAddressData.SuburbTownCity = this.australianAddressData.suburb;\n this.currentAddressData.CountryId = this.australianAddressData.country;\n }\n else {\n this.currentAddressData.AddressLine1 = this.overseasAddressData.line1;\n this.currentAddressData.AddressLine2 = this.overseasAddressData.line2;\n this.currentAddressData.IsAustralianAddress = false;\n this.currentAddressData.Postcode = this.overseasAddressData.postcode;\n this.currentAddressData.StateProvinceRegion = this.overseasAddressData.state;\n this.currentAddressData.SuburbTownCity = this.overseasAddressData.suburb;\n this.currentAddressData.CountryId = this.overseasAddressData.country;\n }\n\n\n\n this.initialParentDetailsData = { ...this.parentDetailsData };\n this.initialPhoneNumberData = { ...this.phoneNumberData };\n this.initialAustralianAddressData = { ...this.australianAddressData };\n this.initialOverseasAddressData = { ...this.overseasAddressData };\n\n\n this.parentGuardianDetailsFormGroup.patchValue({\n studentDetails: this.parentDetailsData,\n phoneNumber: this.phoneNumberData,\n australianAddress: this.australianAddressData,//could ignore\n overseasAddress: this.overseasAddressData,//could ignore\n currentAddress: this.currentAddressData\n });\n this.parentGuardianDetailsFormGroup.updateValueAndValidity();\n\n }\n\n getAustralianAddress(parentGuardianDetails: ParentGuardianDetails): Address {\n return {\n line1: parentGuardianDetails.AustralianAddressLine1,\n line2: parentGuardianDetails.AustralianAddressLine2,\n suburb: parentGuardianDetails.AustralianSuburb,\n state: parentGuardianDetails.AustralianState,\n postcode: parentGuardianDetails.AustralianPostcode,\n country: '',\n isCurrentAddress: false\n };\n }\n\n getOverseasAddress(parentGuardianDetails: ParentGuardianDetails): Address {\n return {\n line1: parentGuardianDetails.OverseasAddressLine1,\n line2: parentGuardianDetails.OverseasAddressLine2,\n suburb: parentGuardianDetails.OverseasSuburbTown,\n state: parentGuardianDetails.OverseasStateProvinceRegion,\n postcode: parentGuardianDetails.OverseasPostcode,\n country: '',\n isCurrentAddress: false\n };\n }\n\n isThisFieldHasErrors(fieldName: string): boolean {\n return this.isFormSubmitted && this.parentGuardianDetailsFormGroup.get(fieldName).errors != null;\n }\n\n\n isThisFieldHasApiError(fieldName: string): boolean {\n return this.isFormSubmitted\n && this.parentGuardianDetailsFormGroup.get(fieldName).errors != null\n && this.parentGuardianDetailsFormGroup.get(fieldName).errors.api != null;\n }\n\n updateParentPersonDetails(parentGuardianDetails: ParentGuardianDetails, personDetails: PersonDetails) {\n parentGuardianDetails.RelationshipCode = personDetails.relationship;\n parentGuardianDetails.OtherRelationship = personDetails.otherRelationship;\n parentGuardianDetails.GivenName = personDetails.givenName;\n parentGuardianDetails.FamilyName = personDetails.familyName;\n parentGuardianDetails.OnlyHasOneName = personDetails.onlyHasOneName;\n parentGuardianDetails.CountryOfBirthId = personDetails.countryOfBirth;\n parentGuardianDetails.CountryOfNationalityId = personDetails.nationality;\n parentGuardianDetails.PreferredName = personDetails.preferredName;\n parentGuardianDetails.IsRefusedAusVisaBefore = personDetails.isRefusedAusVisaBefore;\n parentGuardianDetails.VisaRefusalDetails = personDetails.visaRefusalDetails;\n parentGuardianDetails.PassportNumber = personDetails.passportNumber;\n parentGuardianDetails.Gender = personDetails.gender;\n parentGuardianDetails.EmailAddress = personDetails.emailAddress;\n\n parentGuardianDetails.DateOfBirth = this.utilityService.getDateStrWithoutTimeZone(personDetails.dateOfBirth);\n\n // if (personDetails.dateOfBirth) {\n // const dob = personDetails.dateOfBirth.split('/');\n // const dateObject = new Date(+dob[2], (+dob[1] - 1), +dob[0]);\n // const userTimezoneOffset = dateObject.getTimezoneOffset() * 60000;\n // const date = new Date(dateObject.getTime() - userTimezoneOffset);\n // parentGuardianDetails.DateOfBirth = date.toISOString();\n // }\n\n }\n\n updateParentPhoneNumberDetails(parentGuardianDetails: ParentGuardianDetails, phoneNumberDetails: PhoneNumberDetails) {\n parentGuardianDetails.MobileCountryCode = phoneNumberDetails.mobileCountryCode === '0' ? null : phoneNumberDetails.mobileCountryCode;\n parentGuardianDetails.MobilePhoneNumber = phoneNumberDetails.mobilePhoneNumber;\n parentGuardianDetails.HomeCountryCode = phoneNumberDetails.homeCountryCode === '0' ? null : phoneNumberDetails.homeCountryCode;\n parentGuardianDetails.HomePhoneNumber = phoneNumberDetails.homePhoneNumber;\n }\n\n updateParentAddress(parentGuardianDetails: ParentGuardianDetails, currentAddress: ParentAddress) {\n\n if (currentAddress.IsAustralianAddress) {\n parentGuardianDetails.AustralianAddressLine1 = currentAddress.AddressLine1;\n parentGuardianDetails.AustralianAddressLine2 = currentAddress.AddressLine2;\n parentGuardianDetails.AustralianSuburb = currentAddress.SuburbTownCity;\n parentGuardianDetails.AustralianState = currentAddress.StateProvinceRegion;\n parentGuardianDetails.AustralianPostcode = currentAddress.Postcode;\n parentGuardianDetails.IsAustralianAddressCurrentAddress = true;\n } else {\n parentGuardianDetails.OverseasAddressLine1 = currentAddress.AddressLine1;\n parentGuardianDetails.OverseasAddressLine2 = currentAddress.AddressLine2;\n parentGuardianDetails.OverseasSuburbTown = currentAddress.SuburbTownCity;\n parentGuardianDetails.OverseasStateProvinceRegion = currentAddress.StateProvinceRegion;\n parentGuardianDetails.OverseasCountryId = currentAddress.CountryId;\n parentGuardianDetails.OverseasPostcode = currentAddress.Postcode;\n parentGuardianDetails.IsOverseasAddressCurrentAddress = false;\n }\n\n }\n\n getParentGuardianDetails(): ParentGuardianDetails {\n\n const parentGuardianDetails = new ParentGuardianDetails();\n parentGuardianDetails.SchoolProgramType = this.schoolProgramTypeStr;\n parentGuardianDetails.ParentGuardianId = this.parentGuardianId;\n\n const parentPersonDetails = this.parentGuardianDetailsFormGroup.get('parentDetails').value;\n this.updateParentPersonDetails(parentGuardianDetails, parentPersonDetails);\n const phoneNumberDetails = this.parentGuardianDetailsFormGroup.get('phoneNumber').value;\n this.updateParentPhoneNumberDetails(parentGuardianDetails, phoneNumberDetails);\n\n const currentAddress = this.parentGuardianDetailsFormGroup.get('currentAddress').value;\n\n this.updateParentAddress(parentGuardianDetails, currentAddress);\n //const australianAddress = this.parentGuardianDetailsFormGroup.get('australianAddress').value;\n //this.updateParentAddress(parentGuardianDetails, australianAddress, this.currentAddressData.IsAustralianAddress);\n //const overseasAddress = this.parentGuardianDetailsFormGroup.get('overseasAddress').value;\n //this.updateParentAddress(parentGuardianDetails, overseasAddress, this.currentAddressData.IsAustralianAddress);\n\n //console.log(\"--Carer details about to save is:--\", parentGuardianDetails);\n\n\n return parentGuardianDetails;\n }\n\n setApiValidationError(apiErrorKeyName: string,\n apiErrorMsg: string,\n parentDetailsErrors: PersonDetailsErrors,\n phoneNumberErrors: PhoneNumberErrors,\n australianAddressErrors: AddressErrors,\n overseasAddressErrors: AddressErrors): void {\n\n switch (apiErrorKeyName) {\n case 'RelationshipCode':\n parentDetailsErrors.relationship = apiErrorMsg;\n break;\n case 'OtherRelationship':\n parentDetailsErrors.otherRelationship = apiErrorMsg;\n break;\n case 'GivenName':\n parentDetailsErrors.givenName = apiErrorMsg;\n break;\n case 'FamilyName':\n parentDetailsErrors.familyName = apiErrorMsg;\n break;\n case 'PreferredName':\n parentDetailsErrors.preferredName = apiErrorMsg;\n break;\n case 'IsRefusedAusVisaBefore':\n parentDetailsErrors.isRefusedAusVisaBefore = apiErrorMsg;\n break;\n case 'VisaRefusalDetails':\n parentDetailsErrors.visaRefusalDetails = apiErrorMsg;\n break;\n case 'Gender':\n parentDetailsErrors.gender = apiErrorMsg;\n break;\n case 'DateOfBirth':\n parentDetailsErrors.dateOfBirth = apiErrorMsg;\n break;\n case 'CountryOfBirthId':\n parentDetailsErrors.countryOfBirth = apiErrorMsg;\n break;\n case 'CountryOfNationalityId':\n parentDetailsErrors.nationality = apiErrorMsg;\n break;\n case 'PassportNumber':\n parentDetailsErrors.passportNumber = apiErrorMsg;\n break;\n case 'EmailAddress':\n parentDetailsErrors.emailAddress = apiErrorMsg;\n break;\n case 'MobileCountryCode':\n phoneNumberErrors.mobileCountryCode = apiErrorMsg;\n break;\n case 'MobilePhoneNumber':\n phoneNumberErrors.mobilePhoneNumber = apiErrorMsg;\n break;\n case 'HomeCountryCode':\n phoneNumberErrors.homeCountryCode = apiErrorMsg;\n break;\n case 'HomePhoneNumber':\n phoneNumberErrors.homePhoneNumber = apiErrorMsg;\n break;\n case 'AustralianAddressLine1':\n australianAddressErrors.line1 = apiErrorMsg;\n this.currentAddressErrors.AddressLine1 = apiErrorMsg;\n break;\n case 'AustralianAddressLine2':\n australianAddressErrors.line2 = apiErrorMsg;\n this.currentAddressErrors.AddressLine2 = apiErrorMsg;\n break;\n case 'AustralianSuburb':\n australianAddressErrors.suburb = apiErrorMsg;\n this.currentAddressErrors.SuburbTownCity = apiErrorMsg;\n break;\n case 'AustralianState':\n australianAddressErrors.state = apiErrorMsg;\n this.currentAddressErrors.StateProvinceRegion = apiErrorMsg;\n break;\n case 'AustralianPostcode':\n australianAddressErrors.postcode = apiErrorMsg;\n this.currentAddressErrors.Postcode = apiErrorMsg;\n break;\n case 'IsAustralianAddressCurrentAddress':\n australianAddressErrors.isCurrentAddress = apiErrorMsg;\n break;\n case 'OverseasAddressLine1':\n overseasAddressErrors.line1 = apiErrorMsg;\n this.currentAddressErrors.AddressLine1 = apiErrorMsg;\n break;\n case 'OverseasAddressLine2':\n overseasAddressErrors.line2 = apiErrorMsg;\n this.currentAddressErrors.AddressLine2 = apiErrorMsg;\n break;\n case 'OverseasSuburbTown':\n overseasAddressErrors.suburb = apiErrorMsg;\n this.currentAddressErrors.SuburbTownCity = apiErrorMsg;\n break;\n case 'OverseasStateProvinceRegion':\n overseasAddressErrors.state = apiErrorMsg;\n this.currentAddressErrors.StateProvinceRegion = apiErrorMsg;\n break;\n case 'OverseasPostcode':\n overseasAddressErrors.postcode = apiErrorMsg;\n this.currentAddressErrors.Postcode = apiErrorMsg;\n break;\n case 'OverseasCountryId':\n overseasAddressErrors.country = apiErrorMsg;\n this.currentAddressErrors.CountryId = apiErrorMsg;\n break;\n case 'IsOverseasAddressCurrentAddress':\n overseasAddressErrors.isCurrentAddress = apiErrorMsg;\n break;\n }\n }\n\n\n setIsAustralianAddress(isAustralianAddress: boolean) {\n //(\"Is AustralianAddress?\", isAustralianAddress);\n this.currentAddressData.IsAustralianAddress = isAustralianAddress;\n }\n\n saveParentGuardian() {\n\n const parentGuardianDetails = this.getParentGuardianDetails();\n this.isFormSubmitted = true;\n //console.log(\"--(1)-- ParentGuardian info to update is ====>\", parentGuardianDetails);\n this.applicationService.updateParentGuardianDetails(this.applicationId, parentGuardianDetails)\n .subscribe((response: SingleResultApiResponse) => {\n this.dispatchSectionSaveAction();\n this.isSaveSuccessful = true;\n\n if (response.Result) {\n this.showChangeImpactModal = response.Result.IsDateOfBirthStatusChanged;\n }\n if (this.showChangeImpactModal === false) {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'parent-guardian-details']);\n }else{\n setTimeout(() => {\n this.resolve.nativeElement.focus();\n }, 100);\n }\n }, (errorResponse: ErrorResponse) => {\n //console.log(\"--(2)-- Validation message error msg is ====>\", errorResponse);\n\n const parentDetailsErrors: PersonDetailsErrors = {};\n const phoneNumberErrors: PhoneNumberErrors = {};\n const australianAddressErrors: AddressErrors = {};\n const overseasAddressErrors: AddressErrors = {};\n\n const { errors, result } = errorResponse;\n\n if (result && result.ParentGuardianId) {\n this.parentGuardianId = result.ParentGuardianId;\n }\n\n for (const error of errors) {\n this.setApiValidationError(error.Key,\n error.Value,\n parentDetailsErrors,\n phoneNumberErrors,\n australianAddressErrors,\n overseasAddressErrors);\n }\n\n this.parentDetailsErrors = parentDetailsErrors;\n this.phoneNumberErrors = phoneNumberErrors;\n this.australianAddressErrors = australianAddressErrors;\n this.overseasAddressErrors = overseasAddressErrors;\n\n //console.log(\"--(3.1)-- australianAddressErrors is ====>\", australianAddressErrors);\n //console.log(\"--(3.2)-- overseasAddressErrors is ====>\", overseasAddressErrors);\n //console.log(\"--(3.3)-- currentAddressErrors is ====>\", this.currentAddressErrors);\n\n this.parentGuardianDetailsFormGroup.updateValueAndValidity();\n\n this.dispatchSectionSaveAction();\n this.reloadInitialData();\n this.isScrollDone = false;\n this.formService.scrollToFirstErrorField();\n });\n\n }\n\n dispatchSectionSaveAction() {\n this.store.dispatch({\n type: Action_ApplicationSectionSaved\n });\n }\n\n canDeactivate(): Observable | boolean {\n\n if (this.isSaveSuccessful) {\n return true;\n }\n\n if (!this.isParentGuardianDetailsSame()) {\n this.modalService.showModal();\n return this.modalService.stayOnThePage;\n } else {\n this.modalService.hideModal();\n return true;\n }\n }\n\n ngAfterContentChecked(): void {\n if (!this.isScrollDone) {\n this.isScrollDone = this.formService.scrollToFirstErrorField();\n }\n\n }\n\n isParentGuardianDetailsSame(): boolean {\n const currentPersonDetails = this.parentGuardianDetailsFormGroup.get('parentDetails').value;\n const currentPhoneNumberDetails = this.parentGuardianDetailsFormGroup.get('phoneNumber').value;\n const currentAustralianAddressDetails = this.parentGuardianDetailsFormGroup.get('australianAddress').value;\n const currentOverseasAddressDetails = this.parentGuardianDetailsFormGroup.get('overseasAddress').value;\n\n const isParentGuardianDetailsSame = compareParentGuardianDetails(this.initialParentDetailsData, currentPersonDetails,\n this.initialPhoneNumberData, currentPhoneNumberDetails,\n this.initialAustralianAddressData, currentAustralianAddressDetails,\n this.initialOverseasAddressData, currentOverseasAddressDetails);\n\n return isParentGuardianDetailsSame;\n }\n\n updateAddressInParentGuardianDetails(parentGuardianDetails: ParentGuardianDetails, addressField: string): void {\n\n const address =
this.parentGuardianDetailsFormGroup.get(addressField).value;\n\n if (addressField === 'australianAddress') {\n\n parentGuardianDetails.AustralianAddressLine1 = address.line1;\n parentGuardianDetails.AustralianAddressLine2 = address.line2;\n parentGuardianDetails.AustralianSuburb = address.suburb;\n parentGuardianDetails.AustralianState = address.state;\n parentGuardianDetails.AustralianPostcode = address.postcode;\n parentGuardianDetails.IsAustralianAddressCurrentAddress = address.isCurrentAddress;\n\n } else if (addressField === 'overseasAddress') {\n\n parentGuardianDetails.OverseasAddressLine1 = address.line1;\n parentGuardianDetails.OverseasAddressLine2 = address.line2;\n parentGuardianDetails.OverseasSuburbTown = address.suburb;\n parentGuardianDetails.OverseasStateProvinceRegion = address.state;\n parentGuardianDetails.OverseasPostcode = address.postcode;\n parentGuardianDetails.OverseasCountryId = address.country;\n parentGuardianDetails.IsOverseasAddressCurrentAddress = address.isCurrentAddress;\n\n }\n\n }\n\n cancelSaveParentGuardian(): void {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'parent-guardian-details']);\n }\n\n displayChangeImpactModal(): boolean {\n return this.showChangeImpactModal;\n }\n\n\n\n}\n","module.exports = \"
\\n
\\n

Parent / Carer Details

\\n \\\"\\\"/\\n
\\n
\\n
\\n
\\n
\\n
Please ensure that either a Father or Mother contact details are\\n provided
\\n
\\n
\\n
\\n
0 && !defaultCorrespondentId\\\">\\n
\\n
\\n
Please select a Default Correspondent
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
{{getParentCarerDescription(parentGuardian)}}
\\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
    \\n
  • \\n
    {{getParentCarerEmail(parentGuardian)}}
    \\n
  • \\n
  • \\n
    {{getParentCarerMobilePhone(parentGuardian)}}
    \\n
  • \\n
  • \\n
    {{getParentCarerCurrentAddress(parentGuardian)}}\\n
    \\n
  • \\n
\\n
\\n \\n \\n Default Correspondent\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
Please resolve the following
\\n
press tab to reach first focusable element
\\n
\\n

{{contactsValidationMessage}}

\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n
Delete Confirmation
\\n
press tab to reach first focusable element
\\n
\\n

This contact has been selected as a designated carer or a default correspondent for the student. Deleting\\n this contact will affect the corresponding sections of this application. Do you still want to proceed?

\\n
\\n \\n No\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \".pro-title + .question {\\n padding-top: 1.5rem; }\\n\\n.problems .problem .question .answer ul.contact-details li .heading5 i {\\n position: relative;\\n top: 2px; }\\n\\n.problems .problem .question .answer input.addEditDeleteButton {\\n padding: 7px 26px;\\n margin: 4 px;\\n font-size: 2rem;\\n color: #fff;\\n transition: all .2s;\\n background-color: #46466E;\\n border: 1px solid transparent;\\n border-radius: 5px; }\\n\\n.disabled {\\n cursor: not-allowed;\\n pointer-events: none; }\\n\\n.iconsdiv {\\n display: inline-block; }\\n\\n.iconsdiv span {\\n display: inline-block;\\n margin-left: 5px;\\n margin-right: 5px;\\n cursor: pointer; }\\n\\n.problems .problem .question .heading5 {\\n line-height: 30px; }\\n\\n.image-padding {\\n padding-right: 20px; }\\n\\n.modal-dialog {\\n margin-left: 40%; }\\n\\n.default-correspondent .pro-title {\\n background: #40806A;\\n color: #fff; }\\n\\n.default-correspondent .pro-title .iconsdiv {\\n color: #fff; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vcGFyZW50LWd1YXJkaWFuLWRldGFpbHMvRDpcXGFcXDE1NVxcc1xcRGVpLk9ubGluZUFwcGxpY2F0aW9uLlByb2RcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5XZWJcXG9ubGluZS1hcHAvc3JjXFxhcHBcXGFwcGxpY2F0aW9uXFxwYXJlbnQtZ3VhcmRpYW4tZGV0YWlsc1xccGFyZW50LWd1YXJkaWFuLWRldGFpbHMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxtQkFBbUIsRUFBQTs7QUFHdkI7RUFLb0Isa0JBQWtCO0VBQ2xCLFFBQVEsRUFBQTs7QUFONUI7RUFhUSxpQkFBaUI7RUFDakIsWUFBWTtFQUNaLGVBQWU7RUFDZixXQUFXO0VBQ1gsbUJBQW1CO0VBQ25CLHlCQUF5QjtFQUN6Qiw2QkFBNkI7RUFDN0Isa0JBQWtCLEVBQUE7O0FBSTFCO0VBRUUsbUJBQW1CO0VBQ25CLG9CQUFvQixFQUFBOztBQUd0QjtFQUNJLHFCQUFxQixFQUFBOztBQUd6QjtFQUNJLHFCQUFxQjtFQUNyQixnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLGVBQWUsRUFBQTs7QUFHbkI7RUFDSSxpQkFBaUIsRUFBQTs7QUFHckI7RUFDSSxtQkFBbUIsRUFBQTs7QUFHdkI7RUFDSSxnQkFBZ0IsRUFBQTs7QUFHcEI7RUFLUSxtQkFBbUI7RUFDbkIsV0FBVyxFQUFBOztBQU5uQjtJQVNZLFdBQVcsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2FwcGxpY2F0aW9uL3BhcmVudC1ndWFyZGlhbi1kZXRhaWxzL3BhcmVudC1ndWFyZGlhbi1kZXRhaWxzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnByby10aXRsZSArIC5xdWVzdGlvbiB7XHJcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xyXG59XHJcblxyXG4ucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIge1xyXG4gICAgdWwuY29udGFjdC1kZXRhaWxzIHtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIC5oZWFkaW5nNSB7XHJcbiAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXQuYWRkRWRpdERlbGV0ZUJ1dHRvbiB7XHJcbiAgICAgICAgcGFkZGluZzogN3B4IDI2cHg7XHJcbiAgICAgICAgbWFyZ2luOiA0IHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0NjQ2NkU7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uZGlzYWJsZWQge1xyXG4gIC8vYmFja2dyb3VuZC1jb2xvcjogI0RERERERDtcclxuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4uaWNvbnNkaXYge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4uaWNvbnNkaXYgc3BhbiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmhlYWRpbmc1IHtcclxuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG59XHJcblxyXG4uaW1hZ2UtcGFkZGluZ3tcclxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbn1cclxuXHJcbi5tb2RhbC1kaWFsb2cge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDQwJTtcclxufVxyXG5cclxuLmRlZmF1bHQtY29ycmVzcG9uZGVudCB7XHJcbiAgICAvLyBib3gtc2hhZG93OiAwIDAgMTFweCAycHggZGFya2VuKHJnYigxNDgsIDAsIDIxMSksIDIwJSk7XHJcbiAgICAvLyBib3gtc2hhZG93OiAwIDNweCAxMHB4IDBweCAjYWVjNWU3O1xyXG5cclxuICAgIC5wcm8tdGl0bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICM0MDgwNkE7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcblxyXG4gICAgICAgIC5pY29uc2RpdiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0= */\"","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { ApplicationService } from 'src/app/shared/services/application.service';\nimport { ParentGuardianDetails } from '../models/parent-guardian-details';\nimport { SingleResultApiResponse, ApiResponse } from 'src/app/shared/models/api-response.model';\nimport { ErrorResponse } from 'src/app/shared/models/error.model';\nimport { Country, Relationship, Tab_Title } from 'src/app/shared/models/lookup-data.model';\nimport { Store } from '@ngrx/store';\nimport { Action_ApplicationSectionSaved } from '../state/actions';\nimport { ModalService } from 'src/app/shared/services/modal.service';\nimport { DefaultCorrespondent } from '../models/corresondents';\nimport { compareDefaultCorrespondents } from '../shared/utils/ModelUtils';\nimport { Observable, forkJoin } from 'rxjs'\nimport { Title } from '@angular/platform-browser';\n\n@Component({\n selector: 'online-app-parent-guardian-details',\n templateUrl: './parent-guardian-details.component.html',\n styleUrls: ['./parent-guardian-details.component.scss'],\n host: {\n class: 'application-section-component'\n },\n})\nexport class ParentGuardianDetailsComponent implements OnInit {\n\n parentGuardians: ParentGuardianDetails[] = [];\n countries: Country[];\n relationships: Relationship[];\n applicationId: number;\n parentGuardianIdToBeDeleted: number;\n addContactValidationErrorMessage: string;\n contactsValidationMessage = '';\n showModal = false;\n isSubmittedApplication = false;\n defaultCorrespondentId = 0;\n defaultCorrespondentIsAgent = false;\n currentSetDefaultCorrespondentId = 0;\n initialCorrespondent = null;\n showDeleteReferenceWarningModal: boolean = false;\n isStudyAbroad: boolean = null;\n hasNonParentLegalCustodian: boolean = null;\n isAgentCreatedApplication: boolean = null;\n\n @ViewChild('resolve') resolve: ElementRef;\n @ViewChild('delete') delete: ElementRef;\n constructor(private router: Router,\n private store: Store,\n private modalService: ModalService,\n private applicationService: ApplicationService,\n private activatedRoute: ActivatedRoute,\n private titleService: Title\n ) {\n this.activatedRoute.parent.parent.params.subscribe(params => {\n this.applicationId = +params['id'];\n });\n }\n\n ngOnInit() {\n if(localStorage.getItem(\"isAgent\") == \"true\"){\n this.titleService.setTitle(Tab_Title.Agent_ParentCarerDetails_Title);\n }else{\n this.titleService.setTitle(Tab_Title.ParentCarerDetails_Title);\n }\n this.countries = this.activatedRoute.snapshot.data['countries'];\n this.relationships = this.activatedRoute.snapshot.data['relationshipTypes'];\n this.parentGuardians = this.activatedRoute.snapshot.data['parentGuardianDetails'];\n this.hasNonParentLegalCustodian = this.parentGuardians.some(p => p.HasLegalCustody && p.RelationshipCode !== 'FTH' && p.RelationshipCode !== 'MTH');\n\n const parentLegalcustodian = this.parentGuardians.filter(p => p.IsParent || p.HasLegalCustody);\n //console.log('parentLegalcustodian list');\n //console.log(parentLegalcustodian);\n const isParentLegalcustodianValid = parentLegalcustodian.length >= 1 && parentLegalcustodian.every(p => p.IsValid);\n //console.log('isParentLegalcustodianValid result');\n //console.log(isParentLegalcustodianValid);\n\n if (this.hasNonParentLegalCustodian) {\n const lcIndex = this.parentGuardians.findIndex(x => x.HasLegalCustody);\n\n const lc = this.parentGuardians.splice(lcIndex, 1);\n\n this.parentGuardians.unshift(lc[0]);\n }\n\n if (!isParentLegalcustodianValid) {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'parent-guardian-details', 'parent-legalcustodian']);\n }\n\n this.modalService.allowDelete.subscribe(allowDelete => {\n if (allowDelete) {\n if (this.parentGuardianIdToBeDeleted && this.parentGuardianIdToBeDeleted > 0) {\n this.applicationService.deleteParentGuardianDetails(this.applicationId, this.parentGuardianIdToBeDeleted)\n .subscribe(response => {\n this.parentGuardianIdToBeDeleted = 0;\n //console.log('parent guardian deleted and set parentGuardianIdToBeDeleted to zero');\n this.getParentGuardiansDetails();\n this.dispatchSectionSaveAction();\n }, err => {\n //console.error(err);\n });\n }\n } else {\n this.parentGuardianIdToBeDeleted = 0;\n }\n });\n\n\n let observableBatch = [];\n observableBatch.push(this.applicationService.getApplicationDetails(this.applicationId));\n observableBatch.push(this.applicationService.getSchoolProgramAndPlacementDetails(this.applicationId));\n\n let observable: Observable = forkJoin(observableBatch);\n observable.subscribe(\n data => {\n\n this.isAgentCreatedApplication = data[0].Result.AgencyOrBranchId !== null;\n //console.log(\"--- is agent created this app?---\", this.isAgentCreatedApplication);\n\n this.isSubmittedApplication = data[0].Result.ApplicationStatus === 'Submitted';\n\n this.isStudyAbroad = data[1].Result.SchoolProgramType === 'StudyAbroad';\n\n this.initAndSetDefaultCorrespondentDetails();\n\n }, (errorResponse: ErrorResponse) => { });\n }\n\n\n initAndSetDefaultCorrespondentDetails() {\n\n if (this.parentGuardians && this.parentGuardians.length) {\n\n //e.g. in SchoolProgram page, after user select programtype and save, actually we already save IsAgentDefaultCorrespondence value\n var defaultCorrespondent = this.parentGuardians.find(c => c.IsDefaultCorrespondent);\n if (defaultCorrespondent) {\n this.defaultCorrespondentId = defaultCorrespondent.ParentGuardianId;\n this.defaultCorrespondentIsAgent = defaultCorrespondent.RelationshipCode === 'AGENT';\n }\n else {\n this.defaultCorrespondentId = 0;\n //if ISP, Agent cannot be default correspondant\n //if StudyAbroad, only Agebt can be\n if (this.isStudyAbroad && this.isAgentCreatedApplication)\n this.defaultCorrespondentIsAgent = true;\n else\n this.defaultCorrespondentIsAgent = false;\n }\n\n }\n\n if (!this.initialCorrespondent) {\n this.initialCorrespondent = new DefaultCorrespondent();\n }\n this.initialCorrespondent.CorrespondentId = this.defaultCorrespondentId;\n this.initialCorrespondent.IsAgent = this.defaultCorrespondentIsAgent;\n }\n\n\n isCurrentDefaultCorrespondent(parentGuardian): boolean {\n if (this.defaultCorrespondentIsAgent) {\n return parentGuardian.RelationshipCode === 'AGENT'; //parentGuardian.ParentGuardianId === this.defaultCorrespondentId &&\n } else {\n return parentGuardian.RelationshipCode !== 'AGENT' && parentGuardian.ParentGuardianId === this.defaultCorrespondentId;\n }\n }\n\n\n\n isShowTickDefaultCorrespindent(parentGuardian): boolean {\n\n if (this.defaultCorrespondentIsAgent) {\n return parentGuardian.RelationshipCode === 'AGENT';\n }\n else {\n return parentGuardian.RelationshipCode !== 'AGENT' && !parentGuardian.IsDeceased\n && !this.failAdditionalCheck(parentGuardian);\n }\n }\n\n failAdditionalCheck(parentGuardian): boolean {\n //const isParentOrLegalCustodian : boolean = this.isParentOrLegalcustodian(parentGuardian);\n //if (isParentOrLegalCustodian === false) {\n // // to show default correspondent checkbox\n // //enable tick\n //}\n\n //if there is legal custodian other than parents, then hide checkbox for parents\n return this.hasNonParentLegalCustodian && (parentGuardian.RelationshipCode === 'FTH' || parentGuardian.RelationshipCode === 'MTH');\n }\n\n\n\n getParentGuardiansDetails(): void {\n this.applicationService.getParentGuardiansDetails(this.applicationId)\n .subscribe((response: ApiResponse) => {\n //console.log('got parent guardian details');\n this.parentGuardians = response.Result;\n this.initAndSetDefaultCorrespondentDetails();\n }, err => {\n //console.error(err);\n });\n }\n\n getRelationshipTypeDescription(relationshipTypeCode: string): string {\n const relationship = this.relationships.filter(reln => reln.Code === relationshipTypeCode)[0];\n return relationship ? relationship.Description : '';\n }\n\n getParentCarerDescription(parentGuardianDetails: ParentGuardianDetails) {\n const relationshipTypeDescription = this.getRelationshipTypeDescription(parentGuardianDetails.RelationshipCode);\n const isLegalCustodian = !parentGuardianDetails.IsParent && parentGuardianDetails.HasLegalCustody;\n const otherRelationship = isLegalCustodian && parentGuardianDetails.RelationshipCode === 'OTH' ? parentGuardianDetails.OtherRelationship : '';\n const isParentWithNoCustody = parentGuardianDetails.IsParent && !parentGuardianDetails.HasLegalCustody;\n const legalCustodian = 'Legal Custodian';\n const deceased = 'Deceased';\n\n const familyName = parentGuardianDetails.FamilyName ? parentGuardianDetails.FamilyName : '';\n const givenName = parentGuardianDetails.GivenName ? parentGuardianDetails.GivenName : '';\n const fullName = familyName === '' ? givenName : `${familyName}, ${givenName}`;\n\n let contactTitle = '';\n if (isLegalCustodian) {\n if (!!otherRelationship) {\n contactTitle = `${relationshipTypeDescription} - ${legalCustodian} (${otherRelationship}) - ${fullName}`;\n } else { \n contactTitle = `${relationshipTypeDescription} - ${legalCustodian} - ${fullName}`;\n }\n } else if (parentGuardianDetails.IsDeceased) {\n contactTitle = `${relationshipTypeDescription} - ${deceased} - ${fullName}`;\n } else {\n if (isParentWithNoCustody) {\n contactTitle = `${relationshipTypeDescription} (No custody) - ${fullName}`;\n } else {\n contactTitle = `${relationshipTypeDescription} - ${fullName}`;\n }\n }\n return contactTitle;\n }\n\n isParentCarerEmailAvailable(parentGuardianDetails: ParentGuardianDetails): boolean {\n if (parentGuardianDetails) {\n return parentGuardianDetails.EmailAddress !== null && parentGuardianDetails.EmailAddress !== '';\n }\n return false;\n }\n\n getParentCarerEmail(parentGuardianDetails: ParentGuardianDetails) {\n return this.isParentCarerEmailAvailable(parentGuardianDetails) === true ? parentGuardianDetails.EmailAddress : 'Not available';\n }\n\n getParentCarerMobilePhone(dtls: ParentGuardianDetails) {\n let phone = 'Not available';\n if (dtls) {\n if (dtls.MobileCountryCode != null && dtls.MobilePhoneNumber != null) {\n phone = '+' + dtls.MobileCountryCode + ' ' + dtls.MobilePhoneNumber;\n } else if (dtls.HomeCountryCode != null && dtls.HomePhoneNumber != null) {\n phone = '+' + dtls.HomeCountryCode + ' ' + dtls.HomePhoneNumber;\n } else if (dtls.MobileCountryCode == null && dtls.MobilePhoneNumber != null) {\n phone = dtls.MobilePhoneNumber;\n }\n }\n return phone;\n }\n\n getParentCarerCurrentAddress(addr: ParentGuardianDetails) {\n let currentAddress = '';\n if (addr) {\n if (addr.IsOverseasAddressCurrentAddress === true) {\n let addressLine1 = !addr.OverseasAddressLine1 ? '' : addr.OverseasAddressLine1;\n let addressLine2 = !addr.OverseasAddressLine2 ? '' : ', ' + addr.OverseasAddressLine2;\n let suburb = !addr.OverseasSuburbTown ? '' : ', ' + addr.OverseasSuburbTown;\n let state = !addr.OverseasStateProvinceRegion ? '' : ', ' + addr.OverseasStateProvinceRegion;\n let postcode = !addr.OverseasPostcode ? '' : ', ' + addr.OverseasPostcode;\n const countryName = this.getCountryNameById(addr.OverseasCountryId);\n let country = !countryName ? '' : ', ' + countryName;\n currentAddress = addressLine1 + addressLine2 + suburb + state + postcode + country;\n } else if (addr.IsAustralianAddressCurrentAddress === true) {\n let addressLine1 = !addr.AustralianAddressLine1 ? '' : addr.AustralianAddressLine1;\n let addressLine2 = !addr.AustralianAddressLine2 ? '' : ', ' + addr.AustralianAddressLine2;\n let suburb = !addr.AustralianSuburb ? '' : ', ' + addr.AustralianSuburb;\n let state = !addr.AustralianState ? '' : ', ' + addr.AustralianState;\n let postcode = !addr.AustralianPostcode ? '' : ', ' + addr.AustralianPostcode;\n const country = 'Australia';\n currentAddress = addressLine1 + addressLine2 + suburb + state + postcode + country;\n }\n }\n return currentAddress ? currentAddress : 'Not available';\n }\n\n getCountryNameById(countryId: string) {\n const country = this.countries.find(c => c.Id === countryId);\n\n return country ? country.Description : '';\n }\n\n\n setDefaultCorrespondent(parentGuardian: any) {\n if (!parentGuardian)\n return;\n\n if (parentGuardian.IsCorrespondentSelectionDisabled || this.isSubmittedApplication)\n return;\n\n const defaultCorrespondentToSave = new DefaultCorrespondent();\n\n defaultCorrespondentToSave.CorrespondentId = parentGuardian.ParentGuardianId;\n defaultCorrespondentToSave.IsAgent = parentGuardian.RelationshipCode === 'AGENT';\n\n if (!parentGuardian.IsDefaultCorrespondent) {\n parentGuardian.IsDefaultCorrespondent = true;\n }\n\n this.applicationService.setDefaultCorrespondent(this.applicationId, defaultCorrespondentToSave)\n .subscribe((response: SingleResultApiResponse) => {\n this.dispatchSectionSaveAction();\n\n this.defaultCorrespondentId = parentGuardian.ParentGuardianId;\n this.defaultCorrespondentIsAgent = parentGuardian.RelationshipCode === 'AGENT';\n\n }, (errorResponse: ErrorResponse) => {\n const { errors } = errorResponse;\n for (const error of errors) {\n //console.log(`Error in updating Default correspondent details.${error.Key},${error.Value}`);\n }\n this.dispatchSectionSaveAction();\n });\n }\n\n isDefaultCorrespondentDetailsSame(): boolean {\n const currentDefaultCorrespondent = new DefaultCorrespondent();\n currentDefaultCorrespondent.CorrespondentId = this.initialCorrespondent;\n currentDefaultCorrespondent.IsAgent = this.defaultCorrespondentIsAgent;\n\n const initialDefaultCorrespondent = this.initialCorrespondent;\n\n const isDefaultCorrespondentDetailsSame =\n compareDefaultCorrespondents(initialDefaultCorrespondent, currentDefaultCorrespondent);\n\n return isDefaultCorrespondentDetailsSame;\n }\n\n\n isFatherOrMotherExists(): boolean {\n const parentGuardian = this.parentGuardians.find(p => p.RelationshipCode === 'MTH' || p.RelationshipCode === 'FTH');\n\n if (parentGuardian) {\n return true;\n }\n\n return false;\n }\n\n addParentGuardian(): void {\n this.applicationService.validateAddContact(this.applicationId)\n .subscribe((response: SingleResultApiResponse) => {\n if (response.Result) {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'parent-guardian-details', '0', 'edit']);\n }\n }, (errorResponse: ErrorResponse) => {\n const { errors } = errorResponse;\n for (const error of errors) {\n if (error.Key === 'AddContactValidation') {\n this.addContactValidationErrorMessage = error.Value;\n }\n }\n this.modalService.showAllowAddContactModal();\n });\n }\n\n previous() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'school-program-placement']);\n }\n next() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'accommodation-welfare']);\n }\n\n continue(): void {\n this.applicationService.validateContacts(this.applicationId)\n .subscribe((response: SingleResultApiResponse) => {\n if (response.Result) {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'accommodation-welfare']);\n }\n }, (errorResponse: ErrorResponse) => {\n const { errors } = errorResponse;\n for (const error of errors) {\n if (error.Key === 'ContactsValidation') {\n this.contactsValidationMessage = error.Value;\n this.showModal = true;\n setTimeout(() => {\n this.resolve.nativeElement.focus();\n }, 100);\n }\n }\n });\n\n }\n\n displayModal(): boolean {\n return this.contactsValidationMessage && this.contactsValidationMessage.length > 0 && this.showModal;\n }\n\n clickOK() {\n this.showModal = false;\n }\n\n displayDeleteReferencesModal(): boolean {\n return this.showDeleteReferenceWarningModal;\n }\n\n cancelDeleteReferences() {\n this.showDeleteReferenceWarningModal = false;\n }\n\n deleteParentGuardianWithReferences() {\n this.showDeleteReferenceWarningModal = false;\n if (this.parentGuardianIdToBeDeleted && this.parentGuardianIdToBeDeleted > 0) {\n\n this.applicationService.deleteParentGuardianDetails(this.applicationId, this.parentGuardianIdToBeDeleted)\n .subscribe(response => {\n this.parentGuardianIdToBeDeleted = 0;\n this.getParentGuardiansDetails();\n this.dispatchSectionSaveAction();\n }, err => {\n //console.log('error while deleting..');\n console.error(err);\n });\n\n }\n }\n\n\n editParentGuardian(parentGuardianId: number) {\n //console.log('editParentGuardian - parentGuardianId');\n //console.log(parentGuardianId);\n\n this.applicationService.IsParentOrLegalcustodian(this.applicationId, parentGuardianId)\n .subscribe((response: SingleResultApiResponse) => {\n //console.log('IsParentOrLegalcustodian - response');\n //console.log(response);\n if (response.Result) {\n if (response.Result.IsParentOrLegalcustodian.Result) {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'parent-guardian-details', 'parent-legalcustodian']);\n } else {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'parent-guardian-details', parentGuardianId, 'edit']);\n }\n }\n }, (errorResponse: ErrorResponse) => {\n //'IsParentOrLegalcustodian - Error');\n console.log(errorResponse);\n });\n }\n\n\n deleteParentGuardian(parentGuardianId: number) {\n\n this.parentGuardianIdToBeDeleted = parentGuardianId;\n this.applicationService.getParentGuardianReferences(this.applicationId, parentGuardianId).subscribe\n (\n (response: SingleResultApiResponse) => {\n if (response.Result) {\n this.showDeleteReferenceWarningModal = response.Result.IsSelectedCarer || response.Result.IsDefaultCorrespondent;\n\n if (this.showDeleteReferenceWarningModal === false) {\n this.modalService.showDeleteModal();\n } else {\n setTimeout(() => {\n this.delete.nativeElement.focus();\n }, 100);\n }\n }\n }, (errorResponse: ErrorResponse) => {\n const { errors } = errorResponse;\n console.log(errors);\n }\n );\n\n }\n\n isParentOrLegalcustodian(parentGuardian: ParentGuardianDetails) {\n //console.log('isParentOrLegalcustodian - parentGuardian', parentGuardian);\n return parentGuardian.RelationshipCode === \"FTH\" || parentGuardian.RelationshipCode === \"MTH\" || parentGuardian.HasLegalCustody;\n }\n\n dispatchSectionSaveAction() {\n this.store.dispatch({\n type: Action_ApplicationSectionSaved\n });\n }\n\n\n\n shouldDisableOrNot(parentGuardian): boolean {\n //if isAgent, then always disable\n\n if (parentGuardian.RelationshipCode === 'AGENT')\n return true;\n\n if (this.isStudyAbroad) {\n return true;\n }\n\n return false;\n }\n\n /* For accessibility, keyboard only design, use tab to show borders but showing no border by clicking on mouse */\n keyboardFocus(event): void {\n event.style.outline = \"1px solid blue\";\n }\n\n keyboardBlur(event): void {\n event.style.outline = \"\";\n }\n}\n","module.exports = \"
\\n
\\n\\n\\n
Has this person had an Australia visa application refused\\n previously?
\\n
\\n \\n Yes
radio button
checked
unchecked
\\n \\n \\n No
radio button
checked
unchecked
\\n \\n
\\n {{errors.IsRefusedAusVisaBefore}}\\n
\\n
\\n\\n\\n
\\n \\n
\\n \\n \\n\\n \\n {{errors.VisaRefusalDetails}}\\n \\n \\n
\\n
\\n\\n \\n
\\n \\n \\n \\n \\n \\n {{errors.DateOfBirth}}\\n
\\n\\n
Gender
\\n
\\n \\n Male
radio button
checked
unchecked
\\n
\\n \\n Female
radio button
checked
unchecked
\\n
\\n
\\n {{errors.Gender}}\\n
\\n
\\n\\n \\n
\\n
\\n \\n \\n {{errors.CountryOfBirthId}}\\n \\n
\\n
\\n\\n \\n
\\n
\\n \\n \\n {{errors.CountryOfNationalityId}}\\n \\n
\\n
\\n\\n \\n
\\n \\n \\n {{errors.passportNumber}}\\n \\n
\\n\\n \\n
\\n \\n \\n {{errors.EmailAddress}}\\n \\n
\\n\\n\\n\\n\\n \\n
\\n
\\n
\\n
\\n \\n \\n {{errors.MobileCountryCode}}\\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n {{errors.MobilePhoneNumber}}\\n \\n
\\n
\\n
\\n\\n\\n \\n
\\n
\\n
\\n
\\n \\n \\n {{errors.HomeCountryCode}}\\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n {{errors.HomePhoneNumber}}\\n \\n
\\n
\\n
\\n\\n
Current Address:
\\n\\n \\n
\\n \\n as Parent 1\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n {{errors.CountryId}}\\n \\n
\\n
\\n\\n \\n
\\n \\n \\n \\n {{errors.AddressLine1}}\\n \\n
\\n\\n \\n
\\n \\n \\n {{errors.AddressLine2}}\\n \\n
\\n\\n \\n
\\n \\n \\n {{errors.SuburbTownCity}}\\n \\n
\\n\\n \\n \\n
\\n
\\n \\n \\n {{errors.StateProvinceRegion}}\\n \\n
\\n
\\n
\\n\\n \\n \\n
\\n \\n \\n {{errors.StateProvinceRegion}}\\n \\n
\\n
\\n\\n \\n
\\n \\n \\n {{errors.Postcode}}\\n \\n
\\n
\\n\\n
\\n
\\n\"","module.exports = \"input[type=\\\"checkbox\\\"]:disabled {\\n pointer-events: none;\\n cursor: auto; }\\n\\nspan.span-disabled {\\n pointer-events: none; }\\n\\n.currentaddressfont {\\n font-size: 2rem !important; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vcGFyZW50LWd1YXJkaWFuLWRldGFpbHMvcGFyZW50LWxlZ2FsY3VzdG9kaWFuLWVkaXQvcGFyZW50LWxlZ2FsY3VzdG9kaWFuLWRldGFpbHMvRDpcXGFcXDE1NVxcc1xcRGVpLk9ubGluZUFwcGxpY2F0aW9uLlByb2RcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5XZWJcXG9ubGluZS1hcHAvc3JjXFxhcHBcXGFwcGxpY2F0aW9uXFxwYXJlbnQtZ3VhcmRpYW4tZGV0YWlsc1xccGFyZW50LWxlZ2FsY3VzdG9kaWFuLWVkaXRcXHBhcmVudC1sZWdhbGN1c3RvZGlhbi1kZXRhaWxzXFxwYXJlbnQtbGVnYWxjdXN0b2RpYW4tZGV0YWlscy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLG9CQUFvQjtFQUNwQixZQUFZLEVBQUE7O0FBR2hCO0VBQ0ksb0JBQW9CLEVBQUE7O0FBR3hCO0VBQ0ksMEJBQTBCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9hcHBsaWNhdGlvbi9wYXJlbnQtZ3VhcmRpYW4tZGV0YWlscy9wYXJlbnQtbGVnYWxjdXN0b2RpYW4tZWRpdC9wYXJlbnQtbGVnYWxjdXN0b2RpYW4tZGV0YWlscy9wYXJlbnQtbGVnYWxjdXN0b2RpYW4tZGV0YWlscy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbImlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIGN1cnNvcjogYXV0bztcclxufVxyXG5cclxuc3Bhbi5zcGFuLWRpc2FibGVkIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4uY3VycmVudGFkZHJlc3Nmb250e1xyXG4gICAgZm9udC1zaXplOiAycmVtICFpbXBvcnRhbnQ7XHJcbn0iXX0= */\"","import { ApplicationService } from 'src/app/shared/services/application.service';\nimport { Component, OnInit, Input, forwardRef, SimpleChanges, AfterViewInit, OnChanges } from '@angular/core';\nimport { ParentDetails, ParentDetailsErrors, ParentDetailsConfig } from 'src/app/application/models/parent-guardian-details';\nimport { FormGroup, FormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { Country, LookupData } from 'src/app/shared/models/lookup-data.model';\nimport { AustralianStates } from 'src/app/application/shared/address/address.model';\nimport { UUID} from 'angular2-uuid';\nimport { slideInOut } from 'src/app/application/animations/slideInOut';\nimport { AddressService } from '../../../../shared/services/address.service';\n@Component({\n selector: 'online-app-parent-legalcustodian-details',\n templateUrl: './parent-legalcustodian-details.component.html',\n styleUrls: ['./parent-legalcustodian-details.component.scss'],\n animations: [slideInOut],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ParentLegalcustodianDetailsComponent),\n multi: true\n }]\n})\nexport class ParentLegalcustodianDetailsComponent implements OnInit, OnChanges, AfterViewInit {\n\n @Input() data: ParentDetails;\n @Input() errors: ParentDetailsErrors;\n @Input() config: ParentDetailsConfig;\n parentDetailsFormGroup: FormGroup;\n\n gender: string = '';\n countries: Country[];\n isAustralianAddress: boolean = false;\n applicationId: number;\n australianStates: any[];\n isRefusedAusVisaBefore: boolean;\n isSameAddress: boolean = false;\n\n selectedCountry: LookupData;\n selectedAustralianState: LookupData;\n\n datepickerLoaded = false;\n datepickerId = '';\n\n private _value: ParentDetails = {\n SchoolProgramType: undefined,\n DateOfBirth: undefined,\n Gender: undefined,\n CountryOfBirthId: undefined,\n CountryOfNationalityId: undefined,\n PassportNumber: undefined,\n EmailAddress: undefined,\n Note: undefined,\n IsRefusedAusVisaBefore: undefined,\n VisaRefusalDetails: undefined,\n \n MobileCountryCode: undefined,\n MobilePhoneNumber: undefined,\n HomeCountryCode: undefined,\n HomePhoneNumber: undefined,\n \n IsAustralianAddress: undefined,\n AddressLine1: undefined,\n AddressLine2: undefined,\n SuburbTownCity: undefined,\n StateProvinceRegion: undefined,\n Postcode: undefined,\n CountryId: undefined,\n\n IsSameAddress: undefined\n };\n\n constructor(private formBuilder: FormBuilder,\n private addressService: AddressService,\n private activatedRoute: ActivatedRoute,) {\n this.activatedRoute.parent.parent.params.subscribe(params =>{\n this.applicationId = +params['id'];\n });\n\n this.selectedAustralianState = this.getDefaultAustralianState();\n\n this.datepickerId = UUID.UUID();\n this.datepickerLoaded = true;\n\n }\n\n ngAfterViewInit() {\n\n // this.configureJQuery();\n }\n\n ngOnInit() {\n const countries = this.activatedRoute.snapshot.data['countries'];\n this.countries = [this.getDefaultCountry(), ...countries];\n\n this.parentDetailsFormGroup = this.formBuilder.group({\n });\n\n this.australianStates = [this.getDefaultAustralianState(), ...AustralianStates ] ;\n\n // this.configureJQuery(); \n this.isSameAddress = this.config.isSameAddress;\n this._updateValue(this.config.isSameAddress, 'IsSameAddress');\n // console.log('this.config: ', this.config);\n // console.log('this.isSameAddress: ', this.isSameAddress);\n // console.log('this.value.IsSameAddress: ', this.value.IsSameAddress);\n this.isAustralianAddress = this.data.IsAustralianAddress;\n if (this.data.IsAustralianAddress) {\n this.widget = this.addressService.loadAddressWidget('AuAddressLine1', this, this.setAddressPart);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.data && changes.data.currentValue) {\n this.value = changes.data.currentValue;\n }\n }\n\n\n private _onChange = (_: any) => {};\n private _onTouched = (_: any) => {};\n\n set value(value: ParentDetails) {\n this._value = value;\n this._onChange(this._value);\n }\n\n get value() {\n return this._value;\n }\n\n writeValue(value: ParentDetails): void {\n if (value && value !== null) {\n this._value = value;\n }\n }\n registerOnChange(fn: (_: any) => void): void {\n this._onChange = fn;\n }\n registerOnTouched(fn: (_: any) => void): void {\n this._onTouched = fn;\n }\n\n private _updateValue(value: any, field: string) {\n const newValue = this._value;\n newValue[field] = value;\n this.value = newValue;\n // console.log('updated value');\n // console.log(newValue);\n }\n updateIsRefusedAusVisaBefore(isRefusedAusVisaBefore: boolean) {\n\n this.isRefusedAusVisaBefore = isRefusedAusVisaBefore;\n this._updateValue(isRefusedAusVisaBefore, 'IsRefusedAusVisaBefore');\n this.errors.IsRefusedAusVisaBefore = '';\n }\n visaRefusalDetailsUpdate(event: any) {\n this._updateValue(event.target.value, \"VisaRefusalDetails\");\n\n var noOfWords = event && event.target && event.target.value ? event.target.value.match(/\\S+/g).length : 0;\n\n if (noOfWords > 50) {\n this.errors.VisaRefusalDetails = \"Can not exceed 50 words\";\n } else {\n this.errors.VisaRefusalDetails = '';\n }\n\n }\n updateGenderValue(genderValue: string) {\n if (genderValue === 'male') {\n this.gender = 'M';\n } else if (genderValue === 'female') {\n this.gender = 'F';\n } else {\n this.gender = '';\n }\n this._updateValue(this.gender, 'Gender');\n this.errors.Gender = '';\n }\n countryOfBirthUpdate(code: any) {\n this._updateValue(code, 'CountryOfBirthId');\n this.errors.CountryOfBirthId = '';\n }\n nationalityUpdate(code: any) {\n this._updateValue(code, 'CountryOfNationalityId');\n this.errors.CountryOfNationalityId = '';\n }\n passportNumberUpdate(event: any) {\n this._updateValue(event.target.value, 'PassportNumber');\n this.errors.PassportNumber = '';\n }\n emailAddressUpdate(event: any) {\n this._updateValue(event.target.value, 'EmailAddress');\n this.errors.EmailAddress = '';\n }\n dateOfBirthUpdateValue(value: any) {\n this._updateValue(value, 'DateOfBirth');\n this.errors.DateOfBirth = '';\n }\n mobileCountryCodeUpdate(event: any) {\n this._updateValue(event.target.value, 'MobileCountryCode');\n this.errors.MobileCountryCode = '';\n }\n mobilePhoneNumberUpdate(event: any) {\n this._updateValue(event.target.value, 'MobilePhoneNumber');\n this.errors.MobilePhoneNumber = '';\n }\n homeCountryCodeUpdate(event: any) {\n this._updateValue(event.target.value, 'HomeCountryCode');\n this.errors.HomeCountryCode = '';\n }\n homePhoneNumberUpdate(event: any) {\n this._updateValue(event.target.value, 'HomePhoneNumber');\n this.errors.HomePhoneNumber = '';\n }\n private widget = null;\n countryUpdate(countryId: any) {\n this._updateValue(countryId, 'CountryId');\n const australia = this.countries.filter( c => c.Code === 'AU') as Country[];\n if(australia){\n this.isAustralianAddress = countryId.toLowerCase() === australia[0].Id.toLowerCase();\n }\n this._updateValue(this.isAustralianAddress, 'IsAustralianAddress');\n this.errors.CountryId = '';\n if (this.isAustralianAddress) {\n this.addressService.loadAddressWidget('AuAddressLine1', this, this.setAddressPart);\n }\n }\n line1Update(event: any) {\n this._updateValue(event.target.value, 'AddressLine1');\n this.errors.AddressLine1 = '';\n }\n line2Update(event: any) {\n this._updateValue(event.target.value, 'AddressLine2');\n this.errors.AddressLine2 = '';\n }\n suburbUpdate(event: any) {\n this._updateValue(event.target.value, 'SuburbTownCity');\n this.errors.SuburbTownCity = '';\n }\n stateInputUpdate(event: any) {\n this._updateValue(event.target.value, 'StateProvinceRegion');\n this.errors.StateProvinceRegion = '';\n }\n stateUpdate(code: any) {\n this._updateValue(code, 'StateProvinceRegion');\n this.errors.StateProvinceRegion = '';\n }\n postcodeUpdate(event: any) {\n this._updateValue(event.target.value, 'Postcode');\n this.errors.Postcode = '';\n }\n\n isSameAddressClicked(event) {\n this.value.IsSameAddress = event.checked;\n const isSameAddressNewValue = this.value.IsSameAddress;\n this._updateValue(isSameAddressNewValue, 'IsSameAddress');\n this.isSameAddress = isSameAddressNewValue\n }\n\n getDefaultCountry(): Country {\n return {\n Id: '',\n Code: '',\n Description: 'Please select Country',\n Status: '',\n IsAgentMandatory: false,\n CanStudyAbroad: false,\n PhoneCode: 0,\n IsDeleted: false,\n };\n }\n getDefaultAustralianState(): LookupData {\n return {\n Code: '',\n Description: 'Please select',\n };\n }\n\n getDateOfBirthValue(dob: any) {\n let dateOfBirthValue = null;\n if (!dob) {\n dateOfBirthValue = '';\n } else {\n const dateOfBirth = new Date(dob);\n dateOfBirthValue = dateOfBirth;\n }\n\n return dateOfBirthValue;\n }\n \n loadGender(gender: string) {\n if (gender === 'M') {\n this.updateGenderValue('male');\n } else if (gender === 'F') {\n this.updateGenderValue('female');\n } else {\n this.updateGenderValue('');\n }\n }\n\n dummyClousure(thisObj: any, fnToBeCalled: any ) {\n return function(fnArg: any) {\n return fnToBeCalled.call(thisObj, fnArg);\n };\n }\n\n\n updateDateOfBirth(date: any) {\n this.dateOfBirthUpdateValue(date); \n }\n\n countryCodeDescription(country: Country) {\n const selectedCountry = this.countries.find(c => c.Code === country.Code);\n if (selectedCountry && selectedCountry.Code.length > 0) {\n return `${selectedCountry.Description} (+${selectedCountry.PhoneCode})`;\n }\n return 'Country code';\n }\n getPostcodeText(): string {\n return this.isAustralianAddress ? 'Postcode' : 'Postcode/Zipcode';\n }\n\n /* For accessibility, keyboard only design, use tab to show borders but showing no border by clicking on mouse */\n keyboardFocus(event): void {\n event.style.outline = \"1px solid blue\";\n }\n\n keyboardBlur(event): void {\n event.style.outline = \"\";\n }\n private setAddressPart(container, line1Ctl, line1: string, suburb: string, state: string, postcode: string) {\n setTimeout(() => {\n container._value.AddressLine1 = line1;\n container._updateValue(line1, 'AddressLine1');\n line1Ctl.blur();\n }, 10);\n container._value.AddressLine1 = line1;\n container._value.AddressLine2 = '';\n container._value.SuburbTownCity = suburb;\n container._value.StateProvinceRegion = state;\n container._value.Postcode = postcode;\n if (container.errors) {\n container.errors.AddressLine1 = '';\n container.errors.AddressLine2 = '';\n container.errors.SuburbTownCity = '';\n container.errors.StateProvinceRegion = '';\n container.errors.Postcode = '';\n }\n } \n}\n","module.exports = \"
\\n\\n
\\n

Edit Custodian Details

\\n \\\"\\\"/\\n
\\n\\n
\\n\\n
\\n\\n
\\n
Please note that all fields marked with an (*) are required.
\\n
\\n \\n
\\n
\\n

Carer

\\n
\\n
\\n
\\n
Is the Student currently in the care of Parent(s) or Legal Custodian?
\\n
\\n \\n Parent(s)
radio button
checked
unchecked
\\n
\\n \\n Legal Custodian
radio button
checked
unchecked
\\n
\\n
\\n {{parentErrors.IsParentTheCarer}}\\n
\\n A legal custodian is someone who has been appointed by a court of law to have legal custody of the student - for example, someone who has adopted the student. Evidence of the court order must be provided.\\n
\\n
\\n
\\n
\\n \\n\\n\\n\\n\\n\\n
\\n
\\n

Legal Custodian Info

\\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n

{{lcParentDetailsTitle}}

\\n
\\n \\n \\n
\\n\\n \\n
\\n
\\n

Parent Info

\\n
\\n\\n
\\n
\\n
\\n \\n The student currently has only one Parent\\n
\\n
\\n
\\n\\n
\\n
\\n

Parent 1:

\\n
\\n \\n \\n\\n
\\n
\\n
\\n

Parent 2:

\\n
\\n \\n \\n
\\n
\\n\\n
\\n \\n\\n
\\n
\\n

{{p1ParentDetailsTitle}}

\\n
\\n \\n \\n
\\n\\n
\\n
\\n

{{p2ParentDetailsTitle}}

\\n
\\n \\n \\n
\\n\\n\\n
\\n \\n \\n
\\n
\\n
\\n\\n
\\n\\n\\n\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n
Please resolve the following
\\n
press tab to reach first focusable element
\\n
\\n

The changes you have made on this page have affected other sections of this application. Please review\\n the information provided on the incomplete pages so you are able to submit this application

\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\"","module.exports = \".problems .problem .question .answer .choice .radioError {\\n font-style: normal;\\n color: #f00;\\n font-size: 14px;\\n margin-bottom: 30px; }\\n\\nspan.span-disabled {\\n pointer-events: none; }\\n\\n.modal-dialog {\\n margin-left: 40%; }\\n\\n.info-title {\\n margin-left: 20px;\\n margin-bottom: -10px; }\\n\\ninput[type=\\\"checkbox\\\"]:disabled {\\n pointer-events: none;\\n cursor: auto; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vcGFyZW50LWd1YXJkaWFuLWRldGFpbHMvcGFyZW50LWxlZ2FsY3VzdG9kaWFuLWVkaXQvRDpcXGFcXDE1NVxcc1xcRGVpLk9ubGluZUFwcGxpY2F0aW9uLlByb2RcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5XZWJcXG9ubGluZS1hcHAvc3JjXFxhcHBcXGFwcGxpY2F0aW9uXFxwYXJlbnQtZ3VhcmRpYW4tZGV0YWlsc1xccGFyZW50LWxlZ2FsY3VzdG9kaWFuLWVkaXRcXHBhcmVudC1sZWdhbGN1c3RvZGlhbi1lZGl0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxlQUFlO0VBQ2YsbUJBQW1CLEVBQUE7O0FBR3ZCO0VBQ0ksb0JBQW9CLEVBQUE7O0FBR3hCO0VBQ0ksZ0JBQWdCLEVBQUE7O0FBRXBCO0VBQ0ksaUJBQWdCO0VBQ2hCLG9CQUFvQixFQUFBOztBQUd4QjtFQUNJLG9CQUFvQjtFQUNwQixZQUFZLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9hcHBsaWNhdGlvbi9wYXJlbnQtZ3VhcmRpYW4tZGV0YWlscy9wYXJlbnQtbGVnYWxjdXN0b2RpYW4tZWRpdC9wYXJlbnQtbGVnYWxjdXN0b2RpYW4tZWRpdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlIC5yYWRpb0Vycm9yIHtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGNvbG9yOiAjZjAwOyAgXHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG59XHJcblxyXG5zcGFuLnNwYW4tZGlzYWJsZWQge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi5tb2RhbC1kaWFsb2cge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDQwJTtcclxufVxyXG4uaW5mby10aXRsZXtcclxuICAgIG1hcmdpbi1sZWZ0OjIwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAtMTBweDtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgY3Vyc29yOiBhdXRvO1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, ViewChild, ElementRef, OnDestroy } from '@angular/core';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { slideInOut } from '../../animations/slideInOut';\nimport { Action_ApplicationSectionSaved } from '../../state/actions';\nimport { SingleResultApiResponse } from 'src/app/shared/models/api-response.model';\nimport { ErrorResponse } from 'src/app/shared/models/error.model';\nimport { ApplicationService } from 'src/app/shared/services/application.service';\nimport { Country, RelationshipType } from 'src/app/shared/models/lookup-data.model';\nimport {\n ParentLegalcustodianDetails, ParentInfo, ParentDetails,\n ParentDetailsErrors, ParentInfoConfig, ParentDetailsConfig, ParentInfoErrors, ParentErrors\n}\n from '../../models/parent-guardian-details';\nimport { FormService } from 'src/app/shared/services/form.service';\nimport { Subscription } from 'rxjs';\nimport { ModalService } from 'src/app/shared/services/modal.service';\nimport { compareParentLegalcustodianDetails } from '../../shared/utils/ModelUtils';\nimport { debounceTime } from 'rxjs/operators';\nimport { UtilityService } from 'src/app/shared/services/utility.service';\n\n\n@Component({\n selector: 'online-app-parent-legalcustodian-edit',\n templateUrl: './parent-legalcustodian-edit.component.html',\n styleUrls: ['./parent-legalcustodian-edit.component.scss'],\n host: {\n class: 'application-section-component'\n },\n animations: [slideInOut]\n})\nexport class ParentLegalcustodianEditComponent implements OnInit, OnDestroy {\n parentLegalcustodianFormGroup: FormGroup;\n isFormSubmitted = false;\n applicationId: number;\n parentLegalcustodianId: number;\n isSaveSuccessful = false;\n selectedRelationship = '';\n isScrollDone = false;\n isSubmittedApplication = false;\n showChangeImpactModal: boolean = false;\n\n isP1ParentDeceased: boolean = false;\n isP2ParentDeceased: boolean = false;\n isSameAddress: boolean = false;\n\n isParentTheCarer: boolean = null;\n isSingleParent: boolean = false;\n hasLegalCustody: boolean;\n gender: string = '';\n countries: Country[];\n relationships: RelationshipType[] = [];\n\n isFirstTimeLoad: boolean = false;\n p1ParentDetailsTitle: string = \"Parent 1 Details\";\n p2ParentDetailsTitle: string = \"Parent 2 Details\";\n lcParentDetailsTitle: string = \"Legal Custodian Details\";\n\n parentErrors: ParentErrors = {};\n p1ParentInfoErrors: ParentInfoErrors = {};\n p2ParentInfoErrors: ParentInfoErrors = {};\n lcParentInfoErrors: ParentInfoErrors = {};\n p1ParentDetailsErrors: ParentDetailsErrors = {};\n p2ParentDetailsErrors: ParentDetailsErrors = {};\n lcParentDetailsErrors: ParentDetailsErrors = {};\n\n p1ParentInfoConfig: ParentInfoConfig = {\n isSubmittedApplication: null,\n isParentTheCarer: null,\n isParent: true\n }\n p2ParentInfoConfig: ParentInfoConfig = {\n isSubmittedApplication: null,\n isParentTheCarer: null,\n isParent: true\n }\n lcParentInfoConfig: ParentInfoConfig = {\n isSubmittedApplication: null,\n isParentTheCarer: null,\n isParent: false\n }\n p1ParentDetailsConfig: ParentDetailsConfig = {\n isSubmittedApplication: null,\n isParentTheCarer: null,\n isParent: true,\n isSecondParent: false,\n isSameAddress: null,\n isP1ParentDeceased: null\n };\n p2ParentDetailsConfig: ParentDetailsConfig = {\n isSubmittedApplication: null,\n isParentTheCarer: null,\n isParent: true,\n isSecondParent: true,\n isSameAddress: false,\n isP1ParentDeceased: null\n };\n lcParentDetailsConfig: ParentDetailsConfig = {\n isSubmittedApplication: null,\n isParentTheCarer: null,\n isParent: false,\n isSecondParent: false,\n isSameAddress: null,\n isP1ParentDeceased: null\n };\n\n\n initialP1ParentInfo: ParentInfo = {\n Relationship: undefined,\n OtherRelationship: undefined,\n IsDeceased: false,\n GivenName: undefined,\n FamilyName: undefined,\n OnlyHasOneName: false,\n HasLegalCustody: undefined\n }\n initialP2ParentInfo: ParentInfo = {\n Relationship: undefined,\n OtherRelationship: undefined,\n IsDeceased: false,\n GivenName: undefined,\n FamilyName: undefined,\n OnlyHasOneName: false,\n HasLegalCustody: undefined\n }\n initialLCParentInfo: ParentInfo = {\n Relationship: undefined,\n OtherRelationship: undefined,\n IsDeceased: false,\n GivenName: undefined,\n FamilyName: undefined,\n OnlyHasOneName: false,\n HasLegalCustody: undefined\n }\n\n initialP1ParentDetails: ParentDetails = {\n SchoolProgramType: undefined,\n DateOfBirth: undefined,\n Gender: undefined,\n CountryOfBirthId: undefined,\n CountryOfNationalityId: undefined,\n PassportNumber: undefined,\n EmailAddress: undefined,\n Note: undefined,\n IsRefusedAusVisaBefore: undefined,\n VisaRefusalDetails: undefined,\n MobileCountryCode: undefined,\n MobilePhoneNumber: undefined,\n HomeCountryCode: undefined,\n HomePhoneNumber: undefined,\n IsAustralianAddress: false,\n AddressLine1: undefined,\n AddressLine2: undefined,\n SuburbTownCity: undefined,\n StateProvinceRegion: undefined,\n Postcode: undefined,\n CountryId: undefined,\n IsSameAddress: undefined\n }\n initialP2ParentDetails: ParentDetails = {\n SchoolProgramType: undefined,\n DateOfBirth: undefined,\n Gender: undefined,\n CountryOfBirthId: undefined,\n CountryOfNationalityId: undefined,\n PassportNumber: undefined,\n EmailAddress: undefined,\n Note: undefined,\n IsRefusedAusVisaBefore: undefined,\n VisaRefusalDetails: undefined,\n MobileCountryCode: undefined,\n MobilePhoneNumber: undefined,\n HomeCountryCode: undefined,\n HomePhoneNumber: undefined,\n IsAustralianAddress: false,\n AddressLine1: undefined,\n AddressLine2: undefined,\n SuburbTownCity: undefined,\n StateProvinceRegion: undefined,\n Postcode: undefined,\n CountryId: undefined,\n IsSameAddress: undefined\n }\n initialLCParentDetails: ParentDetails = {\n SchoolProgramType: undefined,\n DateOfBirth: undefined,\n Gender: undefined,\n CountryOfBirthId: undefined,\n CountryOfNationalityId: undefined,\n PassportNumber: undefined,\n EmailAddress: undefined,\n Note: undefined,\n IsRefusedAusVisaBefore: undefined,\n VisaRefusalDetails: undefined,\n MobileCountryCode: undefined,\n MobilePhoneNumber: undefined,\n HomeCountryCode: undefined,\n HomePhoneNumber: undefined,\n IsAustralianAddress: false,\n AddressLine1: undefined,\n AddressLine2: undefined,\n SuburbTownCity: undefined,\n StateProvinceRegion: undefined,\n Postcode: undefined,\n CountryId: undefined,\n IsSameAddress: undefined\n }\n\n p1ParentInfoData: ParentInfo;\n p2ParentInfoData: ParentInfo;\n lcParentInfoData: ParentInfo;\n\n initialP1ParentInfoData: ParentInfo;\n initialP2ParentInfoData: ParentInfo;\n initialLCParentInfoData: ParentInfo;\n\n p1ParentDetailsData: ParentDetails;\n p2ParentDetailsData: ParentDetails;\n lcParentDetailsData: ParentDetails;\n\n initialP1ParentDetailsData: ParentDetails;\n initialP2ParentDetailsData: ParentDetails;\n initialLCParentDetailsData: ParentDetails;\n\n private subscriptionsToDispose: Subscription[] = [];\n\n schoolProgramTypeStr: string;\n\n @ViewChild('resolve') resolve: ElementRef;\n constructor(private formBuilder: FormBuilder,\n private store: Store,\n private applicationService: ApplicationService,\n private router: Router,\n private activatedRoute: ActivatedRoute,\n private formService: FormService,\n private utilityService: UtilityService,\n private modalService: ModalService) {\n\n this.activatedRoute.parent.parent.params.subscribe(params => {\n this.applicationId = +params['id'];\n });\n\n this.activatedRoute.parent.params.subscribe(params => {\n this.parentLegalcustodianId = +params['parentLegalcustodianId'];\n\n if (!this.parentLegalcustodianId) {\n this.parentLegalcustodianId = 0;\n }\n });\n\n\n\n this.applicationService.getApplicationDetails(this.applicationId)\n .subscribe((response: SingleResultApiResponse) => {\n if (response.Result) {\n this.isSubmittedApplication = response.Result.ApplicationStatus === 'Submitted';\n\n if (this.isSubmittedApplication) {\n this.parentLegalcustodianFormGroup.disable();\n\n const submittedP1ParentInfoConfig = { ...this.p1ParentInfoConfig };\n submittedP1ParentInfoConfig.isSubmittedApplication = true;\n this.p1ParentInfoConfig = submittedP1ParentInfoConfig;\n\n const submittedP2ParentInfoConfig = { ...this.p2ParentInfoConfig };\n submittedP2ParentInfoConfig.isSubmittedApplication = true;\n this.p2ParentInfoConfig = submittedP2ParentInfoConfig;\n\n const submittedLCParentInfoConfig = { ...this.lcParentInfoConfig };\n submittedLCParentInfoConfig.isSubmittedApplication = true;\n this.lcParentInfoConfig = submittedLCParentInfoConfig;\n\n const submittedP1ParentDetailsConfig = { ...this.p1ParentDetailsConfig };\n submittedP1ParentDetailsConfig.isSubmittedApplication = true;\n this.p1ParentDetailsConfig = submittedP1ParentDetailsConfig;\n\n const submittedP2ParentDetailsConfig = { ...this.p2ParentDetailsConfig };\n submittedP2ParentDetailsConfig.isSubmittedApplication = true;\n this.p2ParentDetailsConfig = submittedP2ParentDetailsConfig;\n\n const submittedLCParentDetailsConfig = { ...this.lcParentDetailsConfig };\n submittedLCParentDetailsConfig.isSubmittedApplication = true;\n this.lcParentDetailsConfig = submittedLCParentDetailsConfig;\n }\n\n\n }\n }, err => {\n //console.log('getApplicationDetails - error -->', err);\n });\n\n\n }\n\n\n ngOnInit() {\n\n this.isSingleParent = false;\n const countries = this.activatedRoute.snapshot.data['countries'];\n this.countries = [this.getDefaultCountry(), ...countries];\n this.relationships = this.activatedRoute.snapshot.data['relationshipTypes'];\n\n this.parentLegalcustodianFormGroup = this.formBuilder.group({\n isParentTheCarer: null,\n isSingleParent: null,\n\n p1ParentInfo: this.initialP1ParentInfo,\n p2ParentInfo: this.initialP2ParentInfo,\n legalCustodianInfo: this.initialLCParentInfo,\n\n p1ParentDetails: this.initialP1ParentDetails,\n p2ParentDetails: this.initialP2ParentDetails,\n legalCustodianDetails: this.initialLCParentDetails\n });\n\n //Load from Parent/Guardian table to check records. (not from [Student] table)\n this.applicationService.getParentLegalcustodian(this.applicationId)\n .subscribe((response: SingleResultApiResponse) => {\n const parentLegalcustodian = response.Result;\n\n this.schoolProgramTypeStr = parentLegalcustodian.SchoolProgramType;\n\n this.isFirstTimeLoad = parentLegalcustodian.P1GivenName || parentLegalcustodian.P2GivenName || parentLegalcustodian.LCGivenName ? false : true;\n\n //console.log('getParentLegalcustodian - parentLegalcustodian');\n //console.log(parentLegalcustodian);\n\n this.p1ParentDetailsTitle = this.getParentDetailsTitle(parentLegalcustodian.P1RelationshipCode, parentLegalcustodian.P1GivenName, parentLegalcustodian.P1FamilyName, 'Parent 1');\n this.p2ParentDetailsTitle = this.getParentDetailsTitle(parentLegalcustodian.P2RelationshipCode, parentLegalcustodian.P2GivenName, parentLegalcustodian.P2FamilyName, 'Parent 2');\n this.lcParentDetailsTitle = this.getParentDetailsTitle(parentLegalcustodian.LCRelationshipCode, parentLegalcustodian.LCGivenName, parentLegalcustodian.LCFamilyName, 'Legal Custodian');\n\n this.isSameAddress = this.isP2AddressSameAsP1Address(parentLegalcustodian);\n\n const sameAddressP2ParentDetailsConfig = { ...this.p2ParentDetailsConfig };\n sameAddressP2ParentDetailsConfig.isSameAddress = this.isSameAddress;\n this.p2ParentDetailsConfig = sameAddressP2ParentDetailsConfig;\n\n this.updateFormValuesFromParentLegalcustodian(parentLegalcustodian);\n this.setFromApplicationDetails();\n }, (err) => {\n //console.log('this.applicationService.getParentLegalcustodian() - error');\n console.error(err);\n }\n );\n\n this.subscriptionsToDispose.push(\n this.parentLegalcustodianFormGroup.get('p1ParentInfo').valueChanges\n .pipe(debounceTime(250))\n .subscribe((data: ParentInfo) => {\n this.p1ParentDetailsTitle = this.getParentDetailsTitle(data.Relationship, data.GivenName, data.FamilyName, 'Parent 1');\n this.isP1ParentDeceased = data.IsDeceased;\n \n const isP1DeceasedP2ParentDetailsConfig = { ...this.p2ParentDetailsConfig };\n isP1DeceasedP2ParentDetailsConfig.isP1ParentDeceased = this.isP1ParentDeceased;\n if (this.isP1ParentDeceased) {\n isP1DeceasedP2ParentDetailsConfig.isSameAddress = false;\n }\n this.p2ParentDetailsConfig = isP1DeceasedP2ParentDetailsConfig;\n //console.log('p1ParentInfo changed - this.p2ParentDetailsConfig: ', this.p2ParentDetailsConfig);\n })\n );\n \n this.subscriptionsToDispose.push(\n this.parentLegalcustodianFormGroup.get('p2ParentInfo').valueChanges\n .pipe(debounceTime(250))\n .subscribe((data: ParentInfo) => {\n this.p2ParentDetailsTitle = this.getParentDetailsTitle(data.Relationship, data.GivenName, data.FamilyName, 'Parent 2');\n this.isP2ParentDeceased = data.IsDeceased;\n })\n );\n \n this.subscriptionsToDispose.push(\n this.parentLegalcustodianFormGroup.get('legalCustodianInfo').valueChanges\n .pipe(debounceTime(250))\n .subscribe((data: ParentInfo) => {\n this.lcParentDetailsTitle = this.getParentDetailsTitle(data.Relationship, data.GivenName, data.FamilyName, 'Legal Custodian');\n })\n );\n\n this.subscriptionsToDispose.push(\n this.parentLegalcustodianFormGroup.get('p2ParentDetails').valueChanges\n .pipe(debounceTime(250))\n .subscribe((data: ParentDetails) => {\n if (data.IsSameAddress) {\n const p1ParentDetails: ParentDetails = { ...this.parentLegalcustodianFormGroup.get('p1ParentDetails').value };\n if (p1ParentDetails) {\n data.IsAustralianAddress = p1ParentDetails.IsAustralianAddress;\n data.CountryId = p1ParentDetails.CountryId;\n data.AddressLine1 = p1ParentDetails.AddressLine1;\n data.AddressLine2 = p1ParentDetails.AddressLine2;\n data.SuburbTownCity = p1ParentDetails.SuburbTownCity;\n data.StateProvinceRegion = p1ParentDetails.StateProvinceRegion;\n data.Postcode = p1ParentDetails.Postcode;\n }\n }\n })\n );\n \n this.subscriptionsToDispose.push(\n this.parentLegalcustodianFormGroup.get('p1ParentDetails').valueChanges\n .pipe(debounceTime(250))\n .subscribe((data: ParentDetails) => {\n const p2ParentDetails: ParentDetails = { ...this.parentLegalcustodianFormGroup.get('p2ParentDetails').value };\n if (p2ParentDetails && p2ParentDetails.IsSameAddress) {\n const p2ParentDetailsData = { ...this.p2ParentDetailsData };\n p2ParentDetailsData.AddressLine1 = data.AddressLine1;\n p2ParentDetailsData.AddressLine2 = data.AddressLine2;\n p2ParentDetailsData.SuburbTownCity = data.SuburbTownCity;\n p2ParentDetailsData.StateProvinceRegion = data.StateProvinceRegion;\n p2ParentDetailsData.Postcode = data.Postcode;\n p2ParentDetailsData.CountryId = data.CountryId;\n this.p2ParentDetailsData = p2ParentDetailsData;\n }\n })\n );\n }\n\n ngOnDestroy() {\n this.subscriptionsToDispose.forEach(s => s.unsubscribe());\n }\n\n isP2AddressSameAsP1Address(details: ParentLegalcustodianDetails): boolean {\n if (details.P1AddressLine1 || details.P1StateProvinceRegion || details.P1SuburbTownCity ||\n details.P1Postcode || details.P1CountryId) {\n if (details.P1AddressLine1 === details.P2AddressLine1 && details.P1AddressLine2 === details.P2AddressLine2 &&\n details.P1SuburbTownCity === details.P2SuburbTownCity && details.P1SuburbTownCity === details.P2SuburbTownCity &&\n details.P1StateProvinceRegion === details.P2StateProvinceRegion && details.P1Postcode === details.P2Postcode &&\n details.P1CountryId === details.P2CountryId) {\n return true;\n }\n }\n return false;\n }\n\n getParentDetailsTitle(relationshipCode: string, givenName: string, familyName: string, defaultRelationTitle: string): string {\n let relationship = defaultRelationTitle;\n if (relationshipCode) {\n let relCode = this.relationships.find(r => r.Code == relationshipCode);\n if (relCode) {\n relationship = relCode.Description;\n } else {\n relCode = this.relationships.find(r => r.Description == relationshipCode);\n relationship = relCode ? relationshipCode : relationship;\n }\n }\n let fullName = givenName ? givenName : \"\";\n fullName = familyName ? fullName + \" \" + familyName : fullName;\n fullName = fullName ? fullName : \"Details\";\n\n return relationship + ': ' + fullName;\n }\n\n setFromApplicationDetails() {\n this.applicationService.getApplicationDetails(this.applicationId)\n .subscribe((response: SingleResultApiResponse) => {\n if (response.Result) {\n if (this.isFirstTimeLoad) {\n this.presetParentLCValue(response.Result.Student);\n }\n this.isSubmittedApplication = response.Result.ApplicationStatus === 'Submitted';\n // console.log('this.isSubmittedApplication: edit page', this.isSubmittedApplication);\n // this.p1ParentInfoConfig.isSubmittedApplication = this.isSubmittedApplication;\n // this.p2ParentInfoConfig.isSubmittedApplication = this.isSubmittedApplication;\n // this.lcParentInfoConfig.isSubmittedApplication = this.isSubmittedApplication;\n // this.p1ParentDetailsConfig.isSubmittedApplication = this.isSubmittedApplication;\n // this.p2ParentDetailsConfig.isSubmittedApplication = this.isSubmittedApplication;\n // this.lcParentDetailsConfig.isSubmittedApplication = this.isSubmittedApplication;\n\n if (this.isSubmittedApplication) {\n this.parentLegalcustodianFormGroup.disable();\n }\n }\n }, err => {\n //console.log('getApplicationDetails - error -->', err);\n });\n }\n\n\n presetParentLCValue(studentInfo: any) {\n //console.log('presetParentLCValue - studentInfo')\n //console.log(studentInfo);\n if (studentInfo.LegalCustodianGivenName) {\n //Student already set Legal Custodian\n this.isParentTheCarer = false;\n this.updateParentAsCarer(false);\n\n this.lcParentInfoData.GivenName = studentInfo.LegalCustodianGivenName;\n if (studentInfo.LegalCustodianFamilyName) {\n this.lcParentInfoData.FamilyName = studentInfo.LegalCustodianFamilyName;\n }\n }\n else {\n this.isParentTheCarer = true;\n this.updateParentAsCarer(true);\n if (studentInfo.Parent1GivenName) {\n this.p1ParentInfoData.GivenName = studentInfo.Parent1GivenName;\n if (studentInfo.Parent1FamilyName) {\n this.p1ParentInfoData.FamilyName = studentInfo.Parent1FamilyName;\n }\n this.p1ParentInfoData.Relationship = studentInfo.Parent1Relationship;\n\n if (studentInfo.Parent2GivenName) {\n this.isSingleParent = false;\n this.p2ParentInfoData.GivenName = studentInfo.Parent2GivenName;\n if (studentInfo.Parent2FamilyName) {\n this.p2ParentInfoData.FamilyName = studentInfo.Parent2FamilyName;\n }\n this.p2ParentInfoData.Relationship = studentInfo.Parent2Relationship;\n }\n else {\n this.isSingleParent = true;\n }\n }\n }\n console.info(\"this.isSingleParent\", this.isSingleParent);\n //console.log(\"P1/2/LC data 4 re-binding is:\", this.p1ParentInfoData, this.p2ParentInfoData, this.lcParentInfoData);\n this.parentLegalcustodianFormGroup.patchValue({\n p1ParentInfo: this.p1ParentInfoData,\n p2ParentInfo: this.p2ParentInfoData,\n legalCustodianInfo: this.lcParentInfoData\n });\n\n this.parentLegalcustodianFormGroup.updateValueAndValidity();\n }\n\n\n getDefaultCountry(): Country {\n return {\n Id: '',\n Code: '',\n Description: 'Please select',\n Status: '',\n IsAgentMandatory: false,\n CanStudyAbroad: false,\n PhoneCode: 0,\n IsDeleted: false\n };\n }\n\n reloadInitialData() {\n this.applicationService.getParentLegalcustodian(this.applicationId)\n .subscribe((response: SingleResultApiResponse) => {\n this.updateInitialData(response.Result);\n }, err => {\n //console.log('reloadInitialData error');\n //console.error(err);\n });\n }\n\n updateInitialData(parentLegalcustodianDetails: ParentLegalcustodianDetails): void {\n\n const p1ParentInfoData = this.getP1ParentInfoFromParentLegalcustodian(parentLegalcustodianDetails);\n this.p1ParentInfoConfig.ParentId = parentLegalcustodianDetails.P1ParentId;\n\n const p2ParentInfoData = this.getP2ParentInfoFromParentLegalcustodian(parentLegalcustodianDetails);\n this.p2ParentInfoConfig.ParentId = parentLegalcustodianDetails.P2ParentId;\n\n const lcParentInfoData = this.getLCParentInfoFromParentLegalcustodian(parentLegalcustodianDetails);\n this.lcParentInfoConfig.ParentId = parentLegalcustodianDetails.LCParentId;\n\n const p1ParentDetailsData = this.getP1ParentDetailsFromParentLegalcustodian(parentLegalcustodianDetails);\n const p2ParentDetailsData = this.getP2ParentDetailsFromParentLegalcustodian(parentLegalcustodianDetails);\n const lcParentDetailsData = this.getLCParentDetailsFromParentLegalcustodian(parentLegalcustodianDetails);\n\n this.initialP1ParentInfoData = { ...p1ParentInfoData };\n this.initialP2ParentInfoData = { ...p2ParentInfoData };\n this.initialLCParentInfoData = { ...lcParentInfoData };\n\n this.initialP1ParentDetailsData = { ...p1ParentDetailsData };\n this.initialP2ParentDetailsData = { ...p2ParentDetailsData };\n this.initialLCParentDetailsData = { ...lcParentDetailsData };\n }\n\n getP1ParentInfoFromParentLegalcustodian(parent: ParentLegalcustodianDetails): ParentInfo {\n\n return {\n Relationship: parent.P1RelationshipCode,\n OtherRelationship: undefined,\n IsDeceased: parent.P1IsDeceased,\n GivenName: parent.P1GivenName,\n FamilyName: parent.P1FamilyName,\n OnlyHasOneName: parent.P1OnlyHasOneName,\n HasLegalCustody: parent.P1HasLegalCustody\n };\n }\n getP2ParentInfoFromParentLegalcustodian(parent: ParentLegalcustodianDetails): ParentInfo {\n\n return {\n Relationship: parent.P2RelationshipCode,\n OtherRelationship: undefined,\n IsDeceased: parent.P2IsDeceased,\n GivenName: parent.P2GivenName,\n FamilyName: parent.P2FamilyName,\n OnlyHasOneName: parent.P2OnlyHasOneName,\n HasLegalCustody: parent.P2HasLegalCustody\n };\n }\n getLCParentInfoFromParentLegalcustodian(lc: ParentLegalcustodianDetails): ParentInfo {\n\n return {\n Relationship: lc.LCRelationshipCode,\n OtherRelationship: lc.LCOtherRelationship,\n IsDeceased: false,\n GivenName: lc.LCGivenName,\n FamilyName: lc.LCFamilyName,\n OnlyHasOneName: lc.LCOnlyHasOneName,\n HasLegalCustody: true\n };\n }\n\n getP1ParentDetailsFromParentLegalcustodian(parent: ParentLegalcustodianDetails): ParentDetails {\n return {\n SchoolProgramType: this.schoolProgramTypeStr,\n DateOfBirth: parent.P1DateOfBirth,\n Gender: parent.P1Gender,\n CountryOfBirthId: parent.P1CountryOfBirthId,\n CountryOfNationalityId: parent.P1CountryOfNationalityId,\n PassportNumber: parent.P1PassportNumber,\n EmailAddress: parent.P1EmailAddress,\n Note: parent.P1Note,\n IsRefusedAusVisaBefore: parent.P1IsRefusedAusVisaBefore,\n VisaRefusalDetails: parent.P1VisaRefusalDetails,\n MobileCountryCode: parent.P1MobileCountryCode,\n MobilePhoneNumber: parent.P1MobilePhoneNumber,\n HomeCountryCode: parent.P1HomeCountryCode,\n HomePhoneNumber: parent.P1HomePhoneNumber,\n IsAustralianAddress: parent.P1IsAustralianAddress,\n AddressLine1: parent.P1AddressLine1,\n AddressLine2: parent.P1AddressLine2,\n SuburbTownCity: parent.P1SuburbTownCity,\n StateProvinceRegion: parent.P1StateProvinceRegion,\n Postcode: parent.P1Postcode,\n CountryId: parent.P1CountryId,\n IsSameAddress: false\n };\n }\n getP2ParentDetailsFromParentLegalcustodian(parent: ParentLegalcustodianDetails): ParentDetails {\n return {\n SchoolProgramType: this.schoolProgramTypeStr,\n DateOfBirth: parent.P2DateOfBirth,\n Gender: parent.P2Gender,\n CountryOfBirthId: parent.P2CountryOfBirthId,\n CountryOfNationalityId: parent.P2CountryOfNationalityId,\n PassportNumber: parent.P2PassportNumber,\n EmailAddress: parent.P2EmailAddress,\n Note: parent.P2Note,\n IsRefusedAusVisaBefore: parent.P2IsRefusedAusVisaBefore,\n VisaRefusalDetails: parent.P2VisaRefusalDetails,\n MobileCountryCode: parent.P2MobileCountryCode,\n MobilePhoneNumber: parent.P2MobilePhoneNumber,\n HomeCountryCode: parent.P2HomeCountryCode,\n HomePhoneNumber: parent.P2HomePhoneNumber,\n IsAustralianAddress: parent.P2IsAustralianAddress,\n AddressLine1: parent.P2AddressLine1,\n AddressLine2: parent.P2AddressLine2,\n SuburbTownCity: parent.P2SuburbTownCity,\n StateProvinceRegion: parent.P2StateProvinceRegion,\n Postcode: parent.P2Postcode,\n CountryId: parent.P2CountryId,\n IsSameAddress: false\n };\n }\n getLCParentDetailsFromParentLegalcustodian(lc: ParentLegalcustodianDetails): ParentDetails {\n return {\n SchoolProgramType: this.schoolProgramTypeStr,\n DateOfBirth: lc.LCDateOfBirth,\n Gender: lc.LCGender,\n CountryOfBirthId: lc.LCCountryOfBirthId,\n CountryOfNationalityId: lc.LCCountryOfNationalityId,\n PassportNumber: lc.LCPassportNumber,\n EmailAddress: lc.LCEmailAddress,\n Note: lc.LCNote,\n IsRefusedAusVisaBefore: lc.LCIsRefusedAusVisaBefore,\n VisaRefusalDetails: lc.LCVisaRefusalDetails,\n MobileCountryCode: lc.LCMobileCountryCode,\n MobilePhoneNumber: lc.LCMobilePhoneNumber,\n HomeCountryCode: lc.LCHomeCountryCode,\n HomePhoneNumber: lc.LCHomePhoneNumber,\n IsAustralianAddress: lc.LCIsAustralianAddress,\n AddressLine1: lc.LCAddressLine1,\n AddressLine2: lc.LCAddressLine2,\n SuburbTownCity: lc.LCSuburbTownCity,\n StateProvinceRegion: lc.LCStateProvinceRegion,\n Postcode: lc.LCPostcode,\n CountryId: lc.LCCountryId,\n IsSameAddress: false\n };\n }\n\n\n updateFormValuesFromParentLegalcustodian(parentLegalCustodian: ParentLegalcustodianDetails): void {\n this.isParentTheCarer = parentLegalCustodian.IsParentTheCarer;\n this.isSingleParent = parentLegalCustodian.IsSingleParent;\n console.info(\"this.isSingleParent\", this.isSingleParent);\n this.p1ParentInfoConfig.isParentTheCarer = parentLegalCustodian.IsParentTheCarer;\n this.p2ParentInfoConfig.isParentTheCarer = parentLegalCustodian.IsParentTheCarer;\n this.lcParentInfoConfig.isParentTheCarer = parentLegalCustodian.IsParentTheCarer;\n this.p1ParentDetailsConfig.isParentTheCarer = parentLegalCustodian.IsParentTheCarer;\n this.p2ParentDetailsConfig.isParentTheCarer = parentLegalCustodian.IsParentTheCarer;\n this.lcParentDetailsConfig.isParentTheCarer = parentLegalCustodian.IsParentTheCarer;\n this.p1ParentInfoConfig.ParentId = parentLegalCustodian.P1ParentId;\n this.p2ParentInfoConfig.ParentId = parentLegalCustodian.P2ParentId;\n this.lcParentInfoConfig.ParentId = parentLegalCustodian.LCParentId;\n\n this.p1ParentInfoData = this.getP1ParentInfoFromParentLegalcustodian(parentLegalCustodian);\n this.p2ParentInfoData = this.getP2ParentInfoFromParentLegalcustodian(parentLegalCustodian);\n this.lcParentInfoData = this.getLCParentInfoFromParentLegalcustodian(parentLegalCustodian);\n\n this.p1ParentDetailsData = this.getP1ParentDetailsFromParentLegalcustodian(parentLegalCustodian);\n this.p2ParentDetailsData = this.getP2ParentDetailsFromParentLegalcustodian(parentLegalCustodian);\n this.lcParentDetailsData = this.getLCParentDetailsFromParentLegalcustodian(parentLegalCustodian);\n\n this.initialP1ParentInfoData = { ...this.p1ParentInfoData };\n this.initialP2ParentInfoData = { ...this.p2ParentInfoData };\n this.initialLCParentInfoData = { ...this.lcParentInfoData };\n\n this.initialP1ParentDetailsData = { ...this.p1ParentDetailsData };\n this.initialP2ParentDetailsData = { ...this.p2ParentDetailsData };\n this.initialLCParentDetailsData = { ...this.lcParentDetailsData };\n\n this.parentLegalcustodianFormGroup.patchValue({\n p1ParentInfo: this.p1ParentInfoData,\n p2ParentInfo: this.p2ParentInfoData,\n legalCustodianInfo: this.lcParentInfoData,\n\n p1ParentDetails: this.p1ParentDetailsData,\n p2ParentDetails: this.p2ParentDetailsData,\n legalCustodianDetails: this.lcParentDetailsData\n });\n\n this.parentLegalcustodianFormGroup.updateValueAndValidity();\n }\n\n\n\n getParentLegalcustodian(): ParentLegalcustodianDetails {\n const parentLegalcustodian = new ParentLegalcustodianDetails();\n\n parentLegalcustodian.SchoolProgramType = this.schoolProgramTypeStr;\n parentLegalcustodian.P1ParentId = this.parentLegalcustodianId;\n parentLegalcustodian.IsParentTheCarer = this.isParentTheCarer;\n parentLegalcustodian.IsSingleParent = this.isSingleParent;\n this.p1ParentInfoConfig.isParentTheCarer = this.isParentTheCarer;\n this.p2ParentInfoConfig.isParentTheCarer = this.isParentTheCarer;\n this.lcParentInfoConfig.isParentTheCarer = this.isParentTheCarer;\n\n const p1ParentInfo = this.parentLegalcustodianFormGroup.get('p1ParentInfo').value;\n this.updateP1ParentInfo(parentLegalcustodian, p1ParentInfo);\n\n if (!this.isSingleParent) {\n const p2ParentInfo = this.parentLegalcustodianFormGroup.get('p2ParentInfo').value;\n this.updateP2ParentInfo(parentLegalcustodian, p2ParentInfo);\n }\n\n const legalCustodianInfo = this.parentLegalcustodianFormGroup.get('legalCustodianInfo').value;\n this.updateLegalCustodianInfo(parentLegalcustodian, legalCustodianInfo);\n\n const p1ParentDetails = this.parentLegalcustodianFormGroup.get('p1ParentDetails').value;\n this.updateP1ParentDetails(parentLegalcustodian, p1ParentDetails);\n\n if (!this.isSingleParent) {\n const p2ParentDetails = this.parentLegalcustodianFormGroup.get('p2ParentDetails').value;\n //console.log('this.parentLegalcustodianFormGroup.get(p2ParentDetails).value: ', p2ParentDetails)\n this.updateP2ParentDetails(parentLegalcustodian, p2ParentDetails);\n }\n\n const legalCustodianDetails = this.parentLegalcustodianFormGroup.get('legalCustodianDetails').value;\n this.updateLegalCustodianDetails(parentLegalcustodian, legalCustodianDetails);\n\n parentLegalcustodian.P1ParentId = this.p1ParentInfoConfig.ParentId;\n parentLegalcustodian.P2ParentId = !this.isSingleParent ? this.p2ParentInfoConfig.ParentId : 0;\n parentLegalcustodian.LCParentId = this.lcParentInfoConfig.ParentId;\n\n return parentLegalcustodian;\n }\n\n updateP1ParentInfo(info: ParentLegalcustodianDetails, parentInfo: ParentInfo): void {\n info.P1RelationshipCode = parentInfo.Relationship;\n info.P1GivenName = parentInfo.GivenName;\n info.P1FamilyName = parentInfo.FamilyName;\n info.P1OnlyHasOneName = parentInfo.OnlyHasOneName;\n info.P1IsDeceased = parentInfo.IsDeceased;\n info.P1HasLegalCustody = parentInfo.HasLegalCustody;\n }\n\n updateP2ParentInfo(info: ParentLegalcustodianDetails, parentInfo: ParentInfo): void {\n info.P2RelationshipCode = parentInfo.Relationship;\n info.P2GivenName = parentInfo.GivenName;\n info.P2FamilyName = parentInfo.FamilyName;\n info.P2OnlyHasOneName = parentInfo.OnlyHasOneName;\n info.P2IsDeceased = parentInfo.IsDeceased;\n info.P2HasLegalCustody = parentInfo.HasLegalCustody;\n }\n\n updateLegalCustodianInfo(info: ParentLegalcustodianDetails, parentInfo: ParentInfo): void {\n info.LCRelationshipCode = parentInfo.Relationship;\n info.LCOtherRelationship = parentInfo.OtherRelationship;\n info.LCGivenName = parentInfo.GivenName;\n info.LCFamilyName = parentInfo.FamilyName;\n info.LCOnlyHasOneName = parentInfo.OnlyHasOneName;\n }\n\n updateP1ParentDetails(details: ParentLegalcustodianDetails, parentDetails: ParentDetails): void {\n details.P1DateOfBirth = this.utilityService.getDateStrWithoutTimeZone(parentDetails.DateOfBirth);\n details.P1Gender = parentDetails.Gender;\n details.P1CountryOfBirthId = parentDetails.CountryOfBirthId;\n details.P1CountryOfNationalityId = parentDetails.CountryOfNationalityId;\n details.P1PassportNumber = parentDetails.PassportNumber;\n details.P1EmailAddress = parentDetails.EmailAddress;\n details.P1Note = parentDetails.Note;\n details.P1IsRefusedAusVisaBefore = parentDetails.IsRefusedAusVisaBefore;\n details.P1VisaRefusalDetails = parentDetails.VisaRefusalDetails;\n details.P1MobileCountryCode = parentDetails.MobileCountryCode;\n details.P1MobilePhoneNumber = parentDetails.MobilePhoneNumber;\n details.P1HomeCountryCode = parentDetails.HomeCountryCode;\n details.P1HomePhoneNumber = parentDetails.HomePhoneNumber;\n details.P1IsAustralianAddress = parentDetails.IsAustralianAddress;\n details.P1AddressLine1 = parentDetails.AddressLine1;\n details.P1AddressLine2 = parentDetails.AddressLine2;\n details.P1SuburbTownCity = parentDetails.SuburbTownCity;\n details.P1StateProvinceRegion = parentDetails.StateProvinceRegion;\n details.P1Postcode = parentDetails.Postcode;\n details.P1CountryId = parentDetails.CountryId;\n }\n updateP2ParentDetails(details: ParentLegalcustodianDetails, parentDetails: ParentDetails): void {\n details.P2DateOfBirth = this.utilityService.getDateStrWithoutTimeZone(parentDetails.DateOfBirth);\n details.P2Gender = parentDetails.Gender;\n details.P2CountryOfBirthId = parentDetails.CountryOfBirthId;\n details.P2CountryOfNationalityId = parentDetails.CountryOfNationalityId;\n details.P2PassportNumber = parentDetails.PassportNumber;\n details.P2EmailAddress = parentDetails.EmailAddress;\n details.P2Note = parentDetails.Note;\n details.P2IsRefusedAusVisaBefore = parentDetails.IsRefusedAusVisaBefore;\n details.P2VisaRefusalDetails = parentDetails.VisaRefusalDetails;\n details.P2MobileCountryCode = parentDetails.MobileCountryCode;\n details.P2MobilePhoneNumber = parentDetails.MobilePhoneNumber;\n details.P2HomeCountryCode = parentDetails.HomeCountryCode;\n details.P2HomePhoneNumber = parentDetails.HomePhoneNumber;\n\n details.P2IsAustralianAddress = parentDetails.IsAustralianAddress;\n details.P2AddressLine1 = parentDetails.AddressLine1;\n details.P2AddressLine2 = parentDetails.AddressLine2;\n details.P2SuburbTownCity = parentDetails.SuburbTownCity;\n details.P2StateProvinceRegion = parentDetails.StateProvinceRegion;\n details.P2Postcode = parentDetails.Postcode;\n details.P2CountryId = parentDetails.CountryId;\n }\n updateLegalCustodianDetails(details: ParentLegalcustodianDetails, parentDetails: ParentDetails): void {\n details.LCDateOfBirth = this.utilityService.getDateStrWithoutTimeZone(parentDetails.DateOfBirth);\n details.LCGender = parentDetails.Gender;\n details.LCCountryOfBirthId = parentDetails.CountryOfBirthId;\n details.LCCountryOfNationalityId = parentDetails.CountryOfNationalityId;\n details.LCPassportNumber = parentDetails.PassportNumber;\n details.LCEmailAddress = parentDetails.EmailAddress;\n details.LCNote = parentDetails.Note;\n details.LCIsRefusedAusVisaBefore = parentDetails.IsRefusedAusVisaBefore;\n details.LCVisaRefusalDetails = parentDetails.VisaRefusalDetails;\n details.LCMobileCountryCode = parentDetails.MobileCountryCode;\n details.LCMobilePhoneNumber = parentDetails.MobilePhoneNumber;\n details.LCHomeCountryCode = parentDetails.HomeCountryCode;\n details.LCHomePhoneNumber = parentDetails.HomePhoneNumber;\n details.LCIsAustralianAddress = parentDetails.IsAustralianAddress;\n details.LCAddressLine1 = parentDetails.AddressLine1;\n details.LCAddressLine2 = parentDetails.AddressLine2;\n details.LCSuburbTownCity = parentDetails.SuburbTownCity;\n details.LCStateProvinceRegion = parentDetails.StateProvinceRegion;\n details.LCPostcode = parentDetails.Postcode;\n details.LCCountryId = parentDetails.CountryId;\n }\n\n saveParentLegalcustodian() {\n\n const parentLegalcustodian = this.getParentLegalcustodian();\n\n\n\n this.isFormSubmitted = true;\n //console.log('saveParentLegalcustodian - parentLegalcustodian');\n //console.log(parentLegalcustodian);\n\n this.applicationService.updateParentLegalcustodian(this.applicationId, parentLegalcustodian)\n .subscribe((response: SingleResultApiResponse) => {\n //console.log('response of saveParentLegalcustodian');\n //console.log(response);\n this.dispatchSectionSaveAction();\n this.isSaveSuccessful = true;\n\n if (response.Result) {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'parent-guardian-details']);\n }\n\n }, (errorResponse: ErrorResponse) => {\n //console.log('ErrorResponse of saveParentLegalcustodian');\n //console.log(errorResponse);\n\n let p1ParentInfoErrors: ParentInfoErrors = {};\n let p2ParentInfoErrors: ParentInfoErrors = {};\n let lcParentInfoErrors: ParentInfoErrors = {};\n let p1ParentDetailsErrors: ParentDetailsErrors = {};\n let p2ParentDetailsErrors: ParentDetailsErrors = {};\n let lcParentDetailsErrors: ParentDetailsErrors = {};\n const { errors, result } = errorResponse;\n\n for (const error of errors) {\n this.setApiValidationError(error.Key,\n error.Value,\n p1ParentInfoErrors,\n p2ParentInfoErrors,\n lcParentInfoErrors,\n p1ParentDetailsErrors,\n p2ParentDetailsErrors,\n lcParentDetailsErrors\n );\n }\n\n this.p1ParentInfoErrors = p1ParentInfoErrors;\n this.p2ParentInfoErrors = p2ParentInfoErrors;\n this.lcParentInfoErrors = lcParentInfoErrors;\n this.p1ParentDetailsErrors = p1ParentDetailsErrors;\n this.p2ParentDetailsErrors = p2ParentDetailsErrors;\n this.lcParentDetailsErrors = lcParentDetailsErrors;\n\n this.parentLegalcustodianFormGroup.updateValueAndValidity();\n this.dispatchSectionSaveAction();\n this.reloadInitialData();\n this.isScrollDone = false;\n this.formService.scrollToFirstErrorField();\n });\n\n }\n\n dispatchSectionSaveAction() {\n this.store.dispatch({\n type: Action_ApplicationSectionSaved\n });\n }\n\n ngAfterContentChecked(): void {\n if (!this.isScrollDone) {\n this.isScrollDone = this.formService.scrollToFirstErrorField();\n }\n\n }\n\n // canDeactivate(): Observable | boolean {\n\n // if (this.isSaveSuccessful) {\n // return true;\n // }\n\n // // if (!this.isParentLegalcustodianDataSame()) {\n // // this.modalService.showModal();\n // // return this.modalService.stayOnThePage;\n // // } else {\n // // this.modalService.hideModal();\n // // return true;\n // // }\n // }\n\n isParentLegalcustodianDataSame(): boolean {\n const currentP1ParentInfo = this.parentLegalcustodianFormGroup.get('p1ParentInfo').value;\n const currentP2ParentInfo = this.parentLegalcustodianFormGroup.get('p2ParentInfo').value;\n const currentLCParentInfo = this.parentLegalcustodianFormGroup.get('legalCustodianInfo').value;\n\n const currentP1ParentDetails = this.parentLegalcustodianFormGroup.get('p1ParentDetails').value;\n const currentP2ParentDetails = this.parentLegalcustodianFormGroup.get('p2ParentDetails').value;\n const currentLCParentDetails = this.parentLegalcustodianFormGroup.get('legalCustodianDetails').value;\n\n\n\n const isParentLegalcustodianDataSame = compareParentLegalcustodianDetails(\n this.initialP1ParentInfo, currentP1ParentInfo,\n this.initialP2ParentInfo, currentP2ParentInfo,\n this.initialLCParentInfo, currentLCParentInfo,\n this.initialP1ParentDetails, currentP1ParentDetails,\n this.initialP2ParentDetails, currentP2ParentDetails,\n this.initialLCParentDetails, currentLCParentDetails\n )\n\n return isParentLegalcustodianDataSame;\n }\n\n /*\n p1ParentInfo: this.initialP1ParentInfo,\n p2ParentInfo: this.initialP2ParentInfo,\n legalCustodianInfo: this.initialLCParentInfo,\n\n p1ParentDetails: this.initialP1ParentDetails,\n p2ParentDetails: this.initialP2ParentDetails,\n legalCustodianDetails: this.initialLCParentDetails\n */\n\n\n // isParentGuardianDetailsSame(): boolean {\n // const currentPersonDetails = this.parentGuardianDetailsFormGroup.get('parentDetails').value;\n // const currentPhoneNumberDetails = this.parentGuardianDetailsFormGroup.get('phoneNumber').value;\n // const currentAustralianAddressDetails = this.parentGuardianDetailsFormGroup.get('australianAddress').value;\n // const currentOverseasAddressDetails = this.parentGuardianDetailsFormGroup.get('overseasAddress').value;\n\n // const isParentGuardianDetailsSame = compareParentGuardianDetails(this.initialParentDetailsData, currentPersonDetails,\n // this.initialPhoneNumberData, currentPhoneNumberDetails,\n // this.initialAustralianAddressData, currentAustralianAddressDetails,\n // this.initialOverseasAddressData, currentOverseasAddressDetails);\n\n // return isParentGuardianDetailsSame;\n // }\n\n\n\n cancelSaveParentGuardian(): void {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'parent-guardian-details']);\n }\n\n\n displayChangeImpactModal(): boolean {\n return this.showChangeImpactModal;\n }\n\n onCloseModal() {\n this.showChangeImpactModal = false;\n this.router.navigate(['/applications', this.applicationId, 'edit', 'parent-guardian-details']);\n }\n\n relationshipUpdate() {\n }\n\n isSingleParentClicked(event) {\n this.isSingleParent = event.checked;\n }\n\n updateParentAsCarer(isParentTheCarer: boolean) {\n this.isParentTheCarer = isParentTheCarer;\n this.parentErrors.IsParentTheCarer = '';\n //console.log('updateParentAsCarer - isParentTheCarer');\n //console.log(this.isParentTheCarer);\n this.p1ParentInfoConfig.isParentTheCarer = this.isParentTheCarer;\n this.p2ParentInfoConfig.isParentTheCarer = this.isParentTheCarer;\n this.lcParentInfoConfig.isParentTheCarer = this.isParentTheCarer;\n this.p1ParentDetailsConfig.isParentTheCarer = this.isParentTheCarer;\n this.p2ParentDetailsConfig.isParentTheCarer = this.isParentTheCarer;\n this.lcParentDetailsConfig.isParentTheCarer = this.isParentTheCarer;\n this.parentLegalcustodianFormGroup.patchValue({\n isParentTheCarer\n });\n this.parentLegalcustodianFormGroup.updateValueAndValidity();\n }\n\n updateLegalCustody(hasLegalCustody: boolean) {\n this.hasLegalCustody = hasLegalCustody;\n\n this.parentLegalcustodianFormGroup.patchValue({\n hasLegalCustody\n });\n this.parentLegalcustodianFormGroup.updateValueAndValidity();\n }\n\n getInfoSectionTitle() {\n //console.log('getInfoSectionTitle');\n //console.log(this.isParentTheCarer);\n if (this.isParentTheCarer === false) {\n return \"Legal Custodian Info\";\n }\n return \"Parent Info\";\n }\n\n setApiValidationError(apiErrorKeyName: string,\n apiErrorMsg: string,\n p1ParentInfoErrors: ParentInfoErrors,\n p2ParentInfoErrors: ParentInfoErrors,\n lcParentInfoErrors: ParentInfoErrors,\n p1ParentDetailsErrors: ParentDetailsErrors,\n p2ParentDetailsErrors: ParentDetailsErrors,\n lcParentDetailsErrors: ParentDetailsErrors,\n ): void {\n switch (apiErrorKeyName) {\n case 'IsParentTheCarer':\n this.parentErrors.IsParentTheCarer = apiErrorMsg;\n break;\n //Parent 1\n case 'P1RelationshipCode':\n p1ParentInfoErrors.Relationship = apiErrorMsg;\n break;\n case 'P1IsDeceased':\n p1ParentInfoErrors.IsDeceased = apiErrorMsg;\n break;\n case 'P1GivenName':\n p1ParentInfoErrors.GivenName = apiErrorMsg;\n break;\n case 'P1FamilyName':\n p1ParentInfoErrors.FamilyName = apiErrorMsg;\n break;\n case 'P1HasLegalCustody':\n p1ParentInfoErrors.HasLegalCustody = apiErrorMsg;\n break;\n\n case 'P1IsRefusedAusVisaBefore':\n p1ParentDetailsErrors.IsRefusedAusVisaBefore = apiErrorMsg;\n break;\n case 'P1VisaRefusalDetails':\n p1ParentDetailsErrors.VisaRefusalDetails = apiErrorMsg;\n break;\n case 'P1Gender':\n p1ParentDetailsErrors.Gender = apiErrorMsg;\n break;\n case 'P1DateOfBirth':\n p1ParentDetailsErrors.DateOfBirth = apiErrorMsg;\n break;\n case 'P1CountryOfBirthId':\n p1ParentDetailsErrors.CountryOfBirthId = apiErrorMsg;\n break;\n case 'P1CountryOfNationalityId':\n p1ParentDetailsErrors.CountryOfNationalityId = apiErrorMsg;\n break;\n case 'P1PassportNumber':\n p1ParentDetailsErrors.PassportNumber = apiErrorMsg;\n break;\n case 'P1EmailAddress':\n p1ParentDetailsErrors.EmailAddress = apiErrorMsg;\n break;\n case 'P1MobileCountryCode':\n p1ParentDetailsErrors.MobileCountryCode = apiErrorMsg;\n break;\n case 'P1MobilePhoneNumber':\n p1ParentDetailsErrors.MobilePhoneNumber = apiErrorMsg;\n break;\n case 'P1HomeCountryCode':\n p1ParentDetailsErrors.HomeCountryCode = apiErrorMsg;\n break;\n case 'P1HomePhoneNumber':\n p1ParentDetailsErrors.HomePhoneNumber = apiErrorMsg;\n break;\n case 'P1IsAustralianAddress':\n p1ParentDetailsErrors.IsAustralianAddress = apiErrorMsg;\n break;\n case 'P1AddressLine1':\n p1ParentDetailsErrors.AddressLine1 = apiErrorMsg;\n break;\n case 'P1AddressLine2':\n p1ParentDetailsErrors.AddressLine2 = apiErrorMsg;\n break;\n case 'P1SuburbTownCity':\n p1ParentDetailsErrors.SuburbTownCity = apiErrorMsg;\n break;\n case 'P1StateProvinceRegion':\n p1ParentDetailsErrors.StateProvinceRegion = apiErrorMsg;\n break;\n case 'P1Postcode':\n p1ParentDetailsErrors.Postcode = apiErrorMsg;\n break;\n case 'P1CountryId':\n p1ParentDetailsErrors.CountryId = apiErrorMsg;\n break;\n\n\n //Parent 2\n case 'P2RelationshipCode':\n p2ParentInfoErrors.Relationship = apiErrorMsg;\n break;\n case 'P2IsDeceased':\n p2ParentInfoErrors.IsDeceased = apiErrorMsg;\n break;\n case 'P2GivenName':\n p2ParentInfoErrors.GivenName = apiErrorMsg;\n break;\n case 'P2FamilyName':\n p2ParentInfoErrors.FamilyName = apiErrorMsg;\n break;\n case 'P2HasLegalCustody':\n p2ParentInfoErrors.HasLegalCustody = apiErrorMsg;\n break;\n\n case 'P2IsRefusedAusVisaBefore':\n p2ParentDetailsErrors.IsRefusedAusVisaBefore = apiErrorMsg;\n break;\n case 'P2VisaRefusalDetails':\n p2ParentDetailsErrors.VisaRefusalDetails = apiErrorMsg;\n break;\n case 'P2Gender':\n p2ParentDetailsErrors.Gender = apiErrorMsg;\n break;\n case 'P2DateOfBirth':\n p2ParentDetailsErrors.DateOfBirth = apiErrorMsg;\n break;\n case 'P2CountryOfBirthId':\n p2ParentDetailsErrors.CountryOfBirthId = apiErrorMsg;\n break;\n case 'P2CountryOfNationalityId':\n p2ParentDetailsErrors.CountryOfNationalityId = apiErrorMsg;\n break;\n case 'P2PassportNumber':\n p2ParentDetailsErrors.PassportNumber = apiErrorMsg;\n break;\n case 'P2EmailAddress':\n p2ParentDetailsErrors.EmailAddress = apiErrorMsg;\n break;\n case 'P2MobileCountryCode':\n p2ParentDetailsErrors.MobileCountryCode = apiErrorMsg;\n break;\n case 'P2MobilePhoneNumber':\n p2ParentDetailsErrors.MobilePhoneNumber = apiErrorMsg;\n break;\n case 'P2HomeCountryCode':\n p2ParentDetailsErrors.HomeCountryCode = apiErrorMsg;\n break;\n case 'P2HomePhoneNumber':\n p2ParentDetailsErrors.HomePhoneNumber = apiErrorMsg;\n break;\n case 'P2IsAustralianAddress':\n p2ParentDetailsErrors.IsAustralianAddress = apiErrorMsg;\n break;\n case 'P2AddressLine1':\n p2ParentDetailsErrors.AddressLine1 = apiErrorMsg;\n break;\n case 'P2AddressLine2':\n p2ParentDetailsErrors.AddressLine2 = apiErrorMsg;\n break;\n case 'P2SuburbTownCity':\n p2ParentDetailsErrors.SuburbTownCity = apiErrorMsg;\n break;\n case 'P2StateProvinceRegion':\n p2ParentDetailsErrors.StateProvinceRegion = apiErrorMsg;\n break;\n case 'P2Postcode':\n p2ParentDetailsErrors.Postcode = apiErrorMsg;\n break;\n case 'P2CountryId':\n p2ParentDetailsErrors.CountryId = apiErrorMsg;\n break;\n\n //Legal custodian\n case 'LCRelationshipCode':\n lcParentInfoErrors.Relationship = apiErrorMsg;\n break;\n case 'LCOtherRelationship': \n lcParentInfoErrors.OtherRelationship = apiErrorMsg;\n break;\n case 'LCGivenName':\n lcParentInfoErrors.GivenName = apiErrorMsg;\n break;\n case 'LCFamilyName':\n lcParentInfoErrors.FamilyName = apiErrorMsg;\n break;\n case 'LCHasLegalCustody':\n lcParentInfoErrors.HasLegalCustody = apiErrorMsg;\n break;\n\n case 'LCIsRefusedAusVisaBefore':\n lcParentDetailsErrors.IsRefusedAusVisaBefore = apiErrorMsg;\n break;\n case 'LCVisaRefusalDetails':\n lcParentDetailsErrors.VisaRefusalDetails = apiErrorMsg;\n break;\n case 'LCGender':\n lcParentDetailsErrors.Gender = apiErrorMsg;\n break;\n case 'LCDateOfBirth':\n lcParentDetailsErrors.DateOfBirth = apiErrorMsg;\n break;\n case 'LCCountryOfBirthId':\n lcParentDetailsErrors.CountryOfBirthId = apiErrorMsg;\n break;\n case 'LCCountryOfNationalityId':\n lcParentDetailsErrors.CountryOfNationalityId = apiErrorMsg;\n break;\n case 'LCPassportNumber':\n lcParentDetailsErrors.PassportNumber = apiErrorMsg;\n break;\n case 'LCEmailAddress':\n lcParentDetailsErrors.EmailAddress = apiErrorMsg;\n break;\n case 'LCMobileCountryCode':\n lcParentDetailsErrors.MobileCountryCode = apiErrorMsg;\n break;\n case 'LCMobilePhoneNumber':\n lcParentDetailsErrors.MobilePhoneNumber = apiErrorMsg;\n break;\n case 'LCHomeCountryCode':\n lcParentDetailsErrors.HomeCountryCode = apiErrorMsg;\n break;\n case 'LCHomePhoneNumber':\n lcParentDetailsErrors.HomePhoneNumber = apiErrorMsg;\n break;\n case 'LCIsAustralianAddress':\n lcParentDetailsErrors.IsAustralianAddress = apiErrorMsg;\n break;\n case 'LCAddressLine1':\n lcParentDetailsErrors.AddressLine1 = apiErrorMsg;\n break;\n case 'LCAddressLine2':\n lcParentDetailsErrors.AddressLine2 = apiErrorMsg;\n break;\n case 'LCSuburbTownCity':\n lcParentDetailsErrors.SuburbTownCity = apiErrorMsg;\n break;\n case 'LCStateProvinceRegion':\n lcParentDetailsErrors.StateProvinceRegion = apiErrorMsg;\n break;\n case 'LCPostcode':\n lcParentDetailsErrors.Postcode = apiErrorMsg;\n break;\n case 'LCCountryId':\n lcParentDetailsErrors.CountryId = apiErrorMsg;\n break;\n\n }\n }\n\n /* For accessibility, keyboard only design, use tab to show borders but showing no border by clicking on mouse */\n keyboardFocus(event): void {\n event.style.outline = \"1px solid blue\";\n }\n\n keyboardBlur(event): void {\n event.style.outline = \"\";\n }\n}\n","module.exports = \"
\\n
\\n\\n\\n \\n \\n
\\n
\\n \\n \\n {{errors.Relationship}}\\n \\n
\\n
\\n\\n
\\n\\n \\n
\\n \\n \\n {{errors.OtherRelationship}}\\n \\n
\\n
\\n
\\n\\n\\n \\n
\\n \\n \\n This person is deceased\\n {{errors.IsDeceased}}\\n \\n
\\n
\\n\\n \\n
\\n \\n \\n {{errors.GivenName}}\\n \\n Given name is required\\n \\n \\n
\\n\\n\\n \\n
\\n \\n \\n {{errors.FamilyName}}\\n \\n
\\n
\\n \\n Has only one name as per passport or birth certificate\\n
\\n\\n \\n
Does this person have a legal custody of the Student?
\\n
\\n \\n Yes
radio button
checked
unchecked
\\n
\\n\\n \\n No
radio button
checked
unchecked
\\n
\\n
\\n {{errors.HasLegalCustody}}\\n
\\n
\\n
\\n\\n
\\n
\\n\"","module.exports = \"input[type=\\\"checkbox\\\"]:disabled {\\n pointer-events: none;\\n cursor: auto; }\\n\\nspan.span-disabled {\\n pointer-events: none; }\\n\\n.isdeceased span {\\n padding-top: 0px !important;\\n margin: 5px 20px 15px 0px !important; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vcGFyZW50LWd1YXJkaWFuLWRldGFpbHMvcGFyZW50LWxlZ2FsY3VzdG9kaWFuLWVkaXQvcGFyZW50LWxlZ2FsY3VzdG9kaWFuLWluZm8vRDpcXGFcXDE1NVxcc1xcRGVpLk9ubGluZUFwcGxpY2F0aW9uLlByb2RcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5XZWJcXG9ubGluZS1hcHAvc3JjXFxhcHBcXGFwcGxpY2F0aW9uXFxwYXJlbnQtZ3VhcmRpYW4tZGV0YWlsc1xccGFyZW50LWxlZ2FsY3VzdG9kaWFuLWVkaXRcXHBhcmVudC1sZWdhbGN1c3RvZGlhbi1pbmZvXFxwYXJlbnQtbGVnYWxjdXN0b2RpYW4taW5mby5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLG9CQUFvQjtFQUNwQixZQUFZLEVBQUE7O0FBR2hCO0VBQ0ksb0JBQW9CLEVBQUE7O0FBR3hCO0VBQ0ksMkJBQTJCO0VBQzNCLG9DQUFvQyxFQUFBIiwiZmlsZSI6InNyYy9hcHAvYXBwbGljYXRpb24vcGFyZW50LWd1YXJkaWFuLWRldGFpbHMvcGFyZW50LWxlZ2FsY3VzdG9kaWFuLWVkaXQvcGFyZW50LWxlZ2FsY3VzdG9kaWFuLWluZm8vcGFyZW50LWxlZ2FsY3VzdG9kaWFuLWluZm8uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBjdXJzb3I6IGF1dG87XHJcbn1cclxuXHJcbnNwYW4uc3Bhbi1kaXNhYmxlZCB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLmlzZGVjZWFzZWQgc3BhbntcclxuICAgIHBhZGRpbmctdG9wOiAwcHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbjogNXB4IDIwcHggMTVweCAwcHggIWltcG9ydGFudDtcclxufSJdfQ== */\"","import { ParentInfoErrors, ParentInfoConfig } from './../../../models/parent-guardian-details';\nimport { Component, OnInit, Input, forwardRef, SimpleChanges, OnChanges, AfterViewInit } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { slideInOut } from 'src/app/application/animations/slideInOut';\nimport { ParentInfo } from 'src/app/application/models/parent-guardian-details';\nimport { LookupData, Relationship, RelationshipType } from 'src/app/shared/models/lookup-data.model';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'online-app-parent-legalcustodian-info',\n templateUrl: './parent-legalcustodian-info.component.html',\n styleUrls: ['./parent-legalcustodian-info.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ParentLegalcustodianInfoComponent),\n multi: true\n }],\n animations: [slideInOut]\n})\nexport class ParentLegalcustodianInfoComponent implements OnInit, OnChanges, ControlValueAccessor {\n\n @Input() config: ParentInfoConfig;\n @Input() errors: ParentInfoErrors;\n @Input() data: ParentInfo;\n\n // @Input() formGroup: FormGroup;\n\n parentInfoFormGroup: FormGroup;\n\n isParentTheCarer: boolean;\n isSingleParent: boolean = null;\n hasLegalCustody: boolean;\n isDeceased: boolean = false;\n selectedRelationship: LookupData;\n isSubmittedApplication: boolean = false;\n relationships: RelationshipType[] = [];\n\n private _value: ParentInfo = {\n Relationship: undefined,\n OtherRelationship: undefined,\n IsDeceased: undefined,\n GivenName: undefined,\n FamilyName: undefined,\n OnlyHasOneName: undefined,\n HasLegalCustody: undefined\n };\n\n constructor(private formBuilder: FormBuilder, private activatedRoute: ActivatedRoute) {\n this.selectedRelationship = this.getDefaultRelationship();\n }\n\n ngOnInit() {\n this.isSingleParent = false;\n\n this.parentInfoFormGroup = this.formBuilder.group({\n hasLegalCustody: '',\n isDeceased: '',\n GivenName: ['test', Validators.required],\n FamilyName: ['test1', Validators.required],\n });\n\n this.isParentTheCarer = this.config.isParentTheCarer;\n this.relationships = this.activatedRoute.snapshot.data['relationshipTypes'];\n\n if (this.config.isParent) {\n this.relationships = this.relationships.filter(r => r.IsParent);\n } else {\n //this.relationships = this.relationships.filter(r => !r.IsParent);\n this.relationships = this.relationships.filter(rel => rel.IsParent || rel.IsDirectRelative || rel.IsParentNomination || rel.IsHomestay || rel.Code == 'AGENT')\n }\n\n //trikc to wait this child-component fully loaded\n window.setTimeout(() => {\n //console.log('window.setTimeout');\n //console.log(this.value.Relationship);\n if (this.value.Relationship) {\n this.initialLoadRelationShipUpdate(this.value.Relationship);\n //console.log(\"set relationship!!\" + this.value.Relationship)\n }\n });\n\n\n }\n\n\n\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.data && changes.data.currentValue) {\n this.value = changes.data.currentValue;\n }\n // const { Relationship } = changes.data.currentValue;\n // this.relationshipUpdate(Relationship); \n }\n\n\n private _onChange = (_: any) => { };\n private _onTouched = (_: any) => { };\n\n set value(value: ParentInfo) {\n this._value = value;\n this._onChange(this._value);\n }\n get value() {\n return this._value;\n }\n writeValue(value: ParentInfo): void {\n if (value && value !== null) {\n this._value = value;\n }\n }\n registerOnChange(fn: (_: any) => void): void {\n this._onChange = fn;\n }\n registerOnTouched(fn: (_: any) => void): void {\n this._onTouched = fn;\n }\n private _updateValue(value: any, field: string) {\n const newValue = this._value;\n newValue[field] = value;\n this.value = newValue;\n }\n\n otherRelationshipUpdate(event: any) {\n this._updateValue(event.target.value, 'OtherRelationship');\n this.errors.OtherRelationship = '';\n }\n\n\n //as pre-reg page stores relationship description, we need to convert to code here\n //but if re-load existing P/LC, then code will do\n initialLoadRelationShipUpdate(codeOrDesc: string) {\n var foundRelationShip = this.relationships.find(relation => relation.Description === codeOrDesc);\n if (!foundRelationShip) {\n foundRelationShip = this.relationships.find(relation => relation.Code === codeOrDesc);\n }\n this.selectedRelationship = foundRelationShip ?\n { Code: foundRelationShip.Code, Description: foundRelationShip.Description }\n : this.getDefaultRelationship();\n this._updateValue(this.selectedRelationship.Code, 'Relationship'); //always update with Code\n }\n\n\n relationshipUpdate(code: any) {\n const selectedRelationShip = this.relationships.find(relation => relation.Code === code);\n this.selectedRelationship = selectedRelationShip ?\n { Code: selectedRelationShip.Code, Description: selectedRelationShip.Description }\n : this.getDefaultRelationship();\n\n this._updateValue(code, 'Relationship');\n this.errors.Relationship = '';\n }\n\n givenNameUpdate(event: any) {\n this._updateValue(event.target.value, 'GivenName');\n this.errors.GivenName = '';\n this.value.GivenName = this.titleCaseWord(this.value.GivenName);\n }\n\n familyNameUpdate(event: any) {\n this._updateValue(event.target.value, 'FamilyName');\n this.errors.FamilyName = '';\n this.value.FamilyName = this.value.FamilyName.toUpperCase();\n }\n\n titleCaseWord(word: string) {\n if (!word) return word;\n return word[0].toUpperCase() + word.substr(1).toLowerCase();\n }\n\n isOnlyHasOneNameClicked(event) {\n if (this.config.isSubmittedApplication) {\n return;\n }\n\n this.value.OnlyHasOneName = event.checked;\n const onlyHasOneNameNewValue = this.value.OnlyHasOneName;\n this._updateValue(onlyHasOneNameNewValue, 'OnlyHasOneName');\n if (this.value.OnlyHasOneName) {\n this.value.FamilyName = '';\n }\n //this.errors.OnlyHasOneName = '';\n }\n\n isDeceasedClicked(event) {\n if (this.config.isSubmittedApplication) {\n return;\n }\n\n this.value.IsDeceased = event.checked;\n const isDeceasedNewValue = this.value.IsDeceased;\n this._updateValue(isDeceasedNewValue, 'IsDeceased');\n this.isDeceased = isDeceasedNewValue\n this.errors.IsDeceased = '';\n }\n\n updateLegalCustody(hasLegalCustody: boolean) {\n this.hasLegalCustody = hasLegalCustody;\n this._updateValue(hasLegalCustody, 'HasLegalCustody')\n this.errors.HasLegalCustody = '';\n\n this.parentInfoFormGroup.patchValue({\n hasLegalCustody\n });\n this.parentInfoFormGroup.updateValueAndValidity();\n }\n\n\n getDefaultRelationship(): LookupData {\n return {\n Code: '',\n Description: 'Please select'\n };\n }\n\n /* For accessibility, keyboard only design, use tab to show borders but showing no border by clicking on mouse */\n keyboardFocus(event): void {\n event.style.outline = \"1px solid blue\";\n }\n\n keyboardBlur(event): void {\n event.style.outline = \"\";\n }\n\n //accessibility -- link error msg to form field\n errorDoubleErrorAccessibility(): string {\n if (this.errors && this.errors.GivenName) {\n return \"errorGivenName\";\n } else if (this.parentInfoFormGroup.get('GivenName').errors &&\n this.parentInfoFormGroup.get('GivenName').errors.required) {\n return \"requiredGivenName\";\n } else {\n return \"\";\n }\n }\n}\n","module.exports = \"
\\n\\n
\\n
\\n

Enter the parents details

\\n
\\n
\\n\\n
\\n {{parentsValidationErrorMsg}}\\n
\\n\\n
\\n
\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n\\n
\\n\\n
\\n\\n
\\n \\n \\n
\\n \\n
\\n \\n \\n
\\n \\n
\\n\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcGxpY2F0aW9uL3BhcmVudHMtdmFsaWRhdGlvbi9wYXJlbnRzLXZhbGlkYXRpb24uY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { DataService } from 'src/app/shared/services/data.service';\nimport { SingleResultApiResponse } from 'src/app/shared/models/api-response.model';\nimport { Store, select } from '@ngrx/store';\nimport { Subscription } from 'rxjs';\nimport { Action_SetCurrentApplication } from '../state/actions';\nimport { Router } from '@angular/router';\nimport { ErrorResponse } from 'src/app/shared/models/error.model';\n\n@Component({\n selector: 'online-app-parents-validation',\n templateUrl: './parents-validation.component.html',\n styleUrls: ['./parents-validation.component.scss']\n})\nexport class ParentsValidationComponent implements OnInit {\n\n parentsValidationFormGroup: FormGroup;\n isFormSubmitted: Boolean = false;\n studentGivenName = '';\n studentFamilyName = '';\n studentDateOfBirth = '';\n studentNationality = '';\n\n parentsValidationErrorMsg = '';\n\n studentValidationDetailsSubscription: Subscription;\n\n constructor(private formBuilder: FormBuilder,\n private store: Store,\n private router: Router,\n private dataService: DataService) { }\n\n ngOnInit() {\n\n this.parentsValidationFormGroup = this.formBuilder.group({\n fatherGivenName: ['', Validators.required],\n fatherFamilyName: ['', Validators.required],\n motherGivenName: ['', Validators.required],\n motherFamilyName: ['', Validators.required],\n });\n\n this.studentValidationDetailsSubscription =\n this.store.pipe(select('application'))\n .subscribe( applicationState => {\n\n if (applicationState && applicationState.studentValidationDetails) {\n\n const { StudentGivenName,\n StudentFamilyName,\n StudentDateOfBirth,\n StudentNationality } = applicationState.studentValidationDetails;\n\n this.studentGivenName = StudentGivenName;\n this.studentFamilyName = StudentFamilyName;\n this.studentDateOfBirth = StudentDateOfBirth;\n this.studentNationality = StudentNationality;\n }\n\n });\n\n }\n\n cancelParentsValidation(): void {\n this.router.navigate(['/applications', 'dashboard']);\n }\n\n validateParentsInfo(): void {\n\n this.isFormSubmitted = true;\n\n if (this.parentsValidationFormGroup.valid) {\n\n const studentGivenName = this.studentGivenName;\n const studentFamilyName = this.studentFamilyName;\n const studentDateOfBirth = this.studentDateOfBirth;\n const studentCountryCode = this.studentNationality;\n\n const fatherGivenName = this.parentsValidationFormGroup.get('fatherGivenName').value;\n const fatherFamilyName = this.parentsValidationFormGroup.get('fatherFamilyName').value;\n const motherGivenName = this.parentsValidationFormGroup.get('motherGivenName').value;\n const motherFamilyName = this.parentsValidationFormGroup.get('motherFamilyName').value;\n\n this.dataService.ValidateStudentParentsInfo(studentGivenName, studentFamilyName, studentDateOfBirth,\n studentCountryCode, fatherGivenName, fatherFamilyName,\n motherGivenName, motherFamilyName)\n .subscribe(\n (response: SingleResultApiResponse) => {\n\n if (response.Errors && response.Errors.length > 0) {\n //console.log(`Error: ${response.Errors}`);\n } else {\n this.parentsValidationErrorMsg = '';\n const applicationId = response.Result.ApplicationId;\n const customerReferenceNumber = response.Result.CustomerReferenceNumber;\n\n this.store.dispatch({\n type: Action_SetCurrentApplication,\n payload: applicationId\n });\n\n this.router.navigate(['/applications', applicationId, 'edit', 'important-information']);\n }\n\n },\n (errorResponse: ErrorResponse) => {\n const errors = errorResponse.errors;\n if (errors && errors.length > 0) {\n const errorKey = errors[0].Key;\n const errorValue = errors[0].Value;\n if (errorKey === 'model') {\n this.parentsValidationErrorMsg = errorValue;\n }\n }}\n );\n\n }\n\n }\n\n}\n","import { Pipe } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'ausAddress'\r\n})\r\nexport class AustralianAddressPipe { \r\n transform(person: any) {\r\n if (!person) {\r\n return null;\r\n }\r\n \r\n let returnValue = '';\r\n let delimiter = ''; \r\n\r\n if (person.AustralianAddressLine1) {\r\n returnValue = person.AustralianAddressLine1;\r\n delimiter = \", \";\r\n }\r\n if (person.AustralianAddressLine2) {\r\n returnValue = returnValue + delimiter + person.AustralianAddressLine2;\r\n delimiter = \", \";\r\n }\r\n\r\n if (person.AustralianSuburb) {\r\n returnValue = returnValue + delimiter + person.AustralianSuburb;\r\n delimiter = \", \";\r\n }\r\n if (person.AustralianState) {\r\n returnValue = returnValue + delimiter + person.AustralianState;\r\n delimiter = \", \";\r\n } \r\n\r\n if (person.AustralianPostcode) {\r\n returnValue = returnValue + delimiter + person.AustralianPostcode;\r\n }\r\n\r\n return returnValue;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { LookupData } from 'src/app/shared/models/lookup-data.model';\r\n\r\n@Pipe({\r\n name: 'descriptionFromLookup'\r\n})\r\nexport class DescriptionFromLookupPipe implements PipeTransform {\r\n\r\n transform(value: string, data: LookupData[]): string {\r\n if (!value || !data || !data.length)\r\n return value;\r\n \r\n const lookupDataMap = new Map();\r\n const codesInValue = value.split(',');\r\n\r\n data.forEach((obj) => {\r\n lookupDataMap.set(obj.Code, obj.Description);\r\n });\r\n\r\n return codesInValue.map(x => lookupDataMap.get(x)).join(', ');\r\n }\r\n}","import { Pipe } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'overseasAddress'\r\n})\r\nexport class OverseasAddressPipe { \r\n transform(person: any, countryName: string = '') {\r\n if (!person) {\r\n return null;\r\n }\r\n \r\n let returnValue = '';\r\n let delimiter = ''; \r\n\r\n if (person.OverseasAddressLine1) {\r\n returnValue = person.OverseasAddressLine1;\r\n delimiter = \", \";\r\n }\r\n if (person.OverseasAddressLine2) {\r\n returnValue = returnValue + delimiter + person.OverseasAddressLine2;\r\n delimiter = \", \";\r\n }\r\n\r\n if (person.OverseasSuburbTown) {\r\n returnValue = returnValue + delimiter + person.OverseasSuburbTown;\r\n delimiter = \", \";\r\n }\r\n if (person.OverseasStateProvinceRegion) {\r\n returnValue = returnValue + delimiter + person.OverseasStateProvinceRegion;\r\n delimiter = \", \";\r\n } \r\n\r\n if (person.OverseasPostcode) {\r\n returnValue = returnValue + delimiter + person.OverseasPostcode;\r\n delimiter = \", \";\r\n }\r\n\r\n if ((person.OverseasCountryId && !person.OverseasCountryId.startsWith(\"00000000\")) || countryName) {\r\n returnValue = returnValue + delimiter + (countryName || person.OverseasCountryId);\r\n }\r\n\r\n return returnValue;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport * as moment from 'moment';\r\n\r\n@Pipe({\r\n name: 'utcdate'\r\n})\r\nexport class UtcDatePipe implements PipeTransform {\r\n\r\n transform(value: string, format: string): string {\r\n let momentDate = moment.parseZone(moment(value, moment.ISO_8601));\r\n if (!momentDate.isValid()) {\r\n return value;\r\n }\r\n\r\n switch (format.toLocaleLowerCase())\r\n {\r\n case 'defaultdate': \r\n return momentDate.format(\"DD MMM YYYY\");\r\n default:\r\n return momentDate.format(format);\r\n }\r\n }\r\n}","module.exports = \"
\\n
\\n

School Program and Placements

\\n \\\"\\\"/\\n
\\n\\n
\\n\\n
\\n
\\n
Please note that all fields marked with an (*) are required.
\\n
\\n\\n
\\n\\n
\\n

Program

\\n {{getProgramSubText()}}\\n
\\n\\n
\\n
\\n\\n
Which program do you wish to enter?
\\n
\\n\\n \\n International\\n Student Program
radio button
checked
unchecked
\\n
\\n\\n \\n Study\\n Abroad Program
radio button
checked
unchecked
\\n
\\n\\n
\\n \\n {{ getApiValidationErrorMsg('schoolProgramType') }}\\n \\n
\\n\\n
\\n NOTE: Please be advised that you are not eligible to submit an application on behalf of this\\n student due to the current conditions of your contract with DE International. Please contact DE\\n International for further information.\\n
\\n
\\n NOTE: Please be advised that you are not eligible to submit an application for the International\\n Student Program on behalf of this student due to the current conditions of your contract with DE\\n International. Please contact DE International for further information.\\n
\\n
\\n NOTE: Please be advised that you are not eligible to submit an application for the Study Abroad\\n Program on behalf of this student due to the current conditions of your contract with DE International.\\n Please contact DE International for further information.\\n
\\n\\n
\\n Please Note: We are not able to offer you an enrollment for the Study Abroad Program. This program is\\n currently available to a select group of nationalities. Please contact DE International for further\\n information.\\n
\\n\\n
\\n\\n \\n\\n
\\n\\n
\\n
\\n Please select from the below options to indicate which grade the student will commence their course\\n in.\\n
\\n (Please note the available grades have been enabled or disabled based on the students age at the\\n intended course start date or the program they wish to enter. Please contact DE International for more\\n information.)\\n
\\n\\n
Primary
\\n
\\n\\n \\n Kindergarten
radio button
checked
unchecked
\\n
\\n\\n \\n Year 1
radio button
checked
unchecked
\\n
\\n\\n \\n Year 2
radio button
checked
unchecked
\\n
\\n\\n \\n Year 3
radio button
checked
unchecked
\\n
\\n\\n \\n Year 4
radio button
checked
unchecked
\\n
\\n\\n \\n Year 5
radio button
checked
unchecked
\\n
\\n\\n \\n Year 6
radio button
checked
unchecked
\\n
\\n\\n
\\n
\\n Important: Please note students entering Primary School are only eligible for an enrolment duration of\\n up to 3.5 years.\\n
\\n
\\n\\n
Secondary
\\n
\\n\\n \\n Year 7
radio button
checked
unchecked
\\n
\\n\\n \\n Year 8
radio button
checked
unchecked
\\n
\\n\\n \\n Year 9
radio button
checked
unchecked
\\n
\\n\\n\\n \\n Year 10
radio button
checked
unchecked
\\n
\\n\\n \\n Year 11
radio button
checked
unchecked
\\n
\\n\\n \\n Year 12
radio button
checked
unchecked
\\n
\\n\\n\\n
\\n \\n {{ getApiValidationErrorMsg('yearOfEntryCode') }}\\n \\n
\\n\\n
\\n\\n
\\n
\\n \\n The student is not eligible to apply for Year 12 directly unless one of these conditions apply. Please select another year level to continue.\\n \\n
\\n \\n
Are you studying year 12 in a NSW School?
\\n
\\n\\n \\n Yes
radio button
checked
unchecked
\\n
\\n\\n \\n No
radio button
checked
unchecked
\\n
\\n\\n
\\n \\n {{ getApiValidationErrorMsg('year12InNSW') }}\\n \\n
\\n\\n
\\n \\n \\n
Have you already studied year 11 in a NSW School?
\\n
\\n\\n \\n Yes
radio button
checked
unchecked
\\n
\\n\\n \\n No
radio button
checked
unchecked
\\n
\\n\\n
\\n \\n {{ getApiValidationErrorMsg('year11InNSW') }}\\n \\n
\\n\\n
\\n \\n \\n
Are you transferring from the Temporary Residents Program (TRP)?
\\n
\\n \\n \\n Yes
radio button
checked
unchecked
\\n
\\n \\n \\n No
radio button
checked
unchecked
\\n
\\n \\n
\\n \\n {{ getApiValidationErrorMsg('fromTRP') }}\\n \\n
\\n \\n
\\n \\n \\n
\\n\\n \\n\\n
\\n\\n
\\n
\\n\\n\\n\\n
\\n\\n
\\n

Preferred Start Term of your program

\\n {{getStartTermSubText()}}\\n
\\n\\n
\\n
\\n\\n
Please select start term of your chosen program
\\n\\n
Please select the school term in which you would like to commence your studies, beginning with two terms at an Intensive English Centre. To enrol directly in high school in the selected term, evidence of meeting our English language requirements must be uploaded at Step 9 of this application.
\\n\\n \\n\\n \\n\\n
\\n\\n \\n Term 1 January
radio button
checked
unchecked
\\n
\\n\\n \\n Term 2 April
radio button
checked
unchecked
\\n
\\n\\n \\n Term 3 July
radio button
checked
unchecked
\\n
\\n\\n \\n Term 4 October
radio button
checked
unchecked
\\n
\\n\\n
\\n \\n {{ getApiValidationErrorMsg('startTermCode') }}\\n \\n
\\n\\n
\\n \\n Please note the earliest this student can begin their enrolment is in Term 3 of Year 4.\\n If the student is intending to begin study at an earlier grade, please contact DE International for\\n further information.\\n \\n \\n Please note the earliest this student can begin their enrolment is in Term 3 of Year 4.\\n This student is not eligible for an earlier enrolment level. Please contact DE International for\\n further information.\\n \\n
\\n\\n \\n

\\n Please note that schools are unable to accept new enrolments into Year 11 in Term 3 or Term 4. By selecting this commencement intake you acknowledge you will be required to study at an Intensive English Centre (IEC) and enrol in high school the following year.\\n

\\n
\\n I acknowledge that I fully understand the above statement and would like to proceed with my application\\n
\\n
\\n \\n This field is required\\n \\n
\\n
\\n
\\n\\n \\n
\\n
\\n \\n \\n \\n {{ getApiValidationErrorMsg('startTermYear') }}\\n \\n \\n
\\n
\\n\\n
\\n \\n
\\n
\\n \\n \\n \\n {{ getApiValidationErrorMsg('durationCode') }}\\n \\n \\n
\\n
\\n
\\n\\n
\\n
\\n\\n
\\n\\n
\\n\\n
\\n

Subject Selection

\\n 3 of 5\\n
\\n\\n
\\n
\\n\\n\\n
Compulsory Subjects - Please list the subjects that you must study in order to receive\\n accrediation for your studies in your home country\\n e.g, Mathematics, Science, Foreign Languages, Economics, Business Studies, Music, History etc.
\\n\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n\\n
\\n
\\n\\n
\\n\\n
\\n\\n
\\n

School Selection

\\n {{getSchoolSelectionSubText()}}\\n
\\n\\n
\\n
\\n\\n
Please select preferred school for enrolment in order of preference. Placement cannot be guaranteed at\\n any of these schools.\\n Suitability is determined by the school capacity and nominated welfare arrangement.
\\n\\n\\n \\n
\\n \\n \\n \\n This field is required\\n \\n \\n {{ getApiValidationErrorMsg('preferredSchool1Id') }}\\n \\n \\n \\n {{school.Name}}\\n \\n \\n \\n
\\n\\n\\n \\n
\\n \\n \\n \\n \\n {{school.Name}}\\n \\n \\n \\n This field is required\\n \\n \\n {{ getApiValidationErrorMsg('preferredSchool2Id') }}\\n \\n \\n
\\n\\n\\n \\n
\\n \\n \\n \\n \\n {{school.Name}}\\n \\n \\n \\n This field is required\\n \\n \\n {{ getApiValidationErrorMsg('preferredSchool3Id') }}\\n \\n \\n
\\n
\\n
\\n\\n
\\n\\n
\\n\\n
\\n

Sibling Information

\\n {{getSiblingInformationSelectionSubText()}}\\n
\\n\\n
\\n
\\n\\n \\n\\n
Do you currently have sibling enrolled at/ applying for a NSW government school?
\\n
\\n\\n \\n Yes
radio button
checked
unchecked
\\n
\\n\\n \\n No
radio button
checked
unchecked
\\n
\\n\\n
\\n \\n {{ getApiValidationErrorMsg('isSiblingEnrolledInAustralia') }}\\n \\n
\\n\\n
\\n\\n\\n
\\n\\n \\n
\\n \\n \\n \\n Sibling Student Number is required\\n \\n \\n {{ getApiValidationErrorMsg('siblingStudentNumber') }}\\n \\n \\n
\\n\\n \\n
\\n \\n \\n \\n Sibling Given Name is required\\n \\n \\n {{ getApiValidationErrorMsg('siblingGivenName') }}\\n \\n \\n
\\n\\n\\n \\n
\\n \\n \\n \\n Sibling Family Name is required\\n \\n \\n {{ getApiValidationErrorMsg('siblingFamilyName') }}\\n \\n \\n
\\n\\n\\n \\n\\n \\n
\\n\\n \\n \\n \\n \\n \\n Sibling Date of Birth is required\\n \\n \\n {{ getApiValidationErrorMsg('siblingDateOfBirth') }}\\n \\n \\n
\\n\\n\\n \\n\\n \\n\\n \\n
\\n \\n \\n \\n {{ getApiValidationErrorMsg('siblingComments') }}\\n \\n \\n
\\n
\\n
\\n\\n
\\n
\\n\\n
\\n \\n \\n \\n
\\n\\n
\\n\\n
\\n\\n
\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n
Please resolve the following
\\n
press tab to reach first focusable element
\\n
\\n

The changes you have made on this page have affected other sections of this application. Please review\\n the information provided on the incomplete pages so you are able to submit this application

\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \".problems .problem .question .answer .choice .radioError {\\n font-style: normal;\\n color: #f00;\\n font-size: 14px;\\n margin-bottom: 30px; }\\n\\n.problems .problem .question .answer .choice span.disabled {\\n text-decoration: none;\\n cursor: default; }\\n\\n.problems .problem .question .answer .static-text {\\n font-size: 1.425rem;\\n line-height: 3.2rem;\\n padding-bottom: 2rem; }\\n\\n.problems .problem .question .answer .single-radio span.disabled {\\n background-color: #DDDDDD;\\n cursor: not-allowed;\\n pointer-events: none; }\\n\\n.problems .problem .question .answer .choice.valid span.largeErrorMsg {\\n display: inline-block;\\n box-sizing: border-box;\\n margin-bottom: 50px; }\\n\\n.further-question .age-info-text {\\n font-size: 1.2rem; }\\n\\n.further-question .age-info-text .heading5 {\\n margin-bottom: 1rem;\\n font-size: 1.425rem; }\\n\\n.problems .problem .question .answer .program-info-text {\\n font-size: 1.2rem;\\n padding-bottom: 2rem; }\\n\\n.problems .problem .question .answer .choice.valid span.disabled {\\n border-color: #dce6e6; }\\n\\n.problems .problem .answer .further-question .pad10 {\\n padding-top: 1rem; }\\n\\nselect:disabled {\\n opacity: 0.6; }\\n\\nmat-option {\\n font-size: 1.425rem;\\n font-weight: 400;\\n font-family: \\\"Work Sans\\\";\\n color: #46466E; }\\n\\n.mat-option:hover {\\n color: #fff;\\n background-color: #46466E; }\\n\\n.mat-selected:hover {\\n color: #fff;\\n background-color: #46466E; }\\n\\nspan.span-disabled {\\n pointer-events: none; }\\n\\n.modal-dialog {\\n margin-left: 40%; }\\n\\n:host ::ng-deep span.mat-checkbox-label {\\n padding: 10px 0 0 0 !important; }\\n\\n.requirementlink {\\n color: blue !important; }\\n\\n.requirementlink:hover {\\n text-decoration: underline !important; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vc2Nob29sLXByb2dyYW0tcGxhY2VtZW50L0Q6XFxhXFwxNTVcXHNcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5Qcm9kXFxEZWkuT25saW5lQXBwbGljYXRpb24uV2ViXFxvbmxpbmUtYXBwL3NyY1xcYXBwXFxhcHBsaWNhdGlvblxcc2Nob29sLXByb2dyYW0tcGxhY2VtZW50XFxzY2hvb2wtcHJvZ3JhbS1wbGFjZW1lbnQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUE7RUFDSSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLGVBQWU7RUFDZixtQkFBbUIsRUFBQTs7QUFHdkI7RUFDSSxxQkFBcUI7RUFDckIsZUFBZSxFQUFBOztBQUduQjtFQUNJLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIsb0JBQW9CLEVBQUE7O0FBR3hCO0VBQ0kseUJBQXdCO0VBQ3hCLG1CQUFtQjtFQUNuQixvQkFBbUIsRUFBQTs7QUFHdkI7RUFDSSxxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLG1CQUFtQixFQUFBOztBQUd2QjtFQUNJLGlCQUFpQixFQUFBOztBQURyQjtJQUlRLG1CQUFtQjtJQUNuQixtQkFBbUIsRUFBQTs7QUFNM0I7RUFDSSxpQkFBaUI7RUFDakIsb0JBQW9CLEVBQUE7O0FBR3hCO0VBQ0kscUJBQStCLEVBQUE7O0FBR25DO0VBQ0ksaUJBQWlCLEVBQUE7O0FBSXJCO0VBQ0ksWUFBWSxFQUFBOztBQUdmO0VBQ0csbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQix3QkFBd0I7RUFDeEIsY0FBYyxFQUFBOztBQUdqQjtFQUNJLFdBQVU7RUFDVix5QkFBeUIsRUFBQTs7QUFHN0I7RUFDRyxXQUFVO0VBQ1YseUJBQXlCLEVBQUE7O0FBRzdCO0VBQ0ksb0JBQW9CLEVBQUE7O0FBR3hCO0VBQ0ksZ0JBQWdCLEVBQUE7O0FBR3BCO0VBRVEsOEJBQThCLEVBQUE7O0FBSXRDO0VBQ0ksc0JBQXNCLEVBQUE7O0FBRzFCO0VBQ0kscUNBQXFDLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9hcHBsaWNhdGlvbi9zY2hvb2wtcHJvZ3JhbS1wbGFjZW1lbnQvc2Nob29sLXByb2dyYW0tcGxhY2VtZW50LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi8vIC5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlIGxpOmhvdmVyIHtcclxuLy8gICAgIGNvbG9yOldoaXRlO1xyXG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjojMUU5MEZGOyAgICBcclxuLy8gICAgIC8vIHBhZGRpbmc6IDJweDtcclxuLy8gfVxyXG5cclxuXHJcbi5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlIC5yYWRpb0Vycm9yIHtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGNvbG9yOiAjZjAwOyAgXHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG59XHJcblxyXG4ucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLmNob2ljZSBzcGFuLmRpc2FibGVkIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG5cclxuLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5zdGF0aWMtdGV4dCB7XHJcbiAgICBmb250LXNpemU6IDEuNDI1cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDMuMnJlbTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG59XHJcblxyXG4ucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLnNpbmdsZS1yYWRpbyBzcGFuLmRpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6I0RERERERDtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICBwb2ludGVyLWV2ZW50czpub25lO1xyXG59XHJcblxyXG4ucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLmNob2ljZS52YWxpZCBzcGFuLmxhcmdlRXJyb3JNc2cge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IFxyXG59XHJcblxyXG4uZnVydGhlci1xdWVzdGlvbiAuYWdlLWluZm8tdGV4dCB7XHJcbiAgICBmb250LXNpemU6IDEuMnJlbTtcclxuXHJcbiAgICAuaGVhZGluZzUge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjQyNXJlbTtcclxuICAgIH1cclxuICAgIC8vIGxpbmUtaGVpZ2h0OiAzLjJyZW07XHJcbiAgICAvLyBwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxufVxyXG5cclxuLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5wcm9ncmFtLWluZm8tdGV4dCB7XHJcbiAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG59XHJcblxyXG4ucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLmNob2ljZS52YWxpZCBzcGFuLmRpc2FibGVkIHtcclxuICAgIGJvcmRlci1jb2xvcjpyZ2IoMjIwLCAyMzAsIDIzMCk7XHJcbn1cclxuXHJcbi5wcm9ibGVtcyAucHJvYmxlbSAuYW5zd2VyIC5mdXJ0aGVyLXF1ZXN0aW9uIC5wYWQxMCB7XHJcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcclxufVxyXG5cclxuXHJcbnNlbGVjdDpkaXNhYmxlZHtcclxuICAgIG9wYWNpdHk6IDAuNjtcclxuIH1cclxuXHJcbiBtYXQtb3B0aW9uIHtcclxuICAgIGZvbnQtc2l6ZTogMS40MjVyZW07XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgZm9udC1mYW1pbHk6IFwiV29yayBTYW5zXCI7XHJcbiAgICBjb2xvcjogIzQ2NDY2RTtcclxuIH1cclxuXHJcbiAubWF0LW9wdGlvbjpob3ZlciB7XHJcbiAgICAgY29sb3I6I2ZmZjtcclxuICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDY0NjZFO1xyXG4gfVxyXG5cclxuIC5tYXQtc2VsZWN0ZWQ6aG92ZXIge1xyXG4gICAgY29sb3I6I2ZmZjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NjQ2NkU7XHJcbn1cclxuXHJcbnNwYW4uc3Bhbi1kaXNhYmxlZCB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLm1vZGFsLWRpYWxvZyB7XHJcbiAgICBtYXJnaW4tbGVmdDogNDAlO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAge1xyXG4gICAgc3Bhbi5tYXQtY2hlY2tib3gtbGFiZWx7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwIDAgMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ucmVxdWlyZW1lbnRsaW5re1xyXG4gICAgY29sb3I6IGJsdWUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnJlcXVpcmVtZW50bGluazpob3ZlcntcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XHJcbn0iXX0= */\"","import { Component, OnInit, AfterContentChecked, ViewChild, ElementRef, OnDestroy } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { ApplicationService } from 'src/app/shared/services/application.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { SingleResultApiResponse } from 'src/app/shared/models/api-response.model';\nimport { SchoolProgramPlacementDetails } from '../models/school-program-placement-details';\nimport { SchoolSubject, School, Term, LookupData, SchoolDuration, Tab_Title, SchoolCalendarTermDTO } from 'src/app/shared/models/lookup-data.model';\nimport { ErrorResponse, ErrorKeyValuePair } from 'src/app/shared/models/error.model';\nimport { Store } from '@ngrx/store';\nimport { DateTime } from 'luxon';\nimport { Action_ApplicationSectionSaved, Action_ApplicationProgramChanged } from '../state/actions';\nimport { ModalService } from 'src/app/shared/services/modal.service';\nimport { Observable, merge, Subscription } from 'rxjs';\nimport { compareSchoolProgramPlacementDetails } from '../shared/utils/ModelUtils';\nimport { slideInOut } from '../animations/slideInOut';\nimport { FormService } from 'src/app/shared/services/form.service';\nimport { UserInfo } from 'src/app/shared/models/user.model';\nimport { AgencyContractService } from 'src/app/shared/services/agency-contract.service';\nimport { Title } from '@angular/platform-browser';\nimport { debounceTime, tap } from 'rxjs/operators';\nimport { LookupService } from 'src/app/shared/services/lookup.service';\nimport * as moment from 'moment';\nimport { UtilityService } from 'src/app/shared/services/utility.service';\n\n@Component({\n selector: 'online-app-school-program-placement',\n templateUrl: './school-program-placement.component.html',\n styleUrls: ['./school-program-placement.component.scss'],\n host: {\n class: 'application-section-component'\n },\n animations: [slideInOut]\n})\nexport class SchoolProgramPlacementComponent implements OnInit, AfterContentChecked, OnDestroy {\n\n schoolProgramFormGroup: FormGroup;\n applicationId: number;\n wishToEnrolIec: boolean = false;\n hasASiblingEnrollingAtTheSameTime: boolean;\n isSiblingEnrolledInAustralia: boolean;\n isEligibleForStudyAbroad: boolean;\n isIntensiveEnglishCourseAvailable: boolean;\n studentAge: number;\n isStudentFromRegularCountry: boolean;\n isFormSubmitted: boolean;\n schoolSubjects: SchoolSubject[];\n schoolSubjects2: SchoolSubject[];\n schoolSubjects3: SchoolSubject[];\n schoolSubjects4: SchoolSubject[];\n schoolSubjects5: SchoolSubject[];\n schoolSubjects6: SchoolSubject[];\n schoolSubjects7: SchoolSubject[];\n\n year12InNSW: boolean;\n year11InNSW: boolean;\n fromTRP: boolean;\n\n\n schools: School[];\n originalSchoolList: School[];\n\n availableSchoolSubjects: SchoolSubject[];\n terms: Term[];\n durations: SchoolDuration[];\n isSaveSuccessful = false;\n isScrollDone = false;\n availableIecStartYear: LookupData[];\n availableProgramStartYear: LookupData[];\n isSubmittedApplication = false;\n showChangeImpactModal: boolean = false;\n\n selectedProgram = '';\n selectedYearOfEntryCode = '';\n selectedWishToEnrolIec: boolean = false;\n selectedIecStartTermCode = '';\n selectedStartTermCode = '';\n selectedDuration: LookupData;\n selectedCompulsorySubject1: LookupData;\n selectedCompulsorySubject2: LookupData;\n selectedCompulsorySubject3: LookupData;\n selectedCompulsorySubject4: LookupData;\n selectedCompulsorySubject5: LookupData;\n selectedCompulsorySubject6: LookupData;\n selectedCompulsorySubject7: LookupData;\n selectedPreferredSchool1: LookupData;\n selectedPreferredSchool2: LookupData;\n selectedPreferredSchool3: LookupData;\n selectedHasASiblingEnrollingAtTheSameTime: boolean;\n selectedIsSiblingEnrolledInAustralia: boolean;\n\n selectedYear12InNSW: boolean;\n selectedYear11InNSW: boolean;\n selectedFromTRP: boolean;\n\n selectedIecStartYear: LookupData;\n selectedProgramStartYear: LookupData;\n\n matchingPreferredSchools1: School[] = [];\n selectedPreferredSchool1Name = '';\n matchingPreferredSchools2: School[] = [];\n selectedPreferredSchool2Name = '';\n matchingPreferredSchools3: School[] = [];\n selectedPreferredSchool3Name = '';\n\n matchingSiblingSchools: School[] = [];\n\n initialSchoolProgramPlacementDetails: SchoolProgramPlacementDetails;\n\n eligibleYearOfEntries: string[] = [];\n\n checkAdditionMsg: boolean;\n\n errorKeyFormFieldMapping = [\n { apiErrorKeyName: 'SchoolProgramType', formFieldName: 'schoolProgramType', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'YearOfEntryCode', formFieldName: 'yearOfEntryCode', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'WishToEnrolIec', formFieldName: 'wishToEnrolIec', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'IecStartTermCode', formFieldName: 'iecStartTermCode', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'IecStartTermYear', formFieldName: 'iecStartTermYear', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'IecDurationCode', formFieldName: 'iecDurationCode', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'StartTermCode', formFieldName: 'startTermCode', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'StartTermYear', formFieldName: 'startTermYear', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'DurationCode', formFieldName: 'durationCode', apiValidationErrorMsg: null },\n\n { apiErrorKeyName: 'Year12InNSW', formFieldName: 'year12InNSW', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'Year11InNSW', formFieldName: 'year11InNSW', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'FromTRP', formFieldName: 'fromTRP', apiValidationErrorMsg: null },\n\n { apiErrorKeyName: 'CompulsorySubject1Code', formFieldName: 'compulsorySubject1Code', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'CompulsorySubject2Code', formFieldName: 'compulsorySubject2Code', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'CompulsorySubject2Code', formFieldName: 'compulsorySubject2Code', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'CompulsorySubject3Code', formFieldName: 'compulsorySubject3Code', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'CompulsorySubject4Code', formFieldName: 'compulsorySubject4Code', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'CompulsorySubject5Code', formFieldName: 'compulsorySubject5Code', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'CompulsorySubject6Code', formFieldName: 'compulsorySubject6Code', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'CompulsorySubject7Code', formFieldName: 'compulsorySubject7Code', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'PreferredSchool1Id', formFieldName: 'preferredSchool1Id', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'PreferredSchool2Id', formFieldName: 'preferredSchool2Id', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'PreferredSchool3Id', formFieldName: 'preferredSchool3Id', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'HasASiblingEnrollingAtTheSameTime', formFieldName: 'hasASiblingEnrollingAtTheSameTime', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'IsSiblingEnrolledInAustralia', formFieldName: 'isSiblingEnrolledInAustralia', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'SiblingGivenName', formFieldName: 'siblingGivenName', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'SiblingFamilyName', formFieldName: 'siblingFamilyName', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'SiblingPreferredName', formFieldName: 'siblingPreferredName', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'SiblingDateOfBirth', formFieldName: 'siblingDateOfBirth', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'SiblingSchoolName', formFieldName: 'siblingSchoolName', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'SiblingStudentNumber', formFieldName: 'siblingStudentNumber', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'SiblingComments', formFieldName: 'siblingComments', apiValidationErrorMsg: null }\n ];\n\n private hasTakenEnglishTest: boolean;\n private areAllSubjectsTaughtInEnglish: boolean;\n private isEnlishNativeLanguage: boolean;\n private userInfo: UserInfo;\n\n private subscriptionsToDispose: Subscription[] = [];\n\n agentHasValidIspContract: boolean = true;\n agentHasValidStudyAbroadContract: boolean = true;\n\n isStudentCurrentlyEnrolledInAustralia: boolean = false;\n schoolCalendarTermsForValidation: SchoolCalendarTermDTO[] = [];\n\n initSchoolProgramDetailsFromApiResponse: SchoolProgramPlacementDetails;\n\n private constrTime = Date.now();\n\n @ViewChild('resolve') resolve: ElementRef;\n\n constructor(fb: FormBuilder,\n private agencyContractService: AgencyContractService,\n private router: Router,\n private store: Store,\n private modalService: ModalService,\n private formService: FormService,\n private activatedRoute: ActivatedRoute,\n private applicationService: ApplicationService,\n private lookupService: LookupService,\n private utilityService: UtilityService,\n private titleService: Title) {\n\n // this.configureJquery();\n\n this.activatedRoute.parent.params.subscribe(params => {\n this.applicationId = +params['id'];\n });\n\n this.schoolProgramFormGroup = fb.group({\n schoolProgramType: '',\n yearOfEntryCode: '',\n wishToEnrolIec: '',\n iecStartTermCode: '',\n iecStartTermYear: '',\n iecDurationCode: '',\n startTermCode: '',\n startTermYear: '',\n durationCode: '',\n year12InNSW: '',\n year11InNSW: '',\n fromTRP:'',\n compulsorySubject1Code: [{ value: 'English', disabled: true }],\n compulsorySubject2Code: '',\n compulsorySubject3Code: '',\n compulsorySubject4Code: '',\n compulsorySubject5Code: '',\n compulsorySubject6Code: '',\n compulsorySubject7Code: '',\n preferredSchool1Id: '',\n preferredSchool2Id: '',\n preferredSchool3Id: '',\n hasASiblingEnrollingAtTheSameTime: '',\n isSiblingEnrolledInAustralia: '',\n siblingGivenName: '',\n siblingFamilyName: '',\n siblingPreferredName: '',\n siblingDateOfBirth: null,\n siblingSchoolName: '',\n siblingStudentNumber: '',\n siblingComments: '',\n isEligibleForStudyAbroad: '',\n ageInYears: ''\n });\n\n console.log(`school program constructor: ${this.constrTime}`);\n console.log(`school program constructor ended: ${Date.now()}: Time elapsed: ${(Date.now() - this.constrTime).toString()}ms`);\n }\n\n ngOnInit() {\n setTimeout(() => {\n const sT = Date.now();\n console.log(`school program : init start - ${sT}`);\n\n if(localStorage.getItem(\"isAgent\") == \"true\"){\n this.titleService.setTitle(Tab_Title.Agent_SchoolProgramAndPlacements_Title);\n }else{\n this.titleService.setTitle(Tab_Title.SchoolProgramAndPlacements_Title);\n }\n this.userInfo = this.activatedRoute.parent.parent.snapshot.data['currentUser'] as UserInfo;\n this.schoolSubjects = this.activatedRoute.snapshot.data['schoolSubjects'];\n this.schools = this.activatedRoute.snapshot.data['schools'];\n this.originalSchoolList = this.schools;\n // Todo filter more by SchoolSubType\n this.schools = this.schools.filter(x => x.SchoolSubType.Description !== 'Intensive English Centre' );\n\n //console.log(\"--- All ISP and SA schools from Referecen cache API is:\", this.schools);\n\n this.terms = this.activatedRoute.snapshot.data['terms'];\n this.durations = this.activatedRoute.snapshot.data['durations'];\n //console.log(\"Durations data is ==>\", this.durations);\n\n this.isIntensiveEnglishCourseAvailable = false;\n\n const subjectsExcludingEnglish = this.schoolSubjects.filter(s => s.Code !== 'English');\n this.schoolSubjects2 = [...subjectsExcludingEnglish];\n this.schoolSubjects3 = [...subjectsExcludingEnglish];\n this.schoolSubjects4 = [...subjectsExcludingEnglish];\n this.schoolSubjects5 = [...subjectsExcludingEnglish];\n this.schoolSubjects6 = [...subjectsExcludingEnglish];\n this.schoolSubjects7 = [...subjectsExcludingEnglish];\n\n this.subscriptionsToDispose.push(\n merge(\n this.schoolProgramFormGroup.get('compulsorySubject2Code').valueChanges\n .pipe(debounceTime(250)),\n this.schoolProgramFormGroup.get('compulsorySubject3Code').valueChanges\n .pipe(debounceTime(250)),\n this.schoolProgramFormGroup.get('compulsorySubject4Code').valueChanges\n .pipe(debounceTime(250)),\n this.schoolProgramFormGroup.get('compulsorySubject5Code').valueChanges\n .pipe(debounceTime(250)),\n this.schoolProgramFormGroup.get('compulsorySubject6Code').valueChanges\n .pipe(debounceTime(250)),\n this.schoolProgramFormGroup.get('compulsorySubject7Code').valueChanges\n .pipe(debounceTime(250)),\n ).subscribe(() => this.massUpdateSubjectOptions())\n );\n\n const dropdownDefault = {\n Code: '',\n Description: 'Please select'\n };\n\n if (!this.durations.some(d => d.Description === 'Please select')) {\n this.durations.unshift(dropdownDefault);\n }\n\n this.subscriptionsToDispose.push(\n this.schoolProgramFormGroup.get(\"startTermCode\").valueChanges\n .pipe(debounceTime(250))\n .subscribe(newValue => {\n this.onStartTermChanged(newValue);\n })\n );\n\n console.log(`school program : init until the ajax calls. Time elapsed: ${(Date.now() - sT).toString()}ms`);\n\n this.applicationService.getSchoolProgramAndPlacementPackage(this.applicationId)\n .subscribe((data: SingleResultApiResponse) => {\n console.log(`school program : getApplicationDetails, getStudentDetails, getSchoolProgramPlacementDetails. Time elapsed: ${(Date.now() - sT).toString()}ms`);\n const programPackage = data.Result;\n const applicationDetails = programPackage.ApplicationDetails;\n const studentDetails = programPackage.StudentDetails;\n const schoolProgramPlacementDetails = programPackage.SchoolProgram;\n const englishProficiency = programPackage.EnglishProficiency;\n\n this.hasTakenEnglishTest = englishProficiency && englishProficiency.HasTakenTest;\n this.areAllSubjectsTaughtInEnglish = englishProficiency && englishProficiency.AllSubjectsTaughtInEnglish;\n this.isEnlishNativeLanguage = englishProficiency && englishProficiency.SpeaksEnglishAtHome;\n this.checkAdditionMsg = schoolProgramPlacementDetails.AllowAdditionalMessage;\n this.isSubmittedApplication = applicationDetails.ApplicationStatus === 'Submitted';\n\n this.isStudentCurrentlyEnrolledInAustralia = studentDetails.IsStudentAlreadyEnrolledInAustralia;\n\n // If the application has already been submitted, ignore the contract validity\n this.agentHasValidIspContract = this.isSubmittedApplication || this.agencyContractService.doesAgencyHaveValidIspContractForNationality(this.userInfo, studentDetails.CountryOfNationalityId);\n this.agentHasValidStudyAbroadContract = this.isSubmittedApplication || this.agencyContractService.doesAgencyHaveValidStudyAbroadContractForNationality(this.userInfo, studentDetails.CountryOfNationalityId);\n\n // Renu:- we beed the school calendar data to validate start term and start year as per new business rules (MN-6124)\n // Only really required when the application isn't already submitted\n if (!this.isSubmittedApplication) {\n var today = new Date();\n this.lookupService.getSchoolCalendarTermsBetween(new Date(`${today.getFullYear()}-01-01`), new Date(`${today.getFullYear() + 3}-12-31`))\n .pipe(\n tap(data => this.schoolCalendarTermsForValidation = data)\n ).subscribe();\n }\n\n this.initSchoolProgramDetailsFromApiResponse = schoolProgramPlacementDetails as SchoolProgramPlacementDetails\n\n this.updateFormValuesFromProgramDetails(schoolProgramPlacementDetails);\n // this.configureJquery();\n this.initialSchoolProgramPlacementDetails = this.getSchoolProgramPlacementDetails();\n\n if (this.isSubmittedApplication) {\n this.schoolProgramFormGroup.disable();\n }\n\n if (!this.agentHasValidIspContract && this.initialSchoolProgramPlacementDetails.SchoolProgramType === 'International') {\n // reset selection and update section status to incomplete\n this.updateProgram('');\n // may need to set the section staus to incomplete\n }\n\n if (!this.agentHasValidStudyAbroadContract && this.initialSchoolProgramPlacementDetails.SchoolProgramType === 'StudyAbroad') {\n // reset selection and update section status to incomplete\n this.updateProgram('');\n // may need to set the section staus to incomplete\n }\n\n });\n }, 4);\n }\n\n ngOnDestroy() {\n this.subscriptionsToDispose.forEach(s => s.unsubscribe());\n }\n\n private massUpdateSubjectOptions() {\n const selectedSchoolSubject2 = this.schoolProgramFormGroup.get('compulsorySubject2Code').value;\n const selectedSchoolSubject3 = this.schoolProgramFormGroup.get('compulsorySubject3Code').value;\n const selectedSchoolSubject4 = this.schoolProgramFormGroup.get('compulsorySubject4Code').value;\n const selectedSchoolSubject5 = this.schoolProgramFormGroup.get('compulsorySubject5Code').value;\n const selectedSchoolSubject6 = this.schoolProgramFormGroup.get('compulsorySubject6Code').value;\n const selectedSchoolSubject7 = this.schoolProgramFormGroup.get('compulsorySubject7Code').value;\n\n this.updateSubjectOptionsForSubjectNumber(2, [selectedSchoolSubject3, selectedSchoolSubject4, selectedSchoolSubject5,\n selectedSchoolSubject6, selectedSchoolSubject7]);\n this.updateSubjectOptionsForSubjectNumber(3, [selectedSchoolSubject2, selectedSchoolSubject4, selectedSchoolSubject5,\n selectedSchoolSubject6, selectedSchoolSubject7]);\n this.updateSubjectOptionsForSubjectNumber(4, [selectedSchoolSubject2, selectedSchoolSubject3, selectedSchoolSubject5,\n selectedSchoolSubject6, selectedSchoolSubject7]);\n this.updateSubjectOptionsForSubjectNumber(5, [selectedSchoolSubject2, selectedSchoolSubject3, selectedSchoolSubject4,\n selectedSchoolSubject6, selectedSchoolSubject7]);\n this.updateSubjectOptionsForSubjectNumber(6, [selectedSchoolSubject2, selectedSchoolSubject3, selectedSchoolSubject4,\n selectedSchoolSubject5, selectedSchoolSubject7]);\n this.updateSubjectOptionsForSubjectNumber(7, [selectedSchoolSubject2, selectedSchoolSubject3, selectedSchoolSubject4,\n selectedSchoolSubject5, selectedSchoolSubject6]);\n }\n\n onStartTermChanged(value) {\n this.availableProgramStartYear = [{\n Code: '',\n Description: 'Please select'\n }];\n\n if (value) {\n\n if (this.isSubmittedApplication) {\n this.availableProgramStartYear.push({\n Description: this.initSchoolProgramDetailsFromApiResponse.StartTermYear.toString(),\n Code: this.initSchoolProgramDetailsFromApiResponse.StartTermYear.toString()\n });\n return;\n }\n\n const startTerm = Number(value.replace('Term', ''));\n const today = new Date();\n const currentYear = today.getFullYear();\n\n today.setHours(0, 0, 0, 0);\n\n let i = currentYear;\n\n while (i <= currentYear + 3) {\n let termIter = this.schoolCalendarTermsForValidation.find(x => x.Year === i && x.TermNumber === startTerm);\n // default fall back, in case the school calendar service falls apart on us\n if (!termIter) {\n termIter = {\n Year: i,\n TermNumber: startTerm,\n Weeks: 10,\n StartDate: new Date(i, startTerm * 3 - 3),\n EndDate: new Date(i, startTerm * 3, 0)\n };\n }\n\n let startYearPossibleInIter = false;\n\n if (this.isStudentCurrentlyEnrolledInAustralia) {\n startYearPossibleInIter = moment(termIter.EndDate).toDate() > today && moment(termIter.StartDate).diff(today, 'months', true) <= 18;\n } else {\n let cutoffDateToApply = moment(termIter.StartDate).add(-1 * (startTerm === 1 ? 12 : 9) * 7, 'days');\n cutoffDateToApply = cutoffDateToApply.add(-cutoffDateToApply.get('day'), 'days').add(5, 'days');\n startYearPossibleInIter = today <= cutoffDateToApply.toDate();\n startYearPossibleInIter = startYearPossibleInIter && moment(termIter.StartDate).diff(today, 'months', true) <= 18;\n }\n\n if (startYearPossibleInIter) {\n this.availableProgramStartYear.push({\n Description: i.toString(),\n Code: i.toString()\n });\n }\n i++;\n }\n\n if (this.schoolProgramFormGroup.controls.startTermYear.value\n && !this.availableProgramStartYear.find(x => x.Code === this.schoolProgramFormGroup.controls.startTermYear.value.toString())) {\n this.schoolProgramFormGroup.controls.startTermYear.setValue(null);\n this.schoolProgramFormGroup.controls.startTermYear.markAsUntouched();\n }\n }\n }\n\n private monthDiff(dateFrom: Date, dateTo: Date): number {\n return dateTo.getMonth() - dateFrom.getMonth() +\n (12 * (dateTo.getFullYear() - dateFrom.getFullYear()))\n }\n\n\n\n updateSubjectOptionsForSubjectNumber(subjectNumber: number, selectedOtherSubjects: string[]) {\n const subjectsAfterExclusion = this.schoolSubjects.filter(s => selectedOtherSubjects.indexOf(s.Code) === -1);\n\n switch(subjectNumber) {\n case 2:\n this.schoolSubjects2 = [...subjectsAfterExclusion];\n break;\n case 3:\n this.schoolSubjects3 = [...subjectsAfterExclusion];\n break;\n case 4:\n this.schoolSubjects4 = [...subjectsAfterExclusion];\n break;\n case 5:\n this.schoolSubjects5 = [...subjectsAfterExclusion];\n break;\n case 6:\n this.schoolSubjects6 = [...subjectsAfterExclusion];\n break;\n case 7:\n this.schoolSubjects7 = [...subjectsAfterExclusion];\n break;\n }\n }\n\n getDateInString(dateObject: Date): string {\n return `${dateObject.getDate()}/${dateObject.getMonth() + 1}/${dateObject.getFullYear()}`;\n }\n\n setSiblingDateOfBirth(dateObject: Date) {\n this.schoolProgramFormGroup.patchValue({\n siblingDateOfBirth: dateObject,\n });\n this.schoolProgramFormGroup.updateValueAndValidity();\n }\n\n updateProgram(program: string) {\n this.selectedProgram = program;\n\n this.schoolProgramFormGroup.patchValue({\n schoolProgramType: program\n });\n\n //console.log(\"current program type is:\", program);\n\n if (program.toLocaleLowerCase() === \"international\") {\n // this.schools = this.schools.filter(s => s.HasISP); //this should have Gender filter applied already\n this.schoolProgramFormGroup.get('durationCode').setValue(\"\");\n }\n else {\n // this.schools = this.schools.filter(s => s.HasStudyAbroad); //this should have Gender filter applied already\n //StudyAborad: default Duration shown as '2 Terms'\n this.schoolProgramFormGroup.get('durationCode').setValue(\"2Term\");\n }\n\n //console.log(\"~~School list after ProgramType filter is:\", this.schools);\n\n this.schoolProgramFormGroup.updateValueAndValidity();\n\n }\n\n isAnyPrimaryYearsEnabled(): boolean {\n const isPrimaryEnabled = !this.isKinderGardenDisabled() || !this.isYear1Disabled() || !this.isYear2Disabled() ||\n !this.isYear3Disabled() || !this.isYear4Disabled() || !this.isYear5Disabled() || !this.isYear6Disabled();\n return isPrimaryEnabled;\n }\n\n isKinderGardenDisabled(): boolean {\n const isEligibleYear = this.eligibleYearOfEntries.some(yearOfEntry => yearOfEntry === 'Kindergarten');\n return !isEligibleYear || this.selectedProgram === 'StudyAbroad';\n }\n\n isYear1Disabled(): boolean {\n const isEligibleYear = this.eligibleYearOfEntries.some(yearOfEntry => yearOfEntry === 'Year1');\n return !isEligibleYear || this.selectedProgram === 'StudyAbroad';\n }\n\n isYear2Disabled(): boolean {\n const isEligibleYear = this.eligibleYearOfEntries.some(yearOfEntry => yearOfEntry === 'Year2');\n return !isEligibleYear || this.selectedProgram === 'StudyAbroad';\n }\n\n isYear3Disabled(): boolean {\n const isEligibleYear = this.eligibleYearOfEntries.some(yearOfEntry => yearOfEntry === 'Year3');\n return !isEligibleYear || this.selectedProgram === 'StudyAbroad';\n }\n\n isYear4Disabled(): boolean {\n const isEligibleYear = this.eligibleYearOfEntries.some(yearOfEntry => yearOfEntry === 'Year4');\n return !isEligibleYear || this.selectedProgram === 'StudyAbroad';\n }\n\n isYear5Disabled(): boolean {\n const isEligibleYear = this.eligibleYearOfEntries.some(yearOfEntry => yearOfEntry === 'Year5');\n return !isEligibleYear || this.selectedProgram === 'StudyAbroad';\n }\n\n isYear6Disabled(): boolean {\n const isEligibleYear = this.eligibleYearOfEntries.some(yearOfEntry => yearOfEntry === 'Year6');\n return !isEligibleYear || this.selectedProgram === 'StudyAbroad';\n }\n\n isYear7Disabled(): boolean {\n const isEligibleYear = this.eligibleYearOfEntries.some(yearOfEntry => yearOfEntry === 'Year7');\n return !isEligibleYear || this.selectedProgram === 'StudyAbroad';\n }\n\n isYear8Disabled(): boolean {\n const isEligibleYear = this.eligibleYearOfEntries.some(yearOfEntry => yearOfEntry === 'Year8');\n return !isEligibleYear || this.selectedProgram === 'StudyAbroad';\n }\n\n isYear9Disabled(): boolean {\n const isEligibleYear = this.eligibleYearOfEntries.some(yearOfEntry => yearOfEntry === 'Year9');\n return !isEligibleYear;\n }\n\n isYear10Disabled(): boolean {\n const isEligibleYear = this.eligibleYearOfEntries.some(yearOfEntry => yearOfEntry === 'Year10');\n return !isEligibleYear;\n }\n\n isYear11Disabled(): boolean {\n const isEligibleYear = this.eligibleYearOfEntries.some(yearOfEntry => yearOfEntry === 'Year11');\n return !isEligibleYear;\n }\n\n isYear12Disabled(): boolean {\n const isEligibleYear = this.eligibleYearOfEntries.some(yearOfEntry => yearOfEntry === 'Year12');\n return !isEligibleYear;\n }\n\n isTerm3Term4Disabled(): boolean {\n return (this.selectedYearOfEntryCode==='Year12' && !(this.selectedYear11InNSW === true || this.selectedYear12InNSW === true || this.selectedFromTRP === true));\n }\n\n showYear12ErrorMsg(): boolean {\n return (this.selectedYearOfEntryCode==='Year12' && !(this.selectedYear11InNSW === true || this.selectedYear12InNSW === true || this.selectedFromTRP === true));\n }\n\n\n //Renu:- MN-6123 - We would like students of all nationalities to be able to apply for primary school\n isRegularCountryGradeError(): boolean {\n return false; // this.isStudentFromRegularCountry && (this.isYearOfEntryLesserThan4() || this.isFirstSemesterYear4());\n }\n\n isYearOfEntryLesserThan4(): boolean {\n return this.selectedYearOfEntryCode === 'Kindergarten'\n || this.selectedYearOfEntryCode === 'Year1'\n || this.selectedYearOfEntryCode === 'Year2'\n || this.selectedYearOfEntryCode === 'Year3';\n }\n\n isFirstSemesterYear4(): boolean {\n return this.selectedYearOfEntryCode === 'Year4' &&\n (this.selectedStartTermCode === 'Term1' || this.selectedStartTermCode === 'Term2');\n }\n\n isPrimaryYear() {\n return this.selectedYearOfEntryCode === 'Kindergarten'\n || this.selectedYearOfEntryCode === 'Year1'\n || this.selectedYearOfEntryCode === 'Year2'\n || this.selectedYearOfEntryCode === 'Year3'\n || this.selectedYearOfEntryCode === 'Year4'\n || this.selectedYearOfEntryCode === 'Year5'\n || this.selectedYearOfEntryCode === 'Year6';\n }\n\n isLastTwoYear() {\n return this.selectedYearOfEntryCode === 'Year11'\n || this.selectedYearOfEntryCode === 'Year12';\n }\n\n getProgramSubText(): string {\n return this.isPrimaryYear() ? '1 of 4' : '1 of 5';\n }\n\n getStartTermSubText(): string {\n return this.isPrimaryYear() ? '2 of 4' : '2 of 5';\n }\n\n getSchoolSelectionSubText(): string {\n return this.isPrimaryYear() ? '3 of 4' : '4 of 5';\n }\n\n getSiblingInformationSelectionSubText(): string {\n return this.isPrimaryYear() ? '4 of 4' : '5 of 5';\n }\n\n updateyearOfEntryCode(yearOfEntryCode: string) {\n this.selectedYearOfEntryCode = yearOfEntryCode;\n\n this.schoolProgramFormGroup.patchValue({\n yearOfEntryCode: yearOfEntryCode\n });\n\n if (yearOfEntryCode === 'Year7' ||\n yearOfEntryCode === 'Year8' ||\n yearOfEntryCode === 'Year9' ||\n yearOfEntryCode === 'Year10' ||\n yearOfEntryCode === 'Year11' ||\n yearOfEntryCode === 'Year12') {\n this.isIntensiveEnglishCourseAvailable = true;\n } else {\n this.isIntensiveEnglishCourseAvailable = false;\n }\n\n this.schoolProgramFormGroup.updateValueAndValidity();\n\n }\n\n\n\n onSchool1Search(schoolName: string) {\n this.matchingPreferredSchools1 = this.getMatchingPreferredSchools(schoolName, 1);\n this.selectedPreferredSchool1Name = schoolName;\n\n if (this.matchingPreferredSchools1.length === 0) {\n //not found or user clears other prefer-school field or copy/paste existing school\n //this.updateSelectableSchoolList();\n }\n }\n\n onSchool2Search(schoolName: string) {\n this.matchingPreferredSchools2 = this.getMatchingPreferredSchools(schoolName, 2);\n this.selectedPreferredSchool2Name = schoolName;\n\n if (this.matchingPreferredSchools2.length === 0) {\n //not found or user clears other prefer-school field or copy/paste existing school\n //this.updateSelectableSchoolList();\n }\n }\n\n onSchool3Search(schoolName: string) {\n this.matchingPreferredSchools3 = this.getMatchingPreferredSchools(schoolName, 3);\n this.selectedPreferredSchool3Name = schoolName;\n\n if (this.matchingPreferredSchools3.length === 0) {\n //not found or user clears other prefer-school field or copy/paste existing school\n //this.updateSelectableSchoolList();\n }\n }\n\n\n onSiblingSchoolSearch(schoolName: string) {\n // Who did this???\n // this.matchingSiblingSchools = this.getMatchingPreferredSchools(schoolName);\n schoolName = schoolName.trim();\n if (schoolName) {\n this.matchingSiblingSchools = this.originalSchoolList.filter(\n x => x.Name.toLowerCase().startsWith(schoolName.toLowerCase()));\n } else {\n this.matchingSiblingSchools = [];\n }\n }\n\n getMatchingPreferredSchools(schoolName: string, index: number) {\n let matchingPreferredSchools: School[] = [];\n schoolName = schoolName.trim();\n if (schoolName) {\n matchingPreferredSchools = this.schools.filter(school => school.Name.toLowerCase().startsWith(schoolName.toLowerCase()))\n const program = this.selectedProgram;\n if (!program) {\n return [];\n }\n if (program.toLocaleLowerCase() === 'international') {\n matchingPreferredSchools = matchingPreferredSchools.filter(x => x.HasISP);\n } else {\n matchingPreferredSchools = matchingPreferredSchools.filter(x => x.HasStudyAbroad);\n }\n if (this.isPrimaryYear()) {\n matchingPreferredSchools = matchingPreferredSchools.filter(x => x.SchoolLevel.Description === 'Primary School');\n } else {\n matchingPreferredSchools = matchingPreferredSchools.filter(x => x.SchoolLevel.Description === 'Secondary School');\n }\n if (index === 1) {\n matchingPreferredSchools = matchingPreferredSchools.filter(\n x => x.Name !== this.selectedPreferredSchool2Name && x.Name !== this.selectedPreferredSchool3Name);\n }\n if (index === 2) {\n matchingPreferredSchools = matchingPreferredSchools.filter(\n x => x.Name !== this.selectedPreferredSchool1Name && x.Name !== this.selectedPreferredSchool3Name);\n }\n if (index === 3) {\n matchingPreferredSchools = matchingPreferredSchools.filter(\n x => x.Name !== this.selectedPreferredSchool1Name && x.Name !== this.selectedPreferredSchool2Name);\n }\n } else {\n matchingPreferredSchools = [];\n }\n return matchingPreferredSchools;\n }\n\n updatePreferredSchoolByName(schoolName: string, schoolIndex: number) {\n const selectedSchool = this.originalSchoolList.find(school => school.Name === schoolName);\n\n //console.log(`schoolIndex:${schoolIndex},selectedSchool.SchoolId:${selectedSchool ? selectedSchool.Id : ''}`);\n\n switch (schoolIndex) {\n case 1:\n this.selectedPreferredSchool1Name = selectedSchool ? selectedSchool.Name : '';\n this.schoolProgramFormGroup.patchValue({\n preferredSchool1Id: selectedSchool ? selectedSchool.Id : ''\n });\n break;\n case 2:\n this.selectedPreferredSchool2Name = selectedSchool ? selectedSchool.Name : '';\n this.schoolProgramFormGroup.patchValue({\n preferredSchool2Id: selectedSchool ? selectedSchool.Id : ''\n });\n break;\n case 3:\n this.selectedPreferredSchool3Name = selectedSchool ? selectedSchool.Name : '';\n this.schoolProgramFormGroup.patchValue({\n preferredSchool3Id: selectedSchool ? selectedSchool.Id : ''\n });\n break;\n }\n\n this.schoolProgramFormGroup.updateValueAndValidity();\n\n\n //also temporarily remove that school fromSchoolList\n //this.updateSelectableSchoolList();\n }\n\n selectSiblingSchool(school: School) {\n this.schoolProgramFormGroup.patchValue({\n siblingSchoolName: school.Name\n });\n this.matchingSiblingSchools = [];\n\n this.schoolProgramFormGroup.updateValueAndValidity();\n }\n\n isValidIecValues(): boolean {\n\n const iecStartTerm = this.schoolProgramFormGroup.get('iecStartTermCode').value;\n const iecStartTermYear = this.schoolProgramFormGroup.get('iecStartTermYear').value;\n\n let validIecStartTerm = false;\n let validIecStartYear = false;\n\n if (iecStartTerm === 'Term1' ||\n iecStartTerm === 'Term2' ||\n iecStartTerm === 'Term3' ||\n iecStartTerm === 'Term4') {\n validIecStartTerm = true;\n }\n\n if (iecStartTermYear >= 2018 && iecStartTermYear < 2050) {\n validIecStartYear = true;\n }\n\n return validIecStartTerm && validIecStartYear;\n\n }\n\n updateSchoolStartTermYear() {\n\n if (this.isValidIecValues()) {\n\n const iecStartTerm = this.schoolProgramFormGroup.get('iecStartTermCode').value;\n const iecStartTermYear = this.schoolProgramFormGroup.get('iecStartTermYear').value;\n\n let schoolStartYear = iecStartTermYear;\n\n if (iecStartTerm === 'Term1') {\n this.selectedStartTermCode = 'Term3';\n } else if (iecStartTerm === 'Term2') {\n this.selectedStartTermCode = 'Term4';\n } else if (iecStartTerm === 'Term3') {\n this.selectedStartTermCode = 'Term1';\n } else if (iecStartTerm === 'Term4') {\n this.selectedStartTermCode = 'Term2';\n }\n\n if (iecStartTerm === 'Term3' || iecStartTerm === 'Term4') {\n schoolStartYear = Number(schoolStartYear) + 1;\n }\n\n this.schoolProgramFormGroup.patchValue({\n startTermCode: this.selectedStartTermCode,\n startTermYear: schoolStartYear,\n });\n\n this.schoolProgramFormGroup.updateValueAndValidity();\n\n } else {\n\n this.schoolProgramFormGroup.patchValue({\n startTermCode: '',\n startTermYear: '',\n });\n\n this.schoolProgramFormGroup.updateValueAndValidity();\n\n }\n\n\n\n }\n\n updateWishToEnrolIec(wishToEnrolIec: boolean) {\n this.selectedWishToEnrolIec = wishToEnrolIec && false;\n\n\n this.schoolProgramFormGroup.patchValue({\n wishToEnrolIec: wishToEnrolIec && false\n });\n\n if (!wishToEnrolIec) {\n this.schoolProgramFormGroup.patchValue({\n iecStartTermCode: '',\n iecStartTermYear: '',\n });\n }\n\n this.schoolProgramFormGroup.updateValueAndValidity();\n }\n\n getSchoolStartTermText(): string {\n\n const startTerm = this.schoolProgramFormGroup.get('startTermCode').value;\n\n let startTermText = '';\n\n if (startTerm === 'Term1') {\n startTermText = 'Term 1 January';\n } else if (startTerm === 'Term2') {\n startTermText = 'Term 2 April';\n } else if (startTerm === 'Term3') {\n startTermText = 'Term 3 July';\n } else if (startTerm === 'Term4') {\n startTermText = 'Term 4 October';\n } else {\n startTermText = '';\n }\n\n return startTermText;\n }\n\n getIECTuitionAdviceText(): string {\n let iecText: string = '';\n if (this.selectedYearOfEntryCode && !this.isPrimaryYear()) {\n // if (this.hasTakenEnglishTest || this.areAllSubjectsTaughtInEnglish || this.isEnlishNativeLanguage) {\n // iecText = '(Please note that there may be an additional six months of Intensive English tuition included at the beginning of your course subject to review by DE International.)';\n // } else if (this.hasTakenEnglishTest === false && this.areAllSubjectsTaughtInEnglish === false && this.isEnlishNativeLanguage === false) {\n // iecText = '(Please note that based on your current level of English proficiency, there will be an additional six months of Intensive English tuition included at the beginning of your course.)';\n // }\n iecText = '(Please choose the school term when you would like to commence your studies, inclusive of 2 terms of study at an Intensive English Centre (IEC))'\n }\n return iecText;\n }\n\n changeCheckAdditionalMsg(event): void{\n this.checkAdditionMsg = event.checked;\n }\n\n showAdditionalMsg(): boolean{\n return this.selectedYearOfEntryCode === 'Year11' && (this.selectedStartTermCode==='Term3' || this.selectedStartTermCode==='Term4');\n\n //return this.isLastTwoYear() && (this.selectedStartTermCode==='Term3' || this.selectedStartTermCode==='Term4');\n }\n\n getSchoolStartYearText(): string {\n const startTermYear = this.schoolProgramFormGroup.get('startTermYear').value;\n\n return startTermYear;\n }\n\n updateIecStartTermCode(iecStartTermCode: string) {\n this.selectedIecStartTermCode = iecStartTermCode;\n\n this.schoolProgramFormGroup.patchValue({\n iecStartTermCode: iecStartTermCode\n });\n\n this.schoolProgramFormGroup.updateValueAndValidity();\n\n this.updateSchoolStartTermYear();\n }\n\n onIecStartTermYearChange(iecStartTermYear: any) {\n\n if (isNaN(iecStartTermYear)) {\n //console.log(`iecStartTermYear,${iecStartTermYear}`);\n this.schoolProgramFormGroup.get('iecStartTermYear').setErrors({ notANumber: true });\n this.schoolProgramFormGroup.updateValueAndValidity();\n return;\n }\n\n\n this.schoolProgramFormGroup.patchValue({\n iecStartTermYear\n });\n\n this.schoolProgramFormGroup.updateValueAndValidity();\n this.updateSchoolStartTermYear();\n }\n\n updateStartTermCode(startTermCode: string) {\n this.selectedStartTermCode = startTermCode;\n\n this.schoolProgramFormGroup.patchValue({\n startTermCode: startTermCode\n });\n\n this.schoolProgramFormGroup.updateValueAndValidity();\n }\n\n updateYear12InNSW(year12InNSW: boolean){\n this.selectedYear12InNSW = year12InNSW;\n\n this.schoolProgramFormGroup.patchValue({\n year12InNSW: year12InNSW\n });\n\n this.schoolProgramFormGroup.updateValueAndValidity();\n }\n\n updateYear11InNSW(year11InNSW: boolean){\n this.selectedYear11InNSW = year11InNSW;\n\n this.schoolProgramFormGroup.patchValue({\n year11InNSW: year11InNSW\n });\n\n this.schoolProgramFormGroup.updateValueAndValidity();\n }\n\n updateFromTRP(fromTRP: boolean){\n this.selectedFromTRP = fromTRP;\n\n this.schoolProgramFormGroup.patchValue({\n fromTRP: fromTRP\n });\n\n this.schoolProgramFormGroup.updateValueAndValidity();\n }\n\n updateIsSiblingEnrolledInAustralia(isSiblingEnrolledInAustralia: boolean) {\n this.selectedIsSiblingEnrolledInAustralia = isSiblingEnrolledInAustralia;\n\n this.schoolProgramFormGroup.patchValue({\n isSiblingEnrolledInAustralia: isSiblingEnrolledInAustralia\n });\n\n if (!isSiblingEnrolledInAustralia) {\n this.schoolProgramFormGroup.patchValue({\n siblingGivenName: '',\n siblingFamilyName: '',\n siblingPreferredName: '',\n siblingDateOfBirth: null,\n siblingSchoolName: '',\n siblingStudentNumber: '',\n siblingComments: '',\n });\n }\n\n this.schoolProgramFormGroup.updateValueAndValidity();\n\n // this.configureJquery();\n }\n\n updateHasASiblingEnrollingAtTheSameTime(hasASiblingEnrollingAtTheSameTime: boolean) {\n this.selectedHasASiblingEnrollingAtTheSameTime = hasASiblingEnrollingAtTheSameTime;\n\n this.schoolProgramFormGroup.patchValue({\n hasASiblingEnrollingAtTheSameTime: hasASiblingEnrollingAtTheSameTime\n });\n\n this.schoolProgramFormGroup.updateValueAndValidity();\n\n // this.configureJquery();\n }\n\n\n getDuration(termCode: string): LookupData {\n const duration = this.terms.find(term => term.Code === termCode);\n\n if (duration) {\n return duration;\n }\n\n return this.getDefaultOption();\n }\n\n getCompulsorySubject(subjectCode: string): LookupData {\n const compulsorySubject = this.schoolSubjects.find(schoolSubject => schoolSubject.Code === subjectCode);\n\n if (compulsorySubject) {\n return compulsorySubject;\n }\n\n return this.getDefaultOption();\n\n }\n\n getDefaultOption(): LookupData {\n return {\n Code: '',\n Description: 'Please select'\n };\n }\n\n getDefaultSchool(): School {\n return {\n Id: '',\n Name: '',\n GenderType: '',\n HasISP: true,\n HasStudyAbroad: false,\n SchoolSubType: {},\n SchoolLevel: {}\n };\n }\n\n\n getSchool(schoolId: string): School {\n const selectedSchool = this.schools.find(school => school.Id == schoolId);\n\n if (selectedSchool) {\n return selectedSchool;\n }\n\n return this.getDefaultSchool();\n }\n\n convertDateToString(dateInString: string): string {\n if (!dateInString) {\n return null;\n }\n\n const date = new Date(dateInString);\n const dateStr = date ? `${date.getDate()}/${date.getMonth() + 1}/${date.getFullYear()}` : '';\n return dateStr;\n }\n\n\n handleYearOfEntryChanges(yearOfEntryCode: string): void {\n\n this.isIntensiveEnglishCourseAvailable = yearOfEntryCode === 'Year7' ||\n yearOfEntryCode === 'Year8' ||\n yearOfEntryCode === 'Year9' ||\n yearOfEntryCode === 'Year10' ||\n yearOfEntryCode === 'Year11' ||\n yearOfEntryCode === 'Year12';\n this.wishToEnrolIec = false;\n\n }\n\n isThisFieldHasErrors(fieldName: string): boolean {\n return this.isFormSubmitted && this.schoolProgramFormGroup.get(fieldName).errors != null;\n }\n\n isThisFieldHasApiError(fieldName: string): boolean {\n return this.isFormSubmitted\n && this.schoolProgramFormGroup.get(fieldName).errors != null\n && this.schoolProgramFormGroup.get(fieldName).errors.apiValidationError != null;\n }\n\n setApiValidationError(errors: ErrorKeyValuePair[]): void {\n //console.log(`In setApiValidationError.apiErrorKeyName: ${apiErrorKeyName}, apiErrorMsg:${apiErrorMsg}`);\n\n //Clear previous error messages before setting new ones\n this.errorKeyFormFieldMapping.forEach((item, index, arr) => {\n item.apiValidationErrorMsg = null;\n const { formFieldName } = item;\n this.schoolProgramFormGroup.get(formFieldName).setErrors(null);\n });\n\n for (const error of errors) {\n if (error.Key !== 'YearOfEntryRegularCountryError') {\n const errorField = this.errorKeyFormFieldMapping.find(errorKeyFormField => errorKeyFormField.apiErrorKeyName === error.Key);\n\n if (errorField) {\n const { formFieldName } = errorField;\n this.schoolProgramFormGroup.get(formFieldName).setErrors({ apiValidationError: true });\n errorField.apiValidationErrorMsg = error.Value;\n }\n }\n }\n //console.log('SaveAndContinue - setApiValidationError - this.schoolProgramFormGroup.get(yearOfEntryCode): ', this.schoolProgramFormGroup.get('yearOfEntryCode'));\n //console.log('SaveAndContinue - setApiValidationError - this.schoolProgramFormGroup: ', this.schoolProgramFormGroup );\n }\n\n\n /*\n (errorResponse: ErrorResponse) => {\n const { errors } = errorResponse;\n console.log(errorResponse);\n for (const error of errors) {\n this.setApiValidationError(error.Key, error.Value);\n }\n this.visaohscFormGroup.updateValueAndValidity();\n this.configureJquery();\n this.dispatchSectionSaveAction();\n this.initialVisaOHSCDetails = this.getVisaOHSCDetails();\n this.isScrollDone = false;\n });\n\n setApiValidationError(apiErrorKeyName: string, apiErrorMsg): void {\n const errorField = this.errorKeyFormFieldMapping.find( errorKeyFormField => errorKeyFormField.apiErrorKeyName === apiErrorKeyName);\n if (errorField) {\n const { formFieldName } = errorField;\n this.visaohscFormGroup.get(formFieldName).setErrors({apiValidationError : true});\n errorField.apiValidationErrorMsg = apiErrorMsg;\n }\n }\n */\n\n getApiValidationErrorMsg(formFieldName: string): string {\n //console.log('getApiValidationErrorMsg', formFieldName);\n //console.log('this.errorKeyFormFieldMapping', this.errorKeyFormFieldMapping);\n const errorField = this.errorKeyFormFieldMapping.find(errorKeyFormField => errorKeyFormField.formFieldName === formFieldName);\n return errorField.apiValidationErrorMsg ? errorField.apiValidationErrorMsg : '';\n }\n\n previous() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'english-proficiency']);\n }\n next() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'parent-guardian-details']);\n }\n\n getSchoolProgramPlacementDetails(): SchoolProgramPlacementDetails {\n\n const schoolProgramPlacementDetails = new SchoolProgramPlacementDetails();\n schoolProgramPlacementDetails.SchoolProgramType = this.getStringFieldValue('schoolProgramType');\n schoolProgramPlacementDetails.YearOfEntryCode = this.getStringFieldValue('yearOfEntryCode');\n schoolProgramPlacementDetails.WishToEnrolIec = false;\n schoolProgramPlacementDetails.IecStartTermCode = this.getStringFieldValue('iecStartTermCode');\n schoolProgramPlacementDetails.IecStartTermYear = this.getNumberFieldValue('iecStartTermYear');\n schoolProgramPlacementDetails.IecDurationCode = '2Term';\n schoolProgramPlacementDetails.StartTermCode = this.getStringFieldValue('startTermCode');\n schoolProgramPlacementDetails.StartTermYear = this.getNumberFieldValue('startTermYear');\n schoolProgramPlacementDetails.DurationCode = this.getStringFieldValue('durationCode');\n\n schoolProgramPlacementDetails.Year12InNSW = this.schoolProgramFormGroup.get('year12InNSW').value;\n schoolProgramPlacementDetails.Year11InNSW = this.schoolProgramFormGroup.get('year11InNSW').value;\n schoolProgramPlacementDetails.FromTRP = this.schoolProgramFormGroup.get('fromTRP').value;\n\n schoolProgramPlacementDetails.CompulsorySubject1Code = this.getStringFieldValue('compulsorySubject1Code');\n schoolProgramPlacementDetails.CompulsorySubject2Code = this.getStringFieldValue('compulsorySubject2Code');\n schoolProgramPlacementDetails.CompulsorySubject3Code = this.getStringFieldValue('compulsorySubject3Code');\n schoolProgramPlacementDetails.CompulsorySubject4Code = this.getStringFieldValue('compulsorySubject4Code');\n schoolProgramPlacementDetails.CompulsorySubject5Code = this.getStringFieldValue('compulsorySubject5Code');\n schoolProgramPlacementDetails.CompulsorySubject6Code = this.getStringFieldValue('compulsorySubject6Code');\n schoolProgramPlacementDetails.CompulsorySubject7Code = this.getStringFieldValue('compulsorySubject7Code');\n schoolProgramPlacementDetails.PreferredSchool1Id = this.getStringFieldValue('preferredSchool1Id');\n schoolProgramPlacementDetails.PreferredSchool2Id = this.getStringFieldValue('preferredSchool2Id');\n schoolProgramPlacementDetails.PreferredSchool3Id = this.getStringFieldValue('preferredSchool3Id');\n schoolProgramPlacementDetails.HasASiblingEnrollingAtTheSameTime = this.schoolProgramFormGroup.get('hasASiblingEnrollingAtTheSameTime').value;\n schoolProgramPlacementDetails.IsSiblingEnrolledInAustralia = this.schoolProgramFormGroup.get('isSiblingEnrolledInAustralia').value;\n schoolProgramPlacementDetails.SiblingGivenName = this.getStringFieldValue('siblingGivenName');\n schoolProgramPlacementDetails.SiblingFamilyName = this.getStringFieldValue('siblingFamilyName');\n schoolProgramPlacementDetails.SiblingPreferredName = this.getStringFieldValue('siblingPreferredName');\n schoolProgramPlacementDetails.SiblingDateOfBirth = this.getDate('siblingDateOfBirth');\n schoolProgramPlacementDetails.SiblingSchoolName = this.getStringFieldValue('siblingSchoolName');\n schoolProgramPlacementDetails.SiblingStudentNumber = this.getStringFieldValue('siblingStudentNumber');\n schoolProgramPlacementDetails.SiblingComments = this.getStringFieldValue('siblingComments');\n schoolProgramPlacementDetails.AllowAdditionalMessage = this.checkAdditionMsg;\n return schoolProgramPlacementDetails;\n\n }\n\n\n getStringFieldValue(formFieldName: string): string {\n return this.schoolProgramFormGroup.get(formFieldName).value;\n }\n\n getBooleanFieldValue(formFieldName: string): any {\n return this.schoolProgramFormGroup.get(formFieldName).value;\n }\n\n getNumberFieldValue(formFieldName: string): number {\n return this.schoolProgramFormGroup.get(formFieldName).value;\n }\n\n\n updateFormValuesFromProgramDetails(programDetails: SchoolProgramPlacementDetails): void {\n\n //console.log(\"school program details loaded from db is:\", programDetails);\n\n this.isEligibleForStudyAbroad = programDetails.IsEligibleForStudyAbroad;\n this.studentAge = programDetails.AgeInYears;\n this.isStudentFromRegularCountry = programDetails.IsStudentFromRegularCountry;\n\n this.eligibleYearOfEntries = programDetails.EligibleYearOfEntries;\n if (!this.eligibleYearOfEntries) this.eligibleYearOfEntries = [];\n\n //console.log(`Student Age:${this.studentAge}`);\n\n //MN-512 need to filter out based on gender (already knew) and then isp or studyabroad\n this.filterSchoolsFromGender(programDetails.Gender);\n\n let preferredSchool1 = this.schools.find(school => school.Id == programDetails.PreferredSchool1Id);\n let preferredSchool2 = this.schools.find(school => school.Id == programDetails.PreferredSchool2Id);\n let preferredSchool3 = this.schools.find(school => school.Id == programDetails.PreferredSchool3Id);\n\n this.schoolProgramFormGroup.patchValue({\n schoolProgramType: programDetails.SchoolProgramType,\n yearOfEntryCode: programDetails.YearOfEntryCode,\n wishToEnrolIec: programDetails.WishToEnrolIec && false,\n iecStartTermCode: programDetails.IecStartTermCode,\n iecStartTermYear: programDetails.IecStartTermYear == null ? '' : programDetails.IecStartTermYear,\n iecDurationCode: programDetails.IecDurationCode,\n startTermCode: programDetails.StartTermCode,\n startTermYear: programDetails.StartTermYear == null ? '' : programDetails.StartTermYear,\n durationCode: programDetails.DurationCode == null ? '' : programDetails.DurationCode,\n compulsorySubject1Code: 'English', // programDetails.CompulsorySubject1Code,\n year12InNSW: programDetails.Year12InNSW,\n year11InNSW: programDetails.Year11InNSW,\n fromTRP:programDetails.FromTRP,\n compulsorySubject2Code: programDetails.CompulsorySubject2Code ? programDetails.CompulsorySubject2Code : '',\n compulsorySubject3Code: programDetails.CompulsorySubject3Code ? programDetails.CompulsorySubject3Code : '',\n compulsorySubject4Code: programDetails.CompulsorySubject4Code ? programDetails.CompulsorySubject4Code : '',\n compulsorySubject5Code: programDetails.CompulsorySubject5Code ? programDetails.CompulsorySubject5Code : '',\n compulsorySubject6Code: programDetails.CompulsorySubject6Code ? programDetails.CompulsorySubject6Code : '',\n compulsorySubject7Code: programDetails.CompulsorySubject7Code ? programDetails.CompulsorySubject7Code : '',\n preferredSchool1Id: programDetails.PreferredSchool1Id,\n selectedPreferredSchool1Name: preferredSchool1 == null ? '' : preferredSchool1.Name,\n preferredSchool2Id: programDetails.PreferredSchool2Id,\n selectedPreferredSchool2Name: preferredSchool2 == null ? '' : preferredSchool2.Name,\n preferredSchool3Id: programDetails.PreferredSchool3Id,\n hasASiblingEnrollingAtTheSameTime: programDetails.HasASiblingEnrollingAtTheSameTime,\n selectedPreferredSchool3Name: preferredSchool3 == null ? '' : preferredSchool3.Name,\n isSiblingEnrolledInAustralia: programDetails.IsSiblingEnrolledInAustralia,\n siblingGivenName: programDetails.SiblingGivenName,\n siblingFamilyName: programDetails.SiblingFamilyName,\n siblingPreferredName: programDetails.SiblingPreferredName,\n siblingDateOfBirth: programDetails.SiblingDateOfBirth ? new Date(programDetails.SiblingDateOfBirth) : null,\n siblingSchoolName: programDetails.SiblingSchoolName,\n siblingStudentNumber: programDetails.SiblingStudentNumber,\n siblingComments: programDetails.SiblingComments\n });\n\n this.selectedYearOfEntryCode = programDetails.YearOfEntryCode;\n this.selectedHasASiblingEnrollingAtTheSameTime = programDetails.HasASiblingEnrollingAtTheSameTime;\n this.selectedIsSiblingEnrolledInAustralia = programDetails.IsSiblingEnrolledInAustralia;\n this.selectedPreferredSchool1Name = this.getSchool(programDetails.PreferredSchool1Id).Name.trim();\n this.selectedPreferredSchool2Name = this.getSchool(programDetails.PreferredSchool2Id).Name.trim();\n this.selectedPreferredSchool3Name = this.getSchool(programDetails.PreferredSchool3Id).Name.trim();\n\n this.selectedYear11InNSW = programDetails.Year11InNSW;\n this.selectedYear12InNSW = programDetails.Year12InNSW;\n this.selectedFromTRP = programDetails.FromTRP;\n\n this.isIntensiveEnglishCourseAvailable = programDetails.YearOfEntryCode === 'Year7' ||\n programDetails.YearOfEntryCode === 'Year8' ||\n programDetails.YearOfEntryCode === 'Year9' ||\n programDetails.YearOfEntryCode === 'Year10' ||\n programDetails.YearOfEntryCode === 'Year11' ||\n programDetails.YearOfEntryCode === 'Year12';\n\n this.selectedWishToEnrolIec = programDetails.WishToEnrolIec && false // We don't need this question any more;\n this.selectedIecStartTermCode = programDetails.IecStartTermCode;\n this.selectedStartTermCode = programDetails.StartTermCode;\n this.selectedProgram = programDetails.SchoolProgramType;\n\n //have to do this explicitly\n this.selectedPreferredSchool1Name = preferredSchool1 == null ? '' : preferredSchool1.Name;\n this.selectedPreferredSchool2Name = preferredSchool2 == null ? '' : preferredSchool2.Name;\n this.selectedPreferredSchool3Name = preferredSchool3 == null ? '' : preferredSchool3.Name;\n\n\n //capture the 'original school list' snapshot\n //this.originalSchoolList = this.schools;\n\n //in case user saved before and go back to this page\n //this.updateSelectableSchoolList();\n }\n\n filterSchoolsFromGender(studentGender: string) {\n if (studentGender === 'M') {\n this.schools = this.schools.filter(s => !s.GenderType || s.GenderType.toLowerCase() !== \"girls\");\n }\n else if (studentGender === 'F') {\n this.schools = this.schools.filter(s => !s.GenderType || s.GenderType.toLowerCase() !== \"boys\");\n }\n\n // console.log(\"--- school list after filter by gender is:\", this.schools);\n }\n\n\n getDate(fieldName: string): string {\n\n // const dateObject = new Date($(`#${fieldName}`).datepicker('getDate'));\n // const dateObject = this.schoolProgramFormGroup.get(fieldName).value;\n // const dateTimeObject = DateTime.fromJSDate(dateObject);\n\n // if (!dateTimeObject.isValid) {\n // return null;\n // }\n\n // const initialDate = new Date(1970, 0, 1);\n\n // if (dateObject.getDate() === initialDate.getDate() &&\n // dateObject.getMonth() === initialDate.getMonth() &&\n // dateObject.getFullYear() === initialDate.getFullYear()) {\n // //console.log('no date to db');\n // return null;\n // }\n // // const dateObject = this.schoolProgramFormGroup.get(fieldName).value;\n // const userTimezoneOffset = dateObject.getTimezoneOffset() * 60000;\n // const date = new Date(dateObject.getTime() - userTimezoneOffset);\n // //console.log('date to db', date.toISOString());\n // return date.toISOString();\n\n return this.utilityService.getDateStrWithoutTimeZone(this.schoolProgramFormGroup.get(fieldName).value);\n }\n\n\n\n saveAndContinue(): void {\n this.updatePreferredSchoolByName(this.selectedPreferredSchool1Name, 1);\n this.updatePreferredSchoolByName(this.selectedPreferredSchool2Name, 2);\n this.updatePreferredSchoolByName(this.selectedPreferredSchool3Name, 3);\n const programDetails = this.getSchoolProgramPlacementDetails();\n this.isFormSubmitted = true;\n if(this.showAdditionalMsg() && !this.checkAdditionMsg){\n return;\n }\n if(this.showYear12ErrorMsg()){\n return;\n }\n this.applicationService.updateSchoolProgramAndPlacementDetails(this.applicationId, programDetails)\n .subscribe((response: SingleResultApiResponse) => {\n this.dispatchSectionSaveAction();\n this.isSaveSuccessful = true;\n if (this.isSchoolProgramChanged()) {\n //console.log('program changed.. going to fire an program change action');\n this.dispatchProgramChangeAction();\n }\n\n if (response.Result) {\n this.showChangeImpactModal = response.Result.IsSchoolProgramStatusChanged || response.Result.IsYearOfEntryStatusChanged;\n }\n if (this.showChangeImpactModal === false) {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'parent-guardian-details']);\n } else {\n setTimeout(() => {\n this.resolve.nativeElement.focus();\n }, 100);\n }\n }, (errorResponse: ErrorResponse) => {\n const { errors } = errorResponse;\n\n //console.log('errors: ', errors);\n\n\n\n this.setApiValidationError(errors);\n\n this.schoolProgramFormGroup.updateValueAndValidity();\n\n //console.log('SaveAndContinue 2- this.schoolProgramFormGroup.get(yearOfEntryCode): ', this.schoolProgramFormGroup.get('yearOfEntryCode'));\n\n // console.log('this.schoolProgramFormGroup.get(yearOfEntryCode).errors');\n // console.log(this.schoolProgramFormGroup.get('yearOfEntryCode').errors);\n // console.log(this.schoolProgramFormGroup);\n\n this.dispatchSectionSaveAction();\n if (this.isSchoolProgramChanged()) {\n //console.log('program changed.. going to fire an program change action');\n this.dispatchProgramChangeAction();\n }\n this.initialSchoolProgramPlacementDetails = this.getSchoolProgramPlacementDetails();\n this.isScrollDone = false;\n this.formService.scrollToFirstErrorField();\n });\n\n }\n\n canDeactivate(): Observable | boolean {\n\n if (this.isSaveSuccessful) {\n return true;\n }\n\n if (!this.isSchoolProgramPlacementDetailsSame()) {\n this.modalService.showModal();\n return this.modalService.stayOnThePage;\n } else {\n this.modalService.hideModal();\n return true;\n }\n }\n\n\n isSchoolProgramPlacementDetailsSame(): boolean {\n\n const currentSchoolProgramPlacementDetails = this.getSchoolProgramPlacementDetails();\n const initialSchoolProgramPlacementDetails = this.initialSchoolProgramPlacementDetails;\n\n const isSchoolProgramPlacementDetailsSame =\n compareSchoolProgramPlacementDetails(initialSchoolProgramPlacementDetails, currentSchoolProgramPlacementDetails);\n\n return isSchoolProgramPlacementDetailsSame;\n }\n\n isSchoolProgramChanged(): boolean {\n\n const currentSchoolProgramPlacementDetails = this.getSchoolProgramPlacementDetails();\n const initialSchoolProgramPlacementDetails = this.initialSchoolProgramPlacementDetails;\n console.info(\"currentSchoolProgramPlacementDetails\", currentSchoolProgramPlacementDetails);\n console.info(\"initialSchoolProgramPlacementDetails\", initialSchoolProgramPlacementDetails);\n return currentSchoolProgramPlacementDetails.SchoolProgramType !== initialSchoolProgramPlacementDetails.SchoolProgramType;\n }\n\n ngAfterContentChecked(): void {\n if (!this.isScrollDone) {\n this.isScrollDone = this.formService.scrollToFirstErrorField();\n }\n }\n\n dispatchSectionSaveAction() {\n this.store.dispatch({\n type: Action_ApplicationSectionSaved\n });\n }\n\n dispatchProgramChangeAction() {\n this.store.dispatch({\n type: Action_ApplicationProgramChanged\n });\n }\n\n displayChangeImpactModal(): boolean {\n return this.showChangeImpactModal;\n }\n\n closeChangeImpactModal() {\n this.showChangeImpactModal = false;\n this.router.navigate(['/applications', this.applicationId, 'edit', 'parent-guardian-details']);\n }\n\n //show border when tab on link for accessibility\n linkTabAccessibility(event): void {\n event.style.outline = \"1px solid black\";\n }\n\n linkBlurAccessibility(event): void {\n event.style.outline = \"\";\n }\n\n //accessibility -- link error msg to form field\n errorDoubleErrorAccessibility(formControlName: string, requireErrorId: string, apiErrorId: string): string {\n if (this.isFormSubmitted &&\n this.schoolProgramFormGroup.get(formControlName).errors &&\n this.schoolProgramFormGroup.get(formControlName).errors.required) {\n return requireErrorId;\n } else if (this.isFormSubmitted &&\n this.schoolProgramFormGroup.get(formControlName).errors &&\n this.schoolProgramFormGroup.get(formControlName).errors.apiValidationError) {\n return apiErrorId;\n } else {\n return \"\";\n }\n }\n}\n","module.exports = \"
\\n
\\n

{{config.title}}

\\n {{config.titleAdditionalInfo}}\\n
\\n\\n
\\n
\\n\\n \\n
\\n \\n \\n {{errors.line1}}\\n \\n
\\n\\n \\n
\\n \\n \\n {{errors.line2}}\\n \\n
\\n\\n \\n
\\n \\n \\n {{errors.suburb}}\\n \\n
\\n \\n \\n
\\n
\\n \\n \\n {{errors.state}}\\n \\n
\\n
\\n
\\n\\n \\n \\n
\\n \\n \\n {{errors.state}}\\n \\n
\\n
\\n\\n \\n
\\n \\n \\n {{errors.postcode}}\\n \\n
\\n\\n \\n \\n
\\n
\\n \\n \\n {{errors.country}}\\n \\n
\\n
\\n
\\n\\n
\\n
\\n \\n Current Address?\\n {{errors.isCurrentAddress}}\\n
\\n
\\n\\n
\\n\\n
\\n\\n
\\n\"","module.exports = \".problem .question .answer .choice.valid span.largeErrorMsg {\\n display: inline-block;\\n box-sizing: border-box;\\n margin-bottom: 50px; }\\n\\ninput[type=\\\"checkbox\\\"]:disabled {\\n pointer-events: none;\\n cursor: auto; }\\n\\nspan.span-disabled {\\n pointer-events: none; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vc2hhcmVkL2FkZHJlc3MvRDpcXGFcXDE1NVxcc1xcRGVpLk9ubGluZUFwcGxpY2F0aW9uLlByb2RcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5XZWJcXG9ubGluZS1hcHAvc3JjXFxhcHBcXGFwcGxpY2F0aW9uXFxzaGFyZWRcXGFkZHJlc3NcXGFkZHJlc3MuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLG1CQUFtQixFQUFBOztBQUd2QjtFQUNJLG9CQUFvQjtFQUNwQixZQUFZLEVBQUE7O0FBR2hCO0VBQ0ksb0JBQW9CLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9hcHBsaWNhdGlvbi9zaGFyZWQvYWRkcmVzcy9hZGRyZXNzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLmNob2ljZS52YWxpZCBzcGFuLmxhcmdlRXJyb3JNc2cge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IFxyXG59XHJcblxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBjdXJzb3I6IGF1dG87XHJcbn1cclxuXHJcbnNwYW4uc3Bhbi1kaXNhYmxlZCB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG4iXX0= */\"","import { Component, OnInit, forwardRef, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { ControlValueAccessor, FormGroup, FormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Address, AddressConfig, AddressErrors, AustralianStates } from './address.model';\nimport { LookupService } from 'src/app/shared/services/lookup.service';\nimport { Country, LookupData } from 'src/app/shared/models/lookup-data.model';\nimport { ApiResponse } from 'src/app/shared/models/api-response.model';\nimport { AddressService } from '../../../shared/services/address.service';\n@Component({\n selector: 'online-app-address',\n templateUrl: './address.component.html',\n styleUrls: ['./address.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AddressComponent),\n multi: true\n }]\n})\nexport class AddressComponent implements OnInit, OnChanges, ControlValueAccessor {\n\n constructor(\n private addressService: AddressService\n ) {\n this.selectedAustralianState = this.getDefaultAustralianState();\n // this.selectedCountry = this.getDefaultCountry();\n }\n\n disabled = false;\n australianStates: any[];\n countries: Country[];\n overseasAddressCountryList: Country[];\n\n\n @Input() config: AddressConfig;\n @Input() errors: AddressErrors;\n @Input() data: Address;\n\n title = '';\n selectedCountry: LookupData;\n selectedAustralianState: LookupData;\n\n private _value: Address = {\n line1: undefined,\n line2: undefined,\n suburb: undefined,\n state: undefined,\n postcode: undefined,\n country: undefined,\n isCurrentAddress: undefined\n };\n\n private _onChange = (_: any) => {};\n private _onTouched = (_: any) => {};\n\n ngOnInit() {\n\n if (this.config.isAustralianAddress) {\n this.australianStates = [this.getDefaultAustralianState(), ...AustralianStates ] ;\n this.title = 'Australian Address';\n } else {\n this.title = 'Overseas Address';\n\n this.filterSetCountryList();\n }\n if (this.config.isAustralianAddress) {\n this.addressService.loadAddressWidget('aus-address-line1', this, this.setAddressPart);\n }\n }\n private setAddressPart(container, line1Ctl, line1: string, suburb: string, state: string, postcode: string) {\n setTimeout(() => {\n container._value.line1 = line1;\n line1Ctl.blur();\n }, 10);\n container._value.line2 = '';\n container._value.suburb = suburb;\n container._value.state = state;\n container._value.postcode = postcode;\n if (container.errors) {\n container.errors.line1 ='';\n container.errors.line2 ='';\n container.errors.suburb ='';\n container.errors.state ='';\n container.errors.postcode ='';\n }\n } \n ngOnChanges(changes: SimpleChanges): void {\n\n this.countries = this.config.countries;\n \n if (changes.data && changes.data.currentValue) {\n this.value = changes.data.currentValue;\n this.filterSetCountryList();\n\n if (this.config.isAustralianAddress) {\n const { state } = changes.data.currentValue;\n this.stateUpdate(state);\n\n } else {\n const { country } = changes.data.currentValue;\n this.countryUpdate(country);\n }\n\n }\n\n }\n\n getSuburbText(): string {\n return this.config.isAustralianAddress ? 'Suburb' : 'Suburb/Town/City';\n }\n\n getStateText(): string {\n return this.config.isAustralianAddress ? 'State' : 'State/Province/Region';\n }\n\n getPostcodeText(): string {\n return this.config.isAustralianAddress ? 'Postcode' : 'Postcode/Zipcode';\n }\n\n getDefaultCountry(): Country {\n return {\n Id: '',\n Code: '',\n Description: 'Please select',\n Status: '',\n IsAgentMandatory: false,\n CanStudyAbroad: false,\n PhoneCode: 0,\n IsDeleted: false\n };\n }\n\n getDefaultAustralianState(): LookupData {\n return {\n Code: '',\n Description: 'Please select',\n };\n }\n\n\n\n set value(value: Address) {\n this._value = value;\n this._onChange(this._value);\n }\n\n get value() {\n return this._value;\n }\n\n\n writeValue(value: Address): void {\n if (value && value !== null) {\n this._value = value;\n }\n }\n\n registerOnChange(fn: (_: any) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: (_: any) => void): void {\n this._onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n line1Update(event: any) {\n this._updateValue(event.target.value, 'line1');\n this.errors.line1 = '';\n }\n\n line2Update(event: any) {\n this._updateValue(event.target.value, 'line2');\n this.errors.line2 = '';\n }\n\n suburbUpdate(event: any) {\n this._updateValue(event.target.value, 'suburb');\n this.errors.suburb = '';\n }\n\n stateInputUpdate(event: any) {\n this._updateValue(event.target.value, 'state');\n this.errors.state = '';\n }\n\n stateUpdate(code: any) {\n this._updateValue(code, 'state');\n this.errors.state = '';\n }\n\n postcodeUpdate(event: any) {\n this._updateValue(event.target.value, 'postcode');\n this.errors.postcode = '';\n }\n\n countryUpdate(code: any) {\n this._updateValue(code, 'country');\n this.errors.country = '';\n }\n\n isCurrentAddressClicked(event) {\n if (this.config.isSubmittedApplication) {\n return;\n }\n this.value.isCurrentAddress = event.checked;\n const isCurrentAddressNewValue = this.value.isCurrentAddress;\n this._updateValue(isCurrentAddressNewValue, 'isCurrentAddress');\n this.errors.isCurrentAddress = '';\n }\n\n private _updateValue(value: any, field: string) {\n const newValue = this._value;\n newValue[field] = value;\n this.value = newValue;\n }\n\n private _isValid(): boolean {\n\n const address = this._value;\n\n return address &&\n !( address === null ||\n !address.line1 ||\n !address.line2 ||\n !address.suburb ||\n !address.state ||\n !address.postcode ||\n !address.country);\n }\n\n filterSetCountryList() {\n\n if (this.config && this.config.countries) {\n let allCountries = this.config.countries; \n\n this.overseasAddressCountryList = allCountries.filter(c => c.Code !== \"AU\");\n }\n }\n\n /* For accessibility, keyboard only design, use tab to show borders but showing no border by clicking on mouse */\n keyboardFocus(event): void {\n event.style.outline = \"1px solid blue\";\n }\n\n keyboardBlur(event): void {\n event.style.outline = \"\";\n }\n}\n","import { Country } from 'src/app/shared/models/lookup-data.model';\r\n\r\nexport interface Address {\r\n line1: string;\r\n line2: string;\r\n suburb: string;\r\n state: string;\r\n postcode: string;\r\n country: string;\r\n isCurrentAddress: boolean;\r\n}\r\n\r\n\r\nexport interface AddressConfig {\r\n isAustralianAddress: boolean;\r\n countries?: Country[];\r\n title: string;\r\n titleAdditionalInfo: string;\r\n isSubmittedApplication?: boolean;\r\n idPrefix: string;\r\n}\r\n\r\nexport interface AddressErrors {\r\n line1?: string;\r\n line2?: string;\r\n suburb?: string;\r\n state?: string;\r\n postcode?: string;\r\n country?: string;\r\n isCurrentAddress?: string;\r\n}\r\n\r\nexport const AustralianStates = [\r\n {\r\n Code: 'NSW',\r\n Description: 'New South Wales'\r\n },\r\n {\r\n Code: 'QLD',\r\n Description: 'Queensland'\r\n },\r\n {\r\n Code: 'SA',\r\n Description: 'South Australia'\r\n },\r\n {\r\n Code: 'TAS',\r\n Description: 'Tasmania'\r\n },\r\n {\r\n Code: 'VIC',\r\n Description: 'Victoria'\r\n },\r\n {\r\n Code: 'WA',\r\n Description: 'Western Australia'\r\n }\r\n ];\r\n","module.exports = \"
\\r\\n\\r\\n
\\r\\n

{{config.title}}

\\r\\n {{config.titleAdditionalInfo}}\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{errors.CountryId}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{errors.AddressLine1}}\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{errors.AddressLine2}}\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{errors.SuburbTownCity}}\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{errors.StateProvinceRegion}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{errors.StateProvinceRegion}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{errors.Postcode}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcGxpY2F0aW9uL3NoYXJlZC9wYXJlbnQtYWRkcmVzcy9wYXJlbnQtYWRkcmVzcy5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, Input, Output, EventEmitter, forwardRef } from '@angular/core';\nimport { FormGroup, FormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { Country, LookupData } from 'src/app/shared/models/lookup-data.model';\nimport { ApplicationService } from 'src/app/shared/services/application.service';\nimport { SingleResultApiResponse } from 'src/app/shared/models/api-response.model';\nimport { AustralianStates } from '../address/address.model';\nimport { ParentAddress, ParentAddressErrors, ParentAddressConfig } \nfrom '../../models/parent-guardian-details';\nimport { slideInOut } from '../../animations/slideInOut';\nimport { AddressService } from '../../../shared/services/address.service';\n@Component({\n selector: 'online-app-parent-address',\n templateUrl: './parent-address.component.html',\n styleUrls: ['./parent-address.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ParentAddressComponent),\n multi: true\n }],\n animations: [slideInOut]\n})\nexport class ParentAddressComponent implements OnInit {\n\n @Input() data: ParentAddress;\n @Input() errors: ParentAddressErrors;\n @Input() config: ParentAddressConfig;\n @Output() countryChanged = new EventEmitter();\n parentAddressFormGroup: FormGroup;\n\n gender: string = '';\n countries: Country[];\n isAustralianAddress: boolean = false;\n applicationId: number;\n isSubmittedApplication: boolean;\n australianStates: any[];\n\n selectedCountry: LookupData;\n selectedAustralianState: LookupData;\n\n australiaCountryId: string = '';\n\n\n private _value: ParentAddress = { \n IsAustralianAddress: undefined,\n AddressLine1: undefined,\n AddressLine2: undefined,\n SuburbTownCity: undefined,\n StateProvinceRegion: undefined,\n Postcode: undefined,\n CountryId: undefined\n }\n\n constructor(private formBuilder: FormBuilder,\n private activatedRoute: ActivatedRoute,\n private addressService: AddressService,\n private applicationService: ApplicationService) {\n this.activatedRoute.parent.parent.params.subscribe(params =>{\n this.applicationId = +params['id'];\n });\n this.selectedAustralianState = this.getDefaultAustralianState();\n }\n\n ngOnInit() {\n const countries = this.activatedRoute.snapshot.data['countries'];\n this.countries = [this.getDefaultCountry(), ...countries];\n\n this.australiaCountryId = this.countries.filter(c => c.Code === \"AU\")[0].Id;\n //console.log(\"Austrlia country Id in db is:\", this.australiaCountryId);\n\n\n this.parentAddressFormGroup = this.formBuilder.group({\n\n });\n\n this.applicationService.getApplicationDetails(this.applicationId)\n .subscribe( (response: SingleResultApiResponse) => {\n if (response.Result) {\n\n this.isSubmittedApplication = response.Result.ApplicationStatus === 'Submitted';\n\n if (this.isSubmittedApplication) {\n this.parentAddressFormGroup.disable();\n\n }\n }\n }, err => {\n console.error(err);\n });\n\n this.australianStates = [this.getDefaultAustralianState(), ...AustralianStates ] ;\n\n //console.log(\"===CURRENT ADDRESS DATA passing from parent-Control is:\", this.data);\n\n //trick to wait this child-component fully loaded\n window.setTimeout(() => {\n if (this.data.IsAustralianAddress) { \n this.value.CountryId = this.australiaCountryId;\n\n this.value.IsAustralianAddress = true;\n this.isAustralianAddress = true;\n\n this.countryChanged.emit(this.isAustralianAddress);\n this.addressService.loadAddressWidget('AuAddressLine1', this, this.setAddressPart);\n }\n\n //console.log(\"----parent address error input passing to is:--->\", this.errors);\n //console.log(\"---this.value.CountryId (Aus or overseas) is:--\", this.value.CountryId);\n });\n\n }\n private setAddressPart(container, line1Ctl, line1: string, suburb: string, state: string, postcode: string) {\n setTimeout(() => {\n container._value.AddressLine1 = line1;\n container._updateValue(line1, 'AddressLine1');\n line1Ctl.blur();\n }, 10);\n container._value.AddressLine2 = '';\n container._value.SuburbTownCity = suburb;\n container._value.StateProvinceRegion = state;\n container._value.Postcode = postcode;\n if (container.errors) {\n container.errors.AddressLine1 = '';\n container.errors.AddressLine2 = '';\n container.errors.SuburbTownCity = '';\n container.errors.StateProvinceRegion = '';\n container.errors.Postcode = '';\n }\n }\n private _onChange = (_: any) => {};\n private _onTouched = (_: any) => {};\n\n set value(value: ParentAddress) {\n this._value = value;\n this._onChange(this._value);\n }\n\n get value() {\n return this._value;\n }\n\n writeValue(value: ParentAddress): void {\n if (value && value !== null) {\n this._value = value;\n }\n }\n registerOnChange(fn: (_: any) => void): void {\n this._onChange = fn;\n }\n registerOnTouched(fn: (_: any) => void): void {\n this._onTouched = fn;\n }\n\n private _updateValue(value: any, field: string) {\n const newValue = this._value;\n newValue[field] = value;\n this.value = newValue;\n //console.log('updated value');\n //console.log(newValue);\n }\n \n countryUpdate(countryId: any) {\n //console.log(countryId);\n this._updateValue(countryId, 'CountryId');\n\n //this.errors.CountryId = '';\n if (countryId.toLowerCase() == this.australiaCountryId.toLowerCase()){\n this.isAustralianAddress = true;\n this.addressService.loadAddressWidget('AuAddressLine1', this, this.setAddressPart);\n } else {\n this.isAustralianAddress = false;\n }\n\n this.countryChanged.emit(this.isAustralianAddress);\n }\n\n line1Update(event: any) {\n this._updateValue(event.target.value, 'AddressLine1');\n //this.errors.AddressLine1 = '';\n }\n line2Update(event: any) {\n this._updateValue(event.target.value, 'AddressLine2');\n //this.errors.AddressLine2 = '';\n }\n suburbUpdate(event: any) {\n this._updateValue(event.target.value, 'SuburbTownCity');\n //this.errors.SuburbTownCity = '';\n }\n stateInputUpdate(event: any) {\n this._updateValue(event.target.value, 'StateProvinceRegion');\n //this.errors.StateProvinceRegion = '';\n }\n stateUpdate(code: any) {\n this._updateValue(code, 'StateProvinceRegion');\n //this.errors.StateProvinceRegion = '';\n }\n postcodeUpdate(event: any) {\n this._updateValue(event.target.value, 'Postcode');\n //this.errors.Postcode = '';\n }\n\n getDefaultCountry(): Country {\n return {\n Id: '',\n Code: '',\n Description: 'Please select Country',\n Status: '',\n IsAgentMandatory: false,\n CanStudyAbroad: false,\n PhoneCode: 0,\n IsDeleted: false\n };\n }\n getDefaultAustralianState(): LookupData {\n return {\n Code: '',\n Description: 'Please select',\n };\n }\n\n countryCodeDescription(country: Country) {\n const selectedCountry = this.countries.find(c => c.Code === country.Code);\n if (selectedCountry && selectedCountry.Code.length > 0) {\n return `${selectedCountry.Description} (+${selectedCountry.PhoneCode})`;\n }\n return 'Country code';\n }\n getPostcodeText(): string {\n return this.isAustralianAddress ? 'Postcode' : 'Postcode/Zipcode';\n }\n\n}\n","module.exports = \"
\\r\\n
\\r\\n

{{config.title}}

\\r\\n {{config.titleAdditionalInfo}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{errors.relationship}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{errors.otherRelationship}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{errors.givenName}}\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{errors.familyName}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Has only one name as per passport or birth certificate\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{errors.preferredName}}\\r\\n \\r\\n
\\r\\n \\r\\n
Has this person had an Australia visa application refused\\r\\n previously?
\\r\\n
\\r\\n \\r\\n Yes
radio button
checked
unchecked
\\r\\n
\\r\\n \\r\\n No
radio button
checked
unchecked
\\r\\n
\\r\\n
\\r\\n {{errors.isRefusedAusVisaBefore}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{errors.visaRefusalDetails}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{errors.dateOfBirth}}\\r\\n
\\r\\n\\r\\n
Gender
\\r\\n
\\r\\n \\r\\n Male
radio button
checked
unchecked
\\r\\n
\\r\\n \\r\\n Female
radio button
checked
unchecked
\\r\\n
\\r\\n
\\r\\n {{errors.gender}}\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{errors.countryOfBirth}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{errors.nationality}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
Do you have a current valid\\r\\n Passport?
\\r\\n
\\r\\n \\r\\n Yes
radio button
checked
unchecked
\\r\\n
\\r\\n \\r\\n No
radio button
checked
unchecked
\\r\\n
\\r\\n
\\r\\n {{errors.hasPassport}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{errors.passportNumber}}\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{errors.passportExpiryDate}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{errors.passportNumber}}\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{errors.emailAddress}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \".problem .question .answer .radioError {\\n font-style: normal;\\n color: #f00;\\n font-size: 14px; }\\n\\n.problem .question .answer .choice.valid span.largerErrorMsg {\\n display: inline-block;\\n box-sizing: border-box;\\n margin-bottom: 10rem; }\\n\\n.problem .question .answer .choice.valid span.largeErrorMsg {\\n display: inline-block;\\n box-sizing: border-box;\\n margin-bottom: 50px; }\\n\\ninput[type=\\\"checkbox\\\"]:disabled {\\n pointer-events: none;\\n cursor: auto; }\\n\\nspan.span-disabled {\\n pointer-events: none; }\\n\\n.padding-top {\\n padding-top: 10px; }\\n\\nselect {\\n -moz-appearance: none;\\n text-indent: .01px;\\n text-overflow: ''; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vc2hhcmVkL3BlcnNvbi1kZXRhaWxzL0Q6XFxhXFwxNTVcXHNcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5Qcm9kXFxEZWkuT25saW5lQXBwbGljYXRpb24uV2ViXFxvbmxpbmUtYXBwL3NyY1xcYXBwXFxhcHBsaWNhdGlvblxcc2hhcmVkXFxwZXJzb24tZGV0YWlsc1xccGVyc29uLWRldGFpbHMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLGVBQWUsRUFBQTs7QUFHbkI7RUFDSSxxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLG9CQUFvQixFQUFBOztBQUl4QjtFQUNJLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIsbUJBQW1CLEVBQUE7O0FBR3ZCO0VBQ0ksb0JBQW9CO0VBQ3BCLFlBQVksRUFBQTs7QUFHaEI7RUFDSSxvQkFBb0IsRUFBQTs7QUFHeEI7RUFDSSxpQkFBaUIsRUFBQTs7QUFHckI7RUFDSSxxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLGlCQUFpQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvYXBwbGljYXRpb24vc2hhcmVkL3BlcnNvbi1kZXRhaWxzL3BlcnNvbi1kZXRhaWxzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLnJhZGlvRXJyb3Ige1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgY29sb3I6ICNmMDA7ICBcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLmNob2ljZS52YWxpZCBzcGFuLmxhcmdlckVycm9yTXNnIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHJlbTsgXHJcbn1cclxuXHJcblxyXG4ucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlLnZhbGlkIHNwYW4ubGFyZ2VFcnJvck1zZyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDsgXHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIGN1cnNvcjogYXV0bztcclxufVxyXG5cclxuc3Bhbi5zcGFuLWRpc2FibGVkIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4ucGFkZGluZy10b3B7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxufVxyXG5cclxuc2VsZWN0IHtcclxuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIHRleHQtaW5kZW50OiAuMDFweDtcclxuICAgIHRleHQtb3ZlcmZsb3c6ICcnO1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, forwardRef, Input, SimpleChanges, OnChanges } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { PersonDetailsConfig, PersonDetailsErrors, PersonDetails } from './person-details.model';\nimport { LookupData } from 'src/app/shared/models/lookup-data.model';\nimport { DateTime } from 'luxon';\nimport { slideInOut } from 'src/app/application/animations/slideInOut';\nimport { formatDate } from '@angular/common';\nimport { dateFormate, dateLocale } from '../utils/PickDateAdapter';\n\n@Component({\n selector: 'online-app-person-details',\n templateUrl: './person-details.component.html',\n styleUrls: ['./person-details.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PersonDetailsComponent),\n multi: true\n }],\n animations: [slideInOut]\n})\nexport class PersonDetailsComponent implements OnInit, OnChanges, ControlValueAccessor {\n\n @Input() config: PersonDetailsConfig;\n @Input() errors: PersonDetailsErrors;\n @Input() data: PersonDetails;\n\n\n gender = '';\n hasPassport: boolean;\n isRefusedAusVisaBefore: boolean;\n visaRefusalDetails: string;\n selectedNationality: LookupData;\n selectedCountryOfBirth: LookupData;\n selectedRelationship: LookupData;\n \n\n constructor() {\n\n this.selectedRelationship = this.getDefaultRelationship();\n\n // this.configureJQuery();\n }\n\n\n disabled = false;\n relationships = [];\n nationalityCountries = [];\n\n showRelationShipNotification1 = false;\n showRelationShipNotification2 = false;\n\n private _value: PersonDetails = {\n relationship: undefined,\n otherRelationship: undefined,\n givenName: undefined,\n familyName: undefined,\n preferredName: undefined,\n isRefusedAusVisaBefore: undefined,\n visaRefusalDetails: undefined,\n dateOfBirth: undefined,\n gender: undefined,\n countryOfBirth: undefined,\n nationality: undefined,\n hasPassport: undefined,\n passportNumber: undefined,\n passportExpiryDate: undefined,\n emailAddress: undefined,\n onlyHasOneName: undefined,\n };\n\n private _onChange = (_: any) => {};\n private _onTouched = (_: any) => {};\n\n ngOnInit() {\n\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n\n if (changes.data && changes.data.currentValue) {\n this.value = changes.data.currentValue;\n\n const { relationship } = changes.data.currentValue;\n this.relationshipUpdate(relationship);\n\n\n const { nationality } = changes.data.currentValue;\n this.nationalityUpdate(nationality);\n\n const { countryOfBirth } = changes.data.currentValue;\n this.countryOfBirthUpdate(countryOfBirth);\n\n const { gender } = changes.data.currentValue;\n this.loadGender(gender);\n this.updateIsRefusedAusVisaBefore(this.data.isRefusedAusVisaBefore);\n\n const { hasPassport } = changes.data.currentValue;\n this.loadHasPassport(hasPassport);\n }\n\n\n if (changes.config && changes.config.currentValue) {\n\n const { nationalityCountries, countries } = changes.config.currentValue;\n\n if (nationalityCountries && nationalityCountries.length > 0) {\n\n this.nationalityCountries = nationalityCountries;\n\n } else {\n\n this.nationalityCountries = countries;\n }\n }\n\n }\n\n updateDateOfBirth(dateInString: any) {\n // const date = this.getDateFromString(formatDate(dateInString, dateFormate, dateLocale));\n // const dateTimeObject = DateTime.fromJSDate(date);\n\n // if (dateTimeObject.isValid) {\n // this.setDateOfBirth(date);\n // } else {\n // this.dateOfBirthUpdateValue('');\n // }\n this.errors.dateOfBirth = '';\n }\n\n updatePassportExpiryDate(dateInString: any) {\n // const date = this.getDateFromString(formatDate(dateInString, dateFormate, dateLocale));\n // const dateTimeObject = DateTime.fromJSDate(date);\n\n // if (dateTimeObject.isValid) {\n // this.setPassportExpiryDate(date);\n // } else {\n // this.passportExpiryDateUpdateValue('');\n // }\n this.errors.passportExpiryDate = '';\n }\n\n getDateFromString(dateInString: string): Date {\n const dateParts = dateInString.split('/');\n return new Date(+dateParts[2], +dateParts[1] - 1, +dateParts[0]);\n }\n\n\n\n getDefaultRelationship(): LookupData {\n return {\n Code: '',\n Description: 'Please select'\n };\n }\n\n\n getDateInString(dateObject: Date): string {\n return `${dateObject.getDate()}/${dateObject.getMonth() + 1}/${dateObject.getFullYear()}`;\n }\n\n setDateOfBirth(dateObject: Date) {\n this.dateOfBirthUpdateValue(this.getDateInString(dateObject));\n }\n\n setPassportExpiryDate(dateObject: Date) {\n this.passportExpiryDateUpdateValue(this.getDateInString(dateObject));\n }\n\n set value(value: PersonDetails) {\n this._value = value;\n this._onChange(this._value);\n }\n\n get value() {\n return this._value;\n }\n\n\n writeValue(value: PersonDetails): void {\n if (value && value !== null) {\n this._value = value;\n }\n }\n registerOnChange(fn: (_: any) => void): void {\n this._onChange = fn;\n }\n registerOnTouched(fn: (_: any) => void): void {\n this._onTouched = fn;\n }\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n relationshipUpdate(code: any) {\n\n const selectedRelationship = this.config.relationships.find( relation => relation.Code === code);\n this.selectedRelationship = selectedRelationship ?\n { Code: selectedRelationship.Code, Description: selectedRelationship.Description }\n : this.getDefaultRelationship();\n\n this._updateValue(code, 'relationship');\n this.errors.relationship = '';\n\n\n if (selectedRelationship && selectedRelationship.Description !== 'Please select') {\n if (selectedRelationship.IsDirectRelative) {\n this.showRelationShipNotification1 = true;\n this.showRelationShipNotification2 = false;\n } else {\n this.showRelationShipNotification1 = false;\n this.showRelationShipNotification2 = true;\n }\n } else {\n this.showRelationShipNotification1 = false;\n this.showRelationShipNotification2 = false;\n }\n\n }\n\n get isSelectdRelativeParentOrDirectRelative(): boolean {\n if (this.selectedRelationship.Code === 'MTH' || this.selectedRelationship.Code === 'FTH') {\n return true;\n }\n\n const selectedRelationshipX = this.config.relationships.find(x => x.Code === this.selectedRelationship.Code)\n \n return !!selectedRelationshipX && selectedRelationshipX.IsDirectRelative;\n }\n\n otherRelationshipUpdate(event: any) {\n this._updateValue(event.target.value, 'otherRelationship');\n this.errors.otherRelationship = '';\n }\n\n givenNameUpdate(event: any) {\n // additional check or process\n this._updateValue(event.target.value, 'givenName');\n this.errors.givenName = '';\n this.value.givenName = this.titleCaseWord(this.value.givenName);\n }\n\n familyNameUpdate(event: any) {\n // additional check or process\n this._updateValue(event.target.value, 'familyName');\n this.errors.familyName = '';\n this.value.familyName = this.value.familyName.toUpperCase();\n }\n\n preferredNameUpdate(event: any) {\n // additional check or process\n this._updateValue(event.target.value, 'preferredName');\n this.errors.preferredName = '';\n }\n\n updateIsRefusedAusVisaBefore(isRefusedAusVisaBefore: boolean) {\n\n this.isRefusedAusVisaBefore = isRefusedAusVisaBefore;\n this._updateValue(isRefusedAusVisaBefore, 'isRefusedAusVisaBefore');\n this.errors.isRefusedAusVisaBefore = '';\n }\n\n visaRefusalDetailsUpdate(event: any) {\n\n this.visaRefusalDetails = event.target.value;\n this._updateValue(event.target.value, 'visaRefusalDetails');\n this.errors.visaRefusalDetails = '';\n }\n\n dateOfBirthUpdateValue(value: any) {\n this._updateValue(value, 'dateOfBirth');\n this.errors.dateOfBirth = '';\n }\n\n passportExpiryDateUpdateValue(value: any) {\n this._updateValue(value, 'passportExpiryDate');\n this.errors.passportExpiryDate = '';\n }\n\n getDateOfBirthValue(): Date {\n return this.value.dateOfBirth ? this.getDateFromString(this.value.dateOfBirth) : null;\n }\n getPassportExpiryDateValue(): Date {\n return this.value.passportExpiryDate ? this.getDateFromString(this.value.passportExpiryDate) : null;\n }\n\n updateHasPassport(hasPassport: boolean) {\n if (hasPassport === true) {\n this._updateValue(true, 'hasPassport');\n this.hasPassport = true;\n this.errors.hasPassport = '';\n } else if (hasPassport === false) {\n this._updateValue(false, 'hasPassport');\n this.hasPassport = false;\n this.errors.hasPassport = '';\n } else {\n this._updateValue('', 'hasPassport');\n }\n\n // this.configureJQuery();\n }\n\n loadHasPassport(hasPassport: boolean) {\n this.updateHasPassport(hasPassport);\n }\n\n\n updateGenderValue(genderValue: string) {\n\n if (genderValue === 'male') {\n this._updateValue('M', 'gender');\n this.gender = 'M';\n this.errors.gender = '';\n } else if (genderValue === 'female') {\n this._updateValue('F', 'gender');\n this.gender = 'F';\n this.errors.gender = '';\n } else {\n this._updateValue('', 'gender');\n this.gender = '';\n }\n\n }\n\n loadGender(gender: string) {\n if (gender === 'M') {\n this.updateGenderValue('male');\n } else if (gender === 'F') {\n this.updateGenderValue('female');\n } else {\n this.updateGenderValue('');\n }\n }\n\n countryOfBirthUpdate(code: any) {\n // additional check or process\n this._updateValue(code, 'countryOfBirth');\n this.errors.countryOfBirth = '';\n }\n\n\n nationalityUpdate(code: any) {\n // additional check or process\n this._updateValue(code, 'nationality');\n this.errors.nationality = '';\n }\n\n passportNumberUpdate(event: any) {\n // additional check or process\n this._updateValue(event.target.value, 'passportNumber');\n this.errors.passportNumber = '';\n }\n\n emailAddressUpdate(event: any) {\n // additional check or process\n this._updateValue(event.target.value, 'emailAddress');\n this.errors.emailAddress = '';\n }\n\n private _updateValue(value: any, field: string) {\n const newValue = this._value;\n newValue[field] = value;\n this.value = newValue;\n }\n\n titleCaseWord(word: string) {\n if (!word) return word;\n return word[0].toUpperCase() + word.substr(1).toLowerCase();\n }\n\n\n isOnlyHasOneNameClicked(event) {\n\n if (this.config.isSubmittedApplication) {\n return;\n }\n this.value.onlyHasOneName = event.checked;\n const onlyHasOneNameNewValue = this.value.onlyHasOneName;\n this._updateValue(onlyHasOneNameNewValue, 'onlyHasOneName');\n\n if (this.value.onlyHasOneName) {\n this.value.familyName = '';\n }\n }\n\n\n isBlockedNationality(): boolean {\n return this.errors && this.errors.nationality && this.errors.nationality.length <= 200;\n }\n\n isAgentMandatoryNationality(): boolean {\n return this.errors && this.errors.nationality && this.errors.nationality.length > 200;\n }\n\n /* For accessibility, keyboard only design, use tab to show borders but showing no border by clicking on mouse */\n keyboardFocus(event): void {\n event.style.outline = \"1px solid blue\";\n }\n\n keyboardBlur(event): void {\n event.style.outline = \"\";\n }\n\n}\n","module.exports = \"
\\n
\\n

{{config.title}}

\\n {{config.titleAdditionalInfo}}\\n
\\n\\n
\\n

Mobile

\\n
\\n\\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n {{errors.mobileCountryCode}}\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n {{errors.mobilePhoneNumber}}\\n \\n
\\n
\\n
\\n\\n
\\n\\n
\\n\\n\\n
\\n

Home

\\n
\\n\\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n {{errors.homeCountryCode}}\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n {{errors.homePhoneNumber}}\\n \\n
\\n
\\n
\\n\\n
\\n\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcGxpY2F0aW9uL3NoYXJlZC9waG9uZS1udW1iZXIvcGhvbmUtbnVtYmVyLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, forwardRef, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { PhoneNumberErrors, PhoneNumberDetails, PhoneNumberConfig } from './phone-number.model';\nimport { Country } from 'src/app/shared/models/lookup-data.model';\n\n@Component({\n selector: 'online-app-phone-number',\n templateUrl: './phone-number.component.html',\n styleUrls: ['./phone-number.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PhoneNumberComponent),\n multi: true\n }]\n})\nexport class PhoneNumberComponent implements OnInit, ControlValueAccessor {\n\n disabled = false;\n\n constructor() { }\n\n @Input() config: PhoneNumberConfig;\n @Input() errors: PhoneNumberErrors;\n @Input() data: PhoneNumberDetails;\n\n private _value: PhoneNumberDetails = {\n mobileCountryCode: undefined,\n mobilePhoneNumber: undefined,\n homeCountryCode: undefined,\n homePhoneNumber: undefined\n };\n\n private _onChange = (_: any) => {};\n private _onTouched = (_: any) => {};\n\n\n ngOnInit() {\n this.value = this.data;\n }\n\n countryCodeDescription(country: Country) {\n const selectedCountry = this.config.countries.find(c => c.Code === country.Code);\n\n if (selectedCountry && selectedCountry.Code.length > 0) {\n return `${selectedCountry.Description} (+${selectedCountry.PhoneCode})`;\n }\n\n return 'Please select';\n }\n\n\n set value(value: PhoneNumberDetails) {\n this._value = value;\n this._onChange(this._value);\n }\n\n get value() {\n return this._value;\n }\n\n writeValue(value: PhoneNumberDetails): void {\n if (value && value !== null) {\n this._value = value;\n }\n }\n registerOnChange(fn: (_: any) => void): void {\n this._onChange = fn;\n }\n registerOnTouched(fn: (_: any) => void): void {\n this._onTouched = fn;\n }\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n mobileCountryCodeUpdate(event: any) {\n // additional check or process\n this._updateValue(event.target.value, 'mobileCountryCode');\n this.errors.mobileCountryCode = '';\n }\n\n mobilePhoneNumberUpdate(event: any) {\n // additional check or process\n this._updateValue(event.target.value, 'mobilePhoneNumber');\n\n if(((event.target.value.length >= 4) && (event.target.value.length <= 12))\n || ((event.target.value.length === 0)))\n {\n this.errors.mobilePhoneNumber = '';\n }\n else\n {\n this.errors.mobilePhoneNumber = 'The length must be between 4 and 12';\n }\n }\n\n mobilePhoneNumberOnBlur(event: any) {\n if(((event.target.value.length >= 4) && (event.target.value.length <= 12))\n || ((event.target.value.length === 0)))\n {\n this.errors.mobilePhoneNumber = '';\n }\n else\n {\n this.errors.mobilePhoneNumber = 'The length must be between 4 and 12';\n }\n }\n\n homeCountryCodeUpdate(event: any) {\n // additional check or process\n this._updateValue(event.target.value, 'homeCountryCode');\n this.errors.homeCountryCode = '';\n }\n\n homePhoneNumberUpdate(event: any) {\n // additional check or process\n this._updateValue(event.target.value, 'homePhoneNumber');\n\n if(((event.target.value.length >= 4) && (event.target.value.length <= 12))\n || (event.target.value.length === 0) )\n {\n this.errors.homePhoneNumber = '';\n }\n else\n {\n this.errors.homePhoneNumber = 'The length must be between 4 and 12';\n }\n }\n\n homePhoneNumberOnBlur(event: any) {\n if(((event.target.value.length >= 4) && (event.target.value.length <= 12))\n || (event.target.value.length === 0) )\n {\n this.errors.homePhoneNumber = '';\n }\n else\n {\n this.errors.homePhoneNumber = 'The length must be between 4 and 12';\n }\n }\n\n\n private _updateValue(value: string, field: string) {\n const newValue = this._value;\n newValue[field] = value;\n this.value = newValue;\n }\n\n}\n","import { ErrorResponse } from 'src/app/shared/models/error.model';\r\n\r\nfunction handleGenericHttpError(errorResponse: ErrorResponse): string {\r\n let genericErrorMsg = '';\r\n switch (errorResponse.errorCode) {\r\n case 401:\r\n genericErrorMsg = 'You are not authorized to access this page. This may happen due to timeout. Please login again';\r\n break;\r\n case 500:\r\n genericErrorMsg = `Some error occurred while executing your last operation.\r\n Please try again. If the error persists, please contact DE International`;\r\n break;\r\n }\r\n return genericErrorMsg;\r\n}\r\n\r\nexport default handleGenericHttpError;\r\n","import { ParentInfo, ParentDetails } from 'src/app/application/models/parent-guardian-details';\r\nimport { Address } from '../address/address.model';\r\nimport { PersonDetails } from '../person-details/person-details.model';\r\nimport { PhoneNumberDetails } from '../phone-number/phone-number.model';\r\nimport { VisaOshc } from '../../models/visa-ohsc';\r\nimport { SchoolProgramPlacementDetails } from '../../models/school-program-placement-details';\r\nimport { AccommodationWelfareUpdateDetails } from '../../models/accommodation-welfare-details';\r\nimport { EnglishProficiencyDetails } from '../../models/english-proficiency-details';\r\nimport { SpecialCircumstances } from '../../models/special-circumstances';\r\nimport { DefaultCorrespondent } from '../../models/corresondents';\r\nimport { ApplicationAgentDetails } from '../../models/application-agent-details';\r\n\r\n\r\nexport const compareAddresses = (initialAddress: Address, currentAddress: Address): boolean => {\r\n return initialAddress.line1 === currentAddress.line1 &&\r\n initialAddress.line2 === currentAddress.line2 &&\r\n initialAddress.postcode === currentAddress.postcode &&\r\n initialAddress.state === currentAddress.state &&\r\n initialAddress.suburb === currentAddress.suburb &&\r\n initialAddress.country === currentAddress.country &&\r\n initialAddress.isCurrentAddress === currentAddress.isCurrentAddress;\r\n};\r\n\r\nexport const comparePersonDetails = (initialPersonDetails: PersonDetails, currentPersonDetails: PersonDetails): boolean => {\r\n return initialPersonDetails.relationship === currentPersonDetails.relationship &&\r\n initialPersonDetails.givenName === currentPersonDetails.givenName &&\r\n initialPersonDetails.familyName === currentPersonDetails.familyName &&\r\n initialPersonDetails.preferredName === currentPersonDetails.preferredName &&\r\n initialPersonDetails.gender === currentPersonDetails.gender &&\r\n initialPersonDetails.nationality === currentPersonDetails.nationality &&\r\n initialPersonDetails.countryOfBirth === currentPersonDetails.countryOfBirth &&\r\n initialPersonDetails.dateOfBirth === currentPersonDetails.dateOfBirth &&\r\n initialPersonDetails.passportNumber === currentPersonDetails.passportNumber &&\r\n initialPersonDetails.emailAddress === currentPersonDetails.emailAddress;\r\n};\r\n\r\nexport const compareStudentPersonDetails = (initialPersonDetails: PersonDetails, currentPersonDetails: PersonDetails): boolean => {\r\n return initialPersonDetails.givenName === currentPersonDetails.givenName &&\r\n initialPersonDetails.familyName === currentPersonDetails.familyName &&\r\n initialPersonDetails.preferredName === currentPersonDetails.preferredName &&\r\n initialPersonDetails.gender === currentPersonDetails.gender &&\r\n initialPersonDetails.nationality === currentPersonDetails.nationality &&\r\n initialPersonDetails.countryOfBirth === currentPersonDetails.countryOfBirth &&\r\n initialPersonDetails.dateOfBirth === currentPersonDetails.dateOfBirth &&\r\n initialPersonDetails.passportNumber === currentPersonDetails.passportNumber &&\r\n initialPersonDetails.emailAddress === currentPersonDetails.emailAddress;\r\n};\r\n\r\nexport const compareParentGuardianPersonDetails = (initialPersonDetails: PersonDetails, currentPersonDetails: PersonDetails): boolean => {\r\n return initialPersonDetails.relationship === currentPersonDetails.relationship &&\r\n initialPersonDetails.givenName === currentPersonDetails.givenName &&\r\n initialPersonDetails.familyName === currentPersonDetails.familyName &&\r\n initialPersonDetails.preferredName === currentPersonDetails.preferredName &&\r\n initialPersonDetails.gender === currentPersonDetails.gender &&\r\n initialPersonDetails.nationality === currentPersonDetails.nationality &&\r\n initialPersonDetails.countryOfBirth === currentPersonDetails.countryOfBirth &&\r\n initialPersonDetails.dateOfBirth === currentPersonDetails.dateOfBirth &&\r\n initialPersonDetails.passportNumber === currentPersonDetails.passportNumber &&\r\n initialPersonDetails.emailAddress === currentPersonDetails.emailAddress;\r\n};\r\n\r\n\r\nexport const comparePhoneNumberDetails =\r\n (initialPhoneNumberDetails: PhoneNumberDetails, currentPhoneNumberDetails: PhoneNumberDetails): boolean => {\r\n return initialPhoneNumberDetails.homeCountryCode === currentPhoneNumberDetails.homeCountryCode &&\r\n initialPhoneNumberDetails.homePhoneNumber === currentPhoneNumberDetails.homePhoneNumber &&\r\n initialPhoneNumberDetails.mobileCountryCode === currentPhoneNumberDetails.mobileCountryCode &&\r\n initialPhoneNumberDetails.mobilePhoneNumber === currentPhoneNumberDetails.mobilePhoneNumber;\r\n};\r\n\r\nexport const compareStudentDetails = (initialPersonDetails: PersonDetails, currentPersonDetails: PersonDetails,\r\n initialPhoneNumberDetails: PhoneNumberDetails, currentPhoneNumberDetails: PhoneNumberDetails,\r\n initialAustralianAddress: Address, currentAustralianAddress: Address,\r\n initialOverseasAddress: Address, currentOverseasAddress: Address): boolean => {\r\n\r\n const initPersonDetails = {...initialPersonDetails};\r\n const crntPersonDetails = {...currentPersonDetails};\r\n const initPhoneNumberDetails = { ...initialPhoneNumberDetails };\r\n const crntPhoneNumberDetails = { ...currentPhoneNumberDetails };\r\n const initAustralianAddress = {...initialAustralianAddress};\r\n const crntAustralianAddress = {...currentAustralianAddress};\r\n const initOverseasAddress = {...initialOverseasAddress};\r\n const crntOverseasAddress = {...currentOverseasAddress};\r\n\r\n updateEmptyValueForNullUndefined(initPersonDetails);\r\n updateEmptyValueForNullUndefined(crntPersonDetails);\r\n updateEmptyValueForNullUndefined(initPhoneNumberDetails);\r\n updateEmptyValueForNullUndefined(crntPhoneNumberDetails);\r\n updateEmptyValueForNullUndefined(initAustralianAddress);\r\n updateEmptyValueForNullUndefined(crntAustralianAddress);\r\n updateEmptyValueForNullUndefined(initOverseasAddress);\r\n updateEmptyValueForNullUndefined(crntOverseasAddress);\r\n\r\n return compareStudentPersonDetails(initPersonDetails, crntPersonDetails)\r\n && comparePhoneNumberDetails(initPhoneNumberDetails, crntPhoneNumberDetails)\r\n && compareAddresses(initAustralianAddress, crntAustralianAddress)\r\n && compareAddresses(initOverseasAddress, crntOverseasAddress);\r\n };\r\n\r\nexport const compareParentGuardianDetails = (initialPersonDetails: PersonDetails, currentPersonDetails: PersonDetails,\r\ninitialPhoneNumberDetails: PhoneNumberDetails, currentPhoneNumberDetails: PhoneNumberDetails,\r\ninitialAustralianAddress: Address, currentAustralianAddress: Address,\r\ninitialOverseasAddress: Address, currentOverseasAddress: Address): boolean => {\r\n\r\n const initPersonDetails = initialPersonDetails === undefined ? undefinedPersonDetails() : {...initialPersonDetails};\r\n const crntPersonDetails = {...currentPersonDetails};\r\n const initPhoneNumberDetails = initialPhoneNumberDetails === undefined ?\r\n undefinedPhoneNumberDetails() : { ...initialPhoneNumberDetails };\r\n const crntPhoneNumberDetails = { ...currentPhoneNumberDetails };\r\n const initAustralianAddress = initialAustralianAddress === undefined ? undefinedAddress() : {...initialAustralianAddress};\r\n const crntAustralianAddress = {...currentAustralianAddress};\r\n const initOverseasAddress = initialOverseasAddress === undefined ? undefinedAddress() : {...initialOverseasAddress};\r\n const crntOverseasAddress = {...currentOverseasAddress};\r\n\r\n updateEmptyValueForNullUndefined(initPersonDetails);\r\n updateEmptyValueForNullUndefined(crntPersonDetails);\r\n updateEmptyValueForNullUndefined(initPhoneNumberDetails);\r\n updateEmptyValueForNullUndefined(crntPhoneNumberDetails);\r\n updateEmptyValueForNullUndefined(initAustralianAddress);\r\n updateEmptyValueForNullUndefined(crntAustralianAddress);\r\n updateEmptyValueForNullUndefined(initOverseasAddress);\r\n updateEmptyValueForNullUndefined(crntOverseasAddress);\r\n\r\n return compareParentGuardianPersonDetails(initPersonDetails, crntPersonDetails)\r\n && comparePhoneNumberDetails(initPhoneNumberDetails, crntPhoneNumberDetails)\r\n && compareAddresses(initAustralianAddress, crntAustralianAddress)\r\n && compareAddresses(initOverseasAddress, crntOverseasAddress);\r\n};\r\n\r\nexport const compareParentLegalcustodianDetails = (\r\n initialP1ParentInfo: ParentInfo, currentP1ParentInfo: ParentInfo,\r\n initialP2ParentInfo: ParentInfo, currentP2ParentInfo: ParentInfo,\r\n initialLCParentInfo: ParentInfo, currentLCParentInfo: ParentInfo,\r\n initialP1ParentDetails: ParentDetails, currentP1ParentDetails: ParentDetails,\r\n initialP2ParentDetails: ParentDetails, currentP2ParentDetails: ParentDetails,\r\n initialLCParentDetails: ParentDetails, currentLCParentDetails: ParentDetails\r\n): boolean => {\r\n\r\n const initP1ParentInfo = initialP1ParentInfo === undefined ? undefinedP1ParentInfo() : {...initialP1ParentInfo};\r\n const crntP1ParentInfo = {...currentP1ParentInfo};\r\n const initP2ParentInfo = initialP2ParentInfo === undefined ? undefinedP2ParentInfo() : {...initialP2ParentInfo};\r\n const crntP2ParentInfo = {...currentP2ParentInfo};\r\n const initLCParentInfo = initialLCParentInfo === undefined ? undefinedLCParentInfo() : {...initialLCParentInfo};\r\n const crntLCParentInfo = {...currentLCParentInfo};\r\n\r\n const initP1ParentDetails = initialP1ParentDetails === undefined ? undefinedP1ParentDetails() : {...initialP1ParentDetails};\r\n const crntP1ParentDetails = {...currentP1ParentDetails};\r\n const initP2ParentDetails = initialP2ParentDetails === undefined ? undefinedP2ParentDetails() : {...initialP2ParentDetails};\r\n const crntP2ParentDetails = {...currentP2ParentDetails};\r\n const initLCParentDetails = initialLCParentDetails === undefined ? undefinedLCParentDetails() : {...initialLCParentDetails};\r\n const crntLCParentDetails = {...currentLCParentDetails};\r\n\r\n updateEmptyValueForNullUndefined(initP1ParentInfo);\r\n updateEmptyValueForNullUndefined(crntP1ParentInfo);\r\n updateEmptyValueForNullUndefined(initP2ParentInfo);\r\n updateEmptyValueForNullUndefined(crntP2ParentInfo);\r\n updateEmptyValueForNullUndefined(initLCParentInfo);\r\n updateEmptyValueForNullUndefined(crntLCParentInfo);\r\n updateEmptyValueForNullUndefined(initP1ParentDetails);\r\n updateEmptyValueForNullUndefined(crntP1ParentDetails);\r\n updateEmptyValueForNullUndefined(initP2ParentDetails);\r\n updateEmptyValueForNullUndefined(crntP2ParentDetails);\r\n updateEmptyValueForNullUndefined(initLCParentDetails);\r\n updateEmptyValueForNullUndefined(crntLCParentDetails);\r\n\r\n // return compareP1ParentInfo(initP1ParentInfo, crntP1ParentInfo) \r\n // && compareP2ParentInfo(initP2ParentInfo, crntP2ParentInfo) \r\n // && compareLCParentInfo(initLCParentInfo, crntLCParentInfo) \r\n // && compareP1ParentDetails(initP1ParentDetails, crntP1ParentDetails) \r\n // && compareP2ParentDetails(initP2ParentDetails, crntP2ParentDetails) \r\n // && compareLCParentDetails(initLCParentDetails, crntLCParentDetails); \r\n return false;\r\n}\r\n\r\n// export const compareP1ParentInfo = (initP1ParentInfo: ParentInfo, crntP1ParentInfo: ParentInfo): boolean => {\r\n// return initialPersonDetails.relationship === currentPersonDetails.relationship &&\r\n// initialPersonDetails.givenName === currentPersonDetails.givenName &&\r\n// initialPersonDetails.familyName === currentPersonDetails.familyName &&\r\n// initialPersonDetails.preferredName === currentPersonDetails.preferredName &&\r\n// initialPersonDetails.gender === currentPersonDetails.gender &&\r\n// initialPersonDetails.nationality === currentPersonDetails.nationality &&\r\n// initialPersonDetails.countryOfBirth === currentPersonDetails.countryOfBirth &&\r\n// initialPersonDetails.dateOfBirth === currentPersonDetails.dateOfBirth &&\r\n// initialPersonDetails.passportNumber === currentPersonDetails.passportNumber &&\r\n// initialPersonDetails.emailAddress === currentPersonDetails.emailAddress;\r\n// };\r\n\r\nconst undefinedP1ParentInfo = (): ParentInfo => ({\r\n Relationship: undefined,\r\n OtherRelationship: undefined,\r\n IsDeceased: false,\r\n GivenName: undefined,\r\n FamilyName: undefined,\r\n OnlyHasOneName: false,\r\n HasLegalCustody: undefined\r\n});\r\nconst undefinedP2ParentInfo = (): ParentInfo => ({\r\n Relationship: undefined,\r\n OtherRelationship: undefined,\r\n IsDeceased: false,\r\n GivenName: undefined,\r\n FamilyName: undefined,\r\n OnlyHasOneName: false,\r\n HasLegalCustody: undefined\r\n});\r\nconst undefinedLCParentInfo = (): ParentInfo => ({\r\n Relationship: undefined,\r\n OtherRelationship: undefined,\r\n IsDeceased: false,\r\n GivenName: undefined,\r\n FamilyName: undefined,\r\n OnlyHasOneName: false,\r\n HasLegalCustody: undefined\r\n});\r\n\r\nconst undefinedP1ParentDetails = (): ParentDetails => ({\r\n SchoolProgramType: undefined,\r\n DateOfBirth: undefined,\r\n Gender: undefined,\r\n CountryOfBirthId: undefined,\r\n CountryOfNationalityId: undefined,\r\n PassportNumber: undefined,\r\n EmailAddress: undefined,\r\n Note: undefined,\r\n IsRefusedAusVisaBefore: undefined,\r\n VisaRefusalDetails: undefined,\r\n MobileCountryCode: undefined,\r\n MobilePhoneNumber: undefined,\r\n HomeCountryCode: undefined,\r\n HomePhoneNumber: undefined,\r\n IsAustralianAddress: false,\r\n AddressLine1: undefined,\r\n AddressLine2: undefined,\r\n SuburbTownCity: undefined,\r\n StateProvinceRegion: undefined,\r\n Postcode: undefined,\r\n CountryId: undefined,\r\n IsSameAddress: undefined\r\n });\r\n const undefinedP2ParentDetails = (): ParentDetails => ({\r\n SchoolProgramType: undefined,\r\n DateOfBirth: undefined,\r\n Gender: undefined,\r\n CountryOfBirthId: undefined,\r\n CountryOfNationalityId: undefined,\r\n PassportNumber: undefined,\r\n EmailAddress: undefined,\r\n Note: undefined,\r\n IsRefusedAusVisaBefore: undefined,\r\n VisaRefusalDetails: undefined,\r\n MobileCountryCode: undefined,\r\n MobilePhoneNumber: undefined,\r\n HomeCountryCode: undefined,\r\n HomePhoneNumber: undefined,\r\n IsAustralianAddress: false,\r\n AddressLine1: undefined,\r\n AddressLine2: undefined,\r\n SuburbTownCity: undefined,\r\n StateProvinceRegion: undefined,\r\n Postcode: undefined,\r\n CountryId: undefined,\r\n IsSameAddress: undefined\r\n });\r\n const undefinedLCParentDetails = (): ParentDetails => ({\r\n SchoolProgramType: undefined,\r\n DateOfBirth: undefined,\r\n Gender: undefined,\r\n CountryOfBirthId: undefined,\r\n CountryOfNationalityId: undefined,\r\n PassportNumber: undefined,\r\n EmailAddress: undefined,\r\n Note: undefined,\r\n IsRefusedAusVisaBefore: undefined,\r\n VisaRefusalDetails: undefined,\r\n MobileCountryCode: undefined,\r\n MobilePhoneNumber: undefined,\r\n HomeCountryCode: undefined,\r\n HomePhoneNumber: undefined,\r\n IsAustralianAddress: false,\r\n AddressLine1: undefined,\r\n AddressLine2: undefined,\r\n SuburbTownCity: undefined,\r\n StateProvinceRegion: undefined,\r\n Postcode: undefined,\r\n CountryId: undefined,\r\n IsSameAddress: undefined\r\n });\r\n\r\nconst undefinedPersonDetails = (): PersonDetails => ({\r\n countryOfBirth: undefined,\r\n dateOfBirth: undefined,\r\n emailAddress: undefined,\r\n familyName: undefined,\r\n gender: undefined,\r\n givenName: undefined,\r\n isRefusedAusVisaBefore: undefined,\r\n visaRefusalDetails: undefined,\r\n nationality: undefined,\r\n onlyHasOneName: undefined,\r\n hasPassport: undefined,\r\n passportNumber: undefined,\r\n passportExpiryDate: undefined,\r\n preferredName: undefined,\r\n relationship: undefined,\r\n otherRelationship: undefined,\r\n });\r\n\r\nconst undefinedPhoneNumberDetails = (): PhoneNumberDetails => ({\r\n homeCountryCode: undefined,\r\n homePhoneNumber: undefined,\r\n mobileCountryCode: undefined,\r\n mobilePhoneNumber: undefined\r\n});\r\n\r\nconst undefinedAddress = (): Address => ({\r\n country: undefined,\r\n isCurrentAddress: undefined,\r\n line1: undefined,\r\n line2: undefined,\r\n postcode: undefined,\r\n state: undefined,\r\n suburb: undefined\r\n});\r\n\r\n\r\n\r\nexport const compareVisaOHSCDetails = (initialVisaOhsc: VisaOshc, currentVisaOhsc: VisaOshc): boolean => {\r\n\r\n const initVisaOhsc = { ...initialVisaOhsc };\r\n const crntVisaOhsc = { ...currentVisaOhsc };\r\n\r\n updateEmptyValueForNullUndefined(initVisaOhsc);\r\n updateEmptyValueForNullUndefined(crntVisaOhsc);\r\n\r\n return initVisaOhsc.HasOshc === crntVisaOhsc.HasOshc\r\n && initVisaOhsc.HoldsAustralianVisa === crntVisaOhsc.HoldsAustralianVisa\r\n && initVisaOhsc.IsOnshoreWhileLodgingVisa === crntVisaOhsc.IsOnshoreWhileLodgingVisa\r\n && initVisaOhsc.OshcExpiryDate === crntVisaOhsc.OshcExpiryDate\r\n && initVisaOhsc.OshcProviderCode === crntVisaOhsc.OshcProviderCode\r\n && initVisaOhsc.VisaExpiryDate === crntVisaOhsc.VisaExpiryDate\r\n && initVisaOhsc.VisaNumber === crntVisaOhsc.VisaNumber\r\n && initVisaOhsc.VisaSubclassId === crntVisaOhsc.VisaSubclassId\r\n && initVisaOhsc.IsHealthCoverFromDEInternational === crntVisaOhsc.IsHealthCoverFromDEInternational;\r\n};\r\n\r\nexport const compareSchoolProgramPlacementDetails = (initialSchoolProgramPlacementDetails: SchoolProgramPlacementDetails,\r\n currentSchoolProgramPlacementDetails: SchoolProgramPlacementDetails): boolean => {\r\n\r\n const initSchoolDetails = { ...initialSchoolProgramPlacementDetails };\r\n const crntSchoolDetails = { ...currentSchoolProgramPlacementDetails };\r\n\r\n updateEmptyValueForNullUndefined(initSchoolDetails);\r\n updateEmptyValueForNullUndefined(crntSchoolDetails);\r\n\r\n return initSchoolDetails.AgeInYears === crntSchoolDetails.AgeInYears\r\n && initSchoolDetails.AgeInYears === crntSchoolDetails.AgeInYears\r\n && initSchoolDetails.CompulsorySubject1Code === crntSchoolDetails.CompulsorySubject1Code\r\n && initSchoolDetails.CompulsorySubject2Code === crntSchoolDetails.CompulsorySubject2Code\r\n && initSchoolDetails.CompulsorySubject3Code === crntSchoolDetails.CompulsorySubject3Code\r\n && initSchoolDetails.CompulsorySubject4Code === crntSchoolDetails.CompulsorySubject4Code\r\n && initSchoolDetails.CompulsorySubject5Code === crntSchoolDetails.CompulsorySubject5Code\r\n && initSchoolDetails.CompulsorySubject6Code === crntSchoolDetails.CompulsorySubject6Code\r\n && initSchoolDetails.CompulsorySubject7Code === crntSchoolDetails.CompulsorySubject7Code\r\n && initSchoolDetails.DurationCode === crntSchoolDetails.DurationCode\r\n && initSchoolDetails.IecDurationCode === crntSchoolDetails.IecDurationCode\r\n && initSchoolDetails.IecStartTermCode === crntSchoolDetails.IecStartTermCode\r\n && initSchoolDetails.IecStartTermYear === crntSchoolDetails.IecStartTermYear\r\n && initSchoolDetails.IsEligibleForStudyAbroad === crntSchoolDetails.IsEligibleForStudyAbroad\r\n && initSchoolDetails.IsSiblingEnrolledInAustralia === crntSchoolDetails.IsSiblingEnrolledInAustralia\r\n && initSchoolDetails.PreferredSchool1Id === crntSchoolDetails.PreferredSchool1Id\r\n && initSchoolDetails.PreferredSchool2Id === crntSchoolDetails.PreferredSchool2Id\r\n && initSchoolDetails.PreferredSchool3Id === crntSchoolDetails.PreferredSchool3Id\r\n && initSchoolDetails.SchoolProgramType === crntSchoolDetails.SchoolProgramType\r\n && initSchoolDetails.SiblingComments === crntSchoolDetails.SiblingComments\r\n && initSchoolDetails.SiblingDateOfBirth === crntSchoolDetails.SiblingDateOfBirth\r\n && initSchoolDetails.SiblingFamilyName === crntSchoolDetails.SiblingFamilyName\r\n && initSchoolDetails.SiblingGivenName === crntSchoolDetails.SiblingGivenName\r\n && initSchoolDetails.SiblingPreferredName === crntSchoolDetails.SiblingPreferredName\r\n && initSchoolDetails.SiblingSchoolName === crntSchoolDetails.SiblingSchoolName\r\n && initSchoolDetails.SiblingDateOfBirth === crntSchoolDetails.SiblingDateOfBirth\r\n && initSchoolDetails.SiblingStudentNumber === crntSchoolDetails.SiblingStudentNumber\r\n && initSchoolDetails.StartTermCode === crntSchoolDetails.StartTermCode\r\n && initSchoolDetails.StartTermYear === crntSchoolDetails.StartTermYear\r\n && initSchoolDetails.WishToEnrolIec === crntSchoolDetails.WishToEnrolIec\r\n && initSchoolDetails.YearOfEntryCode === crntSchoolDetails.YearOfEntryCode;\r\n };\r\n\r\n\r\nexport const compareAccommodationDetails = (initialAccommodationDetails: AccommodationWelfareUpdateDetails,\r\n currentAccommodationDetails: AccommodationWelfareUpdateDetails): boolean => {\r\n\r\n const initAccommodationDetails = { ...initialAccommodationDetails };\r\n const crntAccommodationDetails = { ...currentAccommodationDetails };\r\n\r\n updateEmptyValueForNullUndefined(initAccommodationDetails);\r\n updateEmptyValueForNullUndefined(crntAccommodationDetails);\r\n\r\n return initAccommodationDetails.AccommodationTypeId === crntAccommodationDetails.AccommodationTypeId\r\n && initAccommodationDetails.SelectedCarerId === crntAccommodationDetails.SelectedCarerId;\r\n\r\n};\r\n\r\nexport const compareEnglishProficiencyDetails = (initialEnglishProficiencyDetails: EnglishProficiencyDetails,\r\n currentEnglishProficiencyDetails: EnglishProficiencyDetails): boolean => {\r\n\r\n const initEnglishProficiencyDetails = { ...initialEnglishProficiencyDetails };\r\n const crntEnglishProficiencyDetails = { ...currentEnglishProficiencyDetails };\r\n\r\n updateEmptyValueForNullUndefined(initEnglishProficiencyDetails);\r\n updateEmptyValueForNullUndefined(crntEnglishProficiencyDetails);\r\n\r\n return initEnglishProficiencyDetails.TestTypeCode === crntEnglishProficiencyDetails.TestTypeCode\r\n && initEnglishProficiencyDetails.HasTakenTest === crntEnglishProficiencyDetails.HasTakenTest\r\n && initEnglishProficiencyDetails.DateTaken === crntEnglishProficiencyDetails.DateTaken\r\n && initEnglishProficiencyDetails.ListeningScore === crntEnglishProficiencyDetails.ListeningScore\r\n && initEnglishProficiencyDetails.ReadingScore === crntEnglishProficiencyDetails.ReadingScore\r\n && initEnglishProficiencyDetails.WritingScore === crntEnglishProficiencyDetails.WritingScore\r\n && initEnglishProficiencyDetails.SpeakingScore === crntEnglishProficiencyDetails.SpeakingScore\r\n && initEnglishProficiencyDetails.VocabularyScore === crntEnglishProficiencyDetails.VocabularyScore\r\n && initEnglishProficiencyDetails.TotalScore === crntEnglishProficiencyDetails.TotalScore\r\n && initEnglishProficiencyDetails.OtherTestName === crntEnglishProficiencyDetails.OtherTestName\r\n && initEnglishProficiencyDetails.SpeaksEnglishAtHome === crntEnglishProficiencyDetails.SpeaksEnglishAtHome;\r\n};\r\n\r\nexport const compareApplicationAgentDetails = (initialAgentDetails: ApplicationAgentDetails, currentAgentDetails: ApplicationAgentDetails): boolean => {\r\n const initAgentDetails = {...initialAgentDetails};\r\n const crntAgentDetails = {...currentAgentDetails};\r\n\r\n updateEmptyValueForNullUndefined(initAgentDetails);\r\n updateEmptyValueForNullUndefined(crntAgentDetails);\r\n\r\n return initAgentDetails.GivenName === crntAgentDetails.GivenName\r\n && initAgentDetails.FamilyName === crntAgentDetails.FamilyName\r\n && initAgentDetails.PhoneCountryCode === crntAgentDetails.PhoneCountryCode\r\n && initAgentDetails.PhoneNumber === crntAgentDetails.PhoneNumber\r\n && initAgentDetails.EmailAddress === crntAgentDetails.EmailAddress\r\n && initAgentDetails.AdditionalInformation === crntAgentDetails.AdditionalInformation;\r\n}\r\n\r\nexport const compareSpecialCircumstances = (initialSpecialCircumstances: SpecialCircumstances,\r\n currentSpecialCircumstances: SpecialCircumstances): boolean => {\r\n\r\n const initSpecialCircumstances = { ...initialSpecialCircumstances };\r\n const crntSpecialCircumstances = { ...currentSpecialCircumstances };\r\n\r\n updateEmptyValueForNullUndefined(initSpecialCircumstances);\r\n updateEmptyValueForNullUndefined(crntSpecialCircumstances);\r\n\r\n return initSpecialCircumstances.HadCovid19Vaccination === crntSpecialCircumstances.HadCovid19Vaccination\r\n && compareCommaSeparatedListStrings(initSpecialCircumstances.Covid19VaccinesTaken, crntSpecialCircumstances.Covid19VaccinesTaken)\r\n && initSpecialCircumstances.DisabledDescription === crntSpecialCircumstances.DisabledDescription\r\n && initSpecialCircumstances.HadViolentBehaviour === crntSpecialCircumstances.HadViolentBehaviour\r\n && initSpecialCircumstances.HasMedicalHistory === crntSpecialCircumstances.HasMedicalHistory\r\n && initSpecialCircumstances.HospitalisedDescription === crntSpecialCircumstances.HospitalisedDescription\r\n && initSpecialCircumstances.InvolvedInOtherIncidentsOutsideSchool === crntSpecialCircumstances.InvolvedInOtherIncidentsOutsideSchool\r\n && initSpecialCircumstances.IsDisabled === crntSpecialCircumstances.IsDisabled\r\n && initSpecialCircumstances.MedicalHistoryDescription === crntSpecialCircumstances.MedicalHistoryDescription\r\n && initSpecialCircumstances.OtherIncidentsDescription === crntSpecialCircumstances.OtherIncidentsDescription\r\n && initSpecialCircumstances.SuspensionDueToIllegalDrugs === crntSpecialCircumstances.SuspensionDueToIllegalDrugs\r\n && initSpecialCircumstances.SuspensionDueToViolenceAtSchool === crntSpecialCircumstances.SuspensionDueToViolenceAtSchool\r\n && initSpecialCircumstances.SuspensionDueToViolenceToPerson === crntSpecialCircumstances.SuspensionDueToViolenceToPerson\r\n && initSpecialCircumstances.SuspensionDueToWeaponPossession === crntSpecialCircumstances.SuspensionDueToWeaponPossession\r\n && initSpecialCircumstances.SuspendedDueToOtherReason === crntSpecialCircumstances.SuspendedDueToOtherReason\r\n && initSpecialCircumstances.OtherReasonForSuspension === crntSpecialCircumstances.OtherReasonForSuspension\r\n && initSpecialCircumstances.ViolentBehaviourDescription === crntSpecialCircumstances.ViolentBehaviourDescription\r\n && initSpecialCircumstances.WasHospitalised === crntSpecialCircumstances.WasHospitalised\r\n && initSpecialCircumstances.WasSuspended === crntSpecialCircumstances.WasSuspended;\r\n\r\n};\r\n\r\nexport const compareCommaSeparatedListStrings = (a: string, b: string): boolean => {\r\n if ((!!a && !b) || (!a && !!b)) {\r\n return false;\r\n }\r\n\r\n if (!a && !b) {\r\n return true;\r\n }\r\n\r\n let aItems = a.split(',');\r\n aItems.sort();\r\n\r\n let bItems = b.split(',');\r\n bItems.sort();\r\n\r\n return aItems.join(',') === bItems.join(',');\r\n}\r\n\r\nexport const compareDefaultCorrespondents = (initialDefaultCorrespondent: DefaultCorrespondent,\r\n currentDefaultCorrespondent: DefaultCorrespondent): boolean => {\r\n\r\n const initDefaultCorrespondent = { ...initialDefaultCorrespondent };\r\n const crntDefaultCorrespondent = { ...currentDefaultCorrespondent };\r\n\r\n updateEmptyValueForNullUndefined(initDefaultCorrespondent);\r\n updateEmptyValueForNullUndefined(crntDefaultCorrespondent);\r\n\r\n return initDefaultCorrespondent.CorrespondentId === crntDefaultCorrespondent.CorrespondentId\r\n && initDefaultCorrespondent.IsAgent === crntDefaultCorrespondent.IsAgent;\r\n\r\n};\r\n\r\n// function updateEmptyValueForNullUndefinedForAllArguments() {\r\n\r\n// const args = Array.from(arguments);\r\n// for (const arg of args) {\r\n// updateEmptyValueForNullUndefined(arg);\r\n// }\r\n// }\r\n\r\nconst updateEmptyValueForNullUndefined = (obj: Object) => {\r\n for (const property of Object.keys(obj)) {\r\n if (obj[property] === null || obj[property] === undefined) {\r\n obj[property] = '';\r\n }\r\n }\r\n};\r\n\r\nconst initUndefinedForObject = (obj: Object) => {\r\n for (const property of Object.keys(obj)) {\r\n obj[property] = undefined;\r\n }\r\n};\r\n\r\n\r\nexport const updateEmptyValuesForNullUndefined = (obj: Object) => {\r\n\r\n for (const property of Object.keys(obj)) {\r\n\r\n if (obj[property] !== null && obj[property] !== undefined && typeof obj[property] === 'object') {\r\n updateEmptyValuesForNullUndefined(obj[property]);\r\n }\r\n\r\n if (obj[property] === null || obj[property] === undefined) {\r\n obj[property] = '';\r\n }\r\n }\r\n};\r\n\r\n\r\n\r\n","import { NativeDateAdapter } from '@angular/material';\r\nimport { formatDate } from '@angular/common';\r\n\r\nexport const dateFormate = 'dd/MM/yyyy';\r\nexport const dateLocale = 'en-AU';\r\n\r\nexport const PICK_FORMATS = {\r\n parse: {dateInput: {month: 'short', year: 'numeric', day: 'numeric'}},\r\n display: {\r\n dateInput: 'input',\r\n monthYearLabel: {year: 'numeric', month: 'short'},\r\n dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'},\r\n monthYearA11yLabel: {year: 'numeric', month: 'long'}\r\n }\r\n};\r\n\r\nexport class PickDateAdapter extends NativeDateAdapter {\r\n format(date: Date, displayFormat: Object): string {\r\n if (displayFormat === 'input') {\r\n return formatDate(date,dateFormate,this.locale);\r\n } else {\r\n return date.toDateString();\r\n }\r\n }\r\n}","module.exports = \":host { \\r\\n /* height: calc(100vh - 75px); */\\r\\n z-index: 1;\\r\\n /* box-shadow: 5px 0 20px 1px #dee0e0; */\\r\\n}\\r\\n\\r\\n.navli:focus{\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.sidenav{\\r\\n width: 400px;\\r\\n}\\r\\n\\r\\n.menu ul li a.navli {\\r\\n cursor: pointer;\\r\\n\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vc2lkZWJhci1uYXYvc2lkZWJhci1uYXYuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGdDQUFnQztFQUNoQyxVQUFVO0VBQ1Ysd0NBQXdDO0FBQzFDOztBQUVBO0VBQ0UsYUFBYTtBQUNmOztBQUVBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsZUFBZTs7RUFFZixhQUFhO0VBQ2IsbUJBQW1CO0FBQ3JCIiwiZmlsZSI6InNyYy9hcHAvYXBwbGljYXRpb24vc2lkZWJhci1uYXYvc2lkZWJhci1uYXYuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHsgICAgXHJcbiAgLyogaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNzVweCk7ICovXHJcbiAgei1pbmRleDogMTtcclxuICAvKiBib3gtc2hhZG93OiA1cHggMCAyMHB4IDFweCAjZGVlMGUwOyAqL1xyXG59XHJcblxyXG4ubmF2bGk6Zm9jdXN7XHJcbiAgb3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLnNpZGVuYXZ7XHJcbiAgd2lkdGg6IDQwMHB4O1xyXG59XHJcblxyXG4ubWVudSB1bCBsaSBhLm5hdmxpIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufSJdfQ== */\"","module.exports = \"
\\n \\n \\n
\\n\"","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Store, select } from '@ngrx/store';\nimport { forkJoin, Subscription } from 'rxjs';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ApplicationService } from 'src/app/shared/services/application.service';\nimport { IApplicationStep } from '../models/application-step.interface';\nimport { ApiResponse, SingleResultApiResponse } from 'src/app/shared/models/api-response.model';\nimport { catchError, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'online-app-sidebar-nav',\n templateUrl: './sidebar-nav.component.html',\n styleUrls: ['./sidebar-nav.component.css']\n})\nexport class SidebarNavComponent implements OnInit, OnDestroy {\n\n applicationId: number;\n currentSectionURL = '';\n isSubmittedApplication = false;\n\n applicationSteps: IApplicationStep[] = [];\n isAgent: boolean;\n subscriptions: Subscription[] = [];\n\n constructor(private store: Store,\n private router: Router,\n private applicationService: ApplicationService,\n private activatedRoute: ActivatedRoute) {\n this.subscriptions.push(this.activatedRoute.params.subscribe(params => {\n this.applicationId = +params['id']; // (+) converts string 'id' to a number\n }));\n }\n\n\n ngOnInit() {\n\n this.applicationSteps = this.applicationService.getApplicationSteps();\n\n forkJoin(\n this.applicationService.getApplicationSections(this.applicationId)\n .pipe(\n catchError(err => {console.log(err); return null}),\n tap((response: ApiResponse) => this.updateApplicationSectionStatus(response.Result))\n ),\n\n this.applicationService.getApplicationDetails(this.applicationId)\n .pipe(\n catchError(err => {console.log(err); return null}),\n tap((response: SingleResultApiResponse) => {\n this.isAgent = !!response.Result.AgencyOrBranchId;\n this.isSubmittedApplication = response.Result.ApplicationStatus === 'Submitted';\n localStorage.setItem(\"isAgent\", this.isAgent.toString());\n })\n )\n ).subscribe(() => { \n if (!this.isAgent) {\n this.applicationSteps = this.applicationSteps.filter(s => s.Section !== 'AgentDetails');\n }\n\n if (this.isSubmittedApplication) {\n this.applicationSteps = this.applicationSteps.filter(x => x.Status == 'Complete');\n }\n });\n\n this.subscriptions.push(this.store.pipe(select('application'))\n .subscribe(applicationState => {\n\n if (applicationState && applicationState.applicationSectionSaved && this.applicationId > 0) {\n this.applicationService.getApplicationSections(this.applicationId)\n .subscribe((response: ApiResponse) => {\n this.updateApplicationSectionStatus(response.Result);\n }, err => {\n console.error(err);\n });\n }\n\n }));\n\n }\n\n navigateTo(urlObj: string[]) {\n const startTime = Date.now();\n this.router.navigate(urlObj);\n\n console.log(`side nav click: ${urlObj[urlObj.length - 1]}. time elapsed ${(Date.now() - startTime).toString()}ms`);\n }\n\n updateApplicationSectionStatus(applicationSections: ApplicationSection[]) {\n\n for (const applicationStep of this.applicationSteps) {\n const applicationSection = applicationSections.find(applnSection => applnSection.Type === applicationStep.Section);\n\n if (applicationSection) {\n applicationStep.Status = applicationSection.Status;\n } else {\n applicationStep.Status = 'NotStarted';\n }\n }\n const summaryApplicationStep = this.applicationSteps.find(s => s.Id === 10);\n const stepsBeforeSummarySection = this.applicationSteps.filter(s => s.Id > 1 && s.Id <= 9);\n\n if (summaryApplicationStep) {\n summaryApplicationStep.Status = stepsBeforeSummarySection.every(s => s.Status === 'Complete') ? 'Complete' : 'NotStarted';\n }\n }\n\n getCSSClassForApplicationSectionStatus(sectionStatus: string, url: string): string {\n\n let cssClass = '';\n if (url === 'important-information') {\n cssClass = 'complete';\n } else if (sectionStatus === 'Complete') {\n cssClass = 'complete';\n } else if (sectionStatus === 'Invalid') {\n cssClass = 'incomplete';\n } else if (sectionStatus === 'NotStarted') {\n cssClass = '';\n } else if (sectionStatus === 'NotStarted') {\n cssClass = '';\n }\n\n if (this.router.url.split('/').includes(url)) {\n cssClass += ' on';\n }\n\n return cssClass;\n\n }\n\n showPaymentSection(sectionStatus: string, url: string): boolean {\n if (url === 'payment' && sectionStatus === 'Complete') {\n return false;\n }\n return true;\n }\n\n //show border when tab on link for accessibility\n linkTabAccessibility(event): void {\n event.style.border = \"1px solid black\";\n }\n\n linkBlurAccessibility(event): void {\n event.style.border = \"\";\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n }\n}\n","module.exports = \"
\\n\\n
\\n

Special Circumstances

\\n \\n\\n \\\"\\\"/\\n
\\n\\n
\\n\\n
\\n\\n
\\n
Please note that all fields marked with an (*) are required.
\\n
\\n\\n
\\n\\n
\\n

Special Circumstances

\\n
\\n\\n
\\n
\\n\\n
\\n Have you been vaccinated against COVID-19 with a vaccine accepted by DE International?\\n
\\n
\\n Yes
radio button
checked
unchecked
\\n No
radio button
checked
unchecked
\\n\\n
\\n \\n Please select an option\\n \\n
\\n
\\n\\n
\\n If your application is successful, you will be required to provide evidence that you have been vaccinated with a vaccine accepted by DE International before a Confirmation of Enrolment is issued.\\n
\\n\\n
\\n
Please select the vaccine(s) you have received from the list below:
\\n
\\n
\\n \\n \\n {{vacc.Description}}\\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n {{ getApiValidationErrorMsg('covid19VaccinesTaken') }}\\n \\n
\\n\\n
Do you have any disabilities or medical conditions?
\\n
\\n Yes
radio button
checked
unchecked
\\n No
radio button
checked
unchecked
\\n\\n
\\n \\n {{ getApiValidationErrorMsg('isDisabled') }}\\n \\n
\\n\\n\\n
\\n\\n\\n
\\n \\n \\n \\n \\n \\n {{ getApiValidationErrorMsg('disabledDescription') }}\\n \\n \\n
\\n
\\n\\n
Have you been hospitalised in the last two years?
\\n
\\n Yes
radio button
checked
unchecked
\\n No
radio button
checked
unchecked
\\n\\n
\\n \\n {{ getApiValidationErrorMsg('wasHospitalised') }}\\n \\n
\\n\\n
\\n\\n\\n
\\n \\n \\n \\n \\n \\n {{ getApiValidationErrorMsg('hospitalisedDescription') }}\\n \\n \\n
\\n
\\n\\n
\\n To your knowledge, is there anything in your history or\\n circumstances (including medical history)\\n which might pose a risk of any type to you, other students, or staff at the school?\\n
\\n \\n Yes
radio button
checked
unchecked
\\n No
radio button
checked
unchecked
\\n
\\n \\n {{ getApiValidationErrorMsg('hasMedicalHistory') }}\\n \\n
\\n
\\n\\n\\n
\\n \\n \\n \\n \\n \\n {{ getApiValidationErrorMsg('medicalHistoryDescription') }}\\n \\n \\n
\\n
\\n\\n
Have you any past history of violent behavior?
\\n \\n Yes
radio button
checked
unchecked
\\n No
radio button
checked
unchecked
\\n
\\n \\n {{ getApiValidationErrorMsg('hadViolentBehaviour') }}\\n \\n
\\n
\\n\\n\\n
\\n \\n \\n \\n \\n \\n {{ getApiValidationErrorMsg('violentBehaviourDescription') }}\\n \\n \\n
\\n \\n\\n\\n
Have you been suspended or expelled from any previous\\n school?
\\n
\\n Yes
radio button
checked
unchecked
\\n No
radio button
checked
unchecked
\\n
\\n \\n {{ getApiValidationErrorMsg('wasSuspended') }}\\n \\n
\\n
\\n\\n
\\n\\n
\\n Actual violence to any person\\n Illegal drugs\\n Possession of a weapon or any item that may cause injury\\n Threats of violence or intimidation of staff, students, or others at school\\n Other\\n
\\n\\n
\\n \\n \\n \\n \\n \\n {{ getApiValidationErrorMsg('otherReasonForSuspension') }}\\n \\n \\n
\\n
\\n\\n \\n
\\n \\n {{ suspensionReasonErrorMsg }}\\n \\n
\\n\\n\\n
Have you been involved in any other incidents\\n of the kind listed above outside the school setting?
\\n \\n Yes
radio button
checked
unchecked
\\n No
radio button
checked
unchecked
\\n
\\n \\n {{ getApiValidationErrorMsg('involvedInOtherIncidentsOutsideSchool') }}\\n \\n
\\n \\n\\n\\n
\\n \\n \\n \\n \\n \\n {{ getApiValidationErrorMsg('otherIncidentsDescription') }}\\n \\n \\n
\\n \\n\\n \\n \\n\\n\\n\\n \\n\\n
\\n \\n \\n \\n
\\n\\n \\n\\n\\n \\n\\n\"","module.exports = \":host ::ng-deep .problems .problem .question .answer .suspension-reason,\\n:host ::ng-deep .problems .problem .question .answer .covid19-detail {\\n border: 0.2rem solid #dce6e6;\\n padding: 1rem 2rem;\\n margin: 20px;\\n max-width: 120rem; }\\n :host ::ng-deep .problems .problem .question .answer .suspension-reason .choice-checkbox,\\n :host ::ng-deep .problems .problem .question .answer .covid19-detail .choice-checkbox {\\n max-width: unset;\\n width: 100%;\\n display: flex;\\n flex-direction: column; }\\n :host ::ng-deep .problems .problem .question .answer .suspension-reason .choice-checkbox span,\\n :host ::ng-deep .problems .problem .question .answer .covid19-detail .choice-checkbox span {\\n display: block; }\\n :host ::ng-deep .problems .problem .question .answer .suspension-reason .choice-checkbox span.mat-checkbox-label,\\n :host ::ng-deep .problems .problem .question .answer .covid19-detail .choice-checkbox span.mat-checkbox-label {\\n margin-top: 1rem !important;\\n margin-right: 0.4rem !important;\\n margin-bottom: 1rem !important;\\n margin-left: 0.4rem !important;\\n padding-top: 0 !important; }\\n :host ::ng-deep .problems .problem .question .answer .covid19-detail {\\n height: 25rem;\\n overflow-y: auto; }\\n .problems .problem .question .answer .choice-input {\\n max-width: 120rem; }\\n textarea {\\n display: block;\\n width: 100%;\\n box-sizing: border-box; }\\n .problems .problem .question .answer .choice .radioError {\\n font-style: normal;\\n color: #f00;\\n font-size: 1.4rem;\\n margin-bottom: 3rem; }\\n .problems .problem .question .answer .checkboxListError {\\n font-style: normal;\\n color: #f00;\\n font-size: 1.4rem;\\n margin-bottom: 3rem; }\\n span.span-disabled {\\n pointer-events: none; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vc3BlY2lhbC1jaXJjdW1zdGFuY2VzL0Q6XFxhXFwxNTVcXHNcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5Qcm9kXFxEZWkuT25saW5lQXBwbGljYXRpb24uV2ViXFxvbmxpbmUtYXBwL3NyY1xcYXBwXFxhcHBsaWNhdGlvblxcc3BlY2lhbC1jaXJjdW1zdGFuY2VzXFxzcGVjaWFsLWNpcmN1bXN0YW5jZXMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0VBS1ksNEJBQXVDO0VBQ3ZDLGtCQUFrQjtFQUNsQixZQUFZO0VBRVosaUJBQWlCLEVBQUE7RUFUN0I7O0lBWWdCLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsYUFBYTtJQUNiLHNCQUFzQixFQUFBO0VBZnRDOztNQWtCb0IsY0FBYyxFQUFBO0VBbEJsQzs7TUFzQm9CLDJCQUEyQjtNQUMzQiwrQkFBK0I7TUFDL0IsOEJBQThCO01BQzlCLDhCQUE4QjtNQUM5Qix5QkFBeUIsRUFBQTtFQTFCN0M7RUFnQ1ksYUFBYTtFQUNiLGdCQUFnQixFQUFBO0VBYTVCO0VBQ0ksaUJBQWlCLEVBQUE7RUFHckI7RUFDSSxjQUFjO0VBQ2QsV0FBVztFQUdOLHNCQUFzQixFQUFBO0VBRy9CO0VBQ0ksa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxpQkFBaUI7RUFDakIsbUJBQW1CLEVBQUE7RUFJdkI7RUFDSSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLGlCQUFpQjtFQUNqQixtQkFBbUIsRUFBQTtFQUd2QjtFQUNJLG9CQUFvQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvYXBwbGljYXRpb24vc3BlY2lhbC1jaXJjdW1zdGFuY2VzL3NwZWNpYWwtY2lyY3Vtc3RhbmNlcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IDo6bmctZGVlcCB7XHJcbiAgICAucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIge1xyXG5cclxuICAgICAgICAuc3VzcGVuc2lvbi1yZWFzb24sIFxyXG4gICAgICAgIC5jb3ZpZDE5LWRldGFpbCB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMC4ycmVtIHNvbGlkIHJnYigyMjAsIDIzMCwgMjMwKTtcclxuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAycmVtO1xyXG4gICAgICAgICAgICBtYXJnaW46IDIwcHg7XHJcbiAgICAgICAgICAgIC8vIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTIwcmVtO1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAuY2hvaWNlLWNoZWNrYm94IHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIHNwYW4ubWF0LWNoZWNrYm94LWxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjRyZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNHJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb3ZpZDE5LWRldGFpbCB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjVyZW07XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLmNob2ljZS1pbnB1dCBzcGFuIHRleHRhcmVhIHtcclxuLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4vLyAgICAgd2lkdGg6IDEwMCU7XHJcbi8vICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbi8vICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbi8vICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbi8vIH1cclxuXHJcbi5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlLWlucHV0IHtcclxuICAgIG1heC13aWR0aDogMTIwcmVtO1xyXG59XHJcblxyXG50ZXh0YXJlYSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4ucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLmNob2ljZSAucmFkaW9FcnJvciB7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBjb2xvcjogI2YwMDsgIFxyXG4gICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xyXG59XHJcblxyXG5cclxuLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5jaGVja2JveExpc3RFcnJvciB7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBjb2xvcjogI2YwMDsgIFxyXG4gICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xyXG59XHJcblxyXG5zcGFuLnNwYW4tZGlzYWJsZWQge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuIl19 */\"","import { Component, OnInit, AfterContentChecked, ViewChild } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { ApplicationService } from 'src/app/shared/services/application.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { SingleResultApiResponse } from 'src/app/shared/models/api-response.model';\nimport { SpecialCircumstances } from '../models/special-circumstances';\nimport { ErrorResponse } from 'src/app/shared/models/error.model';\nimport { Store } from '@ngrx/store';\nimport { Action_ApplicationSectionSaved } from '../state/actions';\nimport { forkJoin, Observable } from 'rxjs';\nimport { ModalService } from 'src/app/shared/services/modal.service';\nimport { compareSpecialCircumstances } from '../shared/utils/ModelUtils';\nimport { slideInOut } from '../animations/slideInOut';\nimport { FormService } from 'src/app/shared/services/form.service';\nimport { Title } from '@angular/platform-browser';\nimport { LookupData, Tab_Title } from 'src/app/shared/models/lookup-data.model';\nimport { LookupService } from 'src/app/shared/services/lookup.service';\nimport { tap } from 'rxjs/operators';\nimport { MatSelectionList } from '@angular/material';\n\n@Component({\n selector: 'online-app-special-circumstances',\n templateUrl: './special-circumstances.component.html',\n styleUrls: ['./special-circumstances.component.scss'],\n host: {\n class: 'application-section-component'\n },\n animations: [slideInOut]\n})\nexport class SpecialCircumstancesComponent implements OnInit, AfterContentChecked {\n\n specialCircumstancesFormGroup: FormGroup;\n isFormSubmitted = false;\n isScrollDone = false;\n applicationId: number;\n\n hadCovid19Vaccination: boolean;\n covid19VaccinesTaken: string;\n covid19ErrorMsg = '';\n\n isDisabled: boolean;\n wasHospitalised: boolean;\n hasMedicalHistory: boolean;\n hadViolentBehaviour: boolean;\n wasSuspended: boolean;\n suspensionDueToViolenceToPerson: boolean;\n suspensionDueToIllegalDrugs: boolean;\n suspensionDueToWeaponPossession: boolean;\n suspensionDueToViolenceAtSchool: boolean;\n suspendedDueToOtherReason: boolean;\n involvedInOtherIncidentsOutsideSchool: boolean;\n suspensionReasonErrorMsg = '';\n\n initialSpecialCircumstanceDetails: SpecialCircumstances;\n\n\n schoolProgramType: string = '';\n accommodationWelfareId: number = 0;\n isCovid19VaccinationNeeded: boolean = false;\n deiApprovedCovid19Vaccines: LookupData[] = [];\n\n isSaveSuccessful = false;\n isSubmittedApplication = false;\n\n @ViewChild('') vaccines: MatSelectionList\n\n errorKeyFormFieldMapping = [\n { apiErrorKeyName: 'HadCovid19Vaccination', formFieldName: 'hadCovid19Vaccination', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'Covid19VaccinesTaken', formFieldName: 'covid19VaccinesTaken', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'IsDisabled', formFieldName: 'isDisabled', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'DisabledDescription', formFieldName: 'disabledDescription', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'WasHospitalised', formFieldName: 'wasHospitalised', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'HospitalisedDescription', formFieldName: 'hospitalisedDescription', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'HasMedicalHistory', formFieldName: 'hasMedicalHistory', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'MedicalHistoryDescription', formFieldName: 'medicalHistoryDescription', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'HadViolentBehaviour', formFieldName: 'hadViolentBehaviour', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'ViolentBehaviourDescription', formFieldName: 'violentBehaviourDescription', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'WasSuspended', formFieldName: 'wasSuspended', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'SuspensionDueToViolenceToPerson', formFieldName: 'suspensionDueToViolenceToPerson', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'SuspensionDueToIllegalDrugs', formFieldName: 'suspensionDueToIllegalDrugs', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'SuspensionDueToWeaponPossession', formFieldName: 'suspensionDueToWeaponPossession', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'SuspensionDueToViolenceAtSchool', formFieldName: 'suspensionDueToViolenceAtSchool', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'SuspendedDueToOtherReason', formFieldName: 'suspendedDueToOtherReason', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'OtherReasonForSuspension', formFieldName: 'otherReasonForSuspension', apiValidationErrorMsg: null },\n {\n apiErrorKeyName: 'InvolvedInOtherIncidentsOutsideSchool',\n formFieldName: 'involvedInOtherIncidentsOutsideSchool', apiValidationErrorMsg: null\n },\n { apiErrorKeyName: 'OtherIncidentsDescription', formFieldName: 'otherIncidentsDescription', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'ViolentBehaviourDescription', formFieldName: 'violentBehaviourDescription', apiValidationErrorMsg: null }\n ];\n\n constructor(private formBuilder: FormBuilder,\n private router: Router,\n private modalService: ModalService,\n private formService: FormService,\n private store: Store,\n private applicationService: ApplicationService,\n private lookupService: LookupService,\n private activatedRoute: ActivatedRoute,\n private titleService: Title) {\n\n this.activatedRoute.parent.params.subscribe(params => {\n this.applicationId = +params['id'];\n });\n\n\n }\n\n ngOnInit() {\n if(localStorage.getItem(\"isAgent\") == \"true\"){\n this.titleService.setTitle(Tab_Title.Agent_SpecialCircumstances_Title);\n }else{\n this.titleService.setTitle(Tab_Title.SpecialCircumstances_Title);\n }\n this.specialCircumstancesFormGroup = this.formBuilder.group({\n hadCovid19Vaccination: '',\n covid19VaccinesTaken: '',\n\n isDisabled: false,\n disabledDescription: '',\n wasHospitalised: false,\n hospitalisedDescription: '',\n hasMedicalHistory: false,\n medicalHistoryDescription: '',\n hadViolentBehaviour: false,\n violentBehaviourDescription: '',\n wasSuspended: false,\n suspensionDueToViolenceToPerson: false,\n suspensionDueToIllegalDrugs: false,\n suspensionDueToWeaponPossession: false,\n suspensionDueToViolenceAtSchool: false,\n suspendedDueToOtherReason: false,\n otherReasonForSuspension: null,\n involvedInOtherIncidentsOutsideSchool: false,\n otherIncidentsDescription: ''\n \n\n });\n\n forkJoin([\n this.lookupService.getDeiApprovedCovid19Vaccines()\n .pipe(\n tap(x => this.deiApprovedCovid19Vaccines = x.Result)\n ),\n this.applicationService.getApplicationDetails(this.applicationId)\n .pipe(\n tap((response: SingleResultApiResponse) => { \n this.isSubmittedApplication = response.Result.ApplicationStatus === 'Submitted';\n\n if (this.isSubmittedApplication) {\n this.specialCircumstancesFormGroup.disable();\n }\n })\n ),\n this.applicationService.isCovid19VaccinationNeeded(this.applicationId)\n .pipe(\n tap(x => this.isCovid19VaccinationNeeded = x)\n ),\n this.applicationService.getSpecialCircumstances(this.applicationId)\n .pipe(\n tap((response: SingleResultApiResponse) => {\n if (response.Result) {\n this.initialSpecialCircumstanceDetails = response.Result;\n }\n })\n ),\n ]).subscribe(() => {\n const covid19QuestionCtrl = this.specialCircumstancesFormGroup.get('hadCovid19Vaccination');\n const covid19VaccinesTakenCtrl = this.specialCircumstancesFormGroup.get('covid19VaccinesTaken');\n\n if (this.isCovid19VaccinationNeeded) {\n covid19QuestionCtrl.setValidators(Validators.required);\n } else {\n this.initialSpecialCircumstanceDetails.HadCovid19Vaccination = null;\n this.initialSpecialCircumstanceDetails.Covid19VaccinesTaken = '';\n \n covid19QuestionCtrl.clearValidators();\n covid19VaccinesTakenCtrl.clearValidators();\n covid19QuestionCtrl.setErrors(null);\n covid19VaccinesTakenCtrl.setErrors(null);\n }\n \n this.updateFormValuesFromSpecialCircumstances(this.initialSpecialCircumstanceDetails);\n\n }, err => {\n console.error(err);\n }) \n\n\n }\n\n updateCovid19VaccinationStatus(hadCovid19Vaccination: boolean) {\n if (this.isSubmittedApplication) {\n return;\n }\n\n this.hadCovid19Vaccination = hadCovid19Vaccination;\n\n this.specialCircumstancesFormGroup.patchValue({\n hadCovid19Vaccination: hadCovid19Vaccination,\n covid19VaccinesTaken: ''\n });\n\n this.specialCircumstancesFormGroup.updateValueAndValidity();\n }\n\n\n updateDisability(isDisabled: boolean) {\n\n if (this.isSubmittedApplication) {\n return;\n }\n\n this.isDisabled = isDisabled;\n\n this.specialCircumstancesFormGroup.patchValue({\n isDisabled: isDisabled\n });\n\n this.specialCircumstancesFormGroup.updateValueAndValidity();\n }\n\n updateHospitalization(wasHospitalised: boolean) {\n\n if (this.isSubmittedApplication) {\n return;\n }\n\n this.wasHospitalised = wasHospitalised;\n\n this.specialCircumstancesFormGroup.patchValue({\n wasHospitalised: wasHospitalised\n });\n\n this.specialCircumstancesFormGroup.updateValueAndValidity();\n }\n\n updateMedicalHistory(hasMedicalHistory: boolean) {\n\n if (this.isSubmittedApplication) {\n return;\n }\n\n this.hasMedicalHistory = hasMedicalHistory;\n\n this.specialCircumstancesFormGroup.patchValue({\n hasMedicalHistory: hasMedicalHistory\n });\n\n this.specialCircumstancesFormGroup.updateValueAndValidity();\n }\n\n updateSuspensionReason(event, reason: string) {\n\n if (this.isSubmittedApplication) {\n return;\n }\n\n switch (reason) {\n case 'suspensionDueToViolenceToPerson':\n\n this.suspensionDueToViolenceToPerson = event.checked;\n\n this.specialCircumstancesFormGroup.patchValue({\n suspensionDueToViolenceToPerson: this.suspensionDueToViolenceToPerson\n });\n\n this.specialCircumstancesFormGroup.updateValueAndValidity();\n\n break;\n case 'suspensionDueToIllegalDrugs':\n this.suspensionDueToIllegalDrugs = event.checked;\n\n this.specialCircumstancesFormGroup.patchValue({\n suspensionDueToIllegalDrugs: this.suspensionDueToIllegalDrugs\n });\n\n this.specialCircumstancesFormGroup.updateValueAndValidity();\n\n break;\n case 'suspensionDueToWeaponPossession':\n this.suspensionDueToWeaponPossession = event.checked;\n\n this.specialCircumstancesFormGroup.patchValue({\n suspensionDueToWeaponPossession: this.suspensionDueToWeaponPossession\n });\n\n this.specialCircumstancesFormGroup.updateValueAndValidity();\n\n break;\n\n case 'suspensionDueToViolenceAtSchool':\n this.suspensionDueToViolenceAtSchool = event.checked;\n\n this.specialCircumstancesFormGroup.patchValue({\n suspensionDueToViolenceAtSchool: this.suspensionDueToViolenceAtSchool\n });\n\n this.specialCircumstancesFormGroup.updateValueAndValidity();\n\n break;\n case 'suspendedDueToOtherReason':\n this.suspendedDueToOtherReason = event.checked;\n\n this.specialCircumstancesFormGroup.patchValue({\n suspendedDueToOtherReason: this.suspendedDueToOtherReason\n });\n\n this.specialCircumstancesFormGroup.updateValueAndValidity();\n\n break;\n default:\n\n this.suspensionDueToViolenceToPerson = false;\n this.suspensionDueToIllegalDrugs = false;\n this.suspensionDueToWeaponPossession = false;\n this.suspensionDueToViolenceAtSchool = false;\n\n this.specialCircumstancesFormGroup.patchValue({\n suspensionDueToViolenceToPerson: this.suspensionDueToViolenceToPerson,\n suspensionDueToIllegalDrugs: this.suspensionDueToIllegalDrugs,\n suspensionDueToWeaponPossession: this.suspensionDueToWeaponPossession,\n suspensionDueToViolenceAtSchool: this.suspensionDueToViolenceAtSchool\n });\n\n\n break;\n }\n\n this.getSuspensionError();\n }\n\n\n updateViolentBehaviour(hadViolentBehaviour: boolean) {\n\n if (this.isSubmittedApplication) {\n return;\n }\n\n this.hadViolentBehaviour = hadViolentBehaviour;\n\n this.specialCircumstancesFormGroup.patchValue({\n hadViolentBehaviour: hadViolentBehaviour\n });\n\n this.specialCircumstancesFormGroup.updateValueAndValidity();\n }\n\n updateSuspension(wasSuspended: boolean) {\n\n if (this.isSubmittedApplication) {\n return;\n }\n\n this.wasSuspended = wasSuspended;\n\n this.specialCircumstancesFormGroup.patchValue({\n wasSuspended: wasSuspended\n });\n\n if (!wasSuspended) {\n this.updateSuspensionReason(null, '');\n }\n\n this.specialCircumstancesFormGroup.updateValueAndValidity();\n }\n\n updateInvolvementInOutsideIncidents(involvedInOtherIncidentsOutsideSchool: boolean) {\n\n if (this.isSubmittedApplication) {\n return;\n }\n\n this.involvedInOtherIncidentsOutsideSchool = involvedInOtherIncidentsOutsideSchool;\n\n this.specialCircumstancesFormGroup.patchValue({\n involvedInOtherIncidentsOutsideSchool: involvedInOtherIncidentsOutsideSchool\n });\n\n this.specialCircumstancesFormGroup.updateValueAndValidity();\n }\n\n previous() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'visa-oshc']);\n }\n next() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'supporting-documents']);\n }\n\n getSuspensionError() {\n const suspensionDueToViolenceToPerson = this.specialCircumstancesFormGroup.get('suspensionDueToViolenceToPerson').value;\n const suspensionDueToIllegalDrugs = this.specialCircumstancesFormGroup.get('suspensionDueToIllegalDrugs').value;\n const suspensionDueToWeaponPossession = this.specialCircumstancesFormGroup.get('suspensionDueToWeaponPossession').value;\n const suspensionDueToViolenceAtSchool = this.specialCircumstancesFormGroup.get('suspensionDueToViolenceAtSchool').value;\n const suspendedDueToOtherReason = this.specialCircumstancesFormGroup.get('suspendedDueToOtherReason').value;\n const otherReasonForSuspension = this.specialCircumstancesFormGroup.get('otherReasonForSuspension').value || '';\n\n const wasSuspended = this.specialCircumstancesFormGroup.get('wasSuspended').value;\n const suspensionReasonAvailable = suspensionDueToViolenceToPerson ||\n suspensionDueToIllegalDrugs ||\n suspensionDueToWeaponPossession ||\n suspensionDueToViolenceAtSchool ||\n suspendedDueToOtherReason;\n\n if (wasSuspended && !suspensionReasonAvailable) {\n this.suspensionReasonErrorMsg = 'Please select at least one of the options above to proceed.';\n } else {\n this.suspensionReasonErrorMsg = '';\n }\n\n }\n\n getCovid19Error() {\n if (this.isCovid19VaccinationNeeded && this.specialCircumstancesFormGroup.get('hadCovid19Vaccination').value === true) {\n const covid19VaccinesTaken = this.specialCircumstancesFormGroup.get('covid19VaccinesTaken').value;\n\n if (!covid19VaccinesTaken || !covid19VaccinesTaken.length) {\n this.covid19ErrorMsg = 'Please select the vaccine(s) the student received'\n } else {\n this.covid19ErrorMsg = '';\n } \n } else {\n this.covid19ErrorMsg = '';\n }\n }\n\n ngAfterContentChecked(): void {\n if (!this.isScrollDone) {\n this.isScrollDone = this.formService.scrollToFirstErrorField();\n }\n }\n\n dispatchSectionSaveAction() {\n this.store.dispatch({\n type: Action_ApplicationSectionSaved\n });\n }\n\n updateFormValuesFromSpecialCircumstances(specialCircumstances: SpecialCircumstances): void {\n\n if (specialCircumstances == null) {\n specialCircumstances = new SpecialCircumstances();\n }\n\n if (this.isCovid19VaccinationNeeded && specialCircumstances.HadCovid19Vaccination == null) {\n specialCircumstances.HadCovid19Vaccination = true;\n }\n\n this.specialCircumstancesFormGroup.patchValue({\n hadCovid19Vaccination: specialCircumstances.HadCovid19Vaccination == null ? true : specialCircumstances.HadCovid19Vaccination,\n\n isDisabled: specialCircumstances.IsDisabled,\n disabledDescription: specialCircumstances.DisabledDescription,\n wasHospitalised: specialCircumstances.WasHospitalised,\n hospitalisedDescription: specialCircumstances.HospitalisedDescription,\n hasMedicalHistory: specialCircumstances.HasMedicalHistory,\n medicalHistoryDescription: specialCircumstances.MedicalHistoryDescription,\n hadViolentBehaviour: specialCircumstances.HadViolentBehaviour,\n violentBehaviourDescription: specialCircumstances.ViolentBehaviourDescription,\n wasSuspended: specialCircumstances.WasSuspended,\n suspensionDueToViolenceToPerson: specialCircumstances.SuspensionDueToViolenceToPerson,\n suspensionDueToIllegalDrugs: specialCircumstances.SuspensionDueToIllegalDrugs,\n suspensionDueToWeaponPossession: specialCircumstances.SuspensionDueToWeaponPossession,\n suspensionDueToViolenceAtSchool: specialCircumstances.SuspensionDueToViolenceAtSchool,\n suspendedDueToOtherReason: specialCircumstances.SuspendedDueToOtherReason,\n otherReasonForSuspension: specialCircumstances.OtherReasonForSuspension,\n involvedInOtherIncidentsOutsideSchool: specialCircumstances.InvolvedInOtherIncidentsOutsideSchool,\n otherIncidentsDescription: specialCircumstances.OtherIncidentsDescription\n \n });\n\n this.hadCovid19Vaccination = specialCircumstances.HadCovid19Vaccination;\n this.covid19VaccinesTaken = specialCircumstances.Covid19VaccinesTaken;\n\n // RENU:- To Avoid ExpressionChangedAfterItHasBeenCheckedError, Related to MatSelectList\n if (this.isCovid19VaccinationNeeded && this.hadCovid19Vaccination === true && !!specialCircumstances.Covid19VaccinesTaken) {\n setTimeout(() => {\n this.specialCircumstancesFormGroup.patchValue({\n covid19VaccinesTaken: (specialCircumstances.Covid19VaccinesTaken || '').split(','),\n });\n\n setTimeout(() => {\n this.specialCircumstancesFormGroup.updateValueAndValidity();\n }, 10);\n }, 10);\n }\n\n this.isDisabled = specialCircumstances.IsDisabled;\n this.wasHospitalised = specialCircumstances.WasHospitalised;\n this.hasMedicalHistory = specialCircumstances.HasMedicalHistory;\n this.hadViolentBehaviour = specialCircumstances.HadViolentBehaviour;\n this.wasSuspended = specialCircumstances.WasSuspended;\n this.suspensionDueToViolenceToPerson = specialCircumstances.SuspensionDueToViolenceToPerson;\n this.suspensionDueToIllegalDrugs = specialCircumstances.SuspensionDueToIllegalDrugs;\n this.suspensionDueToWeaponPossession = specialCircumstances.SuspensionDueToWeaponPossession;\n this.suspensionDueToViolenceAtSchool = specialCircumstances.SuspensionDueToViolenceAtSchool;\n this.suspendedDueToOtherReason = specialCircumstances.SuspendedDueToOtherReason;\n this.involvedInOtherIncidentsOutsideSchool = specialCircumstances.InvolvedInOtherIncidentsOutsideSchool;\n\n this.specialCircumstancesFormGroup.updateValueAndValidity();\n\n }\n\n getSpecialCircumstances(): SpecialCircumstances {\n\n const specialCircumstances = new SpecialCircumstances();\n\n specialCircumstances.HadCovid19Vaccination = this.isCovid19VaccinationNeeded ? this.specialCircumstancesFormGroup.get('hadCovid19Vaccination').value : null;\n specialCircumstances.Covid19VaccinesTaken = this.isCovid19VaccinationNeeded ? ((this.specialCircumstancesFormGroup.get('covid19VaccinesTaken').value || []) as string[]).join(',') : '';\n\n specialCircumstances.IsDisabled = this.specialCircumstancesFormGroup.get('isDisabled').value;\n specialCircumstances.DisabledDescription = this.specialCircumstancesFormGroup.get('disabledDescription').value;\n\n specialCircumstances.WasHospitalised = this.specialCircumstancesFormGroup.get('wasHospitalised').value;\n specialCircumstances.HospitalisedDescription = this.specialCircumstancesFormGroup.get('hospitalisedDescription').value;\n\n specialCircumstances.HasMedicalHistory = this.specialCircumstancesFormGroup.get('hasMedicalHistory').value;\n specialCircumstances.MedicalHistoryDescription = this.specialCircumstancesFormGroup.get('medicalHistoryDescription').value;\n\n specialCircumstances.HadViolentBehaviour = this.specialCircumstancesFormGroup.get('hadViolentBehaviour').value;\n specialCircumstances.ViolentBehaviourDescription = this.specialCircumstancesFormGroup.get('violentBehaviourDescription').value;\n\n specialCircumstances.WasSuspended = this.specialCircumstancesFormGroup.get('wasSuspended').value;\n specialCircumstances.SuspensionDueToViolenceToPerson = this.specialCircumstancesFormGroup.get('suspensionDueToViolenceToPerson').value;\n specialCircumstances.SuspensionDueToIllegalDrugs = this.specialCircumstancesFormGroup.get('suspensionDueToIllegalDrugs').value;\n specialCircumstances.SuspensionDueToWeaponPossession = this.specialCircumstancesFormGroup.get('suspensionDueToWeaponPossession').value;\n specialCircumstances.SuspensionDueToViolenceAtSchool = this.specialCircumstancesFormGroup.get('suspensionDueToViolenceAtSchool').value;\n specialCircumstances.SuspendedDueToOtherReason = this.specialCircumstancesFormGroup.get('suspendedDueToOtherReason').value;\n specialCircumstances.OtherReasonForSuspension = this.specialCircumstancesFormGroup.get('otherReasonForSuspension').value;\n\n specialCircumstances.InvolvedInOtherIncidentsOutsideSchool = this.specialCircumstancesFormGroup.get('involvedInOtherIncidentsOutsideSchool').value;\n specialCircumstances.OtherIncidentsDescription = this.specialCircumstancesFormGroup.get('otherIncidentsDescription').value;\n \n //phase 1 compatibility default values\n specialCircumstances.OtherDisabilitiesNotListed =\"NA\";\n specialCircumstances.AnyModificationsDoneAtHome = false;\n specialCircumstances.DetailsOfModificationAndStrategies =\"NA\";\n specialCircumstances.SpecificImpairmentsOrDisabilities = \"NA\";\n \n return specialCircumstances;\n\n }\n\n setApiValidationError(apiErrorKeyName: string, apiErrorMsg): void {\n //console.log(`In setApiValidationError.apiErrorKeyName: ${apiErrorKeyName}, apiErrorMsg:${apiErrorMsg}`);\n const errorField = this.errorKeyFormFieldMapping.find(errorKeyFormField => errorKeyFormField.apiErrorKeyName === apiErrorKeyName);\n\n if (errorField) {\n const { formFieldName } = errorField;\n this.specialCircumstancesFormGroup.get(formFieldName).setErrors({ apiValidationError: true });\n errorField.apiValidationErrorMsg = apiErrorMsg;\n }\n\n }\n\n getApiValidationErrorMsg(formFieldName: string): string {\n const errorField = this.errorKeyFormFieldMapping.find(errorKeyFormField => errorKeyFormField.formFieldName === formFieldName);\n return errorField.apiValidationErrorMsg ? errorField.apiValidationErrorMsg : '';\n }\n\n saveAndContinue() {\n this.isFormSubmitted = true;\n\n const specialCircumstances = this.getSpecialCircumstances();\n\n this.applicationService.updateSpecialCircumstances(this.applicationId, specialCircumstances)\n .subscribe((response: SingleResultApiResponse) => {\n this.dispatchSectionSaveAction();\n this.isSaveSuccessful = true;\n this.router.navigate(['/applications', this.applicationId, 'edit', 'supporting-documents']);\n }, (errorResponse: ErrorResponse) => {\n const { errors } = errorResponse;\n for (const error of errors) {\n this.setApiValidationError(error.Key, error.Value);\n // TODO\n // console.log(`Error in updating SpecialCircumstances details.${error.Key},${error.Value}`);\n }\n this.getSuspensionError();\n this.getCovid19Error();\n this.specialCircumstancesFormGroup.updateValueAndValidity();\n this.dispatchSectionSaveAction();\n this.initialSpecialCircumstanceDetails = this.getSpecialCircumstances();\n this.isScrollDone = false;\n this.formService.scrollToFirstErrorField();\n });\n\n return;\n }\n\n canDeactivate(): Observable | boolean {\n\n if (this.isSaveSuccessful) {\n return true;\n }\n\n if (!this.isSpecialCirumstanceDetailsSame()) {\n this.modalService.showModal();\n return this.modalService.stayOnThePage;\n } else {\n this.modalService.hideModal();\n return true;\n }\n }\n\n\n isSpecialCirumstanceDetailsSame(): boolean {\n\n const currentSpecialCirumstanceDetails = this.getSpecialCircumstances();\n const initialSpecialCirumstanceDetails = this.initialSpecialCircumstanceDetails;\n\n const isSpecialCirumstanceDetailsSame =\n compareSpecialCircumstances(initialSpecialCirumstanceDetails, currentSpecialCirumstanceDetails);\n\n return isSpecialCirumstanceDetailsSame;\n }\n\n /* For accessibility, keyboard only design, use tab to show borders but showing no border by clicking on mouse */\n keyboardFocus(event): void {\n event.style.outline = \"1px solid blue\";\n }\n\n keyboardBlur(event): void {\n event.style.outline = \"\";\n }\n}\n\n","export const Action_SetCurrentSection = 'SET_CURRENT_SECTION';\r\nexport const Action_SetCurrentApplication = 'SET_CURRENT_APPLICATION';\r\nexport const Action_StudentValidationForNewApplication = 'STUDENT_VALIDATION_NEW_APPLICATION';\r\nexport const Action_StoreStudentDetails = 'STORE_STUDENT_DETAILS';\r\nexport const Action_ClearStudentDetails = 'CLEAR_STUDENT_DETAILS';\r\nexport const Action_ApplicationSectionSaved = 'APPLICATION_SECTION_SAVED';\r\nexport const Action_ApplicationProgramChanged = 'APPLICATION_PROGRAM_SAVED';\r\n","import { Action_SetCurrentSection,\r\n Action_SetCurrentApplication,\r\n Action_StudentValidationForNewApplication,\r\n Action_StoreStudentDetails,\r\n Action_ClearStudentDetails,\r\n Action_ApplicationSectionSaved,\r\n Action_ApplicationProgramChanged} from './actions';\r\n\r\nexport function ApplicationReducer(state, action) {\r\n switch (action.type) {\r\n case Action_SetCurrentSection:\r\n return {\r\n ...state,\r\n currentSection: action.payload\r\n };\r\n case Action_SetCurrentApplication:\r\n return {\r\n ...state,\r\n currentApplicationId: action.payload\r\n };\r\n case Action_StudentValidationForNewApplication:\r\n return {\r\n ...state,\r\n studentValidationDetails: action.payload\r\n };\r\n case Action_StoreStudentDetails:\r\n return {\r\n ...state,\r\n studentDetails: action.payload\r\n };\r\n case Action_ClearStudentDetails:\r\n return {\r\n ...state,\r\n studentDetails: null\r\n };\r\n case Action_ApplicationSectionSaved:\r\n return {\r\n ...state,\r\n applicationSectionSaved: true\r\n };\r\n case Action_ApplicationProgramChanged:\r\n return {\r\n ...state,\r\n schoolProgramChanged: true\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n\r\n","module.exports = \"
\\n\\n
\\n

Student Details

\\n \\n \\\"\\\"/\\n
\\n\\n
\\n\\n
\\n {{genericErrorMsg}}\\n
\\n\\n
\\n
\\n
Please note that all fields marked with an (*) are required.
\\n
\\n \\n \\n\\n \\n \\n\\n \\n \\n\\n \\n \\n\\n
\\n
\\n

Onshore Residency Status

\\n 5 of 5\\n
\\n\\n\\n
\\n
\\n\\n
Is the student currently enrolled in a course in Australia?
\\n
\\n\\n \\n Yes
radio button
checked
unchecked
\\n
\\n\\n \\n No
radio button
checked
unchecked
\\n \\n\\n\\n
\\n {{isStudentAlreadyEnrolledInAustraliaApiError}}\\n
\\n\\n
\\n\\n
\\n\\n
Who is the Student living with?
\\n
\\n \\n Parent
radio button
checked
unchecked
\\n
\\n \\n Direct Relative
radio button
checked
unchecked
\\n
\\n \\n Other
radio button
checked
unchecked
\\n
\\n \\n Homestay
radio button
checked
unchecked
\\n
\\n\\n
\\n \\n {{studentLivingWithApiError}}\\n \\n
\\n\\n
\\n
\\n Please note: Direct relative is one of the following relationships: Brother, Sister, Step-Parent, Step-Brother, Step-Sister, Grandparent, Uncle, Aunt, Niece, Nephew, Step-Grandparent, Step-Aunt, Step-Uncle.\\n
\\n
\\n\\n
\\n
\\n\\n\\n
\\n\\n
\\n \\n \\n \\n
\\n\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
Please resolve the following
\\n
press tab to reach first focusable element
\\n
\\n

Changes applied on this page has affected subsequent sections of this application. Please review your\\n responses on the incomplete pages before submitting your application

\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \"/* .card-spacing {\\r\\n margin-top:20px;\\r\\n}\\r\\n\\r\\n.card-header-custom {\\r\\n background-color: #AEC5E7\\r\\n} */\\n.span-option {\\n width: auto; }\\n.problems .problem .question .answer .choice .radioError {\\n font-style: normal;\\n color: #f00;\\n font-size: 14px; }\\nspan.span-disabled {\\n pointer-events: none; }\\n.modal-dialog {\\n margin-left: 40%; }\\ninput[type=\\\"radio\\\"], input[type=\\\"checkbox\\\"] {\\n display: none; }\\n.problems .problem .question .answer .program-info-text {\\n font-size: 1.2rem;\\n padding-bottom: 2rem; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vc3R1ZGVudC1kZXRhaWxzL0Q6XFxhXFwxNTVcXHNcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5Qcm9kXFxEZWkuT25saW5lQXBwbGljYXRpb24uV2ViXFxvbmxpbmUtYXBwL3NyY1xcYXBwXFxhcHBsaWNhdGlvblxcc3R1ZGVudC1kZXRhaWxzXFxzdHVkZW50LWRldGFpbHMuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2FwcGxpY2F0aW9uL3N0dWRlbnQtZGV0YWlscy9zdHVkZW50LWRldGFpbHMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQ01HO0FERUg7RUFDSSxXQUFXLEVBQUE7QUFHZjtFQUNJLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsZUFBZSxFQUFBO0FBSW5CO0VBQ0ksb0JBQW9CLEVBQUE7QUFFeEI7RUFDSSxnQkFBZ0IsRUFBQTtBQUVwQjtFQUNJLGFBQWEsRUFBQTtBQUdqQjtFQUNJLGlCQUFpQjtFQUNqQixvQkFBb0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2FwcGxpY2F0aW9uL3N0dWRlbnQtZGV0YWlscy9zdHVkZW50LWRldGFpbHMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiAuY2FyZC1zcGFjaW5nIHtcclxuICAgIG1hcmdpbi10b3A6MjBweDtcclxufVxyXG5cclxuLmNhcmQtaGVhZGVyLWN1c3RvbSB7XHJcbiAgIGJhY2tncm91bmQtY29sb3I6ICNBRUM1RTdcclxufSAqL1xyXG5cclxuLnNwYW4tb3B0aW9uIHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG59XHJcblxyXG4ucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLmNob2ljZSAucmFkaW9FcnJvciB7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBjb2xvcjogI2YwMDsgIFxyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG5cclxuc3Bhbi5zcGFuLWRpc2FibGVkIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcbi5tb2RhbC1kaWFsb2cge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDQwJTtcclxufVxyXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4ucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLnByb2dyYW0taW5mby10ZXh0IHtcclxuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XHJcbn0iLCIvKiAuY2FyZC1zcGFjaW5nIHtcclxuICAgIG1hcmdpbi10b3A6MjBweDtcclxufVxyXG5cclxuLmNhcmQtaGVhZGVyLWN1c3RvbSB7XHJcbiAgIGJhY2tncm91bmQtY29sb3I6ICNBRUM1RTdcclxufSAqL1xuLnNwYW4tb3B0aW9uIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5jaG9pY2UgLnJhZGlvRXJyb3Ige1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjZjAwO1xuICBmb250LXNpemU6IDE0cHg7IH1cblxuc3Bhbi5zcGFuLWRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLm1vZGFsLWRpYWxvZyB7XG4gIG1hcmdpbi1sZWZ0OiA0MCU7IH1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAucHJvZ3JhbS1pbmZvLXRleHQge1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiJdfQ== */\"","import { Component, OnInit, ChangeDetectorRef, AfterContentChecked, ViewChild, ElementRef, AfterViewInit, OnDestroy } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AustralianState } from 'src/app/shared/models/australian-states.model';\nimport { ApplicationService } from 'src/app/shared/services/application.service';\nimport { StudentDetails } from '../models/student-details';\nimport { SingleResultApiResponse } from 'src/app/shared/models/api-response.model';\nimport { Store } from '@ngrx/store';\nimport { Action_ApplicationSectionSaved } from '../state/actions';\nimport { ErrorResponse } from 'src/app/shared/models/error.model';\nimport { Observable, of, Subscription } from 'rxjs';\nimport { ModalService } from 'src/app/shared/services/modal.service';\nimport { Country, Tab_Title } from 'src/app/shared/models/lookup-data.model';\nimport { PersonDetails, PersonDetailsConfig, PersonDetailsErrors } from '../shared/person-details/person-details.model';\nimport { PhoneNumberDetails, PhoneNumberConfig, PhoneNumberErrors } from '../shared/phone-number/phone-number.model';\nimport { AddressErrors, Address, AddressConfig } from '../shared/address/address.model';\nimport handleGenericHttpError from '../shared/utils/HandleGenericHttpError';\nimport { compareStudentDetails } from '../shared/utils/ModelUtils';\nimport { slideInOut } from '../animations/slideInOut';\nimport { FormService } from 'src/app/shared/services/form.service';\nimport { Title } from '@angular/platform-browser';\nimport { debounceTime } from 'rxjs/internal/operators/debounceTime';\nimport { UtilityService } from 'src/app/shared/services/utility.service';\n\n@Component({\n selector: 'online-app-student-details',\n templateUrl: './student-details.component.html',\n styleUrls: ['./student-details.component.scss'],\n host: {\n class: 'application-section-component'\n },\n animations: [slideInOut]\n})\nexport class StudentDetailsComponent implements OnInit, AfterContentChecked, AfterViewInit, OnDestroy {\n studentDetailsFormGroup: FormGroup;\n countries: Country[];\n states: AustralianState[];\n applicationId: number;\n isFormSubmitted = false;\n isStudentAlreadyEnrolledInAustralia: boolean;\n studentLivingWithApiError = '';\n isStudentAlreadyEnrolledInAustraliaApiError = '';\n genericErrorMsg = '';\n isSaveSuccessful = false;\n selectedStudentLivingWith = '';\n isScrollDone = false;\n isSubmittedApplication = false;\n showModal = false;\n\n initialStudentDetails: PersonDetails = {\n relationship: undefined, \n otherRelationship: undefined,\n givenName: undefined,\n familyName: undefined,\n preferredName: undefined,\n isRefusedAusVisaBefore: undefined,\n visaRefusalDetails: undefined,\n dateOfBirth: undefined,\n gender: undefined,\n countryOfBirth: undefined,\n nationality: undefined,\n hasPassport: undefined,\n passportNumber: undefined,\n passportExpiryDate: undefined,\n emailAddress: undefined,\n onlyHasOneName: undefined,\n };\n\n initialPhoneNumber: PhoneNumberDetails = {\n mobileCountryCode: undefined,\n mobilePhoneNumber: undefined,\n homeCountryCode: undefined,\n homePhoneNumber: undefined\n };\n\n studentDetailsConfig: PersonDetailsConfig = {\n isRelationshipRequired: false,\n isRefusedAusVisaBefore: false,\n title: 'Student Details',\n titleAdditionalInfo: '1 of 5',\n countries: [],\n relationships: []\n };\n\n studentDetailsErrors: PersonDetailsErrors = {};\n\n studentDetailsData: PersonDetails;\n initialStudentDetailsData: PersonDetails;\n\n phoneNumberConfig: PhoneNumberConfig = {\n title: 'Phone Number',\n titleAdditionalInfo: '2 of 5',\n countries: [],\n };\n\n phoneNumberErrors: PhoneNumberErrors = {};\n\n phoneNumberData: PhoneNumberDetails;\n initialPhoneNumberData: PhoneNumberDetails;\n\n overseasAddressErrors: AddressErrors = {};\n australianAddressErrors: AddressErrors = {};\n\n overseasAddressConfig: AddressConfig = {\n isAustralianAddress: false,\n title: 'Overseas Address',\n titleAdditionalInfo: '4 of 5',\n idPrefix: 'overseas-address-'\n };\n\n overseasAddressData: Address;\n initialOverseasAddressData: Address;\n\n australianAddressConfig: AddressConfig = {\n isAustralianAddress: true,\n title: 'Australian Address',\n titleAdditionalInfo: '3 of 5',\n idPrefix: 'aus-address-'\n };\n\n australianAddressData: Address;\n initialAustralianAddressData: Address;\n\n initialOverseasAddressValue: Address = {\n line1: undefined,\n line2: undefined,\n suburb: undefined,\n state: undefined,\n postcode: undefined,\n country: undefined,\n isCurrentAddress: undefined\n };\n\n initialAustralianAddressValue: Address = {\n line1: undefined,\n line2: undefined,\n suburb: undefined,\n state: undefined,\n postcode: undefined,\n country: undefined,\n isCurrentAddress: undefined\n };\n\n private subscriptionsToDispose: Subscription[] = [];\n\n @ViewChild('resolve') el: ElementRef;\n\n private constrTime = Date.now();\n\n constructor(private formBuilder: FormBuilder,\n private cd: ChangeDetectorRef,\n private store: Store,\n private router: Router,\n private modalService: ModalService,\n private formService: FormService,\n private applicationService: ApplicationService,\n private activatedRoute: ActivatedRoute,\n private utilityService: UtilityService,\n private titleService: Title) {\n\n\n this.activatedRoute.parent.params.subscribe(params => {\n this.applicationId = +params['id'];\n });\n\n this.studentDetailsFormGroup = this.formBuilder.group({\n studentDetails: this.initialStudentDetails,\n phoneNumber: this.initialPhoneNumber,\n australianAddress: this.initialAustralianAddressValue,\n overseasAddress: this.initialOverseasAddressValue,\n isStudentAlreadyEnrolledInAustralia: false,\n studentLivingWith: ''\n });\n\n console.log(`student details constructor: ${this.constrTime}`);\n console.log(`student details constructor ended: ${Date.now()}: Time elapsed: ${(Date.now() - this.constrTime).toString()}ms`);\n }\n\n ngOnInit() {\n\n setTimeout(() => {\n const sT = Date.now();\n console.log(`student-details: init start - ${sT}`);\n\n if (localStorage.getItem(\"isAgent\") == \"true\") {\n this.titleService.setTitle(Tab_Title.Agent_StudentDetails_Title);\n } else {\n this.titleService.setTitle(Tab_Title.StudentDetails_Title);\n }\n\n const countries = [this.getDefaultCountry(), ...this.activatedRoute.snapshot.data['countries']];\n const nationalityCountries = countries.filter(c => c.Code !== 'AU' && c.Code !== 'NZ');\n\n this.studentDetailsConfig = {...this.studentDetailsConfig, countries, nationalityCountries};\n this.phoneNumberConfig = {...this.phoneNumberConfig, countries};\n this.overseasAddressConfig = {...this.overseasAddressConfig, countries};\n\n this.subscriptionsToDispose.push(\n this.studentDetailsFormGroup.get('australianAddress').valueChanges\n .pipe(debounceTime(250))\n .subscribe(data => {\n if (data.isCurrentAddress) {\n const overseasAddressData = { ...this.studentDetailsFormGroup.get('overseasAddress').value };\n const australianAddressData = { ...this.studentDetailsFormGroup.get('australianAddress').value };\n if (overseasAddressData.isCurrentAddress) {\n overseasAddressData.isCurrentAddress = false;\n this.overseasAddressData = overseasAddressData;\n }\n\n this.overseasAddressErrors.isCurrentAddress = null;\n\n if (australianAddressData.isCurrentAddress) {\n this.studentDetailsConfig.titleAdditionalInfo = '1 of 5';\n this.phoneNumberConfig.titleAdditionalInfo = '2 of 5';\n this.australianAddressConfig.titleAdditionalInfo = '3 of 5';\n this.overseasAddressConfig.titleAdditionalInfo = '4 of 5';\n } else {\n this.studentDetailsConfig.titleAdditionalInfo = '1 of 4';\n this.phoneNumberConfig.titleAdditionalInfo = '2 of 4';\n this.australianAddressConfig.titleAdditionalInfo = '3 of 4';\n this.overseasAddressConfig.titleAdditionalInfo = '4 of 4';\n }\n }\n\n })\n );\n\n this.subscriptionsToDispose.push(\n this.studentDetailsFormGroup.get('overseasAddress').valueChanges\n .pipe(debounceTime(250))\n .subscribe(data => {\n if (data.isCurrentAddress) {\n const australianAddressData = { ...this.studentDetailsFormGroup.get('australianAddress').value };\n if (australianAddressData.isCurrentAddress) {\n australianAddressData.isCurrentAddress = false;\n this.australianAddressData = australianAddressData;\n }\n\n this.australianAddressErrors.isCurrentAddress = null;\n }\n })\n );\n \n console.log(`student-details: init until the ajax calls. Time elapsed: ${(Date.now() - sT).toString()}ms`);\n\n this.applicationService.getStudentDetails(this.applicationId)\n .subscribe((response: SingleResultApiResponse) => {\n console.log(`student-details: getStudentDetails. Time elapsed: ${(Date.now() - sT).toString()}ms`);\n this.updateFormValuesFromStudentDetails(response.Result);\n }, err => {\n });\n\n this.applicationService.getApplicationDetails(this.applicationId)\n .subscribe((response: SingleResultApiResponse) => {\n if (response.Result) {\n\n this.isSubmittedApplication = response.Result.ApplicationStatus === 'Submitted';\n\n if (this.isSubmittedApplication) {\n this.studentDetailsFormGroup.disable();\n const isSubmittedApplication = true;\n\n this.studentDetailsConfig = { ...this.studentDetailsConfig, isSubmittedApplication };\n this.phoneNumberConfig = { ...this.phoneNumberConfig, isSubmittedApplication };\n this.australianAddressConfig = { ...this.australianAddressConfig, isSubmittedApplication };\n this.overseasAddressConfig = { ...this.overseasAddressConfig, isSubmittedApplication };\n }\n }\n }, err => {\n console.error(err);\n });\n }, 4); \n }\n\n ngAfterViewInit() {\n console.log(`student details ngAfterViewInit finished: ${Date.now()}: Time elapsed since instantiation: ${(Date.now() - this.constrTime).toString()}ms`);\n }\n\n ngOnDestroy() {\n this.subscriptionsToDispose.forEach(s => s.unsubscribe());\n }\n\n getDefaultCountry(): Country {\n return {\n Id: '',\n Code: '',\n Description: 'Please select',\n Status: '',\n IsAgentMandatory: false,\n CanStudyAbroad: false,\n PhoneCode: 0,\n IsDeleted: false\n };\n }\n\n reloadInitialData() {\n\n this.applicationService.getStudentDetails(this.applicationId)\n .subscribe((response: SingleResultApiResponse) => {\n this.updateInitialData(response.Result);\n }, err => {\n console.error(err);\n });\n\n }\n\n\n getAustralianAddressFromStudentDetails(studentDetails: StudentDetails): Address {\n return {\n line1: studentDetails.AustralianAddressLine1,\n line2: studentDetails.AustralianAddressLine2,\n suburb: studentDetails.AustralianSuburb,\n state: studentDetails.AustralianState,\n postcode: studentDetails.AustralianPostcode,\n country: undefined,\n isCurrentAddress: studentDetails.IsAustralianAddressCurrentAddress\n };\n }\n\n getOverseasAddressFromStudentDetails(studentDetails: StudentDetails): Address {\n return {\n line1: studentDetails.OverseasAddressLine1,\n line2: studentDetails.OverseasAddressLine2,\n suburb: studentDetails.OverseasSuburbTown,\n state: studentDetails.OverseasStateProvinceRegion,\n postcode: studentDetails.OverseasPostcode,\n country: studentDetails.OverseasCountryId,\n isCurrentAddress: studentDetails.IsOverseasAddressCurrentAddress\n };\n }\n\n getPersonDetailsFromStudentDetails(studentDetails: StudentDetails): PersonDetails {\n return {\n relationship: undefined,\n otherRelationship: undefined,\n givenName: studentDetails.GivenName,\n familyName: studentDetails.FamilyName,\n preferredName: studentDetails.PreferredName,\n isRefusedAusVisaBefore: undefined,\n visaRefusalDetails: undefined,\n dateOfBirth: studentDetails.DateOfBirth,\n gender: studentDetails.Gender,\n countryOfBirth: studentDetails.CountryOfBirthId,\n nationality: studentDetails.CountryOfNationalityId,\n hasPassport: studentDetails.HasPassport,\n passportNumber: studentDetails.PassportNumber,\n passportExpiryDate: studentDetails.PassportExpiryDate,\n emailAddress: studentDetails.EmailAddress,\n onlyHasOneName: studentDetails.OnlyHasOneName,\n };\n }\n\n getPhoneNumberDetailsFromStudentDetails(studentDetails: StudentDetails): PhoneNumberDetails {\n return {\n mobileCountryCode: studentDetails.MobileCountryCode,\n mobilePhoneNumber: studentDetails.MobilePhoneNumber,\n homeCountryCode: studentDetails.HomeCountryCode,\n homePhoneNumber: studentDetails.HomePhoneNumber\n };\n }\n\n updateInitialData(studentDetails: StudentDetails): void {\n\n const studentDetailsData = this.getPersonDetailsFromStudentDetails(studentDetails);\n const phoneNumberData = this.getPhoneNumberDetailsFromStudentDetails(studentDetails);\n const australianAddressData = this.getAustralianAddressFromStudentDetails(studentDetails);\n const overseasAddressData = this.getOverseasAddressFromStudentDetails(studentDetails);\n\n this.initialStudentDetailsData = { ...studentDetailsData };\n this.initialPhoneNumberData = { ...phoneNumberData };\n this.initialAustralianAddressData = { ...australianAddressData };\n this.initialOverseasAddressData = { ...overseasAddressData };\n\n }\n\n updateFormValuesFromStudentDetails(studentDetails: StudentDetails): void {\n\n this.studentDetailsData = this.getPersonDetailsFromStudentDetails(studentDetails);\n this.phoneNumberData = this.getPhoneNumberDetailsFromStudentDetails(studentDetails);\n this.australianAddressData = this.getAustralianAddressFromStudentDetails(studentDetails);\n this.overseasAddressData = this.getOverseasAddressFromStudentDetails(studentDetails);\n\n this.initialStudentDetailsData = { ... this.studentDetailsData };\n this.initialPhoneNumberData = { ...this.phoneNumberData };\n this.initialAustralianAddressData = { ...this.australianAddressData };\n this.initialOverseasAddressData = { ...this.overseasAddressData };\n\n this.selectedStudentLivingWith = studentDetails.StudentLivingWith;\n\n this.studentDetailsFormGroup.patchValue({\n studentDetails: this.studentDetailsData,\n phoneNumber: this.phoneNumberData,\n australianAddress: this.australianAddressData,\n overseasAddress: this.overseasAddressData,\n isStudentAlreadyEnrolledInAustralia: studentDetails.IsStudentAlreadyEnrolledInAustralia,\n studentLivingWith: studentDetails.StudentLivingWith\n });\n\n this.isStudentAlreadyEnrolledInAustralia = studentDetails.IsStudentAlreadyEnrolledInAustralia;\n this.studentDetailsFormGroup.updateValueAndValidity();\n }\n\n setIsStudentAlreadyEnrolledInAustralia(isStudentAlreadyEnrolledInAustralia: boolean) {\n\n this.isStudentAlreadyEnrolledInAustralia = isStudentAlreadyEnrolledInAustralia;\n this.studentDetailsFormGroup.patchValue({\n isStudentAlreadyEnrolledInAustralia\n });\n\n this.studentDetailsFormGroup.updateValueAndValidity();\n }\n\n previous() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'important-information']);\n }\n next() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'english-proficiency']);\n }\n\n isThisFieldHasErrors(fieldName: string): boolean {\n return this.isFormSubmitted && this.studentDetailsFormGroup.get(fieldName).errors != null;\n }\n\n isThisFieldHasApiError(fieldName: string): boolean {\n return this.isFormSubmitted\n && this.studentDetailsFormGroup.get(fieldName).errors != null\n && this.studentDetailsFormGroup.get(fieldName).errors.apiValidationError != null;\n }\n\n\n\n updateStudentLivingWith(studentLivingWith: any) {\n this.selectedStudentLivingWith = studentLivingWith;\n this.studentDetailsFormGroup.patchValue({\n studentLivingWith: studentLivingWith\n });\n this.studentDetailsFormGroup.updateValueAndValidity();\n }\n\n convertDateToString(dateInString: string): string {\n if (!dateInString) {\n return null;\n }\n const date = new Date(dateInString);\n const dateStr = date ? `${date.getDate()}/${date.getMonth() + 1}/${date.getFullYear()}` : '';\n return dateStr;\n }\n\n\n saveAndContinue() {\n const studentDetails = this.getStudentDetails();\n this.isFormSubmitted = true;\n this.applicationService.updateStudentDetails(this.applicationId, studentDetails)\n .subscribe((response: SingleResultApiResponse) => {\n this.dispatchSectionSaveAction();\n this.isSaveSuccessful = true;\n if (response.Result) {\n this.showModal = response.Result.IsPassportStatusChanged || response.Result.IsAlreadyEnrolledStatusChanged ||\n response.Result.IsDateOfBirthStatusChanged || response.Result.IsNationalityStatusChanged || response.Result.IsGenderStatusChanged;\n }\n if (this.showModal === false) {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'english-proficiency']);\n } else {\n setTimeout(() => {\n this.el.nativeElement.focus();\n }, 100);\n }\n }, (errorResponse: ErrorResponse) => {\n this.genericErrorMsg = handleGenericHttpError(errorResponse);\n const studentDetailsErrors: PersonDetailsErrors = {};\n const phoneNumberErrors: PhoneNumberErrors = {};\n const australianAddressErrors: AddressErrors = {};\n const overseasAddressErrors: AddressErrors = {};\n\n const { errors } = errorResponse;\n for (const error of errors) {\n this.setApiValidationError(error.Key,\n error.Value,\n studentDetailsErrors,\n phoneNumberErrors,\n australianAddressErrors,\n overseasAddressErrors);\n }\n\n this.studentDetailsErrors = studentDetailsErrors;\n this.phoneNumberErrors = phoneNumberErrors;\n this.australianAddressErrors = australianAddressErrors;\n this.overseasAddressErrors = overseasAddressErrors;\n this.studentDetailsFormGroup.updateValueAndValidity();\n this.dispatchSectionSaveAction();\n this.reloadInitialData();\n this.isScrollDone = false;\n this.formService.scrollToFirstErrorField();\n });\n\n\n\n }\n\n displayModal(): boolean {\n return this.showModal;\n }\n\n clickOK() {\n this.showModal = false;\n this.router.navigate(['/applications', this.applicationId, 'edit', 'english-proficiency']);\n }\n\n ngAfterContentChecked(): void {\n\n // if (!this.isScrollDone) {\n // this.isScrollDone = this.formService.scrollToFirstErrorField();\n // }\n\n }\n\n\n dispatchSectionSaveAction() {\n this.store.dispatch({\n type: Action_ApplicationSectionSaved\n });\n }\n\n setApiValidationError(apiErrorKeyName: string,\n apiErrorMsg: string,\n studentDetailsErrors: PersonDetailsErrors,\n phoneNumberErrors: PhoneNumberErrors,\n australianAddressErrors: AddressErrors,\n overseasAddressErrors: AddressErrors): void {\n //console.log(`In setApiValidationError - apiErrorKeyName:${apiErrorKeyName}, apiErrorMsg:${apiErrorMsg}`);\n\n\n switch (apiErrorKeyName) {\n case 'GivenName':\n studentDetailsErrors.givenName = apiErrorMsg;\n break;\n case 'FamilyName':\n studentDetailsErrors.familyName = apiErrorMsg;\n break;\n case 'PreferredName':\n studentDetailsErrors.preferredName = apiErrorMsg;\n break;\n case 'Gender':\n studentDetailsErrors.gender = apiErrorMsg;\n break;\n case 'DateOfBirth':\n studentDetailsErrors.dateOfBirth = apiErrorMsg;\n break;\n case 'CountryOfBirthId':\n studentDetailsErrors.countryOfBirth = apiErrorMsg;\n break;\n case 'CountryOfNationalityId':\n studentDetailsErrors.nationality = apiErrorMsg;\n break;\n case 'HasPassport':\n studentDetailsErrors.hasPassport = apiErrorMsg;\n break;\n case 'PassportNumber':\n studentDetailsErrors.passportNumber = apiErrorMsg;\n break;\n case 'PassportExpiryDate':\n studentDetailsErrors.passportExpiryDate = apiErrorMsg;\n break;\n case 'EmailAddress':\n studentDetailsErrors.emailAddress = apiErrorMsg;\n break;\n case 'MobileCountryCode':\n phoneNumberErrors.mobileCountryCode = apiErrorMsg;\n break;\n case 'MobilePhoneNumber':\n phoneNumberErrors.mobilePhoneNumber = apiErrorMsg;\n break;\n case 'HomeCountryCode':\n phoneNumberErrors.homeCountryCode = apiErrorMsg;\n break;\n case 'HomePhoneNumber':\n phoneNumberErrors.homePhoneNumber = apiErrorMsg;\n break;\n case 'AustralianAddressLine1':\n australianAddressErrors.line1 = apiErrorMsg;\n break;\n case 'AustralianAddressLine2':\n australianAddressErrors.line2 = apiErrorMsg;\n break;\n case 'AustralianSuburb':\n australianAddressErrors.suburb = apiErrorMsg;\n break;\n case 'AustralianState':\n australianAddressErrors.state = apiErrorMsg;\n break;\n case 'AustralianPostcode':\n australianAddressErrors.postcode = apiErrorMsg;\n break;\n case 'IsAustralianAddressCurrentAddress':\n australianAddressErrors.isCurrentAddress = apiErrorMsg;\n break;\n case 'OverseasAddressLine1':\n overseasAddressErrors.line1 = apiErrorMsg;\n break;\n case 'OverseasAddressLine2':\n overseasAddressErrors.line2 = apiErrorMsg;\n break;\n case 'OverseasSuburbTown':\n overseasAddressErrors.suburb = apiErrorMsg;\n break;\n case 'OverseasStateProvinceRegion':\n overseasAddressErrors.state = apiErrorMsg;\n break;\n case 'OverseasPostcode':\n overseasAddressErrors.postcode = apiErrorMsg;\n break;\n case 'OverseasCountryId':\n overseasAddressErrors.country = apiErrorMsg;\n break;\n case 'IsOverseasAddressCurrentAddress':\n overseasAddressErrors.isCurrentAddress = apiErrorMsg;\n break;\n case 'IsStudentAlreadyEnrolledInAustralia':\n this.studentDetailsFormGroup.get('isStudentAlreadyEnrolledInAustralia').setErrors({ apiValidationError: true });\n this.isStudentAlreadyEnrolledInAustraliaApiError = apiErrorMsg;\n break;\n case 'StudentLivingWith':\n this.studentDetailsFormGroup.get('studentLivingWith').setErrors({ apiValidationError: true });\n this.studentLivingWithApiError = apiErrorMsg;\n break;\n\n }\n\n\n }\n\n updateStudentPersonDetails(studentDetails: StudentDetails, personDetails: PersonDetails) {\n studentDetails.GivenName = personDetails.givenName;\n studentDetails.FamilyName = personDetails.familyName;\n studentDetails.OnlyHasOneName = personDetails.onlyHasOneName;\n studentDetails.CountryOfBirthId = personDetails.countryOfBirth;\n studentDetails.CountryOfNationalityId = personDetails.nationality;\n studentDetails.PreferredName = personDetails.preferredName;\n studentDetails.HasPassport = personDetails.hasPassport;\n studentDetails.PassportNumber = personDetails.passportNumber;\n studentDetails.PassportExpiryDate = this.utilityService.getDateStrWithoutTimeZone(personDetails.passportExpiryDate);\n studentDetails.Gender = personDetails.gender;\n studentDetails.EmailAddress = personDetails.emailAddress;\n studentDetails.DateOfBirth = this.utilityService.getDateStrWithoutTimeZone(personDetails.dateOfBirth);\n }\n\n updateStudentPhoneNumberDetails(studentDetails: StudentDetails, phoneNumberDetails: PhoneNumberDetails) {\n\n studentDetails.MobileCountryCode = phoneNumberDetails.mobileCountryCode === '0' ? null : phoneNumberDetails.mobileCountryCode;\n studentDetails.MobilePhoneNumber = phoneNumberDetails.mobilePhoneNumber;\n studentDetails.HomeCountryCode = phoneNumberDetails.homeCountryCode === '0' ? null : phoneNumberDetails.homeCountryCode;\n studentDetails.HomePhoneNumber = phoneNumberDetails.homePhoneNumber;\n }\n\n updateStudentAddress(studentDetails: StudentDetails, address: Address, isAustralianAddress: boolean) {\n\n const { line1, line2, suburb, state, country, postcode, isCurrentAddress } = address;\n\n if (isAustralianAddress) {\n studentDetails.AustralianAddressLine1 = line1;\n studentDetails.AustralianAddressLine2 = line2;\n studentDetails.AustralianSuburb = suburb;\n studentDetails.AustralianState = state;\n studentDetails.AustralianPostcode = postcode;\n studentDetails.IsAustralianAddressCurrentAddress = isCurrentAddress;\n } else {\n studentDetails.OverseasAddressLine1 = line1;\n studentDetails.OverseasAddressLine2 = line2;\n studentDetails.OverseasSuburbTown = suburb;\n studentDetails.OverseasStateProvinceRegion = state;\n studentDetails.OverseasCountryId = country;\n studentDetails.OverseasPostcode = postcode;\n studentDetails.IsOverseasAddressCurrentAddress = isCurrentAddress;\n }\n\n }\n\n getStudentDetails(): StudentDetails {\n const studentDetails = new StudentDetails();\n\n const studentPersonDetails = this.studentDetailsFormGroup.get('studentDetails').value;\n this.updateStudentPersonDetails(studentDetails, studentPersonDetails);\n const phoneNumberDetails = this.studentDetailsFormGroup.get('phoneNumber').value;\n this.updateStudentPhoneNumberDetails(studentDetails, phoneNumberDetails);\n const australianAddress = this.studentDetailsFormGroup.get('australianAddress').value;\n this.updateStudentAddress(studentDetails, australianAddress, true);\n const overseasAddress = this.studentDetailsFormGroup.get('overseasAddress').value;\n this.updateStudentAddress(studentDetails, overseasAddress, false);\n\n studentDetails.IsStudentAlreadyEnrolledInAustralia = this.studentDetailsFormGroup.get('isStudentAlreadyEnrolledInAustralia').value;\n if (!studentDetails.IsStudentAlreadyEnrolledInAustralia) {\n studentDetails.StudentLivingWith = '';\n }\n else {\n studentDetails.StudentLivingWith = this.studentDetailsFormGroup.get('studentLivingWith').value;\n }\n\n return studentDetails;\n }\n\n canDeactivate(): Observable | boolean {\n\n if (this.isSaveSuccessful) {\n return true;\n }\n\n if (!this.isStudentDetailsSame()) {\n this.modalService.showModal();\n return this.modalService.stayOnThePage;\n } else {\n this.modalService.hideModal();\n return true;\n }\n }\n\n isStudentDetailsSame(): boolean {\n const currentPersonDetails = this.studentDetailsFormGroup.get('studentDetails').value;\n const currentPhoneNumberDetails = this.studentDetailsFormGroup.get('phoneNumber').value;\n const currentAustralianAddressDetails = this.studentDetailsFormGroup.get('australianAddress').value;\n const currentOverseasAddressDetails = this.studentDetailsFormGroup.get('overseasAddress').value;\n\n const isStudentDetailsSame = compareStudentDetails(this.initialStudentDetailsData, currentPersonDetails,\n this.initialPhoneNumberData, currentPhoneNumberDetails,\n this.initialAustralianAddressData, currentAustralianAddressDetails,\n this.initialOverseasAddressData, currentOverseasAddressDetails);\n\n return isStudentDetailsSame;\n }\n}\n\n","module.exports = \"
\\n\\n
\\n\\n
\\n
\\n

Enter the student details

\\n
\\n
\\n\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n Given name is required\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n Family name is required\\n
\\n
\\n
\\n
\\n\\n
\\n\\n
\\n\\n
\\n
\\n\\n \\n\\n
\\n
\\n \\n
\\n
\\n Day is required\\n
\\n
\\n
\\n
\\n Invalid day for the selected month and year\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n Month is required\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n Year is required\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n Country is required\\n
\\n
\\n We are currently unable to process applications from this nationality. Please contact DE International for\\n further information\\n
\\n
\\n To apply for this program, please submit an application through one of our registered agents. Further\\n information can be found on our website: https://www.deinternational.nsw.edu.au/how-to-apply/find-an-agent.\\n Alternatively, please contact DE International for more information\\n
\\n
\\n {{countryValidationError}}\\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcGxpY2F0aW9uL3N0dWRlbnQtdmFsaWRhdGlvbi9zdHVkZW50LXZhbGlkYXRpb24uY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { CountryValidator } from 'src/app/shared/services/country.validator';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { DateTime } from 'luxon';\nimport { DataService } from 'src/app/shared/services/data.service';\nimport { SingleResultApiResponse } from 'src/app/shared/models/api-response.model';\nimport { Store, select } from '@ngrx/store';\nimport { Action_SetCurrentApplication, Action_StudentValidationForNewApplication } from '../state/actions';\nimport { Subscription } from 'rxjs';\nimport { ErrorResponse } from 'src/app/shared/models/error.model';\nimport { Country } from 'src/app/shared/models/lookup-data.model';\n\n\n@Component({\n selector: 'online-app-student-validation',\n templateUrl: './student-validation.component.html',\n styleUrls: ['./student-validation.component.scss']\n})\nexport class StudentValidationComponent implements OnInit {\n\n days = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31];\n months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n years: any[] = [];\n\n studentValidationFormGroup: FormGroup;\n countries: Country[];\n\n isFormSubmitted: Boolean = false;\n\n\n storeSubscription: Subscription;\n\n constructor(private activatedRoute: ActivatedRoute,\n private dataService: DataService,\n private store: Store,\n private router: Router,\n private formBuilder: FormBuilder) {\n for (let year = 1990; year < 2018; year++) {\n this.years.push(year);\n }\n }\n\n ngOnInit() {\n\n this.countries = this.activatedRoute.snapshot.data['countries'];\n\n this.studentValidationFormGroup = this.formBuilder.group({\n givenName: ['', Validators.required],\n familyName: ['', Validators.required],\n dateOfBirth: this.formBuilder.group({\n day: ['', Validators.required],\n month: ['', Validators.required],\n year: ['', Validators.required],\n }),\n country: ['', [Validators.required, CountryValidator(this.countries)]]\n });\n\n }\n\n cancelStudentValidation(): void {\n this.router.navigate(['/applications', 'dashboard']);\n }\n\n validateStudent(): void {\n\n this.isFormSubmitted = true;\n\n const day = this.studentValidationFormGroup.get('dateOfBirth.day').value;\n const month = this.studentValidationFormGroup.get('dateOfBirth.month').value;\n const year = this.studentValidationFormGroup.get('dateOfBirth.year').value;\n\n this.validateDate(day, month, year);\n\n\n if (this.studentValidationFormGroup.valid) {\n this.validateStudentInfo();\n }\n\n }\n\n validateStudentInfo(): void {\n\n const familyName = this.studentValidationFormGroup.get('familyName').value;\n const dateOfBirth = this.getDateOfBirth();\n const countryCode = this.studentValidationFormGroup.get('country').value;\n const givenName = this.studentValidationFormGroup.get('givenName').value;\n\n this.dataService.ValidateStudentParentsInfo(familyName, givenName, dateOfBirth, countryCode)\n .subscribe(\n (response: SingleResultApiResponse) => {\n if (response.Errors && response.Errors.length > 0) {\n console.log(`Error: ${response.Errors}`);\n } else {\n\n const applicationId = response.Result.ApplicationId;\n const customerReferenceNumber = response.Result.CustomerReferenceNumber;\n\n this.store.dispatch({\n type: Action_SetCurrentApplication,\n payload: applicationId\n });\n\n this.router.navigate(['/applications', applicationId, 'edit', 'important-information']);\n }\n\n },\n (errorResponse: ErrorResponse) => {\n const errors = errorResponse.errors;\n if (errors && errors.length > 0) {\n const errorKey = errors[0].Key;\n if (errorKey === 'model') {\n\n this.store.dispatch({\n type: Action_StudentValidationForNewApplication,\n payload: {\n 'StudentGivenName': givenName,\n 'StudentFamilyName': familyName,\n 'StudentDateOfBirth': dateOfBirth,\n 'StudentNationality': countryCode\n }\n });\n\n this.router.navigate(['/applications', 'parents-validation']);\n }\n }\n\n }\n );\n }\n\n validateDate(day: number, month: string, year: number): void {\n const monthIndex = this.getMonthIndex(month);\n const dateOfBirthValidity = DateTime.fromObject({ month: monthIndex, day: +day, year: +year });\n if (!dateOfBirthValidity.isValid) {\n // this.invalidDateOfBirthReason = dateOfBirthValidity.invalidReason;\n this.studentValidationFormGroup.get('dateOfBirth.day').setErrors({ 'invalidDay': true });\n }\n }\n\n getDateOfBirth(): string {\n const day = this.studentValidationFormGroup.get('dateOfBirth.day').value;\n const month = this.studentValidationFormGroup.get('dateOfBirth.month').value;\n const year = this.studentValidationFormGroup.get('dateOfBirth.year').value;\n const monthIndex = this.getMonthIndex(month);\n return `${day}/${monthIndex}/${year}`;\n }\n\n getMonthIndex(month: string): number {\n let monthIndex = 0; // Range: 1 to 12; 0 means invalid\n switch (month) {\n case 'Jan':\n monthIndex = 1;\n break;\n case 'Feb':\n monthIndex = 2;\n break;\n case 'Mar':\n monthIndex = 3;\n break;\n case 'Apr':\n monthIndex = 4;\n break;\n case 'May':\n monthIndex = 5;\n break;\n case 'Jun':\n monthIndex = 6;\n break;\n case 'Jul':\n monthIndex = 7;\n break;\n case 'Aug':\n monthIndex = 8;\n break;\n case 'Sep':\n monthIndex = 9;\n break;\n case 'Oct':\n monthIndex = 10;\n break;\n case 'Nov':\n monthIndex = 11;\n break;\n case 'Dec':\n monthIndex = 12;\n break;\n }\n\n return monthIndex;\n }\n\n //show border when tab on link for accessibility\n linkTabAccessibility(event): void {\n event.style.outline = \"1px solid black\";\n }\n\n linkBlurAccessibility(event): void {\n event.style.outline = \"\";\n }\n\n //accessibility -- link error msg to form field\n errorDoubleErrorAccessibility(formControlName: string, requireErrorId: string, apiErrorId: string): string {\n if (this.isFormSubmitted &&\n this.studentValidationFormGroup.get(formControlName).errors &&\n this.studentValidationFormGroup.get(formControlName).errors.required) {\n return requireErrorId;\n } else if (this.isFormSubmitted &&\n this.studentValidationFormGroup.get(formControlName).errors &&\n this.studentValidationFormGroup.get(formControlName).errors.invalidDay) {\n return apiErrorId;\n } else {\n return \"\";\n }\n }\n\n errorCountryAccessibility(formControlName: string): string {\n if (this.isFormSubmitted &&\n this.studentValidationFormGroup.get(formControlName).errors &&\n this.studentValidationFormGroup.get(formControlName).errors.required) {\n return \"requiredCountry\";\n } else if (this.isFormSubmitted &&\n this.studentValidationFormGroup.get(formControlName).errors &&\n this.studentValidationFormGroup.get(formControlName).errors.blockedCountry) {\n return \"blockedCountry\";\n } else if (this.isFormSubmitted &&\n this.studentValidationFormGroup.get(formControlName).errors &&\n this.studentValidationFormGroup.get(formControlName).errors.regularCountry) {\n return \"regularCountry\";\n } else if (this.isFormSubmitted &&\n this.studentValidationFormGroup.get(formControlName).errors &&\n this.studentValidationFormGroup.get(formControlName).errors.apiValidationError) {\n return \"apiErrorCountry\";\n } else {\n return \"\";\n }\n }\n}\n","module.exports = \"
\\n\\n
\\n {{studentParentsValidationErrorMsg}}\\n
\\n\\n
\\n\\n
\\n
\\n
Enter the student details
\\n
\\n
\\n\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n Given name is required\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n Family name is required\\n
\\n
\\n
\\n
\\n\\n
\\n\\n
\\n\\n
\\n
\\n\\n \\n\\n
\\n
\\n \\n
\\n
\\n Day is required\\n
\\n
\\n
\\n \\n Invalid day for the selected month and year\\n
\\n
\\n
\\n
\\n \\n
\\n \\n Month is required\\n
\\n
\\n
\\n
\\n \\n
\\n \\n Year is required\\n
\\n
\\n
\\n
\\n\\n\\n
\\n \\n\\n
\\n
\\n \\n \\n
\\n
\\n Country is required\\n
\\n
\\n We are currently unable to process applications from this nationality. Please contact DE International for\\n further information\\n
\\n
\\n To apply for this program, please submit an application through one of our registered agents. Further\\n information can be found on our website: https://www.deinternational.nsw.edu.au/how-to-apply/find-an-agent.\\n Alternatively, please contact DE International for more information\\n
\\n
\\n {{countryValidationError}}\\n
\\n
\\n
\\n
\\n \\n\\n
\\n
\\n
Enter the parents details
\\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n Father's Given name is required\\n
\\n
\\n
\\n\\n
\\n \\n \\n
\\n
\\n Father's Family name is required\\n
\\n
\\n
\\n\\n
\\n\\n
\\n\\n
\\n \\n \\n
\\n
\\n Mother's Given name is required\\n
\\n
\\n
\\n\\n
\\n \\n \\n
\\n
\\n Mother's Family name is required\\n
\\n
\\n
\\n\\n
\\n\\n\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcGxpY2F0aW9uL3N0dWRlbnRzLXBhcmVudHMtdmFsaWRhdGlvbi9zdHVkZW50cy1wYXJlbnRzLXZhbGlkYXRpb24uY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { CountryValidator } from 'src/app/shared/services/country.validator';\nimport { DateTime } from 'luxon';\nimport { DataService } from 'src/app/shared/services/data.service';\nimport { SingleResultApiResponse } from 'src/app/shared/models/api-response.model';\nimport { ErrorResponse } from 'src/app/shared/models/error.model';\nimport { Action_SetCurrentApplication } from '../state/actions';\nimport { Store } from '@ngrx/store';\nimport { Country } from 'src/app/shared/models/lookup-data.model';\n\n@Component({\n selector: 'online-app-students-parents-validation',\n templateUrl: './students-parents-validation.component.html',\n styleUrls: ['./students-parents-validation.component.scss']\n})\nexport class StudentsParentsValidationComponent implements OnInit {\n\n days = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31];\n months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n years: any[] = [];\n\n studentParentsValidationFormGroup: FormGroup;\n countries: Country[];\n isFormSubmitted = false;\n studentParentsValidationErrorMsg = '';\n\n constructor(private activatedRoute: ActivatedRoute,\n private router: Router,\n private store: Store,\n private dataService: DataService,\n private formBuilder: FormBuilder) { }\n\n\n ngOnInit() {\n\n for (let year = 1990; year < 2018; year++) {\n this.years.push(year);\n }\n\n this.countries = this.activatedRoute.snapshot.data['countries'];\n\n this.studentParentsValidationFormGroup = this.formBuilder.group({\n givenName: ['', Validators.required],\n familyName: ['', Validators.required],\n dateOfBirth: this.formBuilder.group({\n day: ['', Validators.required],\n month: ['', Validators.required],\n year: ['', Validators.required],\n }),\n country: ['', [Validators.required, CountryValidator(this.countries)]],\n fatherGivenName: ['', Validators.required],\n fatherFamilyName: ['', Validators.required],\n motherGivenName: ['', Validators.required],\n motherFamilyName: ['', Validators.required],\n });\n\n\n }\n\n cancelStudentParentsValidation(): void {\n this.router.navigate(['/applications', 'dashboard']);\n }\n\n validateStudentParentsInfo(): void {\n this.isFormSubmitted = true;\n\n const day = this.studentParentsValidationFormGroup.get('dateOfBirth.day').value;\n const month = this.studentParentsValidationFormGroup.get('dateOfBirth.month').value;\n const year = this.studentParentsValidationFormGroup.get('dateOfBirth.year').value;\n\n this.validateDate(day, month, year);\n\n\n if (this.studentParentsValidationFormGroup.valid) {\n this.validateStudentParents();\n }\n }\n\n validateStudentParents(): void {\n\n const familyName = this.studentParentsValidationFormGroup.get('familyName').value;\n const dateOfBirth = this.getDateOfBirth();\n const countryCode = this.studentParentsValidationFormGroup.get('country').value;\n const givenName = this.studentParentsValidationFormGroup.get('givenName').value;\n\n const fatherGivenName = this.studentParentsValidationFormGroup.get('fatherGivenName').value;\n const fatherFamilyName = this.studentParentsValidationFormGroup.get('fatherFamilyName').value;\n const motherGivenName = this.studentParentsValidationFormGroup.get('motherGivenName').value;\n const motherFamilyName = this.studentParentsValidationFormGroup.get('motherFamilyName').value;\n\n this.dataService.ValidateStudentParentsInfo\n (givenName, familyName, dateOfBirth,\n countryCode, fatherGivenName, fatherFamilyName,\n motherGivenName, motherFamilyName)\n .subscribe(\n (response: SingleResultApiResponse) => {\n\n\n if (response.Errors && response.Errors.length > 0) {\n console.log(`Error: ${response.Errors}`);\n } else {\n this.studentParentsValidationErrorMsg = '';\n const applicationId = response.Result.ApplicationId;\n const customerReferenceNumber = response.Result.CustomerReferenceNumber;\n\n this.store.dispatch({\n type: Action_SetCurrentApplication,\n payload: applicationId\n });\n\n this.router.navigate(['/applications', applicationId, 'edit', 'important-information']);\n }\n\n },\n (errorResponse: ErrorResponse) => {\n const errors = errorResponse.errors;\n if (errors && errors.length > 0) {\n const errorKey = errors[0].Key;\n const errorValue = errors[0].Value;\n if (errorKey === 'model') {\n this.studentParentsValidationErrorMsg = errorValue;\n }\n }\n }\n );\n\n }\n\n validateDate(day: number, month: string, year: number): void {\n const monthIndex = this.getMonthIndex(month);\n const dateOfBirthValidity = DateTime.fromObject({ month: monthIndex, day: +day, year: +year });\n if (!dateOfBirthValidity.isValid) {\n this.studentParentsValidationFormGroup.get('dateOfBirth.day').setErrors({ 'invalidDay': true });\n }\n }\n\n getDateOfBirth(): string {\n const day = this.studentParentsValidationFormGroup.get('dateOfBirth.day').value;\n const month = this.studentParentsValidationFormGroup.get('dateOfBirth.month').value;\n const year = this.studentParentsValidationFormGroup.get('dateOfBirth.year').value;\n const monthIndex = this.getMonthIndex(month);\n return `${day}/${monthIndex}/${year}`;\n }\n\n getMonthIndex(month: string): number {\n let monthIndex = 0; // Range: 1 to 12; 0 means invalid\n switch (month) {\n case 'Jan':\n monthIndex = 1;\n break;\n case 'Feb':\n monthIndex = 2;\n break;\n case 'Mar':\n monthIndex = 3;\n break;\n case 'Apr':\n monthIndex = 4;\n break;\n case 'May':\n monthIndex = 5;\n break;\n case 'Jun':\n monthIndex = 6;\n break;\n case 'Jul':\n monthIndex = 7;\n break;\n case 'Aug':\n monthIndex = 8;\n break;\n case 'Sep':\n monthIndex = 9;\n break;\n case 'Oct':\n monthIndex = 10;\n break;\n case 'Nov':\n monthIndex = 11;\n break;\n case 'Dec':\n monthIndex = 12;\n break;\n }\n\n return monthIndex;\n }\n\n //show border when tab on link for accessibility\n linkTabAccessibility(event): void {\n console.info(event);\n event.style.outline = \"1px solid black\";\n }\n\n linkBlurAccessibility(event): void {\n event.style.outline = \"\";\n }\n\n //accessibility -- link error msg to form field\n errorDoubleErrorAccessibility(formControlName: string, requireErrorId: string, apiErrorId: string): string {\n if (this.isFormSubmitted &&\n this.studentParentsValidationFormGroup.get(formControlName).errors &&\n this.studentParentsValidationFormGroup.get(formControlName).errors.required) {\n return requireErrorId;\n } else if (this.isFormSubmitted &&\n this.studentParentsValidationFormGroup.get(formControlName).errors &&\n this.studentParentsValidationFormGroup.get(formControlName).errors.invalidDay) {\n return apiErrorId;\n } else {\n return \"\";\n }\n }\n\n errorCountryAccessibility(formControlName: string): string {\n if (this.isFormSubmitted &&\n this.studentParentsValidationFormGroup.get(formControlName).errors &&\n this.studentParentsValidationFormGroup.get(formControlName).errors.required) {\n return \"requiredCountry\";\n } else if (this.isFormSubmitted &&\n this.studentParentsValidationFormGroup.get(formControlName).errors &&\n this.studentParentsValidationFormGroup.get(formControlName).errors.blockedCountry) {\n return \"blockedCountry\";\n } else if (this.isFormSubmitted &&\n this.studentParentsValidationFormGroup.get(formControlName).errors &&\n this.studentParentsValidationFormGroup.get(formControlName).errors.regularCountry) {\n return \"regularCountry\";\n } else if (this.isFormSubmitted &&\n this.studentParentsValidationFormGroup.get(formControlName).errors &&\n this.studentParentsValidationFormGroup.get(formControlName).errors.apiValidationError) {\n return \"apiErrorCountry\";\n } else {\n return \"\";\n }\n }\n}\n","module.exports = \"
\\n
\\n

Application Summary: {{summary.ApplicationNumber}}

\\n
\\n
\\n \\n
\\n
\\n

Student Details

\\n
\\n
\\n
\\n

Personal Details

\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.StudentDetails.GivenName}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.StudentDetails.FamilyName}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.StudentDetails.PreferredName}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getGender(summary.StudentDetails.Gender)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getDate(summary.StudentDetails.DateOfBirth)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getCountryById(summary.StudentDetails.CountryOfBirthId)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getCountryById(summary.StudentDetails.CountryOfNationalityId)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.StudentDetails.PassportNumber}}\\n
\\n
\\n
\\n\\n
\\n

Contact Details

\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n (+{{summary.StudentDetails.MobileCountryCode}})\\n {{summary.StudentDetails.MobilePhoneNumber}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n (+{{summary.StudentDetails.HomeCountryCode}})\\n {{summary.StudentDetails.HomePhoneNumber}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.StudentDetails.EmailAddress}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.StudentDetails | ausAddress}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.StudentDetails | overseasAddress: getCountryById(summary.StudentDetails.OverseasCountryId)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n Same as the\\n Australian address\\n Same as the\\n Overseas address\\n \\n Not Specified\\n \\n
\\n
\\n
\\n
\\n

Onshore Residency Status

\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.StudentDetails.IsStudentAlreadyEnrolledInAustralia)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.StudentDetails.StudentLivingWith}}\\n
\\n
\\n
\\n
\\n \\n
\\n \\n\\n \\n
\\n
\\n

English Proficiency

\\n
\\n
\\n
\\n

English Proficiency

\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.EnglishProficiency?.HasTakenTest)}}\\n
\\n
\\n\\n\\n
\\n\\n
\\n
\\n \\n
\\n
\\n \\n \\n {{englishLanguageTestMetadata[summary.EnglishProficiency?.TestTypeCode].name}}\\n \\n {{summary.EnglishProficiency?.OtherTestName}}\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n {{summary.EnglishProficiency?.DateTaken | date}}\\n \\n
\\n
\\n\\n\\n
\\n
\\n \\n
\\n
\\n {{summary.EnglishProficiency?.ReadingScore}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.EnglishProficiency?.VocabularyScore}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.EnglishProficiency?.ListeningScore}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.EnglishProficiency?.SpeakingScore}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.EnglishProficiency?.WritingScore}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.EnglishProficiency?.TotalScore}}\\n
\\n
\\n\\n
\\n\\n
\\n
\\n \\n
\\n
\\n \\n {{getYesNo(summary.EnglishProficiency?.AllSubjectsTaughtInEnglish)}}\\n \\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n \\n {{getYesNo(summary.EnglishProficiency?.SpeaksEnglishAtHome)}}\\n \\n
\\n
\\n\\n\\n
\\n
\\n \\n\\n
\\n \\n
\\n \\n
\\n
\\n

School Program and Placement

\\n
\\n
\\n
\\n

Program Details

\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n {{getSchoolProgram(summary.SchoolProgram?.SchoolProgramType)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SchoolProgram?.YearOfEntryDescription}}\\n
\\n
\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n {{getSchoolProgramStartDate(summary.SchoolProgram)}}\\n
\\n
\\n \\n
\\n \\n
\\n

Compulsory Subjects

\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SchoolProgram['CompulsorySubject' + i.toString() + 'Description']}}\\n
\\n
\\n
\\n
\\n \\n
\\n

School Preferences

\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n {{ getPreferredSchoolName(summary.SchoolProgram.PreferredSchool1Id) }}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{ getPreferredSchoolName(summary.SchoolProgram.PreferredSchool2Id) }}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{ getPreferredSchoolName(summary.SchoolProgram.PreferredSchool3Id) }}\\n
\\n
\\n
\\n \\n
\\n

Sibling Details

\\n
\\n \\n
\\n \\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.SchoolProgram.IsSiblingEnrolledInAustralia)}}\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n {{summary.SchoolProgram.SiblingGivenName}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SchoolProgram.SiblingFamilyName}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getDate(summary.SchoolProgram.SiblingDateOfBirth)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SchoolProgram.SiblingStudentNumber}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SchoolProgram.SiblingSchoolName}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SchoolProgram.SiblingComments}}\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n \\n
\\n \\n \\n
\\n
\\n

Parent / Carer Details

\\n
\\n
\\n
\\n
\\n

Personal details

\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n {{getRelationship(parentGuardian.RelationshipCode)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{parentGuardian.GivenName}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{parentGuardian.FamilyName}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{parentGuardian.PreferredName}}\\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n {{getYesNo(parentGuardian.IsRefusedAusVisaBefore)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getDate(parentGuardian.DateOfBirth)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getGender(parentGuardian.Gender)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getCountryById(parentGuardian.CountryOfBirthId)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getCountryById(parentGuardian.CountryOfNationalityId)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{parentGuardian.PassportNumber}}\\n
\\n
\\n
\\n
\\n \\n
\\n

Contact details

\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n (+{{parentGuardian.MobileCountryCode}})\\n {{parentGuardian.MobilePhoneNumber}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n (+{{parentGuardian.HomeCountryCode}})\\n {{parentGuardian.HomePhoneNumber}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{parentGuardian.EmailAddress}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{parentGuardian | ausAddress}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n {{parentGuardian | overseasAddress: getCountryById(parentGuardian.OverseasCountryId)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n Same as the\\n Australian\\n address\\n Same as the\\n Overseas\\n address\\n \\n Not Specified\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n

Accommodation and Welfare

\\n
\\n
\\n
\\n

Accommodation

\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getAccommodationType(summary.Accommodation)}}\\n
\\n
\\n
\\n
\\n

Carer Details:

\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n {{Carer.Description}}\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n {{Carer.GivenName}}\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n {{Carer.FamilyName}}\\n \\n
\\n
\\n
\\n
\\n \\n\\n
\\n \\n \\n
\\n
\\n

VISA and OSHC

\\n
\\n
\\n
\\n

VISA Details

\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.VisaOshc?.IsOnshoreWhileLodgingVisa)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.VisaOshc?.HoldsAustralianVisa)}}\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n {{summary.VisaOshc?.VisaSubclassCode}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getDate(summary.VisaOshc?.VisaExpiryDate)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.VisaOshc?.VisaNumber}}\\n
\\n
\\n
\\n\\n
\\n
\\n

OSHC Details

\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.VisaOshc?.HasOshc)}}\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n {{summary.VisaOshc?.OshcProviderName}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getDate(summary.VisaOshc?.OshcExpiryDate)}}\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.VisaOshc?.IsHealthCoverFromDEInternational)}}\\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n
\\n
\\n

Special Circumstances

\\n
\\n
\\n
\\n

Special Circumstances

\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.SpecialCircumstances.IsDisabled)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SpecialCircumstances.DisabledDescription}}\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.SpecialCircumstances.WasHospitalised)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SpecialCircumstances.HospitalisedDescription}}\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.SpecialCircumstances.HasMedicalHistory)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SpecialCircumstances.MedicalHistoryDescription}}\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.SpecialCircumstances.HadViolentBehaviour)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SpecialCircumstances.ViolentBehaviourDescription}}\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.SpecialCircumstances.WasSuspended)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n Actual violence to\\n any person
\\n Illegal drugs
\\n
\\n Possession of a\\n weapon or any item that may cause injury
\\n Threats of violence\\n or intimidation of staff, students, or others at school
\\n
\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.SpecialCircumstances.InvolvedInOtherIncidentsOutsideSchool)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SpecialCircumstances.OtherIncidentsDescription}}\\n
\\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n\"","module.exports = \"@media print {\\n .pagebreak {\\n page-break-after: always; }\\n /* page-break-after works, as well */ }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vc3VtbWFyeS9zdW1tYXJ5LXByaW50L0Q6XFxhXFwxNTVcXHNcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5Qcm9kXFxEZWkuT25saW5lQXBwbGljYXRpb24uV2ViXFxvbmxpbmUtYXBwL3NyY1xcYXBwXFxhcHBsaWNhdGlvblxcc3VtbWFyeVxcc3VtbWFyeS1wcmludFxcc3VtbWFyeS1wcmludC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJO0lBQWEsd0JBQXdCLEVBQUE7RUFBSSxvQ0FBQSxFQUFxQyIsImZpbGUiOiJzcmMvYXBwL2FwcGxpY2F0aW9uL3N1bW1hcnkvc3VtbWFyeS1wcmludC9zdW1tYXJ5LXByaW50LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQG1lZGlhIHByaW50IHtcclxuICAgIC5wYWdlYnJlYWsgeyBwYWdlLWJyZWFrLWFmdGVyOiBhbHdheXM7IH0gLyogcGFnZS1icmVhay1hZnRlciB3b3JrcywgYXMgd2VsbCAqL1xyXG59Il19 */\"","import { Component, Input } from '@angular/core';\nimport { Country, Relationship, School } from 'src/app/shared/models/lookup-data.model';\nimport { AccommodationWelfareDetails } from '../../models/accommodation-welfare-details';\nimport { ParentGuardianDetails } from '../../models/parent-guardian-details';\nimport { SchoolProgramPlacementDetails } from '../../models/school-program-placement-details';\nimport { Summary } from '../../models/summary.model';\n\n@Component({\n selector: 'online-app-summary-print',\n templateUrl: './summary-print.component.html',\n styleUrls: ['./summary-print.component.scss']\n})\nexport class SummaryPrintComponent{\n\n @Input() summary: Summary;\n @Input() relationships: Relationship[];\n @Input() countries: Country[];\n @Input() schools: School[];\n\n constructor() { }\n\n getYesNo(val: any): string {\n if (val === null || val === '') return '';\n return val === true ? 'Yes' : 'No';\n }\n\n englishLanguageTestMetadata = {\n IELTS: {\n code: 'IELTS',\n name: 'IELTS',\n reading: 'Reading',\n listening: 'Listening',\n speaking: 'Speaking',\n writing: 'Writing',\n total: 'Average Score'\n },\n TOEFL: {\n code: 'TOEFL',\n name: 'TOEFL iBT',\n reading: 'Reading',\n listening: 'Listening',\n speaking: 'Speaking',\n writing: 'Writing',\n total: 'Total Score'\n },\n AEAS: {\n code: 'AEAS',\n name: 'AEAS',\n reading: 'Reading Comprehension',\n listening: 'Listening',\n speaking: 'Speaking',\n writing: 'Written Essay',\n vocabulary: 'Vocabulary',\n total: 'Total Score'\n },\n EIKEN: {\n code: 'EIKEN',\n name: 'STEP Eiken',\n total: 'Grade'\n },\n CEFR: {\n code: 'CEFR',\n name: 'CEFR',\n total: 'Level'\n },\n OTHER: {\n code: 'OTHER',\n total: 'Grade / Average Score'\n }\n };\n\n isPrimaryYear() {\n if (this.summary.SchoolProgram && this.summary.SchoolProgram.YearOfEntryCode) {\n const yearOfEntryCode = this.summary.SchoolProgram.YearOfEntryCode;\n return yearOfEntryCode === 'Kindergarten'\n || yearOfEntryCode === 'Year1'\n || yearOfEntryCode === 'Year2'\n || yearOfEntryCode === 'Year3'\n || yearOfEntryCode === 'Year4'\n || yearOfEntryCode === 'Year5'\n || yearOfEntryCode === 'Year6';\n }\n return false;\n }\n\n showOrHideParentContactDetails(parentGuardian: ParentGuardianDetails): boolean {\n let showDetails: boolean = true;\n if (parentGuardian.IsParent && (parentGuardian.IsDeceased || !parentGuardian.HasLegalCustody)) {\n showDetails = false;\n }\n return showDetails;\n }\n\n getRelationship(relationshipCode: string): string {\n const selectedRelationship = this.relationships.find(r => r.Code === relationshipCode);\n return selectedRelationship ? selectedRelationship.Description : '';\n }\n\n getDate(dateInString: string): string {\n if (!dateInString) {\n return null;\n }\n\n const date = new Date(dateInString);\n const dateStr = date ? `${date.getDate()}/${date.getMonth() + 1}/${date.getFullYear()}` : '';\n return dateStr;\n }\n\n getGender(genderValue: string): string {\n if (genderValue === 'M') {\n return 'Male';\n } else if (genderValue === 'F') {\n return 'Female';\n }\n return '';\n }\n\n getCountryById(countryId: string): string {\n //console.log('countryId', countryId);\n const selectedCountry = this.countries.find(c => c.Id === countryId);\n //console.log('selectedCountry', selectedCountry);\n const countryDescription = selectedCountry ? selectedCountry.Description : '';\n //console.log('countryDescription', countryDescription);\n return selectedCountry ? selectedCountry.Description : '';\n }\n\n getAccommodationType(accommodation: AccommodationWelfareDetails): string {\n if (accommodation && accommodation.AccommodationTypeId) {\n switch (accommodation.AccommodationTypeId) {\n case 1:\n return 'Parent, will accompany the student on a guardian visa.';\n case 2:\n return 'Nominated Department of Home Affairs approved relative to provide accommodation, welfare and airport reception. (Direct Relative)';\n case 3:\n return `Nominated a person over 25 years of age residing in NSW to provide accommodation, welfare and airport reception. \n Requested the NSW Department of Education to approve these arrangements as the welfare provider. (Parent Nomination)`;\n case 4:\n return `Requested the NSW Department of Education to arrange accommodation, welfare and airport reception. (Homestay)`;\n default:\n return '';\n }\n }\n return '';\n }\n\n getSchoolProgram(schoolProgramType: string): string {\n\n switch (schoolProgramType) {\n case 'International':\n return 'International Student Program';\n case 'StudyAbroad':\n return 'Study Abroad Program';\n default:\n return '';\n }\n }\n\n getSchoolProgramStartDate(schoolProgram: SchoolProgramPlacementDetails) {\n if (schoolProgram && schoolProgram.StartTermCode && schoolProgram.StartTermYear)\n return schoolProgram.StartTermDescription + ', ' + schoolProgram.StartTermYear;\n return '';\n }\n\n get Carer() {\n var selectedCarer = this.summary.Accommodation.Carers.length ? this.summary.Accommodation.Carers.find(c => c.CarerId === this.summary.Accommodation.SelectedCarerId) : null;\n\n if (!selectedCarer) {\n return {\n Description: '',\n GivenName: '',\n FamilyName: ''\n }\n }\n\n return selectedCarer;\n }\n\n getPreferredSchoolName(preferredSchoolId: string): string {\n if (this.schools) {\n const school = this.schools.find(school => school.Id == preferredSchoolId);\n if (school) {\n return school.Name;\n }\n }\n return '';\n }\n}\n","module.exports = \"
\\n
\\n

Summary

\\n \\\"\\\"/\\n
\\n\\n
\\n
\\n\\n
\\n \\n
\\n\\n
\\n
\\n \\n
\\n
\\n

Student Details

\\n
\\n \\n
\\n
\\n
\\n
\\n

Personal Details

\\n
\\n Edit\\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.StudentDetails.GivenName}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.StudentDetails.FamilyName}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.StudentDetails.PreferredName}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getGender(summary.StudentDetails.Gender)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getDate(summary.StudentDetails.DateOfBirth)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getCountryById(summary.StudentDetails.CountryOfBirthId)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getCountryById(summary.StudentDetails.CountryOfNationalityId)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.StudentDetails.PassportNumber}}\\n
\\n
\\n
\\n\\n
\\n

Contact Details

\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n (+{{summary.StudentDetails.MobileCountryCode}})\\n {{summary.StudentDetails.MobilePhoneNumber}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n (+{{summary.StudentDetails.HomeCountryCode}})\\n {{summary.StudentDetails.HomePhoneNumber}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.StudentDetails.EmailAddress}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.StudentDetails | ausAddress}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.StudentDetails | overseasAddress: getCountryById(summary.StudentDetails.OverseasCountryId)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n Same as the\\n Australian address\\n Same as the\\n Overseas address\\n \\n Not Specified\\n \\n
\\n
\\n
\\n
\\n

Onshore Residency Status

\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.StudentDetails.IsStudentAlreadyEnrolledInAustralia)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.StudentDetails.StudentLivingWith}}\\n
\\n
\\n
\\n
\\n\\n\\n\\n \\n\\n
\\n \\n\\n\\n\\n \\n
\\n
\\n

English Proficiency

\\n
\\n \\n
\\n
\\n
\\n
\\n

English Proficiency

\\n
\\n Edit\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.EnglishProficiency.HasTakenTest)}}\\n
\\n
\\n\\n\\n
\\n\\n
\\n
\\n \\n
\\n
\\n \\n \\n {{englishLanguageTestMetadata[summary.EnglishProficiency.TestTypeCode].name}}\\n \\n {{summary.EnglishProficiency.OtherTestName}}\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n {{summary.EnglishProficiency.DateTaken | date}}\\n \\n
\\n
\\n\\n\\n
\\n
\\n \\n
\\n
\\n {{summary.EnglishProficiency.ReadingScore}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.EnglishProficiency.VocabularyScore}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.EnglishProficiency.ListeningScore}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.EnglishProficiency.SpeakingScore}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.EnglishProficiency.WritingScore}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.EnglishProficiency.TotalScore}}\\n
\\n
\\n\\n
\\n\\n
\\n
\\n \\n
\\n
\\n \\n {{getYesNo(summary.EnglishProficiency.AllSubjectsTaughtInEnglish)}}\\n \\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n \\n {{getYesNo(summary.EnglishProficiency.SpeaksEnglishAtHome)}}\\n \\n
\\n
\\n\\n\\n
\\n
\\n \\n\\n
\\n \\n\\n\\n \\n
\\n
\\n

School Program and Placement

\\n
\\n \\n
\\n
\\n
\\n
\\n

Program Details

\\n
\\n Edit\\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n {{getSchoolProgram(summary.SchoolProgram.SchoolProgramType)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SchoolProgram.YearOfEntryDescription}}\\n
\\n
\\n \\n \\n\\n
\\n
\\n \\n
\\n
\\n {{getSchoolProgramStartDate(summary.SchoolProgram)}}\\n
\\n
\\n\\n
\\n\\n \\n
\\n

Compulsory Subjects

\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SchoolProgram['CompulsorySubject' + i.toString() + 'Description']}}\\n
\\n
\\n
\\n
\\n\\n
\\n

School Preferences

\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n {{ getPreferredSchoolName(summary.SchoolProgram.PreferredSchool1Id) }}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{ getPreferredSchoolName(summary.SchoolProgram.PreferredSchool2Id) }}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{ getPreferredSchoolName(summary.SchoolProgram.PreferredSchool3Id) }}\\n
\\n
\\n
\\n\\n
\\n

Sibling Details

\\n
\\n
\\n
\\n\\n
\\n \\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.SchoolProgram.IsSiblingEnrolledInAustralia)}}\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n {{summary.SchoolProgram.SiblingGivenName}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SchoolProgram.SiblingFamilyName}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getDate(summary.SchoolProgram.SiblingDateOfBirth)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SchoolProgram.SiblingStudentNumber}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SchoolProgram.SiblingSchoolName}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SchoolProgram.SiblingComments}}\\n
\\n
\\n
\\n
\\n
\\n \\n\\n
\\n \\n\\n\\n \\n
\\n
\\n

Parent / Carer Details

\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n

Personal details

\\n
\\n Edit\\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n {{getRelationship(parentGuardian.RelationshipCode)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{parentGuardian.GivenName}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{parentGuardian.FamilyName}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{parentGuardian.PreferredName}}\\n
\\n
\\n\\n \\n
\\n
\\n \\n
\\n
\\n {{getYesNo(parentGuardian.IsRefusedAusVisaBefore)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getDate(parentGuardian.DateOfBirth)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getGender(parentGuardian.Gender)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getCountryById(parentGuardian.CountryOfBirthId)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getCountryById(parentGuardian.CountryOfNationalityId)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{parentGuardian.PassportNumber}}\\n
\\n
\\n
\\n
\\n \\n
\\n

Contact details

\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n (+{{parentGuardian.MobileCountryCode}})\\n {{parentGuardian.MobilePhoneNumber}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n (+{{parentGuardian.HomeCountryCode}})\\n {{parentGuardian.HomePhoneNumber}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{parentGuardian.EmailAddress}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{parentGuardian | ausAddress}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n {{parentGuardian | overseasAddress: getCountryById(parentGuardian.OverseasCountryId)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n Same as the\\n Australian\\n address\\n Same as the\\n Overseas\\n address\\n \\n Not Specified\\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n \\n
\\n
\\n

Accommodation and Welfare

\\n
\\n \\n
\\n
\\n
\\n
\\n

Accommodation

\\n
\\n Edit\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getAccommodationType(summary.Accommodation)}}\\n
\\n
\\n
\\n
\\n

Carer Details:

\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n {{Carer.Description}}\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n {{Carer.GivenName}}\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n {{Carer.FamilyName}}\\n \\n
\\n
\\n
\\n
\\n \\n\\n
\\n \\n \\n
\\n
\\n

VISA and OSHC

\\n
\\n \\n
\\n
\\n
\\n
\\n

VISA Details

\\n
\\n Edit\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.VisaOshc.IsOnshoreWhileLodgingVisa)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.VisaOshc.HoldsAustralianVisa)}}\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n {{summary.VisaOshc.VisaSubclassCode}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getDate(summary.VisaOshc.VisaExpiryDate)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.VisaOshc.VisaNumber}}\\n
\\n
\\n
\\n\\n
\\n
\\n

OSHC Details

\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.VisaOshc.HasOshc)}}\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n {{summary.VisaOshc.OshcProviderName}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getDate(summary.VisaOshc.OshcExpiryDate)}}\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.VisaOshc.IsHealthCoverFromDEInternational)}}\\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n
\\n
\\n

Special Circumstances

\\n
\\n \\n
\\n
\\n
\\n
\\n

Special Circumstances

\\n
\\n Edit\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.SpecialCircumstances.HadCovid19Vaccination)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SpecialCircumstances.Covid19VaccinesTaken | descriptionFromLookup : deiApprovedCovid19Vaccines}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.SpecialCircumstances.IsDisabled)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SpecialCircumstances.DisabledDescription}}\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.SpecialCircumstances.WasHospitalised)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SpecialCircumstances.HospitalisedDescription}}\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.SpecialCircumstances.HasMedicalHistory)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SpecialCircumstances.MedicalHistoryDescription}}\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.SpecialCircumstances.HadViolentBehaviour)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SpecialCircumstances.ViolentBehaviourDescription}}\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.SpecialCircumstances.WasSuspended)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n Actual violence to\\n any person
\\n Illegal drugs
\\n
\\n Possession of a\\n weapon or any item that may cause injury
\\n Threats of violence\\n or intimidation of staff, students, or others at school
\\n {{summary?.SpecialCircumstances.OtherReasonForSuspension}}\\n
\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n {{getYesNo(summary.SpecialCircumstances.InvolvedInOtherIncidentsOutsideSchool)}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n {{summary.SpecialCircumstances.OtherIncidentsDescription}}\\n
\\n
\\n
\\n
\\n \\n
\\n \\n
\\n \\n \\n
\\n
\\n
\\n
\\n\\n\"","module.exports = \".application-summary-actions .application-summary-actions-right .btn {\\n margin-left: 10px; }\\n\\n:host ::ng-deep .application-summary .application-summary-item.complete::after {\\n top: 1rem; }\\n\\n:host ::ng-deep .application-summary .application-summary-item.incomplete::after {\\n content: '';\\n display: inline-block;\\n background: rgba(255, 255, 255, 0) url('not_ok.svg') center no-repeat;\\n position: absolute;\\n right: -35px;\\n top: 1.4rem;\\n width: 1.6rem;\\n height: 1.6rem; }\\n\\n:host ::ng-deep .application-summary .application-summary-item-details-head {\\n cursor: pointer; }\\n\\n:host ::ng-deep .application-summary .application-summary-item-details-head h3 {\\n font-size: 1.71rem;\\n text-decoration: underline;\\n -webkit-text-decoration-line: underline;\\n text-decoration-line: underline;\\n -webkit-text-decoration-skip: auto;\\n text-decoration-skip: auto; }\\n\\n:host ::ng-deep .application-summary .application-summary-item-details-head .heading3 {\\n font-size: 1.71rem;\\n text-decoration: underline;\\n -webkit-text-decoration-line: underline;\\n text-decoration-line: underline;\\n -webkit-text-decoration-skip: auto;\\n text-decoration-skip: auto; }\\n\\n:host ::ng-deep .application-summary .application-summary-item-head .summary-actions {\\n position: relative;\\n top: -0.8rem; }\\n\\n:host ::ng-deep .application-summary .summary-actions {\\n padding: 0; }\\n\\n:host ::ng-deep .application-summary .details-block {\\n margin-top: 1rem;\\n margin-bottom: 2rem; }\\n\\n:host ::ng-deep .application-summary .details-block .row:not(:first-child) {\\n border-top: 1px solid #eaf2fc; }\\n\\n:host ::ng-deep .application-summary .details-block .row [class^=\\\"col\\\"] {\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n padding-left: 0;\\n font-size: 1.425rem; }\\n\\n:host ::ng-deep .application-summary .details-block .row [class^=\\\"col\\\"]:last-child {\\n padding-left: 2rem; }\\n\\n:host ::ng-deep .application-summary .carer-details:not(:last-child) {\\n border-bottom: 0.2rem solid #aec5e7; }\\n\\n:host ::ng-deep .application-summary .carer-details::before {\\n content: '';\\n position: relative;\\n top: -10px;\\n left: -10px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vc3VtbWFyeS9EOlxcYVxcMTU1XFxzXFxEZWkuT25saW5lQXBwbGljYXRpb24uUHJvZFxcRGVpLk9ubGluZUFwcGxpY2F0aW9uLldlYlxcb25saW5lLWFwcC9zcmNcXGFwcFxcYXBwbGljYXRpb25cXHN1bW1hcnlcXHN1bW1hcnkuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxpQkFBaUIsRUFBQTs7QUFHckI7RUFNb0IsU0FBUyxFQUFBOztBQU43QjtFQVlvQixXQUFXO0VBQ1gscUJBQXFCO0VBQ3JCLHFFQUE0RjtFQUM1RixrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLFdBQVc7RUFDWCxhQUFhO0VBQ2IsY0FBYyxFQUFBOztBQW5CbEM7RUF1Q1ksZUFBZSxFQUFBOztBQXZDM0I7SUEwQmdCLGtCQUFrQjtJQUNsQiwwQkFBMEI7SUFDMUIsdUNBQStCO1lBQS9CLCtCQUErQjtJQUMvQixrQ0FBMEI7WUFBMUIsMEJBQTBCLEVBQUE7O0FBN0IxQztJQWlDZ0Isa0JBQWtCO0lBQ2xCLDBCQUEwQjtJQUMxQix1Q0FBK0I7WUFBL0IsK0JBQStCO0lBQy9CLGtDQUEwQjtZQUExQiwwQkFBMEIsRUFBQTs7QUFwQzFDO0VBNENnQixrQkFBa0I7RUFDbEIsWUFBWSxFQUFBOztBQTdDNUI7RUFrRFksVUFBVSxFQUFBOztBQWxEdEI7RUFzRFksZ0JBQWdCO0VBQ2hCLG1CQUFtQixFQUFBOztBQXZEL0I7SUEyRG9CLDZCQUE2QixFQUFBOztBQTNEakQ7SUErRG9CLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsZUFBZTtJQUNmLG1CQUFtQixFQUFBOztBQWxFdkM7TUFxRXdCLGtCQUFrQixFQUFBOztBQXJFMUM7RUE4RWdCLG1DQUFtQyxFQUFBOztBQTlFbkQ7RUFrRmdCLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLFdBQVcsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2FwcGxpY2F0aW9uL3N1bW1hcnkvc3VtbWFyeS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hcHBsaWNhdGlvbi1zdW1tYXJ5LWFjdGlvbnMgLmFwcGxpY2F0aW9uLXN1bW1hcnktYWN0aW9ucy1yaWdodCAuYnRuIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAge1xyXG4gICAgLmFwcGxpY2F0aW9uLXN1bW1hcnkge1xyXG5cclxuICAgICAgICAuYXBwbGljYXRpb24tc3VtbWFyeS1pdGVtIHtcclxuICAgICAgICAgICAgJi5jb21wbGV0ZSB7XHJcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmluY29tcGxldGUge1xyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIHVybCgnLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9ub3Rfb2suc3ZnJykgY2VudGVyIG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0zNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMS40cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxLjZyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjZyZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5hcHBsaWNhdGlvbi1zdW1tYXJ5LWl0ZW0tZGV0YWlscy1oZWFkIHtcclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjcxcmVtO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXNraXA6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5oZWFkaW5nM3tcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43MXJlbTtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1za2lwOiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYXBwbGljYXRpb24tc3VtbWFyeS1pdGVtLWhlYWQge1xyXG4gICAgICAgICAgICAuc3VtbWFyeS1hY3Rpb25zIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogLTAuOHJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN1bW1hcnktYWN0aW9ucyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZGV0YWlscy1ibG9jayB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcblxyXG4gICAgICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWFmMmZjO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIFtjbGFzc149XCJjb2xcIl0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNDI1cmVtO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY2FyZXItZGV0YWlscyB7XHJcblxyXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMC4ycmVtIHNvbGlkICNhZWM1ZTc7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogLTEwcHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ== */\"","import { ParentGuardianDetails } from 'src/app/application/models/parent-guardian-details';\nimport { SchoolProgramPlacementDetails } from './../models/school-program-placement-details';\nimport { Component, HostListener, OnInit } from '@angular/core';\nimport { Summary } from '../models/summary.model';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { updateEmptyValuesForNullUndefined } from '../shared/utils/ModelUtils';\nimport { Country, Relationship, SchoolSubject, Term, SchoolDuration, School, Tab_Title, LookupData } from 'src/app/shared/models/lookup-data.model';\nimport { ApplicationService } from 'src/app/shared/services/application.service';\nimport { ApiResponse, SingleResultApiResponse } from 'src/app/shared/models/api-response.model';\nimport { IApplicationStep } from '../models/application-step.interface';\nimport { slideInOut } from '../animations/slideInOut';\nimport { AccommodationWelfareDetails } from '../models/accommodation-welfare-details';\nimport { Title } from '@angular/platform-browser';\nimport { switchMap, tap } from 'rxjs/operators';\nimport { LookupService } from 'src/app/shared/services/lookup.service';\nimport { of } from 'rxjs';\n\n@Component({\n selector: 'online-app-summary',\n templateUrl: './summary.component.html',\n styleUrls: ['./summary.component.scss'],\n host: {\n class: 'application-section-component'\n },\n animations: [slideInOut]\n})\nexport class SummaryComponent implements OnInit {\n\n summary: Summary;\n countries: Country[];\n relationships: Relationship[];\n schoolSubjects: SchoolSubject[];\n schools: School[];\n terms: Term[];\n durations: SchoolDuration[];\n applicationId: number;\n applicationSteps: IApplicationStep[];\n isPaymentReady = false;\n isSubmittedApplication = false;\n preferredSchools: string[];\n isCovid19VaccinationNeeded: boolean = false;\n deiApprovedCovid19Vaccines: LookupData[] = [];\n\n sectionVisibilityStatus = {\n 'StudentDetails': false,\n 'ParentGuardianDetails': false,\n 'VisaAndOhscDetails': false,\n 'SchoolProgramAndPlacement': false,\n 'AccommodationAndWelfare': false,\n 'EnglishProficiency': false,\n 'SpecialCircumstances': false\n };\n\n sections = [\n { name: 'StudentDetails', visiblilityStatus: false, completionStatus: false },\n { name: 'ParentGuardianDetails', visiblilityStatus: false, completionStatus: false },\n { name: 'VisaAndOhscDetails', visiblilityStatus: false, completionStatus: false },\n { name: 'SchoolProgramAndPlacement', visiblilityStatus: false, completionStatus: false },\n { name: 'AccommodationAndWelfare', visiblilityStatus: false, completionStatus: false },\n { name: 'EnglishProficiency', visiblilityStatus: false, completionStatus: false },\n { name: 'SpecialCircumstances', visiblilityStatus: false, completionStatus: false }\n ];\n\n sectionsMappedByName = this.sections.reduce((o, section) => {\n o[section.name] = section;\n return o;\n }, {});\n\n englishLanguageTestMetadata = {\n IELTS: {\n code: 'IELTS',\n name: 'IELTS',\n reading: 'Reading',\n listening: 'Listening',\n speaking: 'Speaking',\n writing: 'Writing',\n total: 'Average Score'\n },\n TOEFL: {\n code: 'TOEFL',\n name: 'TOEFL iBT',\n reading: 'Reading',\n listening: 'Listening',\n speaking: 'Speaking',\n writing: 'Writing',\n total: 'Total Score'\n },\n AEAS: {\n code: 'AEAS',\n name: 'AEAS',\n reading: 'Reading Comprehension',\n listening: 'Listening',\n speaking: 'Speaking',\n writing: 'Written Essay',\n vocabulary: 'Vocabulary',\n total: 'Total Score'\n },\n EIKEN: {\n code: 'EIKEN',\n name: 'STEP Eiken',\n total: 'Grade'\n },\n CEFR: {\n code: 'CEFR',\n name: 'CEFR',\n total: 'Level'\n },\n OTHER: {\n code: 'OTHER',\n total: 'Grade / Average Score'\n }\n };\n\n constructor(private activatedRoute: ActivatedRoute,\n private router: Router,\n private applicationService: ApplicationService,\n private lookupService: LookupService,\n private titleService: Title) {\n\n this.activatedRoute.parent.params.subscribe(params => {\n this.applicationId = +params['id'];\n });\n\n }\n\n ngOnInit() {\n if(localStorage.getItem(\"isAgent\") == \"true\"){\n this.titleService.setTitle(Tab_Title.Agent_Summary_Title);\n }else{\n this.titleService.setTitle(Tab_Title.Summary_Title);\n }\n this.summary = this.activatedRoute.snapshot.data['summary'];\n //console.log(\"Summary data from db is: -->\", this.summary);\n\n this.countries = this.activatedRoute.snapshot.data['countries'];\n this.relationships = this.activatedRoute.snapshot.data['relationshipTypes'];\n this.schoolSubjects = this.activatedRoute.snapshot.data['schoolSubjects'];\n this.schools = this.activatedRoute.snapshot.data['schools'];\n //console.log('this.schools: ', this.schools);\n //console.log('this.schoolSubjects: ', this.schoolSubjects);\n this.terms = this.activatedRoute.snapshot.data['terms'];\n this.durations = this.activatedRoute.snapshot.data['durations'];\n\n this.applicationSteps = this.applicationService.getApplicationSteps();\n\n this.applicationService.isCovid19VaccinationNeeded(this.applicationId)\n .pipe(\n tap(x => this.isCovid19VaccinationNeeded = x),\n switchMap(x => this.isCovid19VaccinationNeeded ? this.lookupService.getDeiApprovedCovid19Vaccines() : of({Errors: null, Result: []})),\n tap(x => this.deiApprovedCovid19Vaccines = x.Result)\n ).subscribe();\n\n updateEmptyValuesForNullUndefined(this.summary);\n\n this.applicationService.getApplicationSections(this.applicationId)\n .subscribe((response: ApiResponse) => {\n this.updateSectionCompletionStatus();\n this.isPaymentReady = !this.sections.some(section => section.completionStatus === false);\n\n }, err => {\n console.error(err);\n });\n\n this.applicationService.getApplicationDetails(this.applicationId)\n .subscribe((response: SingleResultApiResponse) => {\n if (response.Result) {\n //console.log(\"Application details are -->\", response);\n this.isSubmittedApplication = response.Result.ApplicationStatus === 'Submitted';\n\n }\n }, err => {\n console.error(err);\n });\n \n\n this.collapseAll();\n\n }\n\n toggleSectionVisibilityStatus(sectionName: string) {\n const section = this.sectionsMappedByName[sectionName];\n\n if (section) {\n section.visiblilityStatus = !section.visiblilityStatus;\n }\n }\n\n expandAll() {\n this.sections.forEach(section => section.visiblilityStatus = true);\n }\n\n collapseAll() {\n this.sections.forEach(section => section.visiblilityStatus = false);\n }\n\n\n\n getYesNo(val: any): string {\n if (val === null || val === '') return '';\n return val === true ? 'Yes' : 'No';\n }\n\n getMobilePhoneNumber(): string {\n\n let mobilePhoneNumber = '';\n\n if (this.summary.StudentDetails.MobileCountryCode\n && this.summary.StudentDetails.MobilePhoneNumber) {\n mobilePhoneNumber = `${this.summary.StudentDetails.MobileCountryCode} ${this.summary.StudentDetails.MobilePhoneNumber}`;\n }\n\n return mobilePhoneNumber;\n }\n\n updateSectionCompletionStatus() {\n\n for (const section of this.sections) {\n const appSection = this.applicationSteps.find(appStep => appStep.Section === section.name);\n section.completionStatus = appSection.Status === 'Complete';\n }\n\n }\n\n getDate(dateInString: string): string {\n if (!dateInString) {\n return null;\n }\n\n const date = new Date(dateInString);\n const dateStr = date ? `${date.getDate()}/${date.getMonth() + 1}/${date.getFullYear()}` : '';\n return dateStr;\n }\n\n getCountryById(countryId: string): string {\n //console.log('countryId', countryId);\n const selectedCountry = this.countries.find(c => c.Id === countryId);\n //console.log('selectedCountry', selectedCountry);\n const countryDescription = selectedCountry ? selectedCountry.Description : '';\n //console.log('countryDescription', countryDescription);\n return selectedCountry ? selectedCountry.Description : '';\n }\n\n getGender(genderValue: string): string {\n if (genderValue === 'M') {\n return 'Male';\n } else if (genderValue === 'F') {\n return 'Female';\n }\n return '';\n }\n\n getRelationship(relationshipCode: string): string {\n const selectedRelationship = this.relationships.find(r => r.Code === relationshipCode);\n return selectedRelationship ? selectedRelationship.Description : '';\n }\n\n getAccommodationType(accommodation: AccommodationWelfareDetails): string {\n if (accommodation && accommodation.AccommodationTypeId) {\n switch (accommodation.AccommodationTypeId) {\n case 1:\n return 'Parent, will accompany the student on a guardian visa.';\n case 2:\n return 'Nominated Department of Home Affairs approved relative to provide accommodation, welfare and airport reception. (Direct Relative)';\n case 3:\n return `Nominated a person over 25 years of age residing in NSW to provide accommodation, welfare and airport reception. \n Requested the NSW Department of Education to approve these arrangements as the welfare provider. (Parent Nomination)`;\n case 4:\n return `Requested the NSW Department of Education to arrange accommodation, welfare and airport reception. (Homestay)`;\n default:\n return '';\n }\n }\n return '';\n }\n\n getSchoolProgram(schoolProgramType: string): string {\n\n switch (schoolProgramType) {\n case 'International':\n return 'International Student Program';\n case 'StudyAbroad':\n return 'Study Abroad Program';\n default:\n return '';\n }\n }\n\n getSchoolProgramStartDate(schoolProgram: SchoolProgramPlacementDetails) {\n if (schoolProgram && schoolProgram.StartTermCode && schoolProgram.StartTermYear)\n return schoolProgram.StartTermDescription + ', ' + schoolProgram.StartTermYear;\n return '';\n }\n isPrimaryYear() {\n if (this.summary.SchoolProgram && this.summary.SchoolProgram.YearOfEntryCode) {\n const yearOfEntryCode = this.summary.SchoolProgram.YearOfEntryCode;\n return yearOfEntryCode === 'Kindergarten'\n || yearOfEntryCode === 'Year1'\n || yearOfEntryCode === 'Year2'\n || yearOfEntryCode === 'Year3'\n || yearOfEntryCode === 'Year4'\n || yearOfEntryCode === 'Year5'\n || yearOfEntryCode === 'Year6';\n }\n return false;\n }\n\n get Carer() {\n var selectedCarer = this.summary.Accommodation.Carers.length ? this.summary.Accommodation.Carers.find(c => c.CarerId === this.summary.Accommodation.SelectedCarerId) : null;\n\n if (!selectedCarer) {\n return {\n Description: '',\n GivenName: '',\n FamilyName: ''\n }\n }\n\n return selectedCarer;\n }\n\n getPreferredSchoolName(preferredSchoolId: string): string {\n if (this.schools) {\n const school = this.schools.find(school => school.Id == preferredSchoolId);\n if (school) {\n return school.Name;\n }\n }\n return '';\n }\n\n showOrHideParentContactDetails(parentGuardian: ParentGuardianDetails): boolean {\n let showDetails: boolean = true;\n if (parentGuardian.IsParent && (parentGuardian.IsDeceased || !parentGuardian.HasLegalCustody)) {\n showDetails = false;\n }\n return showDetails;\n }\n\n editParentGuardian(parentGuardianId: number) {\n this.applicationService.IsParentOrLegalcustodian(this.applicationId, parentGuardianId)\n .subscribe((response: SingleResultApiResponse) => {\n if (response.Result) {\n if (response.Result.IsParentOrLegalcustodian.Result) {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'parent-guardian-details', 'parent-legalcustodian']);\n } else {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'parent-guardian-details', parentGuardianId, 'edit']);\n }\n }\n }, (errorResponse: any) => {\n //console.log('editParentGuardian-IsParentOrLegalcustodian - Error');\n console.log(errorResponse);\n });\n }\n\n next() {\n const userType = localStorage.getItem('userType');\n\n if (userType === 'agent') { \n this.router.navigate(['/applications', this.applicationId, 'edit', 'agent-details']);\n } else {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'payment']);\n }\n }\n\n previous() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'supporting-documents']);\n }\n\n //show border when tab on link for accessibility\n linkTabAccessibility(event): void {\n event.style.outline = \"1px solid black\";\n }\n\n linkBlurAccessibility(event): void {\n event.style.outline = \"\";\n }\n\n printPage(event): void {\n event.preventDefault();\n window.print();\n }\n\n @HostListener(\"window:beforeprint\", [])\n onWindowBeforePrint() {\n this.titleService.setTitle(Tab_Title.OAP_Print_Title);\n }\n\n @HostListener(\"window:afterprint\", [])\n onWindowAfterPrint() {\n if (localStorage.getItem(\"userType\") == \"agent\") {\n this.titleService.setTitle(Tab_Title.Agent_Summary_Title);\n }else{\n this.titleService.setTitle(Tab_Title.Summary_Title);\n }\n }\n}\n","module.exports = \"
\\n
\\n

Supporting Documents

\\n \\\"\\\"/\\n
\\n\\n
\\n\\n
\\n

\\n Please upload all documents listed below. Each file must not exceed 20MB in size.
\\n Acceptable file types: DOC / DOCX, GIF, JPG / JPEG, PDF, PNG, TIF / TIFF, XLS / XLSX\\n

\\n
\\n\\n
IMPORTANT:
\\n\\n
    \\n
  • Please ensure credit card details are not provided on any of the documents attached. These should only be provided on the secure payment portal when prompted to pay the application fee.
  • \\n
  • We no longer accept our previous application form (PDF), which has been replaced and expanded upon by this online application portal. Please do not upload the old application form.
  • \\n
  • All files will be scanned for potential threats (e.g. viruses, malware, etc.). Click the refresh icon to get the latest virus scan status of the uploaded documents
  • \\n
  • Please note that uploading a new file for the same type of document will overwrite the existing file.
  • \\n
\\n\\n
\\n\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n
Please upload the following documentsFile Name\\n Virus Scan status \\n
\\n {{supportingDocument.DocumentDescription}} \\n \\n Click here\\n to download {{supportingDocument.DocumentDescription}}\\n \\n \\n {{supportingDocument.ExternalLinkText || supportingDocument.ExternalLinkUrl}}\\n \\n \\n \\n \\n \\n {{getDocumentName(supportingDocument)}}\\n \\n {{getScanStatus(supportingDocument)}}\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n {{supportingDocument.FileError}}\\n \\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n \\n \\n Do you want to add more documents?
Please Note: A maximum of 3 additional documents can be attached.
\\n
\\n
\\n
\\n
\\n Please Note: A maximum of 3 additional documents can be attached.\\n
\\n
\\n
\\n\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
DescriptionFile Name\\n Virus Scan status \\n
\\n 0\\\" \\n [matTooltip]=\\\"supportingDocument.DocumentId && supportingDocument.DocumentId > 0 && !isSubmittedApplication ? 'If you wish to edit the description or select a different file, please delete this document and continue.' : ''\\\"\\n matTooltipPosition=\\\"above\\\" [(ngModel)]=\\\"supportingDocument.DocumentNote\\\" tabindex=\\\"0\\\" \\n [attr.aria-label]=\\\"supportingDocument.DocumentId && supportingDocument.DocumentId > 0 && !isSubmittedApplication ? 'If you wish to edit the description or select a different file, please delete this document and continue.' : ''\\\"\\n (keyup)=\\\"onKeyUpOtherDocDescr($event, supportingDocument)\\\" class=\\\"form-control\\\" />\\n \\n {{getOtherDocumentDescriptionError(supportingDocument.DocumentNote)}}\\n \\n 0 ? 'If you wish to edit the description or select a different file, please delete this document and continue.' : ''\\\"\\n matTooltipPosition=\\\"above\\\"\\n [attr.aria-label]=\\\"supportingDocument.DocumentId && supportingDocument.DocumentId > 0 ? 'If you wish to edit the description or select a different file, please delete this document and continue.' : ''\\\">\\n\\n \\n\\n\\n 0\\\" (change)=\\\"fileSelected($event, supportingDocument)\\\" /> \\n \\n {{getDocumentName(supportingDocument)}}\\n \\n {{getScanStatus(supportingDocument)}}\\n \\n \\n \\n \\n \\n  \\n \\n \\n \\n \\n \\n
\\n \\n Please upload additional document\\n \\n
\\n \\n {{supportingDocument.FileError}}\\n \\n
\\n
\\n
\\n\\n
\\n \\n \\n \\n
\\n\\n
\\n\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
Are you sure to delete this document?
\\n
press tab to reach first focusable element
\\n
\\n
\\n \\n No\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \".block .problems .problem .question .answer .uploaded-file a, .block .problems .problem .question .answer .uploaded-file .btn {\\n cursor: pointer;\\n margin-left: 20px; }\\n .block .problems .problem .question .answer .uploaded-file a svg, .block .problems .problem .question .answer .uploaded-file .btn svg {\\n font-size: 2rem; }\\n .block .problems .problem .question .answer .uploaded-file a span, .block .problems .problem .question .answer .uploaded-file .btn span {\\n font-size: 1.425rem;\\n padding: 0;\\n margin: 0;\\n border: none;\\n text-decoration: underline; }\\n .block .problems .problem .question .answer .uploaded-file a[href], .block .problems .problem .question .answer .uploaded-file .btn[href] {\\n color: inherit; }\\n .block .problems .problem .question {\\n padding-top: 1.8rem; }\\n .block .problems .help-info {\\n font-size: 1.425rem; }\\n .block .problems .help-info .main-info {\\n font-size: 1.71rem; }\\n .block .problems .help-info ul, .block .problems .help-info li {\\n list-style-type: disc;\\n list-style-position: inside; }\\n .block .problems .help-info ul.col1 {\\n padding-top: 1rem;\\n padding-left: 1.4rem;\\n padding-bottom: 2rem; }\\n .block .problems .help-info ul.col1 li {\\n float: left;\\n width: 100%; }\\n .block .problems .help-info ul.col1 + * {\\n clear: both;\\n padding-top: 2rem;\\n font-weight: bold;\\n font-size: 1.425rem; }\\n .block .problems .document-message {\\n padding-bottom: 1rem; }\\n .block .problems .document-message .message {\\n font-size: 1.71rem; }\\n .block .problems .document-message .subtext {\\n font-size: 1.425rem; }\\n .block .problems .uploaded-file, .block .problems .scan-status, .block .problems .info-text {\\n font-size: 1.425rem; }\\n .block .problems .uploaded-file .col-scan-status-refresh .btn, .block .problems .scan-status .col-scan-status-refresh .btn, .block .problems .info-text .col-scan-status-refresh .btn {\\n font-size: 1.425rem; }\\n .block .problems .uploaded-file .infected-file, .block .problems .scan-status .infected-file, .block .problems .info-text .infected-file {\\n color: #DB0A5B; }\\n .block .problems a.form-link {\\n text-decoration: underline;\\n color: blue;\\n font-size: 1.425rem; }\\n .problem .question .answer .choice.valid span.largeErrorMsg {\\n display: inline-block;\\n box-sizing: border-box;\\n margin-bottom: 50px; }\\n .table-block .table-content .table {\\n table-layout: fixed; }\\n .table-block .table-content .table th {\\n font-weight: bold;\\n font-size: 1.6rem; }\\n .table-block .table-content .table th:first-child {\\n width: unset; }\\n .table-block .table-content .table th .th-button {\\n color: #fff; }\\n .table-block .table-content .table td {\\n vertical-align: top;\\n word-wrap: break-word; }\\n .table-block .table-content .table td:first-child {\\n width: unset; }\\n .table-block .table-content .table .document-descr-col {\\n min-width: 33%;\\n vertical-align: middle; }\\n .table-block .table-content .table .file-input-col {\\n max-width: 132px;\\n width: 120px; }\\n .table-block .table-content .table .file-name-col {\\n width: 25%;\\n max-width: 150px; }\\n .table-block .table-content .table .scan-status-col {\\n width: 18%;\\n max-width: 132px; }\\n .table-block .table-content .table .file-download-col {\\n width: 25px; }\\n .table-block .table-content .table .file-delete-col {\\n width: 35px; }\\n .table-block .table-content .table .validation-msg {\\n font-size: 1.2rem; }\\n .table-block .table-content .table tbody tr.alert td {\\n border-top: none;\\n padding-top: 0 !important; }\\n .table-block .table-content .table tbody tr.alert td i {\\n position: relative;\\n padding: 0;\\n border: 0;\\n color: red; }\\n .table-block .table-content .table tbody span {\\n display: block; }\\n .table-block .table-content .table tbody span a {\\n text-decoration: underline;\\n color: #46466E;\\n cursor: pointer; }\\n a .fa-sync {\\n cursor: pointer; }\\n a .fa-trash-alt {\\n cursor: pointer; }\\n td span.infected-file {\\n color: red; }\\n td i.alert {\\n position: relative;\\n padding: 0;\\n border: 0;\\n color: red; }\\n .modal-dialog {\\n margin-left: 40%; }\\n input[type=file] {\\n color: transparent; }\\n .table-block {\\n padding-bottom: 50px;\\n padding-top: 50px;\\n padding-left: 0px;\\n padding-right: 0px; }\\n input[type=\\\"file\\\"] {\\n display: none !important; }\\n .moredocuments {\\n padding-top: 0 !important; }\\n .btn.btn-file-input-trigger {\\n padding: .4rem 0.8rem;\\n font-size: 1.425rem;\\n color: #646e6e;\\n background-color: #eeeeee;\\n border-radius: 2px;\\n cursor: pointer;\\n transition: all .3s; }\\n .btn.btn-file-input-trigger:hover, .btn.btn-file-input-trigger:focus {\\n background-color: #e1e1e1; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vc3VwcG9ydGluZy1kb2N1bWVudHMvRDpcXGFcXDE1NVxcc1xcRGVpLk9ubGluZUFwcGxpY2F0aW9uLlByb2RcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5XZWJcXG9ubGluZS1hcHAvc3JjXFxhcHBcXGFwcGxpY2F0aW9uXFxzdXBwb3J0aW5nLWRvY3VtZW50c1xcc3VwcG9ydGluZy1kb2N1bWVudHMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0NBO0VBRVEsZUFBZTtFQUNmLGlCQUFpQixFQUFBO0VBSHpCO0lBTVksZUFBZSxFQUFBO0VBTjNCO0lBVVksbUJBQW1CO0lBQ25CLFVBQVU7SUFDVixTQUFTO0lBQ1QsWUFBWTtJQUNaLDBCQUEwQixFQUFBO0VBZHRDO0lBa0JZLGNBQWMsRUFBQTtFQUsxQjtFQUlZLG1CQUFtQixFQUFBO0VBSi9CO0VBU1EsbUJBQW1CLEVBQUE7RUFUM0I7SUFZWSxrQkFBa0IsRUFBQTtFQVo5QjtJQWdCWSxxQkFBcUI7SUFDckIsMkJBQTJCLEVBQUE7RUFqQnZDO0lBc0JZLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsb0JBQW9CLEVBQUE7RUF4QmhDO01BMkJnQixXQUFXO01BQ1gsV0FBVyxFQUFBO0VBNUIzQjtNQWdDZ0IsV0FBVztNQUNYLGlCQUFpQjtNQUNqQixpQkFBaUI7TUFDakIsbUJBQW1CLEVBQUE7RUFuQ25DO0VBMENRLG9CQUFvQixFQUFBO0VBMUM1QjtJQTZDWSxrQkFBa0IsRUFBQTtFQTdDOUI7SUFnRFksbUJBQW1CLEVBQUE7RUFoRC9CO0VBcURRLG1CQUFtQixFQUFBO0VBckQzQjtJQTJFZ0IsbUJBQW1CLEVBQUE7RUEzRW5DO0lBZ0ZZLGNBQWMsRUFBQTtFQWhGMUI7RUFxRlEsMEJBQTBCO0VBQzFCLFdBQVc7RUFDWCxtQkFBbUIsRUFBQTtFQUkzQjtFQUNJLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIsbUJBQW1CLEVBQUE7RUFHdkI7RUFDSSxtQkFBbUIsRUFBQTtFQUR2QjtJQUlRLGlCQUFpQjtJQUNqQixpQkFBaUIsRUFBQTtFQUx6QjtNQVFZLFlBQVksRUFBQTtFQVJ4QjtNQVlZLFdBQVcsRUFBQTtFQVp2QjtJQWlCUSxtQkFBbUI7SUFDbkIscUJBQXFCLEVBQUE7RUFsQjdCO01BcUJZLFlBQVksRUFBQTtFQXJCeEI7SUEyQlEsY0FBYztJQUVkLHNCQUFzQixFQUFBO0VBN0I5QjtJQWtDUSxnQkFBZ0I7SUFDaEIsWUFBWSxFQUFBO0VBbkNwQjtJQXVDUSxVQUFVO0lBQ1YsZ0JBQWdCLEVBQUE7RUF4Q3hCO0lBNENRLFVBQVU7SUFDVixnQkFBZ0IsRUFBQTtFQTdDeEI7SUFpRFEsV0FBVyxFQUFBO0VBakRuQjtJQXFEUSxXQUFXLEVBQUE7RUFyRG5CO0lBeURRLGlCQUFpQixFQUFBO0VBekR6QjtJQStEZ0IsZ0JBQWdCO0lBQ2hCLHlCQUF5QixFQUFBO0VBaEV6QztNQW1Fb0Isa0JBQWtCO01BQ2xCLFVBQVU7TUFDVixTQUFTO01BQ1QsVUFBUyxFQUFBO0VBUTdCO0VBQ0ksY0FBYyxFQUFBO0VBR2xCO0VBQ0ksMEJBQTBCO0VBQzFCLGNBQWM7RUFDZCxlQUFlLEVBQUE7RUFHbkI7RUFDSSxlQUFlLEVBQUE7RUFHbkI7RUFDSSxlQUFlLEVBQUE7RUFHbkI7RUFDSSxVQUFTLEVBQUE7RUFHYjtFQUNJLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsU0FBUztFQUNULFVBQVMsRUFBQTtFQUdiO0VBQ0ksZ0JBQWdCLEVBQUE7RUFHcEI7RUFDSSxrQkFBaUIsRUFBQTtFQUdyQjtFQUNJLG9CQUFvQjtFQUNwQixpQkFBaUI7RUFDakIsaUJBQWlCO0VBQ2pCLGtCQUFrQixFQUFBO0VBR3RCO0VBSUksd0JBQXdCLEVBQUE7RUFHNUI7RUFDSSx5QkFBeUIsRUFBQTtFQUc3QjtFQUNJLHFCQUFxQjtFQUNyQixtQkFBbUI7RUFDbkIsY0FBYztFQUNkLHlCQUF5QjtFQUN6QixrQkFBa0I7RUFDbEIsZUFBZTtFQU1mLG1CQUFtQixFQUFBO0VBWnZCO0lBU1EseUJBQXFDLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9hcHBsaWNhdGlvbi9zdXBwb3J0aW5nLWRvY3VtZW50cy9zdXBwb3J0aW5nLWRvY3VtZW50cy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIC5ibG9jayAucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLnN1Yi10ZXh0IHtcclxuLy8gICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4vLyAgICAgLy8gdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbi8vICAgICAvLyBjb2xvcjpyZWQ7XHJcbi8vIH1cclxuXHJcbi8vIC5ibG9jayAucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLnVwbG9hZGVkLWZpbGUgdWwgbGkge1xyXG4vLyAgICAgZm9udC1zaXplOiAxLjQyNXJlbTsgICAgXHJcbi8vICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbi8vIH1cclxuXHJcbi8vIC5ibG9jayAucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLnVwbG9hZGVkLWZpbGUgLmRvd25sb2Fke1xyXG4vLyAgICAgZm9udC1zaXplOiAxLjQyNXJlbTtcclxuLy8gfVxyXG5cclxuLy8gLmJsb2NrIC5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAudXBsb2FkZWQtZmlsZSAuc2Nhbi1zdGF0dXN7XHJcbi8vICAgICBmb250LXNpemU6IDEuNDI1cmVtO1xyXG4vLyB9XHJcblxyXG5cclxuLy8gLmJsb2NrIC5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAudXBsb2FkZWQtZmlsZSAuc2Nhbi1zdGF0dXMgc3Bhbi5pbmZlY3RlZC1maWxle1xyXG4vLyAgICAgZm9udC1zaXplOiAxLjQyNXJlbTsgICAgXHJcbi8vICAgICBjb2xvcjogcmVkO1xyXG4vLyAgICAgZGlzcGxheTogaW5saW5lO1xyXG4vLyAgICAgcGFkZGluZzogMHB4O1xyXG4vLyAgICAgYm9yZGVyOiAwcHg7XHJcbi8vICAgICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbi8vICAgICBjdXJzb3I6IGF1dG87XHJcbi8vICAgICBib3gtc2hhZG93OiBub25lO1xyXG4vLyAgICAgLy8gZGlzcGxheTogYmxvY2s7XHJcbi8vIH0gXHJcblxyXG4uYmxvY2sgLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC51cGxvYWRlZC1maWxlIHtcclxuICAgIGEsIC5idG4ge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40MjVyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZbaHJlZl0ge1xyXG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICB9XHJcbiAgICB9ICAgIFxyXG59XHJcblxyXG4uYmxvY2sgLnByb2JsZW1zIHtcclxuXHJcbiAgICAucHJvYmxlbSB7XHJcbiAgICAgICAgLnF1ZXN0aW9uIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEuOHJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmhlbHAtaW5mbyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjQyNXJlbTtcclxuXHJcbiAgICAgICAgLm1haW4taW5mbyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43MXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHVsLCBsaSB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxuICAgICAgICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdWwuY29sMSB7XHJcbiAgICAgICAgICAgIC8vIHdpZHRoOiA4MHJlbTtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS40cmVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICsgKiB7XHJcbiAgICAgICAgICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNDI1cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIC5kb2N1bWVudC1tZXNzYWdlIHsgICAgICAgIFxyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG5cclxuICAgICAgICAubWVzc2FnZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43MXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1YnRleHQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuNDI1cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudXBsb2FkZWQtZmlsZSwgLnNjYW4tc3RhdHVzLCAuaW5mby10ZXh0IHtcclxuICAgICAgICBmb250LXNpemU6IDEuNDI1cmVtO1xyXG5cclxuICAgICAgICAvLyAuY29sLWZpbGUtbmFtZS1sYWJlbCwgLmNvbC1zY2FuLXN0YXR1cy1sYWJlbCB7XHJcbiAgICAgICAgLy8gICAgIC8vIG1heC13aWR0aDogMThyZW07XHJcbiAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAvLyAuY29sLWZpbGUtbmFtZSB7XHJcbiAgICAgICAgLy8gICAgIC8vIG1pbi13aWR0aDogY2FsYygxMDAlIC0gMzByZW0pO1xyXG4gICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgLy8gLmNvbC1maWxlLWFjdGlvbnMge1xyXG4gICAgICAgIC8vICAgICAvLyB3aWR0aDogMTJyZW07XHJcbiAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAvLyAuY29sLXNjYW4tc3RhdHVzIHtcclxuICAgICAgICAvLyAgICAgLy8gbWF4LXdpZHRoOiAzMHJlbTtcclxuICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgIC5jb2wtc2Nhbi1zdGF0dXMtcmVmcmVzaCB7XHJcbiAgICAgICAgICAgIC8vIHdpZHRoOiBjYWxjKDEwMCUgLSA0OHJlbSk7XHJcblxyXG4gICAgICAgICAgICAuYnRuIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40MjVyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pbmZlY3RlZC1maWxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICNEQjBBNUI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGEuZm9ybS1saW5rIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICBjb2xvcjogYmx1ZTtcclxuICAgICAgICBmb250LXNpemU6IDEuNDI1cmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlLnZhbGlkIHNwYW4ubGFyZ2VFcnJvck1zZyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDsgXHJcbn1cclxuXHJcbi50YWJsZS1ibG9jayAudGFibGUtY29udGVudCAudGFibGV7XHJcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG5cclxuICAgIHRoIHtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcclxuXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiB1bnNldDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50aC1idXR0b24ge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGQge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG5cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgd2lkdGg6IHVuc2V0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZG9jdW1lbnQtZGVzY3ItY29sIHtcclxuICAgICAgICAvLyB3aWR0aDogY2FsYyg3NSUgLSAzNjBweCk7XHJcbiAgICAgICAgbWluLXdpZHRoOiAzMyU7XHJcbiAgICAgICAgLy8gd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuXHJcbiAgICAuZmlsZS1pbnB1dC1jb2wge1xyXG4gICAgICAgIC8vIHdpZHRoOiAxMDBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDEzMnB4O1xyXG4gICAgICAgIHdpZHRoOiAxMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAuZmlsZS1uYW1lLWNvbCB7XHJcbiAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zY2FuLXN0YXR1cy1jb2wge1xyXG4gICAgICAgIHdpZHRoOiAxOCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMzJweDtcclxuICAgIH1cclxuXHJcbiAgICAuZmlsZS1kb3dubG9hZC1jb2wge1xyXG4gICAgICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5maWxlLWRlbGV0ZS1jb2wge1xyXG4gICAgICAgIHdpZHRoOiAzNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC52YWxpZGF0aW9uLW1zZyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICB9XHJcblxyXG4gICAgdGJvZHkge1xyXG4gICAgICAgIHRyLmFsZXJ0IHtcclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOnJlZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG4udGFibGUtYmxvY2sgLnRhYmxlLWNvbnRlbnQgLnRhYmxlIHRib2R5IHNwYW4ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi50YWJsZS1ibG9jayAudGFibGUtY29udGVudCAudGFibGUgdGJvZHkgc3BhbiBhIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgY29sb3I6ICM0NjQ2NkU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbmEgLmZhLXN5bmMge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5hIC5mYS10cmFzaC1hbHR7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbnRkIHNwYW4uaW5mZWN0ZWQtZmlsZSB7XHJcbiAgICBjb2xvcjpyZWQ7XHJcbn1cclxuXHJcbnRkIGkuYWxlcnQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGNvbG9yOnJlZDtcclxufVxyXG5cclxuLm1vZGFsLWRpYWxvZyB7XHJcbiAgICBtYXJnaW4tbGVmdDogNDAlO1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPWZpbGVdeyBcclxuICAgIGNvbG9yOnRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4udGFibGUtYmxvY2t7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcclxuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJmaWxlXCJdIHtcclxuICAgIC8vIG1heC13aWR0aDogMTAwcHg7XHJcbiAgICAvLyB3aWR0aDogOTBweDtcclxuICAgIC8vIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tb3JlZG9jdW1lbnRze1xyXG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJ0bi5idG4tZmlsZS1pbnB1dC10cmlnZ2VyIHtcclxuICAgIHBhZGRpbmc6IC40cmVtIDAuOHJlbTtcclxuICAgIGZvbnQtc2l6ZTogMS40MjVyZW07XHJcbiAgICBjb2xvcjogIzY0NmU2ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCNlZWVlZWUsIDUlKTtcclxuICAgIH1cclxuXHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG59Il19 */\"","import { Component, OnInit, ViewChild, ElementRef, ChangeDetectorRef } from '@angular/core';\nimport { FileUploader } from 'ng2-file-upload/ng2-file-upload';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { SingleResultApiResponse, ApiResponse } from 'src/app/shared/models/api-response.model';\nimport { StorageService } from 'src/app/shared/services/storage.service';\nimport { ApplicationService } from 'src/app/shared/services/application.service';\nimport { ErrorResponse } from 'src/app/shared/models/error.model';\nimport { SupportingDocument, UploadedSupportingDocument, SupportingDocumentScanStatus } from '../models/supporting-document';\nimport { UUID } from 'angular2-uuid';\nimport { FormService } from 'src/app/shared/services/form.service';\nimport { Store } from '@ngrx/store';\nimport { Action_ApplicationSectionSaved } from '../state/actions';\nimport { SummaryWithSupportingDocuments } from '../models/summary-with-supporting-documents';\nimport { interval, Subscription } from 'rxjs';\nimport { Title } from '@angular/platform-browser';\nimport { Tab_Title } from 'src/app/shared/models/lookup-data.model';\nimport { shareReplay } from 'rxjs/operators';\nimport { SpinnerService } from 'src/app/shared/services/spinner.service';\n\n@Component({\n selector: 'online-app-supporting-documents',\n templateUrl: './supporting-documents.component.html',\n styleUrls: ['./supporting-documents.component.scss'],\n host: {\n class: 'application-section-component'\n },\n})\nexport class SupportingDocumentsComponent implements OnInit {\n\n // URL = 'http://isponline.det.nsw.edu.au/api/applications';\n\n selectedHasOtherDocuments: boolean = false;\n\n uploader: FileUploader;\n applicationId: number;\n documentS3URL = '';\n supportingDocuments: SupportingDocument[] = [];\n otherDocuments: SupportingDocument[] = [];\n supportingDocumentsScanStatus: SupportingDocumentScanStatus[] = [];\n studentNumber = '';\n userFederatedId = '';\n isScrollDone = false;\n isSubmittedApplication = false;\n allowedFileFormats = ['.jpeg', '.jpg', '.pdf', '.doc', '.docx', '.xls', '.xlsx', '.htm', '.tif', '.tiff', '.gif', '.png'];\n showModal = false;\n supportingDocIdToBeDeleted = 0;\n otherDocToBeDeletedIndex = -1;\n summaryWithDocuments: SummaryWithSupportingDocuments;\n carerName = ''\n maxAllowedFileSize = 20.0;\n scanInterval = interval(5000);\n scanIntervalSubscription: Subscription;\n needOtherDocument: boolean = false;\n\n legalCustodianNames: string;\n\n @ViewChild('resolve') resolve: ElementRef;\n constructor(private activatedRoute: ActivatedRoute,\n private router: Router,\n private store: Store,\n private formService: FormService,\n private applicationService: ApplicationService,\n private storageService: StorageService,\n private spinnerService: SpinnerService,\n private changeDetectorRef: ChangeDetectorRef,\n private titleService: Title) {\n this.activatedRoute.parent.params.subscribe(params => {\n this.applicationId = +params['id'];\n });\n\n }\n\n ngOnInit() {\n if(localStorage.getItem(\"isAgent\") == \"true\"){\n this.titleService.setTitle(Tab_Title.Agent_SupportingDocuments_Title);\n }else{\n this.titleService.setTitle(Tab_Title.SupportingDocuments_Title);\n }\n this.userFederatedId = localStorage.getItem('identityId');\n this.summaryWithDocuments = this.activatedRoute.snapshot.data['summaryWithDocuments'];\n\n if (this.summaryWithDocuments && this.summaryWithDocuments.Summary && this.summaryWithDocuments.Summary.Accommodation && this.summaryWithDocuments.Summary.Accommodation.Carers && this.summaryWithDocuments.Summary.Accommodation.Carers.length) {\n const selectedCarer = this.summaryWithDocuments.Summary.Accommodation.Carers.find(c => c.CarerId === this.summaryWithDocuments.Summary.Accommodation.SelectedCarerId)\n\n if (selectedCarer) {\n this.carerName = `${selectedCarer.GivenName} ${selectedCarer.FamilyName}`;\n }\n }\n\n if (this.summaryWithDocuments && this.summaryWithDocuments.Summary && this.summaryWithDocuments.Summary.ParentGuardians && this.summaryWithDocuments.Summary.ParentGuardians.length && \n this.summaryWithDocuments.Summary.ParentGuardians.some(x => x.HasLegalCustody && !x.IsParent)) {\n this.legalCustodianNames = this.summaryWithDocuments.Summary.ParentGuardians.filter(x => x.HasLegalCustody && !x.IsParent).map(y => `${y.GivenName} ${y.FamilyName}`).join(', ');\n }\n\n if (this.summaryWithDocuments && this.summaryWithDocuments.Summary) {\n this.studentNumber = this.summaryWithDocuments.Summary.StudentNumber;\n this.isSubmittedApplication = this.summaryWithDocuments.Summary.ApplicationStatus === 'Submitted';\n }\n\n if (this.summaryWithDocuments && this.summaryWithDocuments.SupportingDocuments) {\n this.supportingDocuments = this.summaryWithDocuments.SupportingDocuments.filter(d => d.DocumentTypeCode !== 'Other');\n this.otherDocuments = this.summaryWithDocuments.SupportingDocuments.filter(d => d.DocumentTypeCode === 'Other');\n this.selectedHasOtherDocuments = this.otherDocuments.length > 0;\n\n this.updateDownloadURLs();\n this.seedOrReseedOtherDocuments();\n this.scanDocumentsWithoutBlocking();\n }\n }\n\n confirmDeleteDocument() {\n let document = this.supportingDocuments.find(sd => sd.DocumentId === this.supportingDocIdToBeDeleted);\n\n if (!document)\n document = this.otherDocuments.find(sd => sd.DocumentId === this.supportingDocIdToBeDeleted);\n\n if (document && document.DocumentId > 0) {\n this.deleteDocument(document);\n }\n\n }\n\n dontDeleteDocument() {\n this.supportingDocIdToBeDeleted = 0;\n this.otherDocToBeDeletedIndex = -1;\n }\n\n print() {\n //console.log('hello');\n }\n\n previous() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'special-circumstances']);\n }\n next() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'summary']);\n }\n\n deleteDocumentClick(supportingDocument: SupportingDocument, index: number) {\n this.supportingDocIdToBeDeleted = supportingDocument.DocumentId;\n\n if (supportingDocument.DocumentTypeCode === 'Other') {\n this.otherDocToBeDeletedIndex = index;\n } else {\n this.otherDocToBeDeletedIndex = -1;\n }\n\n this.showModal = true;\n if (this.supportingDocIdToBeDeleted > 0 && this.showModal) {\n setTimeout(() => {\n this.resolve.nativeElement.focus();\n }, 100);\n }\n }\n\n displayModal() {\n return this.supportingDocIdToBeDeleted > 0 && this.showModal;\n }\n\n closeModal() {\n this.showModal = false;\n }\n\n onFileSelected(event: any) {\n //console.log(event);\n for (const item of this.uploader.queue) {\n //console.log(item);\n item.upload();\n }\n }\n\n updateDownloadURLs() {\n for (const document of this.supportingDocuments) {\n\n switch (document.DocumentTypeCode) {\n case 'COVID19ParentDeclarationForm':\n document.DocumentMessage = `Please upload a scanned copy of the duly filled and signed form.`;\n document.FormURL = '/assets/docs/covid-19-parent-declaration.pdf';\n break;\n case 'COVID19ProofOfVaccination':\n document.DocumentMessage = `Evidence of COVID-19 Vaccination of the student. (English translation is required)`;\n document.ExternalLinkText = 'Click here for list of DE International approved vaccines.';\n document.ExternalLinkUrl = 'https://www.deinternational.nsw.edu.au/news/covid-19-information-and-resources';\n break;\n case 'StudentBirthCertificate':\n document.DocumentDescription = 'Student\\'s Birth Certificate';\n document.DocumentMessage = `A certified copy of the legal birth certificate of the student.`;\n break;\n case 'StudentPassport':\n document.DocumentDescription = 'Student\\'s Passport';\n document.DocumentMessage = `A certified copy of a current and valid passport of the student.`;\n break;\n case 'ParentCarerPassportOrBirthCertificate':\n document.DocumentDescription = `Carer\\'s ${this.carerName ? '(' + this.carerName + ') ' : ''}Birth Certificate or Passport`;\n document.DocumentMessage = `A certified copy of the legal birth certificate and/or a copy of a current and valid passport of the carer.`;\n document.Subtext = '(This can be the Guardian\\'s Passport, Birth Certificate or Driver\\'s License)';\n break;\n case 'LegalCustodianEvidenceOfCourtOrder':\n document.DocumentDescription = `Legal Custodian(s)' ${this.legalCustodianNames ? '(' + this.legalCustodianNames + ') ' : ''} - Evidence of Court Order`;\n document.DocumentMessage = `A certified copy of the court order granting legal custody of the student.`;\n break;\n case 'VisaDecisionRecord':\n document.DocumentDescription = `Carer\\'s ${this.carerName ? '(' + this.carerName + ') ' : ''}Visa Desicion Document`;\n document.DocumentMessage = `A copy of the visa refusal decision letter or email for ${this.carerName ? this.carerName : 'the carer'}.`;\n break;\n case 'ParentCarerVisaOrCitizenshipCopy':\n document.DocumentDescription = 'Carer\\'s Visa or Citizenship';\n document.DocumentMessage = `This is a copy of the carer’s current and valid visa or citizenship document.`;\n break;\n case 'ParentDeclarationForGuardianVisaApplicantsForm':\n document.DocumentDescription = 'Parent Declaration for Guardian Visa Applicants form';\n document.DocumentMessage = `This document must be complete and signed.`;\n document.FormURL = '/assets/docs/parent-declaration-for-guardian-visa-applicants.pdf';\n break;\n case 'DirectRelativeNominationForm':\n document.DocumentDescription = 'Direct Relative Nomination form';\n document.DocumentMessage = `This document must be complete on all pages and also signed.`;\n document.FormURL = '/assets/docs/direct-relative-nomination-v2.pdf';\n break;\n case 'ParentNominationForm':\n document.DocumentDescription = 'Parent Nomination for Homestay form';\n document.DocumentMessage = `This document must be complete on all pages and also signed.`;\n document.FormURL = '/assets/docs/parent-nomination-for-homestay-v2.pdf';\n break;\n case 'HomestayInformationFormForParents':\n document.DocumentDescription = 'Homestay Information for Parents form';\n document.DocumentMessage = `This document must be signed.`;\n document.FormURL = '/assets/docs/homestay-information-for-parents.pdf';\n break;\n case 'HomestayBookingForm':\n document.DocumentDescription = 'Homestay Booking form';\n document.DocumentMessage = `This document must be complete on all pages and also signed.`;\n document.FormURL = '/assets/docs/homestay-booking-form.pdf';\n break;\n case 'RecommendationLetterOfEnglishTeacher':\n document.DocumentDescription = 'English teacher\\'s recommendation letter';\n document.DocumentMessage = `This document must be complete and certified by the school.`;\n document.FormURL = '';\n break;\n case 'AcademicTranscriptForPreviousSchool':\n document.DocumentDescription = 'Student\\'s Academic Transcript';\n document.DocumentMessage = `Must include last 24 months of academic results on school letter head. Document must be certified.`;\n document.Subtext = '(This must include the last two years of academic results)';\n break;\n case 'EndOfYearExaminationResults':\n document.DocumentDescription = 'Student\\'s Examination Results';\n document.DocumentMessage = `Must include last 24 months of examination results on school letter head. Document must be certified.`;\n document.Subtext = '(This will include the official results of any formal examinations:)';\n break;\n case 'StudentCurrentCOECopy':\n document.DocumentDescription = 'Student\\'s Current COE';\n document.DocumentMessage = `This is a copy of the current Confirmation of Enrolment the student is holding.`;\n break;\n case 'StudentCurrentCAAWCopy':\n document.DocumentDescription = 'Student\\'s Current CAAW';\n document.DocumentMessage = `This is a copy of the students’ current Confirmation of Appropriate Accommodation and Welfare.`;\n break;\n case 'StudentCurrentOSHCMembershipPolicy':\n document.DocumentDescription = 'Student\\'s Current OSHC Membership';\n document.DocumentMessage = `This a copy of the membership confirmation for a current and valid OSHC policy.`;\n break;\n //case 'PersonalDataCollectionAndConsentSupplementForm':\n case 'GDPR Consent Form':\n document.DocumentDescription = 'GDPR Consent Form';\n document.DocumentMessage = `This document must be complete on all pages and also signed.`;\n document.FormURL = '/assets/docs/international-student-program-consent-form.pdf';\n break;\n case 'TermsAndConditions':\n document.DocumentDescription = 'Parent and Student Declaration - Terms and Conditions';\n document.DocumentMessage = `This document must be signed`;\n document.FormURL = '/assets/docs/Parent-Student-Declaration-Terms-conditions.pdf';\n break;\n case 'StudentVisa':\n document.DocumentDescription = `Student's Visa`;\n document.DocumentMessage = `This is a copy of the students’ current and valid visa.`;\n break;\n case 'EnglishLanguageTestResult':\n document.DocumentDescription = `English Language Test Result`;\n document.DocumentMessage = `A certified copy of English Language Test Result`;\n default:\n break;\n }\n\n if (!document.DownloadURL && document.Status === 'CLEAN') {\n this.storageService.getFile(document.FileKey)\n .subscribe(response => {\n //console.log(`Name:${document.FileName}; Download URL:${response}`);\n document.DownloadURL = response;\n }, errorResponse => {\n document.DownloadURL = null;\n });\n }\n }\n\n }\n\n toggleHasOtherDocuments(event) {\n if (this.isSubmittedApplication || this.hasAnUploadedAdditionalDoc) {\n return;\n }\n this.selectedHasOtherDocuments = event.checked;\n this.seedOrReseedOtherDocuments();\n }\n\n get hasAnUploadedAdditionalDoc() {\n return this.otherDocuments && this.otherDocuments.length && this.otherDocuments.some(d => d.DocumentId > 0);\n }\n\n seedOrReseedOtherDocuments() {\n if ((this.otherDocuments && this.otherDocuments.some(doc => !doc.DocumentId)) || this.isSubmittedApplication)\n return;\n\n if (this.selectedHasOtherDocuments && this.otherDocuments.length < 3) {\n const newOtherDoc = new SupportingDocument();\n newOtherDoc.DocumentNote = '';\n newOtherDoc.DocumentTypeCode = \"Other\";\n\n this.otherDocuments.push(newOtherDoc);\n }\n }\n\n getNumberOfDocuments(documents: Document[]): number {\n return (documents !== null && documents !== undefined) ? documents.length : 0;\n }\n\n getDefaultDocument(supportingDocument: SupportingDocument): Document {\n return new Document();\n }\n\n downloadDocument(FileKey: string) {\n //console.log('download document clicked');\n this.spinnerService.show();\n this.storageService.getFile(FileKey)\n .subscribe(response => {\n this.spinnerService.hide();\n //console.log('download response from s3');\n //console.log(response);\n }, errorResponse => {\n this.spinnerService.hide();\n //console.log('error downloading document from s3');\n console.log(errorResponse);\n });\n }\n\n deleteDocument(supportingDocument: SupportingDocument) {\n const documentId = supportingDocument.DocumentId;\n this.spinnerService.show();\n this.applicationService.deleteSupportingDocument(this.applicationId, documentId)\n .subscribe(response => {\n this.spinnerService.hide();\n //console.log('document successfully deleted');\n supportingDocument.FileKey = null;\n supportingDocument.FileName = null;\n supportingDocument.DocumentId = 0;\n this.supportingDocIdToBeDeleted = 0;\n this.dispatchSectionSaveAction();\n if (supportingDocument.DocumentTypeCode === 'Other') {\n this.otherDocuments.splice(this.otherDocToBeDeletedIndex, 1);\n\n //if (!this.otherDocuments.length) {\n this.seedOrReseedOtherDocuments();\n //}\n }\n },\n errorResponse => {\n this.spinnerService.hide();\n console.log(errorResponse);\n });\n }\n\n scanDocumentsWithSpinner() {\n\n this.spinnerService.show();\n\n this.updateScanStatus$()\n .subscribe((response: ApiResponse) => {\n this.spinnerService.hide();\n if (response && response.Result) {\n this.supportingDocumentsScanStatus = response.Result;\n\n for (const supportingDocumentScanStatus of this.supportingDocumentsScanStatus) {\n const document = supportingDocumentScanStatus.DocumentTypeId === 19 ?\n this.otherDocuments.find(d => d.DocumentId === supportingDocumentScanStatus.DocumentId)\n :\n this.supportingDocuments.find(d => d.DocumentId === supportingDocumentScanStatus.DocumentId);\n\n\n if (document) {\n document.Status = supportingDocumentScanStatus.Status;\n //console.log(`document status:${status}`);\n //console.log(document);\n }\n\n if (document && document.Status === 'CLEAN') {\n this.storageService.getFile(document.FileKey)\n .subscribe(fileResponse => {\n document.DownloadURL = fileResponse;\n }, errorResponse => {\n document.DownloadURL = null;\n });\n }\n\n }\n\n }\n\n this.setOrResetScanDocuments();\n }, (errorResponse: ErrorResponse) => {\n this.spinnerService.hide();\n //console.log('error happened while updating all documents scan status');\n console.log(errorResponse);\n });\n }\n\n private updateScanStatus$ = () => this.applicationService.updateAllSupportingDocumentsScanStatus(this.applicationId)\n .pipe(shareReplay());\n\n scanDocumentsWithoutBlocking() {\n this.updateScanStatus$()\n .subscribe((response: ApiResponse) => {\n this.spinnerService.hide();\n if (response && response.Result) {\n this.supportingDocumentsScanStatus = response.Result;\n\n for (const supportingDocumentScanStatus of this.supportingDocumentsScanStatus) {\n const document = supportingDocumentScanStatus.DocumentTypeId === 19 ?\n this.otherDocuments.find(d => d.DocumentId === supportingDocumentScanStatus.DocumentId)\n :\n this.supportingDocuments.find(d => d.DocumentId === supportingDocumentScanStatus.DocumentId);\n\n\n if (document) {\n document.Status = supportingDocumentScanStatus.Status;\n //console.log(`document status:${status}`);\n //console.log(document);\n }\n\n if (document && document.Status === 'CLEAN') {\n this.storageService.getFile(document.FileKey)\n .subscribe(fileResponse => {\n document.DownloadURL = fileResponse;\n }, errorResponse => {\n document.DownloadURL = null;\n });\n }\n\n }\n\n }\n\n this.setOrResetScanDocuments();\n }, (errorResponse: ErrorResponse) => {\n this.spinnerService.hide();\n //console.log('error happened while updating all documents scan status');\n console.log(errorResponse);\n });\n }\n\n scanDocument(supportingDocument: SupportingDocument) {\n const documentId = supportingDocument.DocumentId;\n this.spinnerService.show();\n this.applicationService.updateSupportingDocumentScanStatus(this.applicationId, documentId)\n .subscribe((response: SingleResultApiResponse) => {\n this.spinnerService.hide();\n if (response && response.Result) {\n const status = response.Result;\n const document = this.supportingDocuments.find(d => d.DocumentId === supportingDocument.DocumentId);\n\n if (document) {\n document.Status = status;\n }\n\n if (document.Status === 'CLEAN') {\n this.storageService.getFile(document.FileKey)\n .subscribe(fileResponse => {\n document.DownloadURL = fileResponse;\n }, errorResponse => {\n document.DownloadURL = null;\n });\n }\n\n\n }\n\n }, (errorResponse: ErrorResponse) => {\n this.spinnerService.hide();\n //console.log('error happened while updating scan status');\n console.log(errorResponse);\n });\n }\n\n triggerFileInputClick(event: any, fileInputId: string) {\n\n if (!event)\n return;\n\n event.preventDefault();\n\n let fileInputElem = document.getElementById(fileInputId) as HTMLElement;\n\n if (!fileInputElem)\n return;\n\n fileInputElem.click();\n }\n\n ngAfterContentChecked(): void {\n if (!this.isScrollDone) {\n this.isScrollDone = this.formService.scrollToFirstErrorField();\n }\n this.changeDetectorRef.detectChanges();\n }\n\n getScanStatus(supportingDocument: SupportingDocument): string {\n\n const scanStatus = supportingDocument.Status;\n if (!supportingDocument.FileName || !scanStatus) {\n return '';\n }\n\n let displayScanStatus = 'Not yet scanned';\n \n switch (scanStatus) {\n case 'UPLOADING':\n displayScanStatus = 'Uploading';\n break;\n case 'INITIAL':\n displayScanStatus = 'In Progress';\n break;\n case 'CLEAN':\n displayScanStatus = 'Successful';\n supportingDocument.FileError = '';\n break;\n case 'INFECTED':\n displayScanStatus = 'Virus Found';\n break;\n }\n return displayScanStatus;\n }\n\n getDocumentName(supportingDocument: SupportingDocument): string {\n return supportingDocument.FileName && supportingDocument.FileName.length > 0\n ? supportingDocument.FileName : 'Please upload a document';\n }\n\n getDisplayScanStatus(scanStatus: string): string {\n let displayScanStatus = 'Not yet scanned';\n switch (scanStatus) {\n case 'INITIAL':\n displayScanStatus = 'In Progress';\n break;\n case 'CLEAN':\n displayScanStatus = 'Successful';\n break;\n case 'INFECTED':\n displayScanStatus = 'Virus Found';\n break;\n }\n return displayScanStatus;\n }\n\n fileSelected(event: any, supportingDocument: SupportingDocument) {\n\n supportingDocument.FileError = '';\n const documentKey = UUID.UUID();\n\n const { files } = event.target;\n\n if (files && files.length > 0) {\n const file = files[0];\n const fileSize = ((file.size / 1024) / 1024);\n\n const fileName: string = file.name;\n\n const extnIndex = fileName.toLowerCase().lastIndexOf('.');\n const extension = fileName.substr(extnIndex).toLowerCase();\n const fileNameWithoutExtension = fileName.substr(0, extnIndex);\n\n const isValidExtension = this.allowedFileFormats.find(format => format === extension);\n\n if (!isValidExtension) {\n supportingDocument.FileError = 'Not a valid file format';\n return;\n }\n\n if (!(/^[a-zA-Z0-9_-]+$/.test(fileNameWithoutExtension))) {\n supportingDocument.FileError = 'File Name is allowed to contain only alphabets, numbers, dashes and/or underscores';\n return;\n }\n\n if (fileNameWithoutExtension.length > 100) {\n supportingDocument.FileError = 'File Name can not exceed 100 characters';\n return;\n }\n\n if (fileSize <= this.maxAllowedFileSize) {\n\n const key = `${this.studentNumber}/${this.applicationId}/${supportingDocument.DocumentTypeCode}/${documentKey}/${file.name}`;\n\n const uploadingDocument = supportingDocument.DocumentTypeCode !== 'Other' ?\n this.supportingDocuments.find(d => d.DocumentTypeId === supportingDocument.DocumentTypeId)\n :\n this.otherDocuments[this.otherDocuments.length - 1];\n\n uploadingDocument.Status = 'UPLOADING';\n this.spinnerService.show();\n this.storageService.uploadFile(key, file, file.type)\n .subscribe((response) => {\n this.spinnerService.hide();\n const uploadedSupportingDocument: UploadedSupportingDocument = {\n DocumentId: supportingDocument.DocumentId || 0,\n DocumentTypeId: supportingDocument.DocumentTypeCode !== 'Other' ? supportingDocument.DocumentTypeId : 19,\n FileKey: key,\n FileName: file.name,\n UserFederatedId: this.userFederatedId,\n DocumentNote: supportingDocument.DocumentNote\n };\n this.spinnerService.show();\n this.applicationService.saveSupportingDocument(this.applicationId, uploadedSupportingDocument)\n .subscribe((saveResponse: SingleResultApiResponse) => {\n this.spinnerService.hide();\n const updatedSupportingDoc = saveResponse.Result as SupportingDocument;\n\n Object.keys(updatedSupportingDoc).forEach(key => supportingDocument[key] = updatedSupportingDoc[key]);\n\n this.seedOrReseedOtherDocuments();\n\n this.setOrResetScanDocuments();\n }, (saveErrorResponse: ErrorResponse) => {\n this.spinnerService.hide();\n const error = saveErrorResponse.errors[0].Value;\n supportingDocument.FileError = error;\n });\n\n }, (errorResponse) => {\n this.spinnerService.hide();\n console.log(errorResponse);\n });\n\n\n } else {\n supportingDocument.FileError = 'File size cannot be more than 20 MB';\n }\n\n if (supportingDocument.DocumentTypeCode === 'Other') {\n this.seedOrReseedOtherDocuments();\n }\n\n }\n\n }\n\n //refreshes the virus scan status, by calling scan documents after every 5 seconds, but only if subscribed\n setOrResetScanDocuments() {\n\n if (this.scanIntervalSubscription && this.supportingDocuments.filter(d => d.Status === 'INITIAL').length === 0) {\n this.scanIntervalSubscription.unsubscribe();\n } else if ((!this.scanIntervalSubscription || this.scanIntervalSubscription.closed) && this.supportingDocuments.filter(d => d.Status === 'INITIAL').length > 0) {\n this.scanIntervalSubscription = this.scanInterval.subscribe(val => this.scanDocumentsWithoutBlocking());\n }\n }\n\n onOtherDocumentSelectClick(event: any, supportingDoc: SupportingDocument) {\n if (supportingDoc.DocumentId) {\n event.stopPropagation();\n return false;\n }\n\n if (!supportingDoc.DocumentNote)\n supportingDoc.DocumentNote = '';\n\n //if(!supportingDoc.DocumentNote.trim() || supportingDoc.DocumentNote.length >= 100 || supportingDoc.DocumentId) {\n if (!supportingDoc.DocumentNote.trim() || supportingDoc.DocumentId) {\n //console.log('please enter a description for this document');\n supportingDoc.DocumentNoteValidationFailed = true;\n event.stopPropagation();\n return false;\n }\n }\n\n updateOtherDocumentDescr(event: any, supportingDoc: SupportingDocument) {\n supportingDoc.DocumentMessage = event.target.value\n }\n\n onKeyUpOtherDocDescr(event: any, supportingDoc: SupportingDocument) {\n supportingDoc.DocumentNoteValidationFailed = false;\n }\n\n getOtherDocumentDescriptionError(description: string): string {\n let errorMsg = '';\n if (!description) {\n errorMsg = 'Please enter description';\n }\n // else if (description && description.length > 100){\n // errorMsg = 'Please limit the description length to a maximum of 100 characters';\n // }\n return errorMsg;\n }\n\n saveAndContinue() {\n this.spinnerService.show();\n this.applicationService.saveSupportingDocuments(this.applicationId)\n .subscribe(response => {\n this.spinnerService.hide();\n this.dispatchSectionSaveAction();\n if(this.selectedHasOtherDocuments && !this.hasAnUploadedAdditionalDoc){\n this.needOtherDocument = true;\n return;\n }else{\n this.needOtherDocument = false;\n }\n this.router.navigate(['/applications', this.applicationId, 'edit', 'summary']);\n }, (errorResponse: ErrorResponse) => {\n this.spinnerService.hide();\n for (const error of errorResponse.errors) {\n const document = this.supportingDocuments.find(d => d.DocumentTypeId === +error.Key);\n\n if (document) {\n document.FileError = error.Value;\n } else {\n const otherDoc = this.otherDocuments.find(d => d.DocumentNote === error.Key);\n if (otherDoc) {\n otherDoc.FileError = error.Value;\n }\n }\n }\n\n this.isScrollDone = false;\n if(this.selectedHasOtherDocuments && !this.hasAnUploadedAdditionalDoc){\n this.needOtherDocument = true;\n }else{\n this.needOtherDocument = false;\n }\n this.dispatchSectionSaveAction();\n this.formService.scrollToFirstErrorField();\n });\n }\n\n\n dispatchSectionSaveAction() {\n this.store.dispatch({\n type: Action_ApplicationSectionSaved\n });\n }\n\n //show border when tab on link for accessibility\n linkTabAccessibility(event): void {\n event.style.outline = \"1px solid black\";\n }\n\n linkBlurAccessibility(event): void {\n event.style.outline = \"\";\n }\n\n /* For accessibility, keyboard only design, use tab to show borders but showing no border by clicking on mouse */\n keyboardFocus(event): void {\n event.style.outline = \"1px solid blue\";\n }\n\n keyboardBlur(event): void {\n event.style.outline = \"\";\n }\n\n ngOnDestroy() {\n if(this.scanIntervalSubscription){\n this.scanIntervalSubscription.unsubscribe();\n }\n }\n}\n","module.exports = \".problems .problem .question .answer .choice .radioError {\\r\\n font-style: normal;\\r\\n color: #f00; \\r\\n font-size: 14px;\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n\\r\\nspan.span-disabled {\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n.modal-dialog {\\r\\n margin-left: 40%;\\r\\n}\\r\\n\\r\\n.more-info-messages {\\r\\n font-size: 1.3rem;\\r\\n font-style: italic;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwbGljYXRpb24vdmlzYS1vaHNjL3Zpc2Etb2hzYy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxlQUFlO0lBQ2YsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksb0JBQW9CO0FBQ3hCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGtCQUFrQjtBQUN0QiIsImZpbGUiOiJzcmMvYXBwL2FwcGxpY2F0aW9uL3Zpc2Etb2hzYy92aXNhLW9oc2MuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlIC5yYWRpb0Vycm9yIHtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGNvbG9yOiAjZjAwOyAgXHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG59XHJcblxyXG5zcGFuLnNwYW4tZGlzYWJsZWQge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi5tb2RhbC1kaWFsb2cge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDQwJTtcclxufVxyXG5cclxuLm1vcmUtaW5mby1tZXNzYWdlcyB7XHJcbiAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufSJdfQ== */\"","module.exports = \"
\\n\\n
\\n

Visa and OSHC Details

\\n \\n \\\"\\\"/\\n
\\n\\n
\\n\\n
\\n\\n
\\n
Please note that all fields marked with an (*) are required.
\\n
\\n\\n
\\n\\n
\\n
Visa Details
\\n 1 of 2\\n
\\n\\n
\\n
\\n\\n
Where will the student be when they\\n lodge their student visa?
\\n
\\n\\n \\n Within Australia
radio button
checked
unchecked
\\n
\\n\\n \\n Outside Australia
radio button
checked
unchecked
\\n
\\n\\n
\\n \\n {{ getApiValidationErrorMsg('isOnshoreWhileLodgingVisa') }}\\n \\n
\\n\\n
\\n\\n\\n
Do you hold a current Australian\\n visa?
\\n
\\n\\n \\n Yes
radio button
checked
unchecked
\\n
\\n\\n \\n No
radio button
checked
unchecked
\\n
\\n\\n
\\n \\n {{ getApiValidationErrorMsg('holdsAustralianVisa') }}\\n \\n
\\n\\n
\\n\\n
\\n\\n \\n
\\n
\\n \\n \\n \\n Visa Subclass is required\\n \\n \\n {{ getApiValidationErrorMsg('visaSubclassId') }}\\n \\n \\n
\\n
\\n
\\n \\n
\\n\\n \\n \\n \\n \\n \\n
\\n \\n {{ getApiValidationErrorMsg('visaExpiryDate') }}\\n \\n
\\n
\\n
\\n\\n \\n
\\n \\n \\n \\n Visa Number is required\\n \\n \\n {{ getApiValidationErrorMsg('visaNumber') }}\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n
\\n\\n
\\n
OSHC Details
\\n 2 of 2\\n
\\n\\n
\\n
\\n
\\n
Do you already have Overseas Student Health Cover from an approved provider?
\\n
\\n
\\n\\n \\n Yes
radio button
checked
unchecked
\\n
\\n\\n \\n No
radio button
checked
unchecked
\\n
\\n\\n
\\n \\n
\\n\\n
\\n \\n {{ getApiValidationErrorMsg('hasOshc') }}\\n \\n
\\n\\n
\\n\\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n OSHC Provider is required\\n \\n \\n {{ getApiValidationErrorMsg('oshcProviderCode') }}\\n \\n \\n
\\n
\\n\\n \\n
\\n\\n \\n \\n \\n \\n \\n
\\n \\n OSHC Expiry Date is required\\n \\n\\n \\n {{ getApiValidationErrorMsg('oshcExpiryDate') }}\\n \\n
\\n
\\n\\n
\\n\\n \\n \\n\\n
\\n
\\n\\n
\\n\\n\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n
Please resolve the following
\\n
press tab to reach first focusable element
\\n
\\n

The changes you have made on this page have affected other sections of this application. Please review\\n the information provided on the incomplete pages so you are able to submit this application

\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","import { Component, OnInit, AfterContentChecked, ViewChild, ElementRef } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { VisaSubClass, OHSCProvider, LookupData, BridgingVisas, Tab_Title } from 'src/app/shared/models/lookup-data.model';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { VisaOshc } from '../models/visa-ohsc';\nimport { ApplicationService } from 'src/app/shared/services/application.service';\nimport { SingleResultApiResponse } from 'src/app/shared/models/api-response.model';\nimport { ErrorResponse } from 'src/app/shared/models/error.model';\nimport { DateTime } from 'luxon';\nimport { Store } from '@ngrx/store';\nimport { Action_ApplicationSectionSaved } from '../state/actions';\nimport { Observable } from 'rxjs';\nimport { ModalService } from 'src/app/shared/services/modal.service';\nimport { compareVisaOHSCDetails } from '../shared/utils/ModelUtils';\nimport { slideInOut } from '../animations/slideInOut';\nimport { FormService } from 'src/app/shared/services/form.service';\nimport { Title } from '@angular/platform-browser';\nimport { UtilityService } from 'src/app/shared/services/utility.service';\n\n@Component({\n selector: 'online-app-visa-ohsc',\n templateUrl: './visa-ohsc.component.html',\n styleUrls: ['./visa-ohsc.component.css'],\n host: {\n class: 'application-section-component'\n },\n animations: [slideInOut]\n})\nexport class VisaOhscComponent implements OnInit, AfterContentChecked {\n\n visaohscFormGroup: FormGroup;\n isFormSubmitted = false;\n visaSubClasses: VisaSubClass[] = [];\n ohscProviders: OHSCProvider[] = [];\n isOnshoreWhileLodgingVisa: boolean;\n holdsAustralianVisa: boolean;\n isBridgingVisa: boolean;\n hasOshc: boolean;\n applicationId: number;\n visaExpiryDate: string;\n initialVisaOHSCDetails: VisaOshc;\n isHealthCoverFromDEInternational: boolean;\n bridgingVisas: LookupData[] = BridgingVisas;\n\n isSubmittedApplication = false;\n isSaveSuccessful = false;\n isScrollDone = false;\n showChangeImpactModal: boolean = false;\n isReciprocalHealthCareCountry: boolean = false;\n\n errorKeyFormFieldMapping = [\n { apiErrorKeyName: 'IsOnshoreWhileLodgingVisa', formFieldName: 'isOnshoreWhileLodgingVisa', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'HoldsAustralianVisa', formFieldName: 'holdsAustralianVisa', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'VisaSubclassId', formFieldName: 'visaSubclassId', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'VisaSubclassCode', formFieldName: 'visaSubclassId', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'VisaExpiryDate', formFieldName: 'visaExpiryDate', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'VisaNumber', formFieldName: 'visaNumber', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'HasOshc', formFieldName: 'hasOshc', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'OshcProviderCode', formFieldName: 'oshcProviderCode', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'OshcExpiryDate', formFieldName: 'oshcExpiryDate', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'IsHealthCoverFromDEInternational', formFieldName: 'isHealthCoverFromDEInternational', apiValidationErrorMsg: null }\n ];\n\n @ViewChild('resolve') resolve: ElementRef;\n constructor(private formBuilder: FormBuilder,\n private store: Store,\n private router: Router,\n private modalService: ModalService,\n private formService: FormService,\n private applicationService: ApplicationService,\n private activatedRoute: ActivatedRoute,\n private utilityService: UtilityService,\n private titleService: Title) {\n\n // this.configureJquery();\n\n this.activatedRoute.parent.params.subscribe(params => {\n this.applicationId = +params['id'];\n });\n\n }\n\n getDateInString(dateObject: Date): string {\n if (!dateObject || !dateObject.getMonth || !dateObject.getFullYear)\n return '';\n \n return `${dateObject.getDate()}/${dateObject.getMonth() + 1}/${dateObject.getFullYear()}`;\n }\n\n setVisaExpiryDate(dateObject: Date) {\n this.visaohscFormGroup.patchValue({\n visaExpiryDate: dateObject,\n });\n this.visaohscFormGroup.updateValueAndValidity();\n }\n\n setOhscExpiryDate(dateObject: Date) {\n this.visaohscFormGroup.patchValue({\n oshcExpiryDate: dateObject,\n });\n this.visaohscFormGroup.updateValueAndValidity();\n }\n\n ngOnInit() {\n if(localStorage.getItem(\"isAgent\") == \"true\"){\n this.titleService.setTitle(Tab_Title.Agent_VisaAndOshcDetails_Title);\n }else{\n this.titleService.setTitle(Tab_Title.VisaAndOshcDetails_Title);\n }\n this.visaohscFormGroup = this.formBuilder.group({\n isOnshoreWhileLodgingVisa: '',\n holdsAustralianVisa: '',\n visaSubclassId: '',\n visaExpiryDate: null,\n visaNumber: '',\n hasOshc: '',\n oshcProviderCode: '',\n oshcExpiryDate: null,\n isHealthCoverFromDEInternational: ''\n });\n\n\n this.visaSubClasses = this.activatedRoute.snapshot.data['visaSubClasses'];\n this.ohscProviders = this.activatedRoute.snapshot.data['ohscProviders'];\n\n\n this.applicationService.getVisaOhscDetails(this.applicationId)\n .subscribe((response: SingleResultApiResponse) => {\n if (response.Result) {\n this.updateFormValuesFromVisaOhscDetails(response.Result);\n this.initialVisaOHSCDetails = this.getVisaOHSCDetails();\n }\n }, err => {\n console.error(err);\n });\n\n // this.configureJquery();\n\n this.applicationService.getApplicationDetails(this.applicationId)\n .subscribe((response: SingleResultApiResponse) => {\n if (response.Result) {\n\n this.isSubmittedApplication = response.Result.ApplicationStatus === 'Submitted';\n\n if (this.isSubmittedApplication) {\n this.visaohscFormGroup.disable();\n }\n\n }\n }, err => {\n console.error(err);\n });\n\n }\n\n updateStudentLocation(isOnshoreWhileLodgingVisa: boolean) {\n\n this.isOnshoreWhileLodgingVisa = isOnshoreWhileLodgingVisa;\n\n this.visaohscFormGroup.patchValue({\n isOnshoreWhileLodgingVisa\n });\n\n this.visaohscFormGroup.updateValueAndValidity();\n\n }\n\n\n updateAustralianVisaStatus(holdsAustralianVisa: boolean) {\n this.holdsAustralianVisa = holdsAustralianVisa;\n\n this.visaohscFormGroup.patchValue({\n holdsAustralianVisa: holdsAustralianVisa\n });\n\n if (!holdsAustralianVisa) {\n this.visaohscFormGroup.patchValue({\n visaSubclassId: 0,\n visaExpiryDate: null,\n visaNumber: ''\n });\n }\n\n this.visaohscFormGroup.updateValueAndValidity();\n\n // this.configureJquery();\n\n }\n\n updateOhscStatus(hasOshc: boolean) {\n\n this.hasOshc = hasOshc;\n this.visaohscFormGroup.patchValue({\n hasOshc\n });\n\n if (!hasOshc) {\n this.visaohscFormGroup.patchValue({\n oshcProviderCode: '',\n oshcExpiryDate: null,\n });\n }\n\n this.visaohscFormGroup.updateValueAndValidity();\n\n this.updateHealthCoverFromDEInternational(!hasOshc);\n // this.configureJquery();\n\n }\n\n updateHealthCoverFromDEInternational(isHealthCoverFromDEInternational: boolean) {\n this.isHealthCoverFromDEInternational = isHealthCoverFromDEInternational;\n this.visaohscFormGroup.patchValue({\n isHealthCoverFromDEInternational\n });\n\n this.visaohscFormGroup.updateValueAndValidity();\n }\n\n isThisFieldHasErrors(fieldName: string): boolean {\n return this.isFormSubmitted && this.visaohscFormGroup.get(fieldName).errors != null;\n }\n\n isThisFieldHasApiError(fieldName: string): boolean {\n return this.isFormSubmitted\n && this.visaohscFormGroup.get(fieldName).errors != null\n && this.visaohscFormGroup.get(fieldName).errors.apiValidationError != null;\n }\n\n getDefaultOption(): LookupData {\n return {\n Code: '',\n Description: 'Please select',\n };\n }\n\n\n setApiValidationError(apiErrorKeyName: string, apiErrorMsg): void {\n const errorField = this.errorKeyFormFieldMapping.find(errorKeyFormField => errorKeyFormField.apiErrorKeyName === apiErrorKeyName);\n\n if (errorField) {\n const { formFieldName } = errorField;\n this.visaohscFormGroup.get(formFieldName).setErrors({ apiValidationError: true });\n errorField.apiValidationErrorMsg = apiErrorMsg;\n }\n\n }\n\n getApiValidationErrorMsg(formFieldName: string): string {\n const errorField = this.errorKeyFormFieldMapping.find(errorKeyFormField => errorKeyFormField.formFieldName === formFieldName);\n return errorField.apiValidationErrorMsg ? errorField.apiValidationErrorMsg : '';\n }\n\n\n getVisaOHSCDetails(): VisaOshc {\n const visaOhscDetails = new VisaOshc();\n\n visaOhscDetails.IsOnshoreWhileLodgingVisa = this.visaohscFormGroup.get('isOnshoreWhileLodgingVisa').value;\n visaOhscDetails.HoldsAustralianVisa = this.visaohscFormGroup.get('holdsAustralianVisa').value;\n\n if (visaOhscDetails.HoldsAustralianVisa) {\n\n visaOhscDetails.VisaSubclassId = this.visaohscFormGroup.get('visaSubclassId').value || null;\n\n if (visaOhscDetails.VisaSubclassId) { \n const selectedVisa = this.visaSubClasses.find(vs => vs.VisaSubclassId == visaOhscDetails.VisaSubclassId);\n \n // these are used in fluent validation of the dto in the Web-Api layer (the Expiry Date is can't be in the past if the visa subclass is that of a bridging visa)\n visaOhscDetails.VisaSubclassCode = selectedVisa.Code;\n visaOhscDetails.VisaSubclassDescription = selectedVisa.Description;\n } else {\n visaOhscDetails.VisaSubclassCode = '';\n visaOhscDetails.VisaSubclassDescription = '';\n }\n \n visaOhscDetails.VisaExpiryDate = this.utilityService.getDateStrWithoutTimeZone(this.visaohscFormGroup.get('visaExpiryDate').value);\n visaOhscDetails.VisaNumber = this.visaohscFormGroup.get('visaNumber').value;\n\n } else {\n visaOhscDetails.VisaSubclassId = null;\n visaOhscDetails.VisaSubclassCode = '';\n visaOhscDetails.VisaSubclassDescription = '';\n visaOhscDetails.VisaExpiryDate = '';\n visaOhscDetails.VisaNumber = '';\n }\n\n visaOhscDetails.HasOshc = this.visaohscFormGroup.get('hasOshc').value;\n\n if (visaOhscDetails.HasOshc) { \n visaOhscDetails.OshcProviderCode = this.visaohscFormGroup.get('oshcProviderCode').value;\n visaOhscDetails.OshcExpiryDate = this.utilityService.getDateStrWithoutTimeZone(this.visaohscFormGroup.get('oshcExpiryDate').value);\n \n visaOhscDetails.IsHealthCoverFromDEInternational = false;\n } else {\n visaOhscDetails.OshcProviderCode = '';\n visaOhscDetails.OshcExpiryDate = '';\n visaOhscDetails.IsHealthCoverFromDEInternational = this.visaohscFormGroup.get('isHealthCoverFromDEInternational').value || false;\n }\n\n visaOhscDetails.IsReciprocalHealthCareCountry = this.isReciprocalHealthCareCountry;\n \n return visaOhscDetails;\n }\n\n getDate(fieldName: string): string {\n\n\n // const datePickerDate = $(`#${fieldName}`).datepicker('getDate');\n const dateObject = this.visaohscFormGroup.get(fieldName).value;\n\n const dateTimeObject = DateTime.fromJSDate(dateObject);\n\n if (!dateTimeObject.isValid) {\n return null;\n }\n\n const initialDate = new Date(1970, 0, 1);\n\n if (dateObject.getDate() === initialDate.getDate() &&\n dateObject.getMonth() === initialDate.getMonth() &&\n dateObject.getFullYear() === initialDate.getFullYear()) {\n return null;\n }\n\n const userTimezoneOffset = dateObject.getTimezoneOffset() * 60000;\n const date = new Date(dateObject.getTime() - userTimezoneOffset);\n\n return date.toISOString();\n }\n\n convertDateToString(dateInString: string): string {\n if (!dateInString) {\n return null;\n }\n\n const date = new Date(dateInString);\n const dateStr = date ? `${date.getDate()}/${date.getMonth() + 1}/${date.getFullYear()}` : '';\n return dateStr;\n }\n\n updateFormValuesFromVisaOhscDetails(visaOhscDetails: VisaOshc): void {\n this.visaohscFormGroup.patchValue({\n isOnshoreWhileLodgingVisa: visaOhscDetails.IsOnshoreWhileLodgingVisa,\n holdsAustralianVisa: visaOhscDetails.HoldsAustralianVisa,\n visaSubclassId: visaOhscDetails.VisaSubclassId || 0,\n visaExpiryDate: visaOhscDetails.VisaExpiryDate ? new Date(visaOhscDetails.VisaExpiryDate) : null,\n visaNumber: visaOhscDetails.VisaNumber ? visaOhscDetails.VisaNumber.trim() : '',\n hasOshc: visaOhscDetails.HasOshc,\n oshcProviderCode: visaOhscDetails.OshcProviderCode ? visaOhscDetails.OshcProviderCode : '',\n oshcExpiryDate: visaOhscDetails.OshcExpiryDate ? new Date(visaOhscDetails.OshcExpiryDate) : null,\n isHealthCoverFromDEInternational: visaOhscDetails.IsHealthCoverFromDEInternational,\n isReciprocalHealthCareCountry: visaOhscDetails.IsReciprocalHealthCareCountry\n });\n\n this.isOnshoreWhileLodgingVisa = visaOhscDetails.IsOnshoreWhileLodgingVisa;\n this.holdsAustralianVisa = visaOhscDetails.HoldsAustralianVisa;\n this.hasOshc = visaOhscDetails.HasOshc;\n this.isHealthCoverFromDEInternational = visaOhscDetails.IsHealthCoverFromDEInternational;\n this.isReciprocalHealthCareCountry = visaOhscDetails.IsReciprocalHealthCareCountry\n\n this.visaohscFormGroup.updateValueAndValidity();\n // this.configureJquery();\n\n this.visaSubclassUpdate();\n }\n\n canDeactivate(): Observable | boolean {\n\n if (this.isSaveSuccessful) {\n return true;\n }\n\n if (!this.isVisaOHSCDetailsSame()) {\n this.modalService.showModal();\n return this.modalService.stayOnThePage;\n } else {\n this.modalService.hideModal();\n return true;\n }\n }\n\n\n isVisaOHSCDetailsSame(): boolean {\n\n const currentVisaOhscDetails = this.getVisaOHSCDetails();\n const initialVisaOhscDetails = this.initialVisaOHSCDetails;\n\n const isVisaOHSCDetailsSame = compareVisaOHSCDetails(initialVisaOhscDetails, currentVisaOhscDetails);\n\n return isVisaOHSCDetailsSame;\n }\n\n ngAfterContentChecked(): void {\n if (!this.isScrollDone) {\n this.isScrollDone = this.formService.scrollToFirstErrorField();\n }\n\n }\n\n previous() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'accommodation-welfare']);\n }\n next() {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'special-circumstances']);\n }\n\n resetErrors() {\n this.errorKeyFormFieldMapping.forEach(formField => formField.apiValidationErrorMsg = null);\n }\n\n saveAndContinue() {\n\n this.isFormSubmitted = true;\n const visaOhscDetails = this.getVisaOHSCDetails();\n this.applicationService.updateVisaOhscDetails(this.applicationId, visaOhscDetails)\n .subscribe((response: SingleResultApiResponse) => {\n this.dispatchSectionSaveAction();\n this.isSaveSuccessful = true;\n if (response.Result) {\n this.showChangeImpactModal = response.Result.IsVisaStatusChanged || response.Result.IsOshcStatusChanged;\n }\n if (this.showChangeImpactModal === false) {\n this.router.navigate(['/applications', this.applicationId, 'edit', 'special-circumstances']);\n } else {\n setTimeout(() => {\n this.resolve.nativeElement.focus();\n }, 100);\n }\n }, (errorResponse: ErrorResponse) => {\n const { errors } = errorResponse;\n //console.log(errorResponse);\n for (const error of errors) {\n this.setApiValidationError(error.Key, error.Value);\n }\n this.visaohscFormGroup.updateValueAndValidity();\n // this.configureJquery();\n this.dispatchSectionSaveAction();\n this.initialVisaOHSCDetails = this.getVisaOHSCDetails();\n this.isScrollDone = false;\n this.formService.scrollToFirstErrorField();\n });\n }\n\n dispatchSectionSaveAction() {\n this.store.dispatch({\n type: Action_ApplicationSectionSaved\n });\n }\n\n visaSubclassUpdate() {\n const selectedVisa = this.visaSubClasses.find(visa => visa.VisaSubclassId == this.visaohscFormGroup.get('visaSubclassId').value);\n\n if (selectedVisa) {\n this.isBridgingVisa = this.bridgingVisas.some(bv => bv.Code === selectedVisa.Code);\n } else {\n this.isBridgingVisa = false;\n }\n\n }\n\n displayChangeImpactModal(): boolean {\n return this.showChangeImpactModal;\n }\n\n closeChangeImpactModal() {\n this.showChangeImpactModal = false;\n this.router.navigate(['/applications', this.applicationId, 'edit', 'special-circumstances']);\n }\n\n //accessibility -- link error msg to form field\n errorDoubleErrorAccessibility(formControlName: string, requireErrorId: string, apiErrorId: string): string {\n if (this.isFormSubmitted &&\n this.visaohscFormGroup.get(formControlName).errors &&\n this.visaohscFormGroup.get(formControlName).errors.required) {\n return requireErrorId;\n } else if (this.isFormSubmitted &&\n this.visaohscFormGroup.get(formControlName).errors &&\n this.visaohscFormGroup.get(formControlName).errors.apiValidationError) {\n return apiErrorId;\n } else {\n return \"\";\n }\n }\n}\n","import { Directive, AfterViewInit, ElementRef } from '@angular/core';\r\n \r\n@Directive({\r\n selector: '[Autofocus]'\r\n})\r\nexport class AutofocusDirective implements AfterViewInit { \r\n constructor(private el: ElementRef) {\r\n }\r\n \r\n ngAfterViewInit() {\r\n this.el.nativeElement.focus();\r\n }\r\n}","import {Directive, HostListener} from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[click-stop-propagation]\"\r\n})\r\nexport class ClickStopPropagation\r\n{\r\n @HostListener(\"click\", [\"$event\"])\r\n public onClick(event: any): void\r\n {\r\n //console.log('tryin to stop propagation!!');\r\n event.stopPropagation();\r\n }\r\n}","import { Directive, ElementRef, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[passportNumber]'\r\n})\r\nexport class PassportNumberDirective implements OnInit{ \r\n \r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n const elem = this.el.nativeElement;\r\n var regExAlphaNumeric = new RegExp(\"^[a-zA-Z0-9 ]+$\");\r\n \r\n elem.addEventListener('keydown', (evt) =>!regExAlphaNumeric.test(evt.key) && evt.preventDefault());\r\n\r\n elem.addEventListener(\"paste\", (event) => {\r\n event.preventDefault();\r\n\r\n let paste = (event.clipboardData).getData('text');\r\n paste = paste.replace(/[^a-zA-Z0-9]/g, '');\r\n this.el.nativeElement.value = paste;\r\n });\r\n }\r\n\r\n}","import { Directive, ElementRef, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[phoneNumber]'\r\n})\r\nexport class PhoneNumberDirective implements OnInit{ \r\n \r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n const elem = this.el.nativeElement;\r\n elem.addEventListener('keydown', (evt) => [\"e\", \"E\", \"+\", \"-\", \".\"].includes(evt.key) && evt.preventDefault());\r\n\r\n elem.addEventListener(\"paste\", (event) => {\r\n event.preventDefault();\r\n\r\n let paste = (event.clipboardData).getData('text');\r\n paste = paste.replace(/[e\\+\\-\\.]/gi, \"\");\r\n this.el.nativeElement.value = paste;\r\n });\r\n }\r\n\r\n}","import { ComponentFactoryResolver, Directive, Input, SimpleChanges, TemplateRef, ViewContainerRef } from \"@angular/core\";\nimport { RectComponent } from \"../shared/skeleton-rect/skeleton-rect.component\";\n\n\n@Directive({ selector: '[skeleton]' })\nexport class SkeletonDirective {\n @Input('skeleton') isLoading = false;\n @Input('skeletonRepeat') repeat = 1;\n @Input('skeletonWidth') width: string;\n @Input('skeletonHeight') height: string;\n @Input('skeletonClassName') className: string;\n\n constructor(private tpl: TemplateRef, \n private vcr: ViewContainerRef,\n private cfr: ComponentFactoryResolver) { }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.isLoading) {\n this.vcr.clear();\n const cf = this.cfr.resolveComponentFactory(RectComponent);\n\n if (changes.isLoading.currentValue) { \n Array.from({ length: this.repeat }).forEach(() => {\n const ref = this.vcr.createComponent(cf);\n \n Object.assign(ref.instance, {\n width: this.width === 'rand' ? `${random(30, 90)}%` : this.width,\n height: this.height,\n className: this.className\n })\n })\n } else {\n this.vcr.createEmbeddedView(this.tpl);\n }\n }\n }\n}\n\nfunction random(min: number, max: number) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n}\n","import { Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[onlineAppToggleViewPassword]'\n})\nexport class ToggleViewPasswordDirective {\n private _shown = false;\n\n constructor(private el: ElementRef) {\n this.setup();\n }\n\n toggle(button: HTMLElement) {\n this._shown = !this._shown;\n if (this._shown) {\n this.el.nativeElement.setAttribute('type', 'text');\n button.setAttribute('aria-label', 'Show password');\n button.setAttribute('role', 'button');\n button.innerHTML = '';\n } else {\n this.el.nativeElement.setAttribute('type', 'password');\n button.setAttribute('aria-label', 'Hide password');\n button.setAttribute('role', 'button');\n button.innerHTML = '';\n }\n }\n\n setup() {\n const parent = this.el.nativeElement.parentNode;\n const button = document.createElement('a');\n button.innerHTML = ``\n\n button.setAttribute('class', 'btn btn-link btn-toggle');\n button.setAttribute('tabindex', '0');\n button.setAttribute('aria-label', 'Hide password');\n button.setAttribute('role', 'button');\n\n button.addEventListener('click', (event) => {\n this.toggle(button);\n });\n button.addEventListener('keyup', (event) => {\n if (event.keyCode === 13) {\n event.stopPropagation();\n this.toggle(button);\n }\n if (event.keyCode === 9) {\n this.keyboardPanelFocus(event);\n }\n });\n button.addEventListener('blur', (event) => {\n this.keyboardPanelBlur(event);\n });\n parent.appendChild(button);\n }\n\n keyboardPanelFocus(event): void {\n event.target.style.outline = \"1px solid blue\";\n }\n keyboardPanelBlur(event): void {\n event.target.style.outline = \"\";\n }\n}\n","module.exports = \"\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Registration

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n

Setup your password

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Student Number: {{createdStudent.StudentNumber}}
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Password is required\\r\\n \\r\\n \\r\\n Passwords don't match\\r\\n \\r\\n \\r\\n Password should be of at least 8 characters.\\r\\n \\r\\n \\r\\n Password should be of at least 8 characters.\\r\\n \\r\\n \\r\\n {{customErrorMsg}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Please confirm your password again\\r\\n \\r\\n \\r\\n Password should be of at least 8 characters.\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Password requirements:\\r\\n
\\r\\n
\\r\\n 1. Your password length must be between 8 and 20 characters.\\r\\n
\\r\\n
\\r\\n 2. Your password must have at least one number.\\r\\n
\\r\\n
\\r\\n 3. Your password must have at least one alphabet.\\r\\n
\\r\\n
\\r\\n 4. Your password must have at least one upper case character.\\r\\n
\\r\\n
\\r\\n 5. Your password must have at least one lower case character.\\r\\n
\\r\\n
\\r\\n 6. Your password must contain at least one special character from the list given below:\\r\\n
\\r\\n
\\r\\n      ^ $ * . [ ] { } ( ) ? - \\\" ! @ # % & / , > < ' : ; | _ ~ `\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n

Registration Completed

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Your account has been successfully created. To activate your account, please click on the activation link provided in the Account Activation email sent to your email address. Thank you. \\r\\n
\\r\\n
\\r\\n

You have already registered. Please check your email for the account activation email or contact DE International.

\\r\\n

You have already registered and verified your account. Please check your email for your student number.


\\r\\n If you wish to login, you can click here.
\\r\\n If you forgot your password, click here and follow instructions to reset it.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\"","module.exports = \".content .right-block {\\n width: 100%; }\\n\\n.content .right-block .problems .problem .question h4,\\n.content .right-block .problems .problem .question .heading4 {\\n text-decoration: none; }\\n\\n.content .right-block .problems .problem .pswd-rules-container .password-rule-header {\\n font-size: medium;\\n font-weight: bold; }\\n\\n.content .right-block .block .problems .problem a.router-helper-link {\\n display: inline;\\n font-size: 1.425rem;\\n color: blue;\\n cursor: pointer;\\n text-decoration: underline; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FjY291bnQtcmVnaXN0cmF0aW9uL0Q6XFxhXFwxNTVcXHNcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5Qcm9kXFxEZWkuT25saW5lQXBwbGljYXRpb24uV2ViXFxvbmxpbmUtYXBwL3NyY1xcYXBwXFxzaGFyZWRcXGFjY291bnQtcmVnaXN0cmF0aW9uXFxhY2NvdW50LXJlZ2lzdHJhdGlvbi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFdBQ0osRUFBQTs7QUFFQTs7RUFFSSxxQkFBcUIsRUFBQTs7QUFJekI7RUFHSSxpQkFBaUI7RUFDakIsaUJBQWlCLEVBQUE7O0FBSXJCO0VBR00sZUFBZTtFQUNmLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsZUFBZTtFQUNmLDBCQUEwQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2FjY291bnQtcmVnaXN0cmF0aW9uL2FjY291bnQtcmVnaXN0cmF0aW9uLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbnRlbnQgLnJpZ2h0LWJsb2NrIHtcclxuICAgIHdpZHRoOiAxMDAlXHJcbn1cclxuXHJcbi5jb250ZW50IC5yaWdodC1ibG9jayAucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIGg0LFxyXG4uY29udGVudCAucmlnaHQtYmxvY2sgLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuaGVhZGluZzQge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG5cclxuLmNvbnRlbnQgLnJpZ2h0LWJsb2NrIC5wcm9ibGVtcyAucHJvYmxlbSAucHN3ZC1ydWxlcy1jb250YWluZXIge1xyXG5cclxuICAucGFzc3dvcmQtcnVsZS1oZWFkZXIge1xyXG4gICAgZm9udC1zaXplOiBtZWRpdW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICB9XHJcbn1cclxuXHJcbi5jb250ZW50IC5yaWdodC1ibG9jayAuYmxvY2sgLnByb2JsZW1zIC5wcm9ibGVtICB7XHJcblxyXG4gIGEucm91dGVyLWhlbHBlci1saW5rIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICBmb250LXNpemU6IDEuNDI1cmVtO1xyXG4gICAgICBjb2xvcjogYmx1ZTtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICB9XHJcbn1cclxuXHJcbiJdfQ== */\"","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Store, select } from '@ngrx/store';\nimport { AuthService } from '../services/auth.service';\nimport { RegistrationService } from '../services/registration.service';\nimport { Subscription } from 'rxjs';\nimport { Router } from '@angular/router';\nimport { SingleResultApiResponse } from '../models/api-response.model';\nimport { ErrorResponse, AWSCognitoErrorResponse } from '../models/error.model';\nimport { CreatedStudentModel } from '../models/created-student.model';\n\n@Component({\n selector: 'online-app-account-registration',\n templateUrl: './account-registration.component.html',\n styleUrls: ['./account-registration.component.scss'],\n host: {\n class:'full-view-port-component-with-no-side-nav'\n }\n})\nexport class AccountRegistrationComponent implements OnInit, OnDestroy {\n constructor(\n private formBuilder: FormBuilder,\n private store: Store,\n private router: Router,\n private authService: AuthService,\n private registrationService: RegistrationService\n ) {}\n\n accountCreationFormGroup: FormGroup;\n sharedStateSubscription: Subscription;\n createdStudent: CreatedStudentModel;\n accountCreated = false;\n isFormSubmitted = false;\n isAccountAreadyCreated = false;\n isAccountAreadyVerified = false;\n customErrorMsg = '';\n\n ngOnInit() {\n\n //console.log('in account registration oninit');\n this.sharedStateSubscription = this.store\n .pipe(select('shared'))\n .subscribe(sharedState => {\n if (sharedState) {\n const preRegistrationDetails = sharedState.preRegistrationDetails;\n const preRegistrationValidationResult = sharedState.preRegistrationValidationResult;\n\n \n\n\n if (preRegistrationValidationResult &&\n preRegistrationValidationResult.IsGdprRequired &&\n !preRegistrationDetails.IsGdprCompliant ) {\n\n //console.log('redirecting to pre-registration-gdpr');\n this.router.navigate(['pre-registration-gdpr']);\n }\n\n if (!preRegistrationDetails) {\n //console.log('redirecting to pre-registration');\n this.router.navigate(['pre-registration']);\n }\n\n\n if (preRegistrationDetails && preRegistrationDetails.IsGdprCompliant && preRegistrationValidationResult ) {\n\n //console.log('going to call create student');\n\n this.registrationService.createStudent(preRegistrationDetails)\n .subscribe( (response: SingleResultApiResponse) => {\n this.createdStudent = response.Result as CreatedStudentModel;\n }, (errorResponse: ErrorResponse) => {\n console.log(errorResponse);\n \n if (errorResponse.errorCode === 400) {\n if (errorResponse.errors.some(e => e.Key === 'AlreadyRegistered')) {\n this.accountCreated = true;\n this.isAccountAreadyCreated = true;\n }\n\n if (errorResponse.errors.some(e => e.Key === 'AccountAlreadyVerified')) {\n this.accountCreated = true;\n this.isAccountAreadyCreated = true;\n this.isAccountAreadyVerified = true;\n }\n }\n\n }, () => {\n });\n\n }\n\n \n\n } else {\n this.router.navigate(['pre-registration']);\n }\n });\n\n\n this.accountCreationFormGroup = this.formBuilder.group(\n {\n accountPassword: ['', [Validators.required, Validators.minLength(6)]],\n confirmPassword: ['', [Validators.required, Validators.minLength(6)]]\n }\n );\n\n }\n\n validatePasswords(): { [key: string]: boolean } | null {\n const accountPassword = this.accountCreationFormGroup.get('accountPassword').value;\n const confirmPassword = this.accountCreationFormGroup.get('confirmPassword').value;\n return accountPassword && accountPassword === confirmPassword\n ? null\n : { passwordsDontMatch: true };\n }\n\n createAccount(): void {\n\n this.isFormSubmitted = true;\n const accountPassword = this.accountCreationFormGroup.get('accountPassword').value;\n const confirmPassword = this.accountCreationFormGroup.get('confirmPassword').value;\n\n if (accountPassword !== confirmPassword) {\n this.accountCreationFormGroup.get('accountPassword').setErrors({ passwordsDontMatch: true });\n this.accountCreationFormGroup.updateValueAndValidity();\n return;\n }\n else { \n this.accountCreationFormGroup.get('accountPassword').setErrors(null);\n this.accountCreationFormGroup.updateValueAndValidity();\n }\n\n\n if (this.accountCreationFormGroup.valid) {\n const { StudentNumber, EmailAddress } = this.createdStudent;\n\n this.authService\n .register(StudentNumber, accountPassword, EmailAddress)\n .subscribe(\n signUpResult => {\n // Show the user some msg asking them to confirm their email\n //console.log('successfully registered with AWS Cognito');\n //console.log(signUpResult);\n\n this.registrationService.registerStudent(StudentNumber)\n .subscribe( (response: SingleResultApiResponse) => {\n //console.log(response);\n this.accountCreated = true;\n }, (err) => {\n console.log('Error');\n });\n },\n (err: AWSCognitoErrorResponse) => {\n\n if ( err.code === 'InvalidParameterException') {\n this.accountCreationFormGroup.get('accountPassword').setErrors({ passwordStrength: true });\n } else {\n this.accountCreationFormGroup.get('accountPassword').setErrors({ customError: true });\n this.customErrorMsg = err.message;\n }\n\n this.accountCreationFormGroup.updateValueAndValidity();\n\n // console.log(\n // 'error happened while registering the user with AWS Cognito'\n // );\n console.log(err);\n }\n );\n }\n }\n\n ngOnDestroy() {\n this.sharedStateSubscription.unsubscribe();\n }\n\n errorPasswordAccessibility(): string{\n if(this.isFormSubmitted &&\n this.accountCreationFormGroup.get('accountPassword').errors &&\n this.accountCreationFormGroup.get('accountPassword').errors.required){\n return \"requiredPassword\";\n }else if(this.isFormSubmitted &&\n this.accountCreationFormGroup.get('accountPassword').errors &&\n this.accountCreationFormGroup.get('accountPassword').errors.passwordsDontMatch){\n return \"matchPassword\";\n }else if(this.isFormSubmitted &&\n this.accountCreationFormGroup.get('accountPassword').errors &&\n this.accountCreationFormGroup.get('accountPassword').errors.passwordStrength){\n return \"strengthPassword\";\n }else if(this.isFormSubmitted &&\n this.accountCreationFormGroup.get('accountPassword').errors &&\n this.accountCreationFormGroup.get('accountPassword').errors.minlength){\n return \"minlengthPassword\";\n }else if(this.isFormSubmitted &&\n this.accountCreationFormGroup.get('accountPassword').errors &&\n this.accountCreationFormGroup.get('accountPassword').errors.customError){\n return \"customErrorPassword\";\n }else {\n return \"\";\n }\n }\n\n errorConfirmPasswordAccessibility(): string {\n if (this.isFormSubmitted &&\n this.accountCreationFormGroup.get('confirmPassword').errors &&\n this.accountCreationFormGroup.get('confirmPassword').errors.required) {\n return \"reEnterConfirmPassword\";\n } else if (this.isFormSubmitted &&\n this.accountCreationFormGroup.get('confirmPassword').errors &&\n this.accountCreationFormGroup.get('confirmPassword').errors.minlength) {\n return \"minlengthConfirmPassword\";\n } else {\n return \"\";\n }\n }\n\n //show border when tab on link for accessibility\n linkTabAccessibility(event): void {\n event.style.outline = \"1px solid black\";\n }\n\n linkBlurAccessibility(event): void {\n event.style.outline = \"\";\n }\n\n // @HostListener('window:popstate', ['$event'])\n // onPopState(event) {\n // console.log('Back or forward button pressed'); \n // alert('Clicking in back or forward may result in loss of data or unexpected behavior.');\n // event.preventDefault();\n\n // return false;\n // }\n}\n","module.exports = \"\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Agent Registration

\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n

Setup your password

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
Agent Login: {{agentEmail}}
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Password is required\\r\\n \\r\\n \\r\\n Passwords don't match\\r\\n \\r\\n \\r\\n Password should be of at least 8 characters.\\r\\n \\r\\n \\r\\n Password should be of at least 8 characters.\\r\\n \\r\\n \\r\\n {{customErrorMsg}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Please confirm your password again\\r\\n \\r\\n \\r\\n Password should be of at least 8 characters.\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Password requirements:\\r\\n
\\r\\n
\\r\\n 1. Your password length must be between 8 and 20 characters.\\r\\n
\\r\\n
\\r\\n 2. Your password must have at least one number.\\r\\n
\\r\\n
\\r\\n 3. Your password must have at least one alphabet.\\r\\n
\\r\\n
\\r\\n 4. Your password must have at least one upper case character.\\r\\n
\\r\\n
\\r\\n 5. Your password must have at least one lower case character.\\r\\n
\\r\\n
\\r\\n 6. Your password must contain at least one special character from the list given below:\\r\\n
\\r\\n
\\r\\n      ^ $ * . [ ] { } ( ) ? - \\\" ! @ # % & / , > < ' : ; | _ ~ `\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Activation Error

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Your activation link is not showing the correct information or it may have expired. Please contact us to re-issue a new one.
\\r\\n
\\r\\n
\\r\\n If you have already activated your account, click here to login.\\r\\n
\\r\\n
\\r\\n If you forgot your password, click here, and follow prompts to reset your password.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\"","module.exports = \".content .right-block {\\n width: 100%; }\\n .content .right-block .block .problems.activation-error-container .problem .question .answer {\\n font-size: 1.4rem; }\\n .content .right-block .block .problems.activation-error-container .problem .question .answer .line1 {\\n padding-bottom: 1.5rem;\\n font-size: 1.5rem; }\\n .content .right-block .block .problems.activation-error-container .problem .question .answer .line3 {\\n padding-bottom: 1.5rem; }\\n .content .right-block .block .problems.activation-error-container .problem .question .answer .line1 a, .content .right-block .block .problems.activation-error-container .problem .question .answer .line2 a, .content .right-block .block .problems.activation-error-container .problem .question .answer .line3 a {\\n color: blue; }\\n .content .right-block .block .problems.activation-error-container .problem .question .answer .line1 a:visited, .content .right-block .block .problems.activation-error-container .problem .question .answer .line2 a:visited, .content .right-block .block .problems.activation-error-container .problem .question .answer .line3 a:visited {\\n color: blue; }\\n .content .right-block .block .problems.activation-error-container .problem .question .answer .line1 a:hover, .content .right-block .block .problems.activation-error-container .problem .question .answer .line2 a:hover, .content .right-block .block .problems.activation-error-container .problem .question .answer .line3 a:hover {\\n text-decoration: underline; }\\n .content .right-block .problems .problem .pswd-rules-container .password-rule-header {\\n font-size: medium;\\n font-weight: bold; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FjY291bnQtcmVnaXN0cmF0aW9uL2FnZW50LWFjY291bnQtcmVnaXN0cmF0aW9uL0Q6XFxhXFwxNTVcXHNcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5Qcm9kXFxEZWkuT25saW5lQXBwbGljYXRpb24uV2ViXFxvbmxpbmUtYXBwL3NyY1xcYXBwXFxzaGFyZWRcXGFjY291bnQtcmVnaXN0cmF0aW9uXFxhZ2VudC1hY2NvdW50LXJlZ2lzdHJhdGlvblxcYWdlbnQtYWNjb3VudC1yZWdpc3RyYXRpb24uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxXQUFXLEVBQUE7RUFEZjtJQU1VLGlCQUFpQixFQUFBO0VBTjNCO01BU1ksc0JBQXNCO01BQ3RCLGlCQUFpQixFQUFBO0VBVjdCO01BY1ksc0JBQXNCLEVBQUE7RUFkbEM7TUFtQmMsV0FBVyxFQUFBO0VBbkJ6QjtRQXNCZ0IsV0FBVyxFQUFBO0VBdEIzQjtRQTBCZ0IsMEJBQTBCLEVBQUE7RUFVMUM7RUFHSSxpQkFBaUI7RUFDakIsaUJBQWlCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvYWNjb3VudC1yZWdpc3RyYXRpb24vYWdlbnQtYWNjb3VudC1yZWdpc3RyYXRpb24vYWdlbnQtYWNjb3VudC1yZWdpc3RyYXRpb24uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY29udGVudCAucmlnaHQtYmxvY2sge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgLmJsb2NrIHtcclxuICAgICAgLnByb2JsZW1zLmFjdGl2YXRpb24tZXJyb3ItY29udGFpbmVyIHtcclxuICAgICAgICAgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcblxyXG4gICAgICAgICAgLmxpbmUxIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmxpbmUzIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAubGluZTEsIC5saW5lMiwgLmxpbmUzIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgY29sb3I6IGJsdWU7XHJcblxyXG4gICAgICAgICAgICAgICY6dmlzaXRlZCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYmx1ZTtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uY29udGVudCAucmlnaHQtYmxvY2sgLnByb2JsZW1zIC5wcm9ibGVtIC5wc3dkLXJ1bGVzLWNvbnRhaW5lciB7XHJcblxyXG4gIC5wYXNzd29yZC1ydWxlLWhlYWRlciB7XHJcbiAgICBmb250LXNpemU6IG1lZGl1bTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbiJdfQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, Validators, FormGroup } from '@angular/forms';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { configureAmplify } from '../../config/aws.config';\nimport { AuthService } from '../../services/auth.service';\nimport { AWSSettings } from '../../models/aws-settings.model';\nimport { SingleResultApiResponse } from '../../models/api-response.model';\nimport { LookupService } from '../../services/lookup.service';\nimport { AWSCognitoErrorResponse } from '../../models/error.model';\nimport { Title } from '@angular/platform-browser';\n\n@Component({\n selector: 'online-app-agent-account-registration',\n templateUrl: './agent-account-registration.component.html',\n styleUrls: ['./agent-account-registration.component.scss'],\n host: {\n class:'full-view-port-component-with-no-side-nav'\n }\n})\nexport class AgentAccountRegistrationComponent implements OnInit {\n\n accountCreationFormGroup: FormGroup;\n agentEmail = '';\n isFormSubmitted = false;\n isNewPasswordRequired = false;\n invalidLink = false;\n user: any;\n customErrorMsg = '';\n\n constructor(private formBuilder: FormBuilder,\n private authService: AuthService,\n private lookupService: LookupService,\n private router: Router,\n private activatedRoute: ActivatedRoute,\n private titleService: Title) {\n this.titleService.setTitle(\"Online Application Portal - DE International - Agent\");\n }\n\n ngOnInit() {\n\n this.lookupService.getAWSAuthSettings(true)\n .subscribe((response: SingleResultApiResponse) => {\n\n\n\n if (response.Result) {\n\n const awsSettings: AWSSettings = {\n Region: response.Result.Region,\n UserPoolId: response.Result.UserPoolId,\n UserPoolWebClientId: response.Result.UserPoolWebClientId,\n IdentityPoolId: response.Result.IdentityPoolId,\n AuthenticationFlowType: response.Result.AuthenticationFlowType,\n BucketName: response.Result.BucketName\n };\n\n localStorage.setItem('awsSettings', JSON.stringify(awsSettings));\n\n configureAmplify(true);\n\n const username = this.activatedRoute.snapshot.queryParamMap.get('username');\n this.agentEmail = this.activatedRoute.snapshot.queryParamMap.get('email');\n const tempPassword = this.activatedRoute.snapshot.queryParamMap.get('tempPassword');\n\n //console.log(`Username: ${username}, tempPassword:${tempPassword}`);\n\n if (username && tempPassword) {\n this.authService.agentLogin(username, tempPassword)\n .subscribe(user => {\n if (user.challengeName === 'NEW_PASSWORD_REQUIRED') {\n //console.log('got challenge NEW_PASSWORD_REQUIRED');\n this.isNewPasswordRequired = true;\n this.user = user;\n }\n }, err => {\n //console.log('error happened');\n this.invalidLink = true;\n console.log(err);\n }, () => {}\n );\n\n }\n\n }\n\n }, err => {\n console.log('error happened while calling AWS Auth Settings');\n });\n\n this.accountCreationFormGroup = this.formBuilder.group(\n {\n accountPassword: ['', [Validators.required, Validators.minLength(8)]],\n confirmPassword: ['', [Validators.required, Validators.minLength(8)]]\n }\n );\n\n\n\n }\n\n validatePasswords(): { [key: string]: boolean } | null {\n const accountPassword = this.accountCreationFormGroup.get('accountPassword').value;\n const confirmPassword = this.accountCreationFormGroup.get('confirmPassword').value;\n return accountPassword && accountPassword === confirmPassword\n ? null\n : { passwordsDontMatch: true };\n }\n\n changePassword() {\n\n this.isFormSubmitted = true;\n const accountPassword = this.accountCreationFormGroup.get('accountPassword').value;\n const confirmPassword = this.accountCreationFormGroup.get('confirmPassword').value;\n\n if (accountPassword !== confirmPassword) {\n this.accountCreationFormGroup.get('accountPassword').setErrors({ passwordsDontMatch: true });\n this.accountCreationFormGroup.updateValueAndValidity();\n return;\n }\n\n if (this.accountCreationFormGroup.valid && this.isNewPasswordRequired) {\n this.authService.completeAgentNewPassword(this.user, this.agentEmail, accountPassword)\n .subscribe(user => {\n //console.log(user);\n //console.log('successfully set the password');\n\n this.authService.verifyUserEmail(this.agentEmail)\n .subscribe(response => {\n //console.log('successfully verified the user email');\n this.router.navigate(['/welcome-agent']);\n\n }, error => {\n //console.log('error while verifying user email');\n console.log(error);\n });\n\n\n }, (err: AWSCognitoErrorResponse) => {\n\n if (err.code === 'InvalidParameterException') {\n this.accountCreationFormGroup.get('accountPassword').setErrors({ passwordStrength: true });\n } else {\n this.accountCreationFormGroup.get('accountPassword').setErrors({ customError: true });\n this.customErrorMsg = err.message;\n }\n\n this.accountCreationFormGroup.updateValueAndValidity();\n\n console.log(\n 'error happened while registering the user with AWS Cognito'\n );\n console.log(err);\n });\n }\n\n }\n\n errorPasswordAccessibility(): string{\n if(this.isFormSubmitted &&\n this.accountCreationFormGroup.get('accountPassword').errors &&\n this.accountCreationFormGroup.get('accountPassword').errors.required){\n return \"requiredPassword\";\n }else if(this.isFormSubmitted &&\n this.accountCreationFormGroup.get('accountPassword').errors &&\n this.accountCreationFormGroup.get('accountPassword').errors.passwordsDontMatch){\n return \"matchPassword\";\n }else if(this.isFormSubmitted &&\n this.accountCreationFormGroup.get('accountPassword').errors &&\n this.accountCreationFormGroup.get('accountPassword').errors.passwordStrength){\n return \"strengthPassword\";\n }else if(this.isFormSubmitted &&\n this.accountCreationFormGroup.get('accountPassword').errors &&\n this.accountCreationFormGroup.get('accountPassword').errors.minlength){\n return \"minlengthPassword\";\n }else if(this.isFormSubmitted &&\n this.accountCreationFormGroup.get('accountPassword').errors &&\n this.accountCreationFormGroup.get('accountPassword').errors.customError){\n return \"customErrorPassword\";\n }else {\n return \"\";\n }\n }\n\n errorConfirmPasswordAccessibility(): string {\n if (this.isFormSubmitted &&\n this.accountCreationFormGroup.get('confirmPassword').errors &&\n this.accountCreationFormGroup.get('confirmPassword').errors.required) {\n return \"reEnterConfirmPassword\";\n } else if (this.isFormSubmitted &&\n this.accountCreationFormGroup.get('confirmPassword').errors &&\n this.accountCreationFormGroup.get('confirmPassword').errors.minlength) {\n return \"minlengthConfirmPassword\";\n } else {\n return \"\";\n }\n }\n}\n","module.exports = \"\\n
\\n
\\n
\\n\\n
\\n\\n
\\n\\n
\\n

Agent - Reset password

\\n
\\n \\n
\\n
\\n\\n\\n \\n
\\n\\n \\n \\n \\n Enter valid email address\\n \\n \\n {{ loginIdApiError}}\\n \\n \\n
\\n
\\n\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\\n
\\n\\n
\\n

Reset password

\\n
\\n\\n
\\n
\\n\\n
Password reset request successful!
\\n
An email has been sent to your email address if it is registered with us, it contains the password reset instruction.\\n
\\n \\n
\\n
\\n
\\n\\n
\\n\\n
\\n
\"","module.exports = \".content .right-block {\\n width: 100%; }\\n\\n.problem .question .answer a {\\n text-decoration: underline; }\\n\\n/*vendor overridden style-rules*/\\n\\n:host ::ng-deep .reset-pswd-outerbox {\\n width: 45rem;\\n margin: 15rem 0 0 15rem; }\\n\\n:host ::ng-deep .problems .problem .pro-title {\\n padding: 1.5rem 2rem;\\n background-color: #e5efef;\\n color: #46466e; }\\n\\n:host ::ng-deep .problems .problem .question {\\n padding: 2rem 2rem 2rem 2rem; }\\n\\n:host ::ng-deep .problems .problem .question .answer .heading5 {\\n padding-bottom: 0; }\\n\\n:host ::ng-deep .problems .problem .question .answer .heading5 a, :host ::ng-deep .problems .problem .question .answer .heading5 a:hover, :host ::ng-deep .problems .problem .question .answer .heading5 a:link {\\n color: #007bff; }\\n\\n:host ::ng-deep .problems .problem .question .answer .heading5 a:hover, :host ::ng-deep .problems .problem .question .answer .heading5 a:focus {\\n text-decoration: underline; }\\n\\n:host ::ng-deep .problems .problem .question .answer h3.main-info {\\n font-size: 1.71rem;\\n margin-left: 0; }\\n\\n:host ::ng-deep .problems .problem .question .answer .heading3.main-info {\\n font-size: 1.71rem;\\n margin-left: 0; }\\n\\n:host ::ng-deep .problems .problem .question .answer h3.more-info {\\n font-size: 1.425rem;\\n margin-left: 0;\\n padding-top: 1rem;\\n padding-bottom: 2rem; }\\n\\n:host ::ng-deep .problems .problem .question .answer .heading3.more-info {\\n font-size: 1.425rem;\\n margin-left: 0;\\n padding-top: 1rem;\\n padding-bottom: 2rem; }\\n\\n:host ::ng-deep .problems .problem .question .answer a.go-back-link {\\n font-size: 1.71rem;\\n margin-left: 0; }\\n\\n:host ::ng-deep .problems .problem .question .answer .choice-input.choice.valid span:last-of-type::after {\\n top: -1rem;\\n right: 0rem; }\\n\\n:host ::ng-deep .problems .problem .question .answer .choice-input span {\\n margin-left: 0;\\n margin-bottom: 3.5rem; }\\n\\n:host ::ng-deep .problems .problem .question .answer .choice-input span input {\\n font-size: 1.425rem;\\n padding: 0.8rem 1rem; }\\n\\n:host ::ng-deep .problems .problem .question .login-buttons {\\n display: flex;\\n justify-content: space-between; }\\n\\n:host ::ng-deep .problems .problem .question .login-buttons .btn {\\n flex-grow: 1;\\n padding: 10px;\\n font-size: 14.25px; }\\n\\n:host ::ng-deep .problems .problem .question .login-buttons .btn:first-child {\\n margin-right: 20px; }\\n\\n:host ::ng-deep .problems .problem .question .login-buttons .btn.btn-login {\\n background: #40806a;\\n color: white; }\\n\\n:host ::ng-deep .problems .problem .question .login-buttons .btn.btn-cancel {\\n background: #007faa;\\n color: white; }\\n\\n:host .problems .problem .question .answer .choice-input.choice.valid span:last-of-type::after {\\n display: none !important; }\\n\\n:host .problems .problem .question .answer .choice-input.choice.valid span:last-of-type .alert {\\n text-align: left;\\n left: 2rem;\\n color: #FF5A55;\\n font-size: 14px;\\n position: absolute; }\\n\\n:host .problems .problem .question .answer .choice-input.choice.valid span:last-of-type .alert::before {\\n content: '\\\\e600';\\n font-family: 'iconfont';\\n font-size: 24px;\\n position: absolute;\\n left: -2.4rem;\\n top: -1rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FnZW50LWZvcmdvdC1wYXNzd29yZC9EOlxcYVxcMTU1XFxzXFxEZWkuT25saW5lQXBwbGljYXRpb24uUHJvZFxcRGVpLk9ubGluZUFwcGxpY2F0aW9uLldlYlxcb25saW5lLWFwcC9zcmNcXGFwcFxcc2hhcmVkXFxhZ2VudC1mb3Jnb3QtcGFzc3dvcmRcXGFnZW50LWZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFdBQ0osRUFBQTs7QUFPQTtFQUdJLDBCQUEwQixFQUFBOztBQUc5QixnQ0FBQTs7QUFDQTtFQUdRLFlBQVk7RUFDWix1QkFBdUIsRUFBQTs7QUFKL0I7RUFXZ0Isb0JBQW9CO0VBQ3BCLHlCQUF5QjtFQUN6QixjQUFjLEVBQUE7O0FBYjlCO0VBaUJnQiw0QkFBNEIsRUFBQTs7QUFqQjVDO0lBc0J3QixpQkFBaUIsRUFBQTs7QUF0QnpDO01BeUI0QixjQUNKLEVBQUE7O0FBMUJ4QjtNQTZCNEIsMEJBQTBCLEVBQUE7O0FBN0J0RDtJQWtDd0Isa0JBQWtCO0lBQ2xCLGNBQWMsRUFBQTs7QUFuQ3RDO0lBdUN3QixrQkFBa0I7SUFDbEIsY0FBYyxFQUFBOztBQXhDdEM7SUE0Q3dCLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLG9CQUFvQixFQUFBOztBQS9DNUM7SUFtRHdCLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLG9CQUFvQixFQUFBOztBQXRENUM7SUEwRHdCLGtCQUFrQjtJQUNsQixjQUFjLEVBQUE7O0FBM0R0QztJQWtFb0MsVUFBVTtJQUNWLFdBQVcsRUFBQTs7QUFuRS9DO0lBeUU0QixjQUFjO0lBQ2QscUJBQXFCLEVBQUE7O0FBMUVqRDtNQTZFZ0MsbUJBQW1CO01BQ25CLG9CQUFvQixFQUFBOztBQTlFcEQ7SUFxRm9CLGFBQWE7SUFDYiw4QkFBOEIsRUFBQTs7QUF0RmxEO01BeUZ3QixZQUFZO01BQ1osYUFBYTtNQUViLGtCQUFrQixFQUFBOztBQTVGMUM7UUErRjRCLGtCQUFrQixFQUFBOztBQS9GOUM7UUFtRzRCLG1CQUFtQjtRQUNuQixZQUFZLEVBQUE7O0FBcEd4QztRQXdHNEIsbUJBQW1CO1FBRW5CLFlBQVksRUFBQTs7QUFTeEM7RUFHUSx3QkFBd0IsRUFBQTs7QUFIaEM7RUFPUSxnQkFBZ0I7RUFDaEIsVUFBVTtFQUNWLGNBQWM7RUFDZCxlQUFlO0VBQ2Ysa0JBQWtCLEVBQUE7O0FBWDFCO0lBY1ksZ0JBQWdCO0lBQ2hCLHVCQUF1QjtJQUN2QixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixVQUFVLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvYWdlbnQtZm9yZ290LXBhc3N3b3JkL2FnZW50LWZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb250ZW50IC5yaWdodC1ibG9jayB7XHJcbiAgICB3aWR0aDogMTAwJVxyXG59XHJcblxyXG4vLyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciBoMyB7XHJcbi8vICAgICBmb250LXNpemU6IDJyZW07XHJcbi8vICAgICBtYXJnaW46IDVweDtcclxuLy8gfVxyXG5cclxuLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgYSB7XHJcbiAgICAvLyBmb250LXNpemU6IDJyZW07XHJcbiAgICAvLyBtYXJnaW46IDVweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG4vKnZlbmRvciBvdmVycmlkZGVuIHN0eWxlLXJ1bGVzKi9cclxuOmhvc3QgOjpuZy1kZWVwIHtcclxuXHJcbiAgICAucmVzZXQtcHN3ZC1vdXRlcmJveCB7XHJcbiAgICAgICAgd2lkdGg6IDQ1cmVtO1xyXG4gICAgICAgIG1hcmdpbjogMTVyZW0gMCAwIDE1cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5wcm9ibGVtcyB7XHJcbiAgICAgICAgLnByb2JsZW0ge1xyXG5cclxuICAgICAgICAgICAgLnByby10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjVyZW0gMnJlbTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWVmZWY7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzQ2NDY2ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnF1ZXN0aW9uIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAycmVtIDJyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgLmFuc3dlciB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5oZWFkaW5nNSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgYSwgYTpob3ZlciwgYTpsaW5rIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDA3YmZmXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhOmhvdmVyLCBhOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBoMy5tYWluLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNzFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLmhlYWRpbmczLm1haW4taW5mbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43MXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBoMy5tb3JlLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNDI1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLmhlYWRpbmczLm1vcmUtaW5mbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40MjVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBhLmdvLWJhY2stbGluayB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43MXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAuY2hvaWNlLWlucHV0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5jaG9pY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi52YWxpZCBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZTo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC0xcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMHJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjVyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40MjVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC44cmVtIDFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubG9naW4tYnV0dG9ucyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5idG4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTQuMjVweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuYnRuLWxvZ2luIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0MDgwNmE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuYnRuLWNhbmNlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDA3ZmFhO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSAgIFxyXG59XHJcblxyXG46aG9zdCB7XHJcblxyXG4gICAgLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5jaG9pY2UtaW5wdXQuY2hvaWNlLnZhbGlkIHNwYW46bGFzdC1vZi10eXBlOjphZnRlciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlLWlucHV0LmNob2ljZS52YWxpZCBzcGFuOmxhc3Qtb2YtdHlwZSAuYWxlcnQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgbGVmdDogMnJlbTtcclxuICAgICAgICBjb2xvcjogI0ZGNUE1NTtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnXFxlNjAwJztcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29uZm9udCc7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAtMi40cmVtO1xyXG4gICAgICAgICAgICB0b3A6IC0xcmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ== */\"","import { Component, OnInit, Renderer2, OnDestroy } from '@angular/core';\nimport { AuthService } from '../services/auth.service';\nimport { FormBuilder, Validators, FormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { AWSCognitoErrorResponse } from '../models/error.model';\nimport { Title } from '@angular/platform-browser';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'online-app-agent-forgot-password',\n templateUrl: './agent-forgot-password.component.html',\n styleUrls: ['./agent-forgot-password.component.scss'],\n host: {\n class:'full-view-port-component-with-no-side-nav'\n }\n})\nexport class AgentForgotPasswordComponent implements OnInit, OnDestroy {\n\n constructor(private authService: AuthService, private fb: FormBuilder, private router: Router, private renderer: Renderer2,\n private titleService: Title) {\n this.titleService.setTitle(\"Online Application Portal - DE International - Agent\");\n this.renderer.addClass(document.body, 'login-screen');\n }\n\n forgotPasswordFormGroup: FormGroup;\n isFormSubmitted = false;\n forgotPasswordEventFired = false;\n loginIdApiError = '';\n \n private subscriptionsToDispose: Subscription[] = [];\n\n ngOnInit() {\n this.forgotPasswordFormGroup = this.fb.group({\n email: ['', Validators.compose([Validators.required, Validators.email, Validators.minLength(5)])]\n });\n\n this.subscriptionsToDispose.push(\n this.forgotPasswordFormGroup.get('email').valueChanges.subscribe(values => {\n this.isFormSubmitted = false;\n })\n );\n }\n\n forgotPassword() {\n\n this.isFormSubmitted = true;\n\n if (this.forgotPasswordFormGroup.valid) {\n const username = this.forgotPasswordFormGroup.get('email').value;\n this.authService.forgotAgentPassword(username)\n .subscribe(response => {\n console.log(response);\n this.forgotPasswordEventFired = true;\n }, (errorResponse: AWSCognitoErrorResponse) => {\n\n if (errorResponse.code === 'UserNotFoundException') {\n this.loginIdApiError = 'Enter valid email address';\n this.forgotPasswordFormGroup.get('email').setErrors({ apiValidationError: true });\n } else {\n this.loginIdApiError = errorResponse.message;\n this.forgotPasswordFormGroup.get('email').setErrors({ apiValidationError: true });\n }\n console.error(errorResponse);\n });\n }\n }\n\n cancelForgotPassword() {\n this.router.navigate(['/agent-login']);\n }\n\n ngOnDestroy() {\n this.subscriptionsToDispose.forEach(s => s.unsubscribe());\n this.renderer.removeClass(document.body, 'login-screen');\n }\n\n //show border when tab on link for accessibility\n linkTabAccessibility(event): void {\n event.style.outline = \"1px solid black\";\n }\n\n linkBlurAccessibility(event): void {\n event.style.outline = \"\";\n }\n\n errorPasswordAccessibility(): string {\n if (this.isFormSubmitted &&\n this.forgotPasswordFormGroup.get('loginId').errors &&\n this.forgotPasswordFormGroup.get('loginId').errors.required) {\n return \"requiredStudentNumber\";\n } else if (this.isFormSubmitted &&\n this.forgotPasswordFormGroup.get('loginId').errors &&\n this.forgotPasswordFormGroup.get('loginId').errors.apiValidationError) {\n return \"apiErrorStudentNumber\";\n } else {\n return \"\";\n }\n }\n}\n","module.exports = \"\\n
\\n
\\n
\\n\\n \\n\\n
\\n\\n
\\n\\n
\\n\\n
\\n

Agent - Login

\\n
\\n \\n
\\n
\\n\\n \\n
\\n\\n \\n \\n \\n  Enter valid email address\\n \\n \\n  {{loginErrorMessage}}\\n \\n \\n
\\n\\n\\n \\n
\\n\\n \\n \\n \\n  Enter your password\\n \\n \\n  {{loginErrorMessage}}\\n \\n \\n
\\n\\n Reset password\\n\\n
\\n\\n
\\n \\n \\n
\\n\\n

\\n \\n
\\n\\n
\\n\\n \\n\\n
\\n\\n
\\n\\n
\\n
\\n
\\n\"","module.exports = \".content .right-block {\\n width: 100%; }\\n\\n.problems .problem .question .answer h4 a,\\n.problems .problem .question .answer .heading4 a {\\n text-decoration: underline;\\n text-align: right;\\n color: #007bff;\\n font-size: 16px; }\\n\\n/*vendor overridden style-rules*/\\n\\n:host ::ng-deep .login-outer-box {\\n width: 54rem;\\n margin: 10rem 0 0 15rem; }\\n\\n:host ::ng-deep .block .problems .problem .pro-title {\\n padding: 1.5rem 2rem;\\n background-color: #e5efef;\\n color: #46466e; }\\n\\n:host ::ng-deep .block .problems .problem .question {\\n padding: 2rem 2rem 2rem 2rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .heading5 {\\n padding-bottom: 0; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .heading5 a, :host ::ng-deep .block .problems .problem .question .answer .heading5 a:hover, :host ::ng-deep .block .problems .problem .question .answer .heading5 a:link {\\n color: #007bff; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .heading5 a:hover, :host ::ng-deep .block .problems .problem .question .answer .heading5 a:focus {\\n text-decoration: underline; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input.choice.valid span:last-of-type::after {\\n top: -1rem;\\n right: 0rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input span {\\n margin-left: 0;\\n margin-bottom: 3.5rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input span input {\\n font-size: 1.425rem;\\n padding: 0.8rem 1rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input span.password-container {\\n position: relative; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input span.password-container .btn-toggle {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n right: 0;\\n color: #646e6e; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input span.password-container .btn-toggle:hover {\\n color: #646e6e; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input span.password-container .btn-toggle .svg-inline--fa {\\n position: relative;\\n top: 0.2rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .login-buttons {\\n display: flex;\\n justify-content: space-between; }\\n\\n:host ::ng-deep .block .problems .problem .question .login-buttons .btn {\\n flex-grow: 1;\\n padding: 10px;\\n font-size: 14.25px; }\\n\\n:host ::ng-deep .block .problems .problem .question .login-buttons .btn:first-child {\\n margin-right: 20px; }\\n\\n:host ::ng-deep .block .problems .problem .question .login-buttons .btn.btn-login {\\n background: #40806a;\\n color: white; }\\n\\n:host ::ng-deep .block .problems .problem .question .login-buttons .btn.btn-cancel {\\n background: #007faa;\\n color: white; }\\n\\n:host .block .problems .problem .question .answer .choice-input.choice.valid span:last-of-type::after {\\n display: none; }\\n\\n:host .problems .problem .question .answer .choice-input.choice.valid span:last-of-type .alert {\\n text-align: left;\\n left: 2rem;\\n color: #FF5A55;\\n font-size: 14px;\\n position: absolute; }\\n\\n:host .problems .problem .question .answer .choice-input.choice.valid span:last-of-type .alert::before {\\n content: '\\\\e600';\\n font-family: 'iconfont';\\n font-size: 24px;\\n position: absolute;\\n left: -2.4rem;\\n top: -1rem; }\\n\\n:host .reset-password-link {\\n position: relative;\\n top: -1rem;\\n margin-bottom: 1.25rem; }\\n\\n:host .page-specific-hyperlink {\\n display: inline-block;\\n font-size: 1.425rem;\\n border-bottom: 0.1rem solid transparent; }\\n\\n:host .page-specific-hyperlink:focus {\\n outline: 1px solid black; }\\n\\n:host .page-specific-hyperlink:hover {\\n border-bottom-color: #646e6e;\\n transition: border-bottom-color .2s; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FnZW50LWxvZ2luL0Q6XFxhXFwxNTVcXHNcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5Qcm9kXFxEZWkuT25saW5lQXBwbGljYXRpb24uV2ViXFxvbmxpbmUtYXBwL3NyY1xcYXBwXFxzaGFyZWRcXGFnZW50LWxvZ2luXFxhZ2VudC1sb2dpbi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFdBQ0osRUFBQTs7QUFFQTs7RUFFSSwwQkFBMEI7RUFDMUIsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxlQUFlLEVBQUE7O0FBR25CLGdDQUFBOztBQUNBO0VBSVEsWUFBWTtFQUNaLHVCQUF1QixFQUFBOztBQUwvQjtFQWFvQixvQkFBb0I7RUFDcEIseUJBQXlCO0VBQ3pCLGNBQWMsRUFBQTs7QUFmbEM7RUFtQm9CLDRCQUE0QixFQUFBOztBQW5CaEQ7SUF3QjRCLGlCQUFpQixFQUFBOztBQXhCN0M7TUEyQmdDLGNBQ0osRUFBQTs7QUE1QjVCO01BK0JnQywwQkFBMEIsRUFBQTs7QUEvQjFEO0lBdUN3QyxVQUFVO0lBQ1YsV0FBVyxFQUFBOztBQXhDbkQ7SUE4Q2dDLGNBQWM7SUFDZCxxQkFBcUIsRUFBQTs7QUEvQ3JEO01Ba0RvQyxtQkFBbUI7TUFDbkIsb0JBQW9CLEVBQUE7O0FBbkR4RDtNQXVEb0Msa0JBQWtCLEVBQUE7O0FBdkR0RDtRQTBEd0Msa0JBQWtCO1FBQ2xCLE1BQU07UUFDTixTQUFTO1FBQ1QsUUFBUTtRQUVSLGNBQWMsRUFBQTs7QUEvRHREO1VBa0U0QyxjQUFjLEVBQUE7O0FBbEUxRDtVQXNFNEMsa0JBQWtCO1VBQ2xCLFdBQ0osRUFBQTs7QUF4RXhDO0lBZ0Z3QixhQUFhO0lBQ2IsOEJBQThCLEVBQUE7O0FBakZ0RDtNQW9GNEIsWUFBWTtNQUNaLGFBQWE7TUFFYixrQkFBa0IsRUFBQTs7QUF2RjlDO1FBMEZnQyxrQkFBa0IsRUFBQTs7QUExRmxEO1FBOEZnQyxtQkFBbUI7UUFDbkIsWUFBWSxFQUFBOztBQS9GNUM7UUFtR2dDLG1CQUFtQjtRQUVuQixZQUFZLEVBQUE7O0FBVTVDO0VBR1EsYUFBYSxFQUFBOztBQUhyQjtFQU9RLGdCQUFnQjtFQUNoQixVQUFVO0VBQ1YsY0FBYztFQUNkLGVBQWU7RUFDZixrQkFBa0IsRUFBQTs7QUFYMUI7SUFjWSxnQkFBZ0I7SUFDaEIsdUJBQXVCO0lBQ3ZCLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLFVBQVUsRUFBQTs7QUFuQnRCO0VBd0JRLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1Ysc0JBQXNCLEVBQUE7O0FBMUI5QjtFQThCUSxxQkFBcUI7RUFDckIsbUJBQW1CO0VBRW5CLHVDQUF1QyxFQUFBOztBQWpDL0M7SUFxQ1ksd0JBQXdCLEVBQUE7O0FBckNwQztJQXlDWSw0QkFBNEI7SUFDNUIsbUNBQW1DLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvYWdlbnQtbG9naW4vYWdlbnQtbG9naW4uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY29udGVudCAucmlnaHQtYmxvY2sge1xyXG4gICAgd2lkdGg6IDEwMCVcclxufVxyXG5cclxuLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIGg0IGEsXHJcbi5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuaGVhZGluZzQgYSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgY29sb3I6ICMwMDdiZmY7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi8qdmVuZG9yIG92ZXJyaWRkZW4gc3R5bGUtcnVsZXMqL1xyXG46aG9zdCA6Om5nLWRlZXAge1xyXG5cclxuXHJcbiAgICAubG9naW4tb3V0ZXItYm94IHtcclxuICAgICAgICB3aWR0aDogNTRyZW07XHJcbiAgICAgICAgbWFyZ2luOiAxMHJlbSAwIDAgMTVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmJsb2NrIHtcclxuICAgICAgICAucHJvYmxlbXMge1xyXG4gICAgICAgICAgICAucHJvYmxlbSB7XHJcblxyXG4gICAgICAgICAgICAgICAgLnByby10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMS41cmVtIDJyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZWZlZjtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzQ2NDY2ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAucXVlc3Rpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAycmVtIDJyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5hbnN3ZXIge1xyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5oZWFkaW5nNSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSwgYTpob3ZlciwgYTpsaW5rIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwN2JmZlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYTpob3ZlciwgYTpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jaG9pY2UtaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5jaG9pY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYudmFsaWQgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC0xcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDByZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMy41cmVtO1xyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNDI1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjhyZW0gMXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLnBhc3N3b3JkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5idG4tdG9nZ2xlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNjQ2ZTZlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNjQ2ZTZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdmctaW5saW5lLS1mYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMC4ycmVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5sb2dpbi1idXR0b25zIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTQuMjVweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmJ0bi1sb2dpbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzQwODA2YTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5idG4tY2FuY2VsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDA3ZmFhO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9ICAgIFxyXG59XHJcblxyXG46aG9zdCB7XHJcblxyXG4gICAgLmJsb2NrIC5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlLWlucHV0LmNob2ljZS52YWxpZCBzcGFuOmxhc3Qtb2YtdHlwZTo6YWZ0ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5jaG9pY2UtaW5wdXQuY2hvaWNlLnZhbGlkIHNwYW46bGFzdC1vZi10eXBlIC5hbGVydCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBsZWZ0OiAycmVtO1xyXG4gICAgICAgIGNvbG9yOiAjRkY1QTU1O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGU2MDAnO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ2ljb25mb250JztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0yLjRyZW07XHJcbiAgICAgICAgICAgIHRvcDogLTFyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5yZXNldC1wYXNzd29yZC1saW5rIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiAtMXJlbTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5wYWdlLXNwZWNpZmljLWh5cGVybGluayB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS40MjVyZW07XHJcbiAgICAgICAgLy8gZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAwLjFyZW0gc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgXHJcblxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgYmxhY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzY0NmU2ZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWJvdHRvbS1jb2xvciAuMnM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19 */\"","import { Component, OnInit, OnDestroy, Renderer2 } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Store } from '@ngrx/store';\nimport { AuthService } from '../services/auth.service';\nimport { Router } from '@angular/router';\nimport { AWSCognitoErrorResponse } from '../models/error.model';\nimport { Action_SetAgentUserObjectToCompleteRegistration, Action_Set_CurrentUserType } from '../state/actions';\nimport { configureAmplify } from '../config/aws.config';\nimport { LookupService } from '../services/lookup.service';\nimport { SingleResultApiResponse } from '../models/api-response.model';\nimport { AWSSettings } from '../models/aws-settings.model';\nimport { Title } from '@angular/platform-browser';\nimport { Subscription } from 'rxjs';\n\n\n@Component({\n selector: 'online-app-agent-login',\n templateUrl: './agent-login.component.html',\n styleUrls: ['./agent-login.component.scss']\n})\nexport class AgentLoginComponent implements OnInit, OnDestroy {\n\n constructor(private fb: FormBuilder,\n private store: Store,\n private authService: AuthService,\n private lookupService: LookupService,\n private renderer: Renderer2,\n private router: Router,\n private titleService: Title) {\n this.titleService.setTitle(\"Online Application Portal - DE International - Agent\");\n this.renderer.addClass(document.body, 'login-screen');\n }\n\n loginFormGroup: FormGroup;\n isFormSubmitted = false;\n loginErrorMessage = '';\n\n showNotification: boolean;\n notificationMessage: string;\n phase1Decommissioned: boolean;\n \n private subscriptionsToDispose: Subscription[] = [];\n\n ngOnInit() {\n\n this.lookupService.getAWSAuthSettings(true)\n .subscribe((response: SingleResultApiResponse) => {\n\n if (response.Result) {\n //console.log('getAWSAuthSettings - response.Result');\n //console.log(response.Result);\n const awsSettings: AWSSettings = {\n Region: response.Result.Region,\n UserPoolId: response.Result.UserPoolId,\n UserPoolWebClientId: response.Result.UserPoolWebClientId,\n IdentityPoolId: response.Result.IdentityPoolId,\n AuthenticationFlowType: response.Result.AuthenticationFlowType,\n BucketName: response.Result.BucketName\n };\n\n localStorage.setItem('awsSettings', JSON.stringify(awsSettings));\n\n configureAmplify(true);\n }\n\n }, err => {\n console.log('error happened while calling AWS Auth Settings');\n }, () => {\n });\n\n this.lookupService.getNotificationSettings(2)\n .subscribe((response: SingleResultApiResponse) => {\n if (response.Result) {\n this.showNotification = response.Result.Item1;\n this.notificationMessage = response.Result.Item2;\n this.phase1Decommissioned = response.Result.Item3;\n }\n }, err => {\n console.log('error happened while calling Notification Settings');\n });\n\n this.loginFormGroup = this.fb.group({\n loginId: ['', Validators.compose([Validators.required, Validators.email, Validators.minLength(5)])],\n password: ['', Validators.compose([Validators.required])],\n });\n\n\n this.subscriptionsToDispose.push(\n this.loginFormGroup.get('loginId').valueChanges.subscribe(values => {\n this.isFormSubmitted = false;\n })\n );\n\n this.subscriptionsToDispose.push(\n this.loginFormGroup.get('password').valueChanges.subscribe(values => {\n this.isFormSubmitted = false;\n })\n );\n\n }\n\n ngOnDestroy() {\n this.subscriptionsToDispose.forEach(s => s.unsubscribe());\n this.renderer.removeClass(document.body, 'login-screen');\n }\n\n login(): void {\n\n //We agree for agent email, both Marketing Portal & Online Application use lower case to register / authenticate\n const loginId = !!this.loginFormGroup.get('loginId').value ? this.loginFormGroup.get('loginId').value.trim().toLowerCase() : '';\n const password = this.loginFormGroup.get('password').value;\n\n \n if (!loginId) {\n this.loginFormGroup.get('loginId').setValue(null);\n this.loginFormGroup.updateValueAndValidity();\n }\n\n if (!password) {\n this.loginFormGroup.get('password').setValue(null);\n this.loginFormGroup.updateValueAndValidity();\n }\n \n this.isFormSubmitted = true;\n\n if (this.loginFormGroup.valid) {\n\n //console.log(localStorage.getItem('awsSettings'));\n\n this.authService.agentLogin(loginId, password)\n .subscribe((user) => {\n\n if (user.challengeName === 'NEW_PASSWORD_REQUIRED') {\n\n this.store.dispatch({\n type: Action_SetAgentUserObjectToCompleteRegistration,\n payload: user\n });\n\n this.router.navigate(['/agent-set-password']);\n } else {\n\n this.store.dispatch({\n type: Action_Set_CurrentUserType,\n payload: 'agent'\n });\n\n localStorage.setItem('userType', 'agent');\n\n localStorage.setItem('id_token', user.signInUserSession.idToken.jwtToken);\n\n this.authService.storeCognitoIdentityId(user);\n\n this.router.navigate(['/applications', 'agent-dashboard']);\n }\n\n }, (err: AWSCognitoErrorResponse) => {\n\n //console.log('AWSCognitoErrorResponse-err: ', err);\n if (err.code === 'UserNotConfirmedException') {\n this.loginErrorMessage = 'It seems that you\\'ve not confirmed your registration. Please check your email';\n this.loginFormGroup.get('loginId').setErrors({ notConfirmed: true });\n } else if (err.code === 'NotAuthorizedException') {\n this.loginErrorMessage = 'Invalid email address or password';\n this.loginFormGroup.get('loginId').setErrors({ notAuthorized: true });\n this.loginFormGroup.get('password').setErrors({ notAuthorized: true });\n } else {\n this.loginErrorMessage = 'Invalid email address or password';\n this.loginFormGroup.get('loginId').setErrors({ generalUnAuthorized: true });\n this.loginFormGroup.get('password').setErrors({ notAuthorized: true });\n }\n\n this.loginFormGroup.updateValueAndValidity();\n\n console.error(err);\n });\n }\n }\n\n cancelLogin(): void {\n this.router.navigate(['/welcome-agent']);\n }\n\n //show border when tab on link for accessibility\n linkTabAccessibility(event): void {\n event.style.outline = \"1px solid black\";\n }\n\n linkBlurAccessibility(event): void {\n event.style.outline = \"\";\n }\n\n //accessibility -- link error msg to form field\n errorStudentNumberAccessibility(): string {\n if (this.isFormSubmitted && this.loginFormGroup.get('loginId').errors && this.loginFormGroup.get('loginId').errors.required) {\n return \"requireStudentNo\";\n } else if (this.isFormSubmitted && this.loginFormGroup.get('loginId').errors &&\n (this.loginFormGroup.get('loginId').errors.notAuthorized ||\n this.loginFormGroup.get('loginId').errors.notConfirmed ||\n this.loginFormGroup.get('loginId').errors.generalUnAuthorized)) {\n return \"loginErrorMsg\";\n } else {\n return \"\";\n }\n }\n\n errorPasswordAccessibility(): string {\n if (this.isFormSubmitted && this.loginFormGroup.get('password').errors && this.loginFormGroup.get('password').errors.required) {\n return \"requirePassword\";\n } else if (this.isFormSubmitted && this.loginFormGroup.get('password').errors &&\n (this.loginFormGroup.get('password').errors.notAuthorized ||\n this.loginFormGroup.get('password').errors.notConfirmed ||\n this.loginFormGroup.get('password').errors.generalUnAuthorized)) {\n return \"passwordErrorMsg\";\n } else {\n return \"\";\n }\n }\n}\n","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n

Agent - Reset Password

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
Email: {{forgotPasswordDetails.agentEmail}}
\\r\\n\\r\\n
 
\\r\\n\\r\\n
\\r\\n \\r\\n
Password requirements
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Password is required\\r\\n \\r\\n \\r\\n Password should be of atleast 6 characters\\r\\n \\r\\n\\r\\n \\r\\n Passwords don't match\\r\\n \\r\\n \\r\\n {{loginIdErrorMessage}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Please re-enter your new password\\r\\n \\r\\n \\r\\n Password should be of atleast 6 characters\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","module.exports = \".content .right-block {\\n width: 100%; }\\n\\n/*vendor overridden style-rules*/\\n\\n:host ::ng-deep .reset-pswd-outerbox {\\n width: 45rem;\\n margin: 15rem 0 0 15rem; }\\n\\n:host ::ng-deep .block .problems .problem .pro-title {\\n padding: 1.5rem 2rem;\\n background-color: #e5efef;\\n color: #46466e; }\\n\\n:host ::ng-deep .block .problems .problem .question {\\n padding: 2rem 2rem 2rem 2rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .heading5 {\\n padding-bottom: 0; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .heading5 a, :host ::ng-deep .block .problems .problem .question .answer .heading5 a:hover, :host ::ng-deep .block .problems .problem .question .answer .heading5 a:link {\\n color: #007bff; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .heading5 a:hover, :host ::ng-deep .block .problems .problem .question .answer .heading5 a:focus {\\n text-decoration: underline; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input.choice.valid span:last-of-type::after {\\n top: -1rem;\\n right: 0rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input span {\\n margin-left: 0;\\n margin-bottom: 3.5rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input span input {\\n font-size: 1.425rem;\\n padding: 0.8rem 1rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer div.new-password {\\n clear: both; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer div.new-password .npw-text {\\n float: left; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer div.new-password .npw-hint {\\n float: right;\\n color: blue; }\\n\\n:host ::ng-deep .block .problems .problem .question .login-buttons {\\n display: flex;\\n justify-content: space-between; }\\n\\n:host ::ng-deep .block .problems .problem .question .login-buttons .btn {\\n flex-grow: 1;\\n padding: 10px;\\n font-size: 14.25px; }\\n\\n:host ::ng-deep .block .problems .problem .question .login-buttons .btn:first-child {\\n margin-right: 20px; }\\n\\n:host ::ng-deep .block .problems .problem .question .login-buttons .btn.btn-login {\\n background: #40806a;\\n color: white; }\\n\\n:host ::ng-deep .block .problems .problem .question .login-buttons .btn.btn-cancel {\\n background: #007faa;\\n color: white; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FnZW50LXJlc2V0LXBhc3N3b3JkL0Q6XFxhXFwxNTVcXHNcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5Qcm9kXFxEZWkuT25saW5lQXBwbGljYXRpb24uV2ViXFxvbmxpbmUtYXBwL3NyY1xcYXBwXFxzaGFyZWRcXGFnZW50LXJlc2V0LXBhc3N3b3JkXFxhZ2VudC1yZXNldC1wYXNzd29yZC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFdBQ0osRUFBQTs7QUFHQSxnQ0FBQTs7QUFDQTtFQUlJLFlBQVk7RUFDWix1QkFBdUIsRUFBQTs7QUFMM0I7RUFhVSxvQkFBb0I7RUFDcEIseUJBQXlCO0VBQ3pCLGNBQWMsRUFBQTs7QUFmeEI7RUFtQlUsNEJBQTRCLEVBQUE7O0FBbkJ0QztJQXdCYyxpQkFBaUIsRUFBQTs7QUF4Qi9CO01BMkJnQixjQUNGLEVBQUE7O0FBNUJkO01BZ0NnQiwwQkFBMEIsRUFBQTs7QUFoQzFDO0lBd0NvQixVQUFVO0lBQ1YsV0FBVyxFQUFBOztBQXpDL0I7SUErQ2dCLGNBQWM7SUFDZCxxQkFBcUIsRUFBQTs7QUFoRHJDO01BbURrQixtQkFBbUI7TUFDbkIsb0JBQW9CLEVBQUE7O0FBcER0QztJQTBEYyxXQUFXLEVBQUE7O0FBMUR6QjtNQTZEZ0IsV0FBVyxFQUFBOztBQTdEM0I7TUFpRWdCLFlBQVk7TUFDWixXQUFXLEVBQUE7O0FBbEUzQjtJQXdFWSxhQUFhO0lBQ2IsOEJBQThCLEVBQUE7O0FBekUxQztNQTRFYyxZQUFZO01BQ1osYUFBYTtNQUViLGtCQUFrQixFQUFBOztBQS9FaEM7UUFrRmdCLGtCQUFrQixFQUFBOztBQWxGbEM7UUFzRmdCLG1CQUFtQjtRQUNuQixZQUFZLEVBQUE7O0FBdkY1QjtRQTJGZ0IsbUJBQW1CO1FBRW5CLFlBQVksRUFBQSIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9hZ2VudC1yZXNldC1wYXNzd29yZC9hZ2VudC1yZXNldC1wYXNzd29yZC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb250ZW50IC5yaWdodC1ibG9jayB7XHJcbiAgICB3aWR0aDogMTAwJVxyXG59XHJcblxyXG5cclxuLyp2ZW5kb3Igb3ZlcnJpZGRlbiBzdHlsZS1ydWxlcyovXHJcbjpob3N0IDo6bmctZGVlcCB7XHJcblxyXG5cclxuICAucmVzZXQtcHN3ZC1vdXRlcmJveCB7XHJcbiAgICB3aWR0aDogNDVyZW07XHJcbiAgICBtYXJnaW46IDE1cmVtIDAgMCAxNXJlbTtcclxuICB9XHJcblxyXG4gIC5ibG9jayB7XHJcbiAgICAucHJvYmxlbXMge1xyXG4gICAgICAucHJvYmxlbSB7XHJcblxyXG4gICAgICAgIC5wcm8tdGl0bGUge1xyXG4gICAgICAgICAgcGFkZGluZzogMS41cmVtIDJyZW07XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlZmVmO1xyXG4gICAgICAgICAgY29sb3I6ICM0NjQ2NmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucXVlc3Rpb24ge1xyXG4gICAgICAgICAgcGFkZGluZzogMnJlbSAycmVtIDJyZW0gMnJlbTtcclxuXHJcbiAgICAgICAgICAuYW5zd2VyIHtcclxuXHJcbiAgICAgICAgICAgIC5oZWFkaW5nNSB7XHJcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcblxyXG4gICAgICAgICAgICAgIGEsIGE6aG92ZXIsIGE6bGluayB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwN2JmZlxyXG4gICAgICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICAgICAgIGE6aG92ZXIsIGE6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAuY2hvaWNlLWlucHV0IHtcclxuICAgICAgICAgICAgICAmLmNob2ljZSB7XHJcbiAgICAgICAgICAgICAgICAmLnZhbGlkIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZTo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDByZW07XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjVyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNDI1cmVtO1xyXG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjhyZW0gMXJlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGRpdi5uZXctcGFzc3dvcmQge1xyXG4gICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xyXG5cclxuICAgICAgICAgICAgICAubnB3LXRleHQge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAubnB3LWhpbnQge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGJsdWU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmxvZ2luLWJ1dHRvbnMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgICAgICAgICAuYnRuIHtcclxuICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgICAvLyBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTQuMjVweDtcclxuXHJcbiAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAmLmJ0bi1sb2dpbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNDA4MDZhO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgJi5idG4tY2FuY2VsIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDdmYWE7XHJcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, OnDestroy, Renderer2 } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { AuthService } from '../services/auth.service';\nimport { Store, select } from '@ngrx/store';\nimport { Subscription } from 'rxjs';\nimport { AWSCognitoErrorResponse } from '../models/error.model';\nimport { Title } from '@angular/platform-browser';\n\n@Component({\n selector: 'online-app-agent-reset-password',\n templateUrl: './agent-reset-password.component.html',\n styleUrls: ['./agent-reset-password.component.scss']\n})\nexport class AgentResetPasswordComponent implements OnInit, OnDestroy {\n\n constructor(private router: Router,\n private fb: FormBuilder,\n private authService: AuthService,\n private renderer: Renderer2,\n private store: Store,\n private titleService: Title) {\n this.titleService.setTitle(\"Online Application Portal - DE International - Agent\");\n this.renderer.addClass(document.body, 'login-screen');\n }\n\n sharedStateSubscription: Subscription;\n forgotPasswordDetails: any;\n resetPasswordFormGroup: FormGroup;\n isFormSubmitted = false;\n loginIdErrorMessage = '';\n tooltipArray: string[] = [];\n tooltipArrayDisplay: string;\n\n\n ngOnInit() {\n\n this.resetPasswordFormGroup = this.fb.group({\n accountPassword: ['', [Validators.required, Validators.minLength(6)]],\n confirmPassword: ['', [Validators.required, Validators.minLength(6)]],\n });\n\n this.setTooltip();\n\n this.sharedStateSubscription = this.store\n .pipe(select('shared'))\n .subscribe(sharedState => {\n if (sharedState) {\n //console.log('forgot password details');\n //console.log(sharedState.forgotPasswordDetails);\n this.forgotPasswordDetails = sharedState.forgotPasswordDetails;\n } else {\n this.router.navigate(['/agent-forgot-password']);\n }\n });\n }\n\n validatePasswords(): boolean {\n const accountPassword = this.resetPasswordFormGroup.get('accountPassword').value;\n const confirmPassword = this.resetPasswordFormGroup.get('confirmPassword').value;\n\n return accountPassword === confirmPassword;\n\n }\n\n // validateLoginId(loginId): boolean {\n // const formLoginId = this.resetPasswordFormGroup.get('loginId').value;\n // return formLoginId.toLowerCase() === loginId.toLowerCase();\n // }\n\n resetPassword() {\n\n this.isFormSubmitted = true;\n\n\n if (this.resetPasswordFormGroup.valid) {\n\n if (!this.validatePasswords()) {\n this.resetPasswordFormGroup.get('accountPassword').setErrors({passwordsDontMatch: true});\n this.resetPasswordFormGroup.updateValueAndValidity();\n return ;\n }\n\n const { username, verificationCode } = this.forgotPasswordDetails;\n\n // if (!this.validateLoginId(username)) {\n // this.resetPasswordFormGroup.get('loginId').setErrors({invalidLoginId: true});\n // this.resetPasswordFormGroup.updateValueAndValidity();\n // return ;\n // }\n\n const password = this.resetPasswordFormGroup.get('accountPassword').value;\n\n //console.log(`username:${username}, verificationcode:${verificationCode}, password:${password}`);\n\n this.authService.resetPassword(username, verificationCode, password)\n .subscribe( response => {\n //console.log(response);\n //console.log('successfully reset the password for Agent');\n this.router.navigate(['/agent-login']);\n }, (err: AWSCognitoErrorResponse) => {\n this.loginIdErrorMessage = err.message;\n this.resetPasswordFormGroup.get('accountPassword').setErrors({loginIdApiError: true});\n //console.log('error while resetting the password for agent');\n //console.log(err);\n });\n\n\n } else {\n //console.log(' form is not valid');\n //console.log(this.resetPasswordFormGroup.value);\n }\n\n\n }\n\n\n\n ngOnDestroy() {\n this.renderer.removeClass(document.body, 'login-screen');\n }\n\n\n setTooltip() {\n this.tooltipArray.push(\"1. Your password length must be between 8 and 20 characters.\");\n this.tooltipArray.push(\"2. Your password must have at least one number.\");\n this.tooltipArray.push(\"3. Your password must have at least one alphabet.\");\n this.tooltipArray.push(\"4. Your password must have at least one upper case character.\");\n this.tooltipArray.push(\"5. Your password must have at least one lower case character.\");\n this.tooltipArray.push(\"6. Your password must contain at least one special character from the list given below:\");\n this.tooltipArray.push(\" ^ $ * . [ ] {} ( ) ? - \\\"! @ # % & / , > < ' : ; | _ ~ `\");\n\n\n this.tooltipArrayDisplay = this.tooltipArray.join(\"\\r\\n\");\n }\n\n errorPasswordAccessibility(): string {\n if (this.isFormSubmitted &&\n this.resetPasswordFormGroup.get('accountPassword').errors &&\n this.resetPasswordFormGroup.get('accountPassword').errors.required) {\n return \"requiredPassword\";\n } else if (this.isFormSubmitted &&\n this.resetPasswordFormGroup.get('accountPassword').errors &&\n this.resetPasswordFormGroup.get('accountPassword').errors.minlength) {\n return \"minlengthPassword\";\n } else if (this.isFormSubmitted &&\n this.resetPasswordFormGroup.get('accountPassword').errors &&\n this.resetPasswordFormGroup.get('accountPassword').errors.passwordsDontMatch) {\n return \"matchPassword\";\n } else if(this.isFormSubmitted && this.resetPasswordFormGroup.get('accountPassword').errors &&\n this.resetPasswordFormGroup.get('accountPassword').errors.loginIdApiError){\n return \"apiErrorPassword\";\n } else {\n return \"\";\n }\n }\n\n errorConfirmPasswordAccessibility(): string {\n if (this.isFormSubmitted &&\n this.resetPasswordFormGroup.get('confirmPassword').errors &&\n this.resetPasswordFormGroup.get('confirmPassword').errors.required) {\n return \"reEnterConfirmPassword\";\n } else if (this.isFormSubmitted &&\n this.resetPasswordFormGroup.get('confirmPassword').errors &&\n this.resetPasswordFormGroup.get('confirmPassword').errors.minlength) {\n return \"minlengthConfirmPassword\";\n } else {\n return \"\";\n }\n }\n}\n","module.exports = \"\\n\\n
\\n
\\n
\\n\\n
\\n

Agent Set Password

\\n
\\n\\n
\\n\\n
\\n\\n
\\n\\n
\\n

Agent Set Password

\\n
\\n \\n
\\n
\\n\\n
Agent Login ID : {{user.username}}
\\n\\n \\n
\\n\\n \\n \\n \\n Password is required\\n \\n \\n Password should be of atleast 8 characters\\n \\n\\n \\n Passwords don't match\\n \\n \\n
\\n\\n\\n \\n
\\n\\n \\n \\n \\n Confirm Password is required\\n \\n \\n Confirm Password should be of atleast 8 characters\\n \\n \\n
\\n\\n\\n
\\n
\\n\\n
\\n\\n\\n
\\n \\n
\\n\\n
\\n\\n
\\n
\\n
\\n
\\n\"","module.exports = \".content .right-block {\\n width: 100%; }\\n\\n.problems .problem .question .answer h4 a,\\n.problems .problem .question .answer .heading4 a {\\n text-decoration: underline;\\n text-align: right;\\n color: #007bff;\\n font-size: 16px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FnZW50LXNldC1wYXNzd29yZC9EOlxcYVxcMTU1XFxzXFxEZWkuT25saW5lQXBwbGljYXRpb24uUHJvZFxcRGVpLk9ubGluZUFwcGxpY2F0aW9uLldlYlxcb25saW5lLWFwcC9zcmNcXGFwcFxcc2hhcmVkXFxhZ2VudC1zZXQtcGFzc3dvcmRcXGFnZW50LXNldC1wYXNzd29yZC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFdBQ0osRUFBQTs7QUFFQTs7RUFFSSwwQkFBMEI7RUFDMUIsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxlQUFlLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvYWdlbnQtc2V0LXBhc3N3b3JkL2FnZW50LXNldC1wYXNzd29yZC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb250ZW50IC5yaWdodC1ibG9jayB7XHJcbiAgICB3aWR0aDogMTAwJVxyXG59XHJcblxyXG4ucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgaDQgYSxcclxuLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5oZWFkaW5nNCBhIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBjb2xvcjogIzAwN2JmZjtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxufSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { AuthService } from '../services/auth.service';\nimport { Router } from '@angular/router';\nimport { Store, select } from '@ngrx/store';\nimport { Title } from '@angular/platform-browser';\n\n@Component({\n selector: 'online-app-agent-set-password',\n templateUrl: './agent-set-password.component.html',\n styleUrls: ['./agent-set-password.component.scss']\n})\nexport class AgentSetPasswordComponent implements OnInit {\n\n agentSetPasswordFormGroup: FormGroup;\n user: any;\n isFormSubmitted = false;\n\n constructor(private fb: FormBuilder,\n private store: Store,\n private router: Router,\n private authService: AuthService,\n private titleService: Title) {\n this.titleService.setTitle(\"Online Application Portal - DE International - Agent\");\n }\n\n ngOnInit() {\n\n\n this.agentSetPasswordFormGroup = this.fb.group({\n accountPassword: ['', [Validators.required, Validators.minLength(8)]],\n confirmPassword: ['', [Validators.required, Validators.minLength(8)]],\n });\n\n\n this.store.pipe(select('shared'))\n .subscribe( sharedState => {\n if (sharedState) {\n this.user = sharedState.agentUserObject;\n } else {\n this.user = null;\n }\n });\n\n }\n\n validatePasswords(): boolean {\n const accountPassword = this.agentSetPasswordFormGroup.get('accountPassword').value;\n const confirmPassword = this.agentSetPasswordFormGroup.get('confirmPassword').value;\n\n return accountPassword === confirmPassword;\n }\n\n setPassword() {\n\n this.isFormSubmitted = true;\n\n if (this.agentSetPasswordFormGroup.valid) {\n\n if (!this.validatePasswords()) {\n this.agentSetPasswordFormGroup.get('accountPassword').setErrors({passwordsDontMatch: true});\n this.agentSetPasswordFormGroup.updateValueAndValidity();\n return ;\n }\n\n const accountPassword = this.agentSetPasswordFormGroup.get('accountPassword').value;\n this.authService.completeNewPassword(this.user, accountPassword)\n .subscribe( (user) => {\n this.router.navigate(['/applications', 'agent-dashboard']);\n }, (err: any) => {\n //console.log('error happened while setting the new password');\n //console.log(err);\n });\n\n }\n }\n\n errorPasswordAccessibility(): string {\n if (this.isFormSubmitted &&\n this.agentSetPasswordFormGroup.get('accountPassword').errors &&\n this.agentSetPasswordFormGroup.get('accountPassword').errors.required) {\n return \"requiredPassword\";\n } else if (this.isFormSubmitted &&\n this.agentSetPasswordFormGroup.get('accountPassword').errors &&\n this.agentSetPasswordFormGroup.get('accountPassword').errors.minlength) {\n return \"minlengthPassword\";\n } else if (this.isFormSubmitted &&\n this.agentSetPasswordFormGroup.get('accountPassword').errors &&\n this.agentSetPasswordFormGroup.get('accountPassword').errors.passwordsDontMatch) {\n return \"matchPassword\";\n } else {\n return \"\";\n }\n }\n\n errorConfirmPasswordAccessibility(): string {\n if (this.isFormSubmitted &&\n this.agentSetPasswordFormGroup.get('confirmPassword').errors &&\n this.agentSetPasswordFormGroup.get('confirmPassword').errors.required) {\n return \"reEnterConfirmPassword\";\n } else if (this.isFormSubmitted &&\n this.agentSetPasswordFormGroup.get('confirmPassword').errors &&\n this.agentSetPasswordFormGroup.get('confirmPassword').errors.minlength) {\n return \"minlengthConfirmPassword\";\n } else {\n return \"\";\n }\n }\n}\n","module.exports = \"

\\n agent-auth works!\\n

\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9hdXRoL2FnZW50LWF1dGgvYWdlbnQtYXV0aC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\nimport { configureAmplify } from '../../config/aws.config';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AuthService } from '../../services/auth.service';\nimport { RegistrationService } from '../../services/registration.service';\nimport { AWSCognitoErrorResponse } from '../../models/error.model';\n\n@Component({\n selector: 'online-app-agent-auth',\n templateUrl: './agent-auth.component.html',\n styleUrls: ['./agent-auth.component.scss']\n})\nexport class AgentAuthComponent implements OnInit {\n\n agentRegistrationConfirmationSuccessful = false;\n errorMessage: string;\n userAlreadyConfirmed = false;\n\n constructor(private authService: AuthService,\n private router: Router,\n private registrationService: RegistrationService,\n private activatedRoute: ActivatedRoute) { }\n\n ngOnInit() {\n\n configureAmplify(false);\n\n const username = this.activatedRoute.snapshot.queryParamMap.get('username');\n\n const tempPassword = this.activatedRoute.snapshot.queryParamMap.get('tempPassword');\n //console.log(`username: ${username}, tempPassword:${tempPassword}`);\n\n if (username && tempPassword) {\n\n this.authService.agentLogin(username, tempPassword)\n .subscribe( user => {\n\n if (user.challengeName === 'NEW_PASSWORD_REQUIRED') {\n //console.log('got challenge NEW_PASSWORD_REQUIRED');\n }\n\n });\n\n\n\n }\n\n }\n}\n","module.exports = \"\\n
\\n\\n
\\n
\\n\\n
\\n

Registration Confirmation

\\n
\\n\\n
\\n\\n
\\n\\n
\\n

Account Confirmation

\\n
\\n\\n
\\n
\\n
\\n Your registration is confirmed. Please click here to login\\n
\\n
\\n
\\n
\\n There is some problem in authenticating your account. Please contact DE International.\\n
\\n
\\n
\\n
\\n This account has already been activated. You can now login using your Student Number and password\\n credentials.\\n
\\n
\\n
\\n\\n
\\n\\n
\\n
\\n
\\n
\\n\\n\\n\"","module.exports = \".content .right-block {\\n width: 100%; }\\n\\n.problems .problem .question .answer h4 a,\\n.problems .problem .question .answer .heading4 a {\\n text-decoration: underline;\\n text-align: right;\\n color: #007bff;\\n font-size: 16px; }\\n\\n.content .right-block .problems .problem .question h4,\\n.content .right-block .problems .problem .question .heading4 {\\n text-decoration: none; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2F1dGgvRDpcXGFcXDE1NVxcc1xcRGVpLk9ubGluZUFwcGxpY2F0aW9uLlByb2RcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5XZWJcXG9ubGluZS1hcHAvc3JjXFxhcHBcXHNoYXJlZFxcYXV0aFxcYXV0aC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFdBQ0osRUFBQTs7QUFFQTs7RUFFSSwwQkFBMEI7RUFDMUIsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxlQUFlLEVBQUE7O0FBS25COztFQUVJLHFCQUFxQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2F1dGgvYXV0aC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb250ZW50IC5yaWdodC1ibG9jayB7XHJcbiAgICB3aWR0aDogMTAwJVxyXG59XHJcblxyXG4ucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgaDQgYSxcclxuLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5oZWFkaW5nNCBhIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBjb2xvcjogIzAwN2JmZjtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxufVxyXG5cclxuXHJcblxyXG4uY29udGVudCAucmlnaHQtYmxvY2sgLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiBoNCxcclxuLmNvbnRlbnQgLnJpZ2h0LWJsb2NrIC5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmhlYWRpbmc0IHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from 'src/app/shared/services/auth.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { RegistrationService } from '../services/registration.service';\nimport { Action_StoreForgotPasswordDetails } from '../state/actions';\nimport { AWSCognitoErrorResponse } from '../models/error.model';\nimport { configureAmplify } from '../config/aws.config';\nimport { LookupService } from '../services/lookup.service';\nimport { SingleResultApiResponse } from '../models/api-response.model';\nimport { AWSSettings } from '../models/aws-settings.model';\nimport { AccessibilityService } from '../services/accessibility.service';\n\n\n@Component({\n selector: 'online-app-auth',\n templateUrl: './auth.component.html',\n styleUrls: ['./auth.component.scss'],\n host: {\n class:'full-view-port-component-with-no-side-nav'\n }\n})\nexport class AuthComponent implements OnInit {\n\n\n constructor(\n private authService: AuthService,\n private registrationService: RegistrationService,\n private lookupService: LookupService,\n private router: Router,\n private store: Store,\n private activatedRoute: ActivatedRoute,\n private accessibilityService: AccessibilityService) { }\n\n errorMessage: string;\n registrationConfirmationSuccessful = false;\n userAlreadyConfirmed = false;\n\n ngOnInit() {\n\n // Auth.configure(AuthConfig);\n const username = this.activatedRoute.snapshot.queryParamMap.get('username');\n\n const verificationCode = this.activatedRoute.snapshot.queryParamMap.get('verificationCode');\n\n const forgotPassword = this.activatedRoute.snapshot.queryParamMap.get('forgotPassword') === 'true';\n\n const isAgent = this.activatedRoute.snapshot.queryParamMap.get('isAgent') === 'true';\n\n const agentEmail = this.activatedRoute.snapshot.queryParamMap.get('email');\n\n\n\n //2020-03 No matter which module, always load AWS settings at begining!!\n\n this.lookupService.getAWSAuthSettings(isAgent)\n .subscribe((response: SingleResultApiResponse) => {\n\n if (response.Result) {\n\n const awsSettings: AWSSettings = {\n Region: response.Result.Region,\n UserPoolId: response.Result.UserPoolId,\n UserPoolWebClientId: response.Result.UserPoolWebClientId,\n IdentityPoolId: response.Result.IdentityPoolId,\n AuthenticationFlowType: response.Result.AuthenticationFlowType,\n BucketName: response.Result.BucketName\n };\n\n localStorage.setItem('awsSettings', JSON.stringify(awsSettings));\n\n configureAmplify(isAgent);\n \n\n //---------- Page/Module Logic -------\n \n if (forgotPassword && username && verificationCode) { //(1) Forgot password module\n\n this.store.dispatch({\n type: Action_StoreForgotPasswordDetails,\n payload: { username, verificationCode, isAgent, agentEmail }\n });\n \n this.accessibilityService.startloadingAccessibility();\n\n if (isAgent) {\n this.router.navigate(['/agent-reset-password']);\n }\n else {\n this.router.navigate(['/reset-password']);\n }\n }\n\n else if (username && verificationCode) { //(2) Activate user module!\n\n this.authService.confirmRegistration(username, verificationCode)\n .subscribe(data => {\n this.registrationService.verifyStudentRegistration(username)\n .subscribe(() => {\n this.registrationConfirmationSuccessful = true;\n }, err => {\n //console.log('Error while verifying the student');\n this.errorMessage = err;\n });\n\n }, (err: AWSCognitoErrorResponse) => {\n if (err.code === 'NotAuthorizedException') {\n this.errorMessage = 'User is already been confirmed';\n this.userAlreadyConfirmed = true;\n }\n console.log(err);\n });\n }\n }\n },\n\n err => {\n\n console.log('error happened while calling AWS Auth Settings');\n },\n\n () => {\n });\n\n }\n\n //show border when tab on link for accessibility\n linkTabAccessibility(event): void {\n event.style.outline = \"1px solid black\";\n }\n\n linkBlurAccessibility(event): void {\n event.style.outline = \"\";\n }\n\n\n\n \n}\n","import Amplify from 'aws-amplify';\r\nimport { AWSSettings } from '../models/aws-settings.model';\r\n\r\n\r\nexport function configureAmplify(isAgent: boolean) {\r\n const awsSettings: AWSSettings = JSON.parse(localStorage.getItem('awsSettings'));\r\n\r\n // const { identityPoolId,\r\n // region,\r\n // userPoolId,\r\n // userPoolWebClientId } = isAgent ? AgentAuthConfig : AuthConfig;\r\n\r\n const identityPoolId = awsSettings.IdentityPoolId;\r\n const region = awsSettings.Region;\r\n const userPoolId = awsSettings.UserPoolId;\r\n const userPoolWebClientId = awsSettings.UserPoolWebClientId;\r\n const authenticationFlowType = awsSettings.AuthenticationFlowType;\r\n const bucketName = awsSettings.BucketName;\r\n\r\n Amplify.configure(\r\n {\r\n Auth: {\r\n identityPoolId,\r\n region,\r\n userPoolId,\r\n userPoolWebClientId,\r\n storage: localStorage,\r\n authenticationFlowType\r\n },\r\n Storage: {\r\n bucket: bucketName,\r\n region,\r\n identityPoolId\r\n }\r\n }\r\n );\r\n\r\n}\r\n","import { DebounceClickDirective } from \"./appDebounceClick\";\r\nimport { NgModule } from \"@angular/core\";\r\n\r\n@NgModule({\r\n declarations: [ DebounceClickDirective ],\r\n exports: [ DebounceClickDirective ]\r\n })\r\n export class DebounceClickModule {}","import { Directive, OnInit, HostListener, Output, EventEmitter, Input } from '@angular/core';\r\n\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\n\r\n@Directive({\r\n selector: '[appDebounceClick]'\r\n})\r\nexport class DebounceClickDirective implements OnInit {\r\n @Input() debounceTime = 500;\r\n @Output() debounceClick = new EventEmitter();\r\n private clicks = new Subject();\r\n private subscription: Subscription;\r\n \r\n constructor() {\r\n \r\n }\r\n\r\n ngOnInit() {\r\n this.subscription = this.clicks\r\n .pipe(debounceTime(this.debounceTime))\r\n .subscribe(e => this.debounceClick.emit(e));\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n console.log('Click from Host Element!');\r\n this.clicks.next(event);\r\n }\r\n}","module.exports = \"\\n
\\n
\\n
\\n\\n
\\n\\n
\\n\\n
\\n

Reset password

\\n
\\n \\n
\\n
\\n\\n\\n \\n
\\n\\n \\n \\n \\n Student number is required\\n \\n \\n {{ loginIdApiError}}\\n \\n \\n
\\n
\\n\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\\n
\\n\\n
\\n

Forgot password

\\n
\\n\\n
\\n
\\n\\n
Password reset request successful!
\\n
An email has been sent to your registered email address containing reset instructions.\\n
\\n \\n
\\n
\\n
\\n\\n
\\n\\n
\\n
\\n\\n\\n\"","module.exports = \".content .right-block {\\n width: 100%; }\\n\\n.problem .question .answer a {\\n text-decoration: underline; }\\n\\n/*vendor overridden style-rules*/\\n\\n:host ::ng-deep .reset-pswd-outerbox {\\n width: 45rem;\\n margin: 15rem 0 0 15rem; }\\n\\n:host ::ng-deep .problems .problem .pro-title {\\n padding: 1.5rem 2rem;\\n background-color: #e5efef;\\n color: #46466e; }\\n\\n:host ::ng-deep .problems .problem .question {\\n padding: 2rem 2rem 2rem 2rem; }\\n\\n:host ::ng-deep .problems .problem .question .answer .heading5 {\\n padding-bottom: 0; }\\n\\n:host ::ng-deep .problems .problem .question .answer .heading5 a, :host ::ng-deep .problems .problem .question .answer .heading5 a:hover, :host ::ng-deep .problems .problem .question .answer .heading5 a:link {\\n color: #007bff; }\\n\\n:host ::ng-deep .problems .problem .question .answer .heading5 a:hover, :host ::ng-deep .problems .problem .question .answer .heading5 a:focus {\\n text-decoration: underline; }\\n\\n:host ::ng-deep .problems .problem .question .answer h3.main-info {\\n font-size: 1.71rem;\\n margin-left: 0; }\\n\\n:host ::ng-deep .problems .problem .question .answer .heading3.main-info {\\n font-size: 1.71rem;\\n margin-left: 0; }\\n\\n:host ::ng-deep .problems .problem .question .answer h3.more-info {\\n font-size: 1.425rem;\\n margin-left: 0;\\n padding-top: 1rem;\\n padding-bottom: 2rem; }\\n\\n:host ::ng-deep .problems .problem .question .answer .heading3.more-info {\\n font-size: 1.425rem;\\n margin-left: 0;\\n padding-top: 1rem;\\n padding-bottom: 2rem; }\\n\\n:host ::ng-deep .problems .problem .question .answer a.go-back-link {\\n font-size: 1.71rem;\\n margin-left: 0; }\\n\\n:host ::ng-deep .problems .problem .question .answer .choice-input.choice.valid span:last-of-type::after {\\n top: -1rem;\\n right: 0rem; }\\n\\n:host ::ng-deep .problems .problem .question .answer .choice-input span {\\n margin-left: 0;\\n margin-bottom: 3.5rem; }\\n\\n:host ::ng-deep .problems .problem .question .answer .choice-input span input {\\n font-size: 1.425rem;\\n padding: 0.8rem 1rem; }\\n\\n:host ::ng-deep .problems .problem .question .login-buttons {\\n display: flex;\\n justify-content: space-between; }\\n\\n:host ::ng-deep .problems .problem .question .login-buttons .btn {\\n flex-grow: 1;\\n padding: 10px;\\n font-size: 14.25px; }\\n\\n:host ::ng-deep .problems .problem .question .login-buttons .btn:first-child {\\n margin-right: 20px; }\\n\\n:host ::ng-deep .problems .problem .question .login-buttons .btn.btn-login {\\n background: #40806a;\\n color: white; }\\n\\n:host ::ng-deep .problems .problem .question .login-buttons .btn.btn-cancel {\\n background: #007faa;\\n color: white; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2ZvcmdvdC1wYXNzd29yZC9EOlxcYVxcMTU1XFxzXFxEZWkuT25saW5lQXBwbGljYXRpb24uUHJvZFxcRGVpLk9ubGluZUFwcGxpY2F0aW9uLldlYlxcb25saW5lLWFwcC9zcmNcXGFwcFxcc2hhcmVkXFxmb3Jnb3QtcGFzc3dvcmRcXGZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFdBQ0osRUFBQTs7QUFPQTtFQUdJLDBCQUEwQixFQUFBOztBQUc5QixnQ0FBQTs7QUFDQTtFQUdRLFlBQVk7RUFDWix1QkFBdUIsRUFBQTs7QUFKL0I7RUFXZ0Isb0JBQW9CO0VBQ3BCLHlCQUF5QjtFQUN6QixjQUFjLEVBQUE7O0FBYjlCO0VBaUJnQiw0QkFBNEIsRUFBQTs7QUFqQjVDO0lBc0J3QixpQkFBaUIsRUFBQTs7QUF0QnpDO01BeUI0QixjQUNKLEVBQUE7O0FBMUJ4QjtNQTZCNEIsMEJBQTBCLEVBQUE7O0FBN0J0RDtJQWtDd0Isa0JBQWtCO0lBQ2xCLGNBQWMsRUFBQTs7QUFuQ3RDO0lBdUN3QixrQkFBa0I7SUFDbEIsY0FBYyxFQUFBOztBQXhDdEM7SUE0Q3dCLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLG9CQUFvQixFQUFBOztBQS9DNUM7SUFtRHdCLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLG9CQUFvQixFQUFBOztBQXRENUM7SUEwRHdCLGtCQUFrQjtJQUNsQixjQUFjLEVBQUE7O0FBM0R0QztJQWtFb0MsVUFBVTtJQUNWLFdBQVcsRUFBQTs7QUFuRS9DO0lBeUU0QixjQUFjO0lBQ2QscUJBQXFCLEVBQUE7O0FBMUVqRDtNQTZFZ0MsbUJBQW1CO01BQ25CLG9CQUFvQixFQUFBOztBQTlFcEQ7SUFxRm9CLGFBQWE7SUFDYiw4QkFBOEIsRUFBQTs7QUF0RmxEO01BeUZ3QixZQUFZO01BQ1osYUFBYTtNQUViLGtCQUFrQixFQUFBOztBQTVGMUM7UUErRjRCLGtCQUFrQixFQUFBOztBQS9GOUM7UUFtRzRCLG1CQUFtQjtRQUNuQixZQUFZLEVBQUE7O0FBcEd4QztRQXdHNEIsbUJBQW1CO1FBRW5CLFlBQVksRUFBQSIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9mb3Jnb3QtcGFzc3dvcmQvZm9yZ290LXBhc3N3b3JkLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbnRlbnQgLnJpZ2h0LWJsb2NrIHtcclxuICAgIHdpZHRoOiAxMDAlXHJcbn1cclxuXHJcbi8vIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIGgzIHtcclxuLy8gICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuLy8gICAgIG1hcmdpbjogNXB4O1xyXG4vLyB9XHJcblxyXG4ucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciBhIHtcclxuICAgIC8vIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIC8vIG1hcmdpbjogNXB4O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcbi8qdmVuZG9yIG92ZXJyaWRkZW4gc3R5bGUtcnVsZXMqL1xyXG46aG9zdCA6Om5nLWRlZXAge1xyXG5cclxuICAgIC5yZXNldC1wc3dkLW91dGVyYm94IHtcclxuICAgICAgICB3aWR0aDogNDVyZW07XHJcbiAgICAgICAgbWFyZ2luOiAxNXJlbSAwIDAgMTVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLnByb2JsZW1zIHtcclxuICAgICAgICAucHJvYmxlbSB7XHJcblxyXG4gICAgICAgICAgICAucHJvLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbSAycmVtO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZWZlZjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjNDY0NjZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAucXVlc3Rpb24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnJlbSAycmVtIDJyZW0gMnJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAuYW5zd2VyIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLmhlYWRpbmc1IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhLCBhOmhvdmVyLCBhOmxpbmsge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDdiZmZcclxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGE6aG92ZXIsIGE6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGgzLm1haW4taW5mbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43MXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAuaGVhZGluZzMubWFpbi1pbmZvIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjcxcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGgzLm1vcmUtaW5mbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40MjVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAuaGVhZGluZzMubW9yZS1pbmZvIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjQyNXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGEuZ28tYmFjay1saW5rIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjcxcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5jaG9pY2UtaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmNob2ljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLnZhbGlkIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMuNXJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjQyNXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjhyZW0gMXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5sb2dpbi1idXR0b25zIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNC4yNXB4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5idG4tbG9naW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzQwODA2YTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5idG4tY2FuY2VsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDdmYWE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9ICAgXHJcbn0iXX0= */\"","import { Component, OnInit, Renderer2, OnDestroy } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AuthService } from '../services/auth.service';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { ErrorResponse, AWSCognitoErrorResponse } from '../models/error.model';\n\n@Component({\n selector: 'online-app-forgot-password',\n templateUrl: './forgot-password.component.html',\n styleUrls: ['./forgot-password.component.scss']\n})\nexport class ForgotPasswordComponent implements OnInit, OnDestroy {\n\n constructor(private authService: AuthService, private fb: FormBuilder, private router: Router, private renderer: Renderer2) {\n this.renderer.addClass(document.body, 'login-screen');\n }\n\n forgotPasswordFormGroup: FormGroup;\n isFormSubmitted = false;\n forgotPasswordEventFired = false;\n loginIdApiError = '';\n\n ngOnInit() {\n this.forgotPasswordFormGroup = this.fb.group({\n loginId: ['', Validators.required]\n });\n }\n\n ngOnDestroy() {\n this.renderer.removeClass(document.body, 'login-screen');\n }\n\n forgotPassword() {\n\n this.isFormSubmitted = true;\n\n if (this.forgotPasswordFormGroup.valid) {\n const username = this.forgotPasswordFormGroup.get('loginId').value;\n this.authService.forgotPassword(username)\n .subscribe(response => {\n //console.log(response);\n this.forgotPasswordEventFired = true;\n }, (errorResponse: AWSCognitoErrorResponse) => {\n\n if (errorResponse.code === 'UserNotFoundException') {\n this.loginIdApiError = 'Invalid login id';\n this.forgotPasswordFormGroup.get('loginId').setErrors({ apiValidationError: true });\n } else {\n this.loginIdApiError = errorResponse.message;\n this.forgotPasswordFormGroup.get('loginId').setErrors({ apiValidationError: true });\n }\n console.error(errorResponse);\n });\n\n }\n }\n\n cancelForgotPassword() {\n this.router.navigate(['/login']);\n }\n\n //show border when tab on link for accessibility\n linkTabAccessibility(event): void {\n event.style.outline = \"1px solid black\";\n }\n\n linkBlurAccessibility(event): void {\n event.style.outline = \"\";\n }\n\n errorPasswordAccessibility(): string {\n if (this.isFormSubmitted &&\n this.forgotPasswordFormGroup.get('loginId').errors &&\n this.forgotPasswordFormGroup.get('loginId').errors.required) {\n return \"requiredStudentNumber\";\n } else if (this.isFormSubmitted &&\n this.forgotPasswordFormGroup.get('loginId').errors &&\n this.forgotPasswordFormGroup.get('loginId').errors.apiValidationError) {\n return \"apiErrorStudentNumber\";\n } else {\n return \"\";\n }\n }\n}\n","module.exports = \"
\\n
\\n
\\n \\n \\\"\\\"/\\n \\n
\\n

\\n {{sharedService.getHeaderText()}}\\n

\\n
    \\n \\n \\n
  • \\n \\n
  • \\n
  • \\n \\n \\n\\n \\n\\n \\n \\n \\n \\n \\n \\n
  • \\n
  • \\n \\n \\n \\n \\n \\n \\n
  • \\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
    \\n \\n \\n
  • \\n \\n
  • \\n
  • \\n \\n \\n \\n \\n \\n \\n \\n \\n
  • \\n
  • \\n \\n \\n \\n \\n \\n \\n
  • \\n
\\n
\\n
\\n
\\n\"","module.exports = \".header .container {\\n margin-left: 0px;\\n margin-right: 0px; }\\n .header .container a img {\\n position: relative; }\\n .header-height {\\n height: 84px; }\\n .header .container .right-block select {\\n font-size: 1.2rem; }\\n :host ::ng-deep .header .container.headerlink li:focus {\\n outline: none; }\\n :host ::ng-deep .header .container .right-block {\\n float: right;\\n height: 100%;\\n width: calc(100% - 23rem); }\\n :host ::ng-deep .header .container .right-block h1 {\\n padding-left: 0;\\n font-size: 2.5rem;\\n min-width: 460px; }\\n :host ::ng-deep .header .container .right-block ul li.external-link::after {\\n content: '';\\n display: none; }\\n :host ::ng-deep .header .container .right-block ul li.external-link a {\\n color: #fff; }\\n :host ::ng-deep .header .container .right-block ul li.external-link span:hover {\\n cursor: pointer; }\\n :host ::ng-deep .header .container .right-block ul li.external-link .svg-inline--fa {\\n vertical-align: -10px !important; }\\n :host ::ng-deep .header .container .right-block ul li.external-link .cdk-focused:focus {\\n outline: none; }\\n :host ::ng-deep .header .container .right-block ul li.skip-link {\\n border-left: #46466e;\\n float: right; }\\n :host ::ng-deep .header .container .right-block ul li.skip-link::after {\\n content: '';\\n display: none; }\\n :host ::ng-deep .header .container .right-block ul li.skip-link a {\\n color: #46466e;\\n cursor: default; }\\n :host ::ng-deep .header .container .right-block ul li.header-info {\\n min-width: 180px;\\n float: right; }\\n :host ::ng-deep .header .container .right-block ul li.contact-us {\\n min-width: 100px;\\n float: right; }\\n :host ::ng-deep .header .container .right-block ul li.language-selection {\\n min-width: 95px;\\n float: right; }\\n :host ::ng-deep .header .container .right-block ul li.logged-in-user {\\n min-width: 200px;\\n float: right; }\\n :host ::ng-deep .header .container .right-block ul li.logged-in-user .user-options-trigger {\\n padding: 0.4rem 0.8rem;\\n color: white;\\n background-color: transparent;\\n transition: all .3s;\\n border: 1px solid transparent;\\n border-radius: 2px;\\n float: right;\\n cursor: pointer;\\n margin-left: 0.8rem; }\\n :host ::ng-deep .header .container .right-block ul li.logged-in-user .user-options-trigger:hover, :host ::ng-deep .header .container .right-block ul li.logged-in-user .user-options-trigger:focus {\\n background-color: #3c3c5e; }\\n .responsive-header {\\n display: none; }\\n @media only screen and (max-width: 1150px) {\\n .responsive-header {\\n display: block; }\\n .responsive-header .container .right-block {\\n display: flex;\\n width: 100%;\\n justify-content: flex-end; }\\n .header .container .right-block ul.header-list {\\n display: none; } }\\n .logoutclass {\\n position: absolute;\\n top: 55px;\\n color: white;\\n cursor: pointer; }\\n .headerskipblur {\\n display: block;\\n background-color: #46466e;\\n color: white;\\n text-align: center;\\n font-size: 0px;\\n border: none; }\\n .headerskipblur button {\\n font-size: 0;\\n width: 0;\\n height: 0;\\n background: #46466e;\\n color: white;\\n border: #46466e;\\n display: block;\\n margin: 0 auto; }\\n .headerskip {\\n display: block;\\n background-color: #46466e;\\n color: white;\\n text-align: center;\\n font-size: 20px;\\n border: none; }\\n .headerskip button {\\n background: #46466e;\\n color: white;\\n border: #46466e;\\n display: block;\\n font-size: 20px;\\n margin: 0 auto; }\\n .headerskip button:focus, .headerskipblur button:focus {\\n border: 1px solid white; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2hlYWRlci9EOlxcYVxcMTU1XFxzXFxEZWkuT25saW5lQXBwbGljYXRpb24uUHJvZFxcRGVpLk9ubGluZUFwcGxpY2F0aW9uLldlYlxcb25saW5lLWFwcC9zcmNcXGFwcFxcc2hhcmVkXFxoZWFkZXJcXGhlYWRlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQVFFLGdCQUFnQjtFQUNoQixpQkFBZ0IsRUFBQTtFQVRsQjtJQUlJLGtCQUFrQixFQUFBO0VBU3RCO0VBQ0UsWUFBWSxFQUFBO0VBR2Q7RUFFRSxpQkFBaUIsRUFBQTtFQUduQjtFQUlRLGFBQWEsRUFBQTtFQUpyQjtFQVFRLFlBQVk7RUFFWixZQUFZO0VBQ1oseUJBQXlCLEVBQUE7RUFYakM7SUFjVSxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGdCQUFnQixFQUFBO0VBaEIxQjtJQXNCYyxXQUFXO0lBQ1gsYUFBYSxFQUFBO0VBdkIzQjtJQTJCYyxXQUFXLEVBQUE7RUEzQnpCO0lBK0JjLGVBQWUsRUFBQTtFQS9CN0I7SUFtQ2MsZ0NBQWdDLEVBQUE7RUFuQzlDO0lBdUNjLGFBQWEsRUFBQTtFQXZDM0I7SUFzRFksb0JBQW9CO0lBQ3BCLFlBQVksRUFBQTtFQXZEeEI7TUE2Q2MsV0FBVztNQUNYLGFBQWEsRUFBQTtFQTlDM0I7TUFrRGMsY0FBYztNQUNkLGVBQWUsRUFBQTtFQW5EN0I7SUEyRFksZ0JBQWdCO0lBQ2hCLFlBQVksRUFBQTtFQTVEeEI7SUFnRVksZ0JBQWdCO0lBQ2hCLFlBQVksRUFBQTtFQWpFeEI7SUFxRVksZUFBZTtJQUNmLFlBQVksRUFBQTtFQXRFeEI7SUEwRVksZ0JBQWdCO0lBQ2hCLFlBQVksRUFBQTtFQTNFeEI7TUE4RWMsc0JBQXNCO01BQ3RCLFlBQVk7TUFDWiw2QkFBNkI7TUFDN0IsbUJBQW1CO01BQ25CLDZCQUE2QjtNQUM3QixrQkFBa0I7TUFDbEIsWUFBWTtNQUNaLGVBQWU7TUFDZixtQkFBbUIsRUFBQTtFQXRGakM7UUF5RmdCLHlCQUFxQyxFQUFBO0VBV3JEO0VBQ0UsYUFBYSxFQUFBO0VBR2Y7RUFDRTtJQUNFLGNBQWMsRUFBQTtJQURoQjtNQUtNLGFBQWE7TUFDYixXQUFXO01BQ1gseUJBQXlCLEVBQUE7RUFLL0I7SUFDRSxhQUFhLEVBQUEsRUFDZDtFQUdIO0VBQ0Usa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxZQUFZO0VBQ1osZUFBZSxFQUFBO0VBR2pCO0VBQ0UsY0FBYztFQUNkLHlCQUF5QjtFQUN6QixZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxZQUFZLEVBQUE7RUFHZDtFQUNFLFlBQVk7RUFDWixRQUFRO0VBQ1IsU0FBUztFQUNULG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osZUFBZTtFQUNmLGNBQWM7RUFDZCxjQUFjLEVBQUE7RUFHaEI7RUFDRSxjQUFjO0VBQ2QseUJBQXlCO0VBQ3pCLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLFlBQVksRUFBQTtFQUdkO0VBQ0UsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixlQUFlO0VBQ2YsY0FBYztFQUNkLGVBQWU7RUFDZixjQUFjLEVBQUE7RUFHaEI7RUFDRSx1QkFBdUIsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmhlYWRlciAuY29udGFpbmVyIHtcclxuICAvLyBwYWRkaW5nOiA3cHg7XHJcblxyXG4gIGEgaW1nIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vIHRvcDogLTAuNXJlbTtcclxuICB9XHJcblxyXG4gIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OjBweDtcclxuICAvLyBsaW5lLWhlaWdodDogNzBweDtcclxufVxyXG5cclxuLmhlYWRlci1oZWlnaHQge1xyXG4gIGhlaWdodDogODRweDtcclxufVxyXG5cclxuLmhlYWRlciAuY29udGFpbmVyIC5yaWdodC1ibG9jayBzZWxlY3Qge1xyXG4gIC8vIHBhZGRpbmc6IDBweCAwcHggMHB4IDBweDtcclxuICBmb250LXNpemU6IDEuMnJlbTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIHtcclxuICAuaGVhZGVyIHtcclxuICAgIC5jb250YWluZXIge1xyXG4gICAgICAmLmhlYWRlcmxpbmsgbGk6Zm9jdXMge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5yaWdodC1ibG9jayB7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIC8vIGhlaWdodDogNzBweDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIzcmVtKTtcclxuXHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XHJcbiAgICAgICAgICBtaW4td2lkdGg6IDQ2MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgbGkuZXh0ZXJuYWwtbGluayB7XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3Bhbjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuc3ZnLWlubGluZS0tZmEge1xyXG4gICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAtMTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuY2RrLWZvY3VzZWQ6Zm9jdXMge1xyXG4gICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBsaS5za2lwLWxpbmsge1xyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICM0NjQ2NmU7XHJcbiAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogIzQ2NDY2ZTtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGxpLmhlYWRlci1pbmZvIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAxODBweDtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGxpLmNvbnRhY3QtdXMge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgbGkubGFuZ3VhZ2Utc2VsZWN0aW9uIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiA5NXB4O1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgbGkubG9nZ2VkLWluLXVzZXIge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcblxyXG4gICAgICAgICAgICAudXNlci1vcHRpb25zLXRyaWdnZXIge1xyXG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAuNHJlbSAwLjhyZW07XHJcbiAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOHJlbTtcclxuXHJcbiAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oIzQ2NDY2ZSwgNSUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy9yZXNwb25zaXZlIGRlc2lnbiBmb3IgaGVhZGVyXHJcbi5yZXNwb25zaXZlLWhlYWRlciB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTUwcHgpIHtcclxuICAucmVzcG9uc2l2ZS1oZWFkZXIge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgLmNvbnRhaW5lciB7XHJcbiAgICAgIC5yaWdodC1ibG9jayB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaGVhZGVyIC5jb250YWluZXIgLnJpZ2h0LWJsb2NrIHVsLmhlYWRlci1saXN0IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4ubG9nb3V0Y2xhc3Mge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDU1cHg7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmhlYWRlcnNraXBibHVyIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDY0NjZlO1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZm9udC1zaXplOiAwcHg7XHJcbiAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG4uaGVhZGVyc2tpcGJsdXIgYnV0dG9ue1xyXG4gIGZvbnQtc2l6ZTogMDtcclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbiAgYmFja2dyb3VuZDogIzQ2NDY2ZTtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgYm9yZGVyOiAjNDY0NjZlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4uaGVhZGVyc2tpcCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ2NDY2ZTtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi5oZWFkZXJza2lwIGJ1dHRvbntcclxuICBiYWNrZ3JvdW5kOiAjNDY0NjZlO1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICBib3JkZXI6ICM0NjQ2NmU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4uaGVhZGVyc2tpcCBidXR0b246Zm9jdXMsIC5oZWFkZXJza2lwYmx1ciBidXR0b246Zm9jdXN7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XHJcbn0iXX0= */\"","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AuthService } from '../services/auth.service';\nimport { SharedService } from '../services/shared.service';\nimport { AccessibilityService } from '../services/accessibility.service';\nimport * as $ from 'jquery';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'online-app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss']\n})\nexport class HeaderComponent implements OnInit, OnDestroy {\n\n currentUser: any;\n\n //change font size variables\n counter: number = 2;\n\n skipClass: string = \"headerskipblur\";\n\n constructor(private router: Router,\n public sharedService: SharedService,\n private activatedRoute: ActivatedRoute,\n private authService: AuthService,\n private accessibilityService: AccessibilityService,\n private _snackBar: MatSnackBar) { }\n\n ngOnInit() {\n this.currentUser = this.activatedRoute.snapshot.data['currentUser'];\n }\n\n ngOnDestroy() {\n localStorage.removeItem(\"userInfo\");\n }\n\n onChange(value: string): void {\n if (value === 'logout') {\n this.logout();\n }\n }\n\n\n logout(): void {\n const userType = localStorage.getItem('userType');\n\n localStorage.clear();\n this.authService.logout();\n\n if (userType === 'student') {\n this.router.navigate(['/welcome']);\n } else if (userType === 'agent') {\n this.router.navigate(['/welcome-agent']);\n }\n }\n\n //show border when tab on link for accessibility\n linkTabAccessibility(event): void {\n event.style.outline = \"1px solid white\";\n }\n\n linkBlurAccessibility(event): void {\n event.style.outline = \"\";\n }\n\n skipNavFocusAccessibility(event): void {\n this.skipClass = \"headerskip\"\n }\n\n skipNavBlurAccessibility(event): void {\n this.skipClass = \"headerskipblur\"\n }\n\n skipNavAccessibility(): void {\n $('#mainContent').focus();\n }\n\n //Accessibility -- resize font\n increaseFontSize(): void {\n if (this.counter < 4) {\n this.counter++;\n }\n switch (this.counter) {\n case 3: {\n this.accessibilityService.resizeFontSize(\"size15\");\n this.openSnackBar(\"Current Font Percentage: 150%\", \"\");\n this.removeClassFromToolTip();\n $('.cdk-overlay-container').addClass(\"size15\");\n break;\n }\n case 4: {\n this.accessibilityService.resizeFontSize(\"size20\");\n this.removeClassFromToolTip();\n this.openSnackBar(\"Current Font Percentage: 200%\", \"\");\n $('.cdk-overlay-container').addClass(\"size20\");\n break;\n }\n case 1: {\n this.accessibilityService.resizeFontSize(\"size05\");\n this.removeClassFromToolTip();\n this.openSnackBar(\"Current Font Percentage: 75%\", \"\");\n $('.cdk-overlay-container').addClass(\"size05\");\n break;\n }\n case 2: {\n this.openSnackBar(\"Current Font Percentage: 100%\", \"\");\n this.accessibilityService.resizeFontSize(\"\");\n this.removeClassFromToolTip();\n break;\n }\n }\n }\n\n decreaseFontSize(): void {\n if (this.counter > 0) {\n this.counter--;\n }\n switch (this.counter) {\n case 2: {\n this.accessibilityService.resizeFontSize(\"\");\n this.openSnackBar(\"Current Font Percentage: 100%\", \"\");\n this.removeClassFromToolTip();\n break;\n }\n case 3: {\n this.accessibilityService.resizeFontSize(\"size15\");\n this.openSnackBar(\"Current Font Percentage: 150%\", \"\");\n this.removeClassFromToolTip();\n $('.cdk-overlay-container').addClass(\"size15\");\n break;\n }\n case 1: {\n this.accessibilityService.resizeFontSize(\"size05\");\n this.openSnackBar(\"Current Font Percentage: 75%\", \"\");\n this.removeClassFromToolTip();\n $('.cdk-overlay-container').addClass(\"size05\");\n break;\n }\n case 0: {\n this.accessibilityService.resizeFontSize(\"size00\");\n this.openSnackBar(\"Current Font Percentage: 50%\", \"\");\n this.removeClassFromToolTip();\n $('.cdk-overlay-container').addClass(\"size00\");\n break;\n }\n }\n }\n\n openSnackBar(message: string, action: string) {\n this._snackBar.open(message, action, {\n duration: 2000,\n verticalPosition: 'top'\n });\n }\n\n removeClassFromToolTip(): void {\n $('.cdk-overlay-container').removeClass(\"size15\");\n $('.cdk-overlay-container').removeClass(\"size20\");\n $('.cdk-overlay-container').removeClass(\"size00\");\n $('.cdk-overlay-container').removeClass(\"size05\");\n }\n}\n","module.exports = \"\\n
\\n
\\n
\\n\\n \\n\\n
\\n\\n
\\n\\n
\\n\\n
\\n

\\n \\n Important Information\\n \\n Login\\n

\\n
\\n \\n\\n\\n
\\n\\n
\\n
\\n

Changes to Online Access for students enrolled in our International Student Program and Study Abroad Program

\\n
\\n

If you are a student enrolled in our International Student Program or Study Abroad Program, you cannot access the Online Application Portal using your Student Number and Password.

\\n
\\n

Parents can register at the new parent portal and follow the instructions to add a student to see all your existing information, along with new features to improve your experience.

\\n
\\n
\\n\\n
\\n\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n\\n\\n\"","module.exports = \".content .right-block {\\n width: 100%; }\\n\\n/*vendor overridden style-rules*/\\n\\n:host ::ng-deep .login-outer-box {\\n width: 54rem;\\n margin: 10rem 0 0 15rem; }\\n\\n:host ::ng-deep .block .problems .problem .pro-title {\\n padding: 1.5rem 2rem;\\n background-color: #e5efef;\\n color: #46466e; }\\n\\n:host ::ng-deep .block .problems .problem .question {\\n padding: 2rem 2rem 2rem 2rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .heading5 {\\n padding-bottom: 0; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .heading5 a, :host ::ng-deep .block .problems .problem .question .answer .heading5 a:hover, :host ::ng-deep .block .problems .problem .question .answer .heading5 a:link {\\n color: #007bff; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .heading5 a:hover, :host ::ng-deep .block .problems .problem .question .answer .heading5 a:focus {\\n text-decoration: underline; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input.choice.valid span:last-of-type::after {\\n top: -1rem;\\n right: 0rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input span {\\n margin-left: 0;\\n margin-bottom: 3.5rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input span input {\\n font-size: 1.425rem;\\n padding: 0.8rem 1rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input span.password-container {\\n position: relative; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input span.password-container .btn-toggle {\\n position: absolute;\\n top: 0.2rem;\\n right: 1.8rem;\\n color: #646e6e; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input span.password-container .btn-toggle:hover {\\n color: #646e6e; }\\n\\n:host ::ng-deep .block .problems .problem .question .login-buttons {\\n display: flex;\\n justify-content: space-between; }\\n\\n:host ::ng-deep .block .problems .problem .question .login-buttons .btn {\\n flex-grow: 1;\\n padding: 10px;\\n font-size: 14.25px; }\\n\\n:host ::ng-deep .block .problems .problem .question .login-buttons .btn:first-child {\\n margin-right: 20px; }\\n\\n:host ::ng-deep .block .problems .problem .question .login-buttons .btn.btn-login {\\n background: #40806a;\\n color: white; }\\n\\n:host ::ng-deep .block .problems .problem .question .login-buttons .btn.btn-cancel {\\n background: #007faa;\\n color: white; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2xvZ2luL0Q6XFxhXFwxNTVcXHNcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5Qcm9kXFxEZWkuT25saW5lQXBwbGljYXRpb24uV2ViXFxvbmxpbmUtYXBwL3NyY1xcYXBwXFxzaGFyZWRcXGxvZ2luXFxsb2dpbi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFdBQ0osRUFBQTs7QUFFQSxnQ0FBQTs7QUFDQTtFQUlRLFlBQVk7RUFDWix1QkFBdUIsRUFBQTs7QUFML0I7RUFhb0Isb0JBQW9CO0VBQ3BCLHlCQUF5QjtFQUN6QixjQUFjLEVBQUE7O0FBZmxDO0VBbUJvQiw0QkFBNEIsRUFBQTs7QUFuQmhEO0lBd0I0QixpQkFBaUIsRUFBQTs7QUF4QjdDO01BMkJnQyxjQUNKLEVBQUE7O0FBNUI1QjtNQStCZ0MsMEJBQTBCLEVBQUE7O0FBL0IxRDtJQXVDd0MsVUFBVTtJQUNWLFdBQVcsRUFBQTs7QUF4Q25EO0lBOENnQyxjQUFjO0lBQ2QscUJBQXFCLEVBQUE7O0FBL0NyRDtNQWtEb0MsbUJBQW1CO01BQ25CLG9CQUFvQixFQUFBOztBQW5EeEQ7TUF1RG9DLGtCQUFrQixFQUFBOztBQXZEdEQ7UUEwRHdDLGtCQUFrQjtRQUNsQixXQUFXO1FBQ1gsYUFBYTtRQUViLGNBQWMsRUFBQTs7QUE5RHREO1VBaUU0QyxjQUFjLEVBQUE7O0FBakUxRDtJQTBFd0IsYUFBYTtJQUNiLDhCQUE4QixFQUFBOztBQTNFdEQ7TUE4RTRCLFlBQVk7TUFDWixhQUFhO01BRWIsa0JBQWtCLEVBQUE7O0FBakY5QztRQW9GZ0Msa0JBQWtCLEVBQUE7O0FBcEZsRDtRQXdGZ0MsbUJBQW1CO1FBQ25CLFlBQVksRUFBQTs7QUF6RjVDO1FBNkZnQyxtQkFBbUI7UUFFbkIsWUFBWSxFQUFBIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbnRlbnQgLnJpZ2h0LWJsb2NrIHtcclxuICAgIHdpZHRoOiAxMDAlXHJcbn1cclxuXHJcbi8qdmVuZG9yIG92ZXJyaWRkZW4gc3R5bGUtcnVsZXMqL1xyXG46aG9zdCA6Om5nLWRlZXAge1xyXG5cclxuXHJcbiAgICAubG9naW4tb3V0ZXItYm94IHtcclxuICAgICAgICB3aWR0aDogNTRyZW07XHJcbiAgICAgICAgbWFyZ2luOiAxMHJlbSAwIDAgMTVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmJsb2NrIHtcclxuICAgICAgICAucHJvYmxlbXMge1xyXG4gICAgICAgICAgICAucHJvYmxlbSB7XHJcblxyXG4gICAgICAgICAgICAgICAgLnByby10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMS41cmVtIDJyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZWZlZjtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzQ2NDY2ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAucXVlc3Rpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAycmVtIDJyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5hbnN3ZXIge1xyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5oZWFkaW5nNSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSwgYTpob3ZlciwgYTpsaW5rIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwN2JmZlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYTpob3ZlciwgYTpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jaG9pY2UtaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5jaG9pY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYudmFsaWQgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC0xcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDByZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMy41cmVtO1xyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNDI1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjhyZW0gMXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYucGFzc3dvcmQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmJ0bi10b2dnbGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwLjJyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMS44cmVtO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNjQ2ZTZlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNjQ2ZTZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAubG9naW4tYnV0dG9ucyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5idG4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0LjI1cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5idG4tbG9naW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0MDgwNmE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYnRuLWNhbmNlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwN2ZhYTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSAgICBcclxufSJdfQ== */\"","import { Component, OnInit, OnDestroy, Renderer2 } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { LookupService } from '../services/lookup.service';\nimport { SingleResultApiResponse } from '../models/api-response.model';\nimport { Subscription, forkJoin } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\n@Component({\n selector: 'online-app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss']\n})\nexport class LoginComponent implements OnInit, OnDestroy {\n\n constructor(private fb: FormBuilder,\n private lookupService: LookupService,\n private renderer: Renderer2) {\n this.renderer.addClass(document.body, 'login-screen');\n }\n\n\n loginFormGroup: FormGroup;\n isFormSubmitted = false;\n loginErrorMessage = '';\n\n showNotification: boolean = true;\n notificationMessage: string;\n isPhase1Decommissioned: boolean = true;\n phase2Url: string = '';\n\n private subscriptionsToDispose: Subscription[] = [];\n\n isLoading: boolean = true;\n\n ngOnInit() {\n\n // Auth.configure(AuthConfig);\n\n\n this.subscriptionsToDispose.push(\n forkJoin([\n this.lookupService.getNotificationSettings(1)\n .pipe(tap((response: SingleResultApiResponse) => {\n if (response.Result) {\n this.showNotification = response.Result.Item1;\n this.notificationMessage = response.Result.Item2;\n this.isPhase1Decommissioned = response.Result.Item3;\n this.phase2Url = response.Result.Item4;\n }\n })\n ), \n ]).subscribe(() => {\n this.isLoading = false;\n }, (err) => {\n this.isLoading = false;\n console.log(err);\n })\n );\n\n this.loginFormGroup = this.fb.group({\n loginId: ['', Validators.required],\n password: ['', Validators.required],\n });\n }\n\n ngOnDestroy() {\n this.subscriptionsToDispose.forEach(s => s.unsubscribe());\n this.renderer.removeClass(document.body, 'login-screen');\n }\n\n login() {}\n}\n","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Discard changes?
\\r\\n
press tab to reach first focusable element
\\r\\n
\\r\\n
\\r\\n \\r\\n Discard changes & move away\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Delete record?
\\r\\n
press tab to reach first focusable element
\\r\\n
\\r\\n
\\r\\n \\r\\n Delete Record\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Unable to create contact
\\r\\n
press tab to reach first focusable element
\\r\\n
\\r\\n
You can only add a maximum of 10 contacts per application. Please delete an existing contact to proceed.
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{confirmMessage}}
\\r\\n
press tab to reach first focusable element
\\r\\n
\\r\\n
\\r\\n \\r\\n No\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
This action will create a new application, copying the details from the selected application. Please specify, who do you want create the application for?
\\r\\n
press tab to reach first focusable element
\\r\\n
\\r\\n
\\r\\n \\r\\n Student's Sibling\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
This action will create a new application by duplicating the selected application.

\\r\\n You should only use this function if you wish to submit a new application to extend your course.

\\r\\n You should review and edit the details copied over, before submitting the new application.

\\r\\n Do you wish to continue?
\\r\\n
press tab to reach first focusable element
\\r\\n
\\r\\n
\\r\\n \\r\\n Close\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".modal-dialog {\\n margin-left: 40%; }\\n\\n.close {\\n font-size: 3.5rem !important;\\n margin: 10px 10px !important; }\\n\\n/*We do not use !important at this moment, as Renu said some company designed these CSS for us 3 years ago -- e.g. for accessibility reason*/\\n\\ndiv.smallerFontSize {\\n font-size: medium; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL21vZGFsL0Q6XFxhXFwxNTVcXHNcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5Qcm9kXFxEZWkuT25saW5lQXBwbGljYXRpb24uV2ViXFxvbmxpbmUtYXBwL3NyY1xcYXBwXFxzaGFyZWRcXG1vZGFsXFxtb2RhbC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGdCQUFnQixFQUFBOztBQUlwQjtFQUNJLDRCQUE0QjtFQUM1Qiw0QkFBNEIsRUFBQTs7QUFHaEMsNElBQUE7O0FBQ0E7RUFDRSxpQkFBaUIsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9tb2RhbC9tb2RhbC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tb2RhbC1kaWFsb2cge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDQwJTtcclxuICAgXHJcbn1cclxuXHJcbi5jbG9zZXtcclxuICAgIGZvbnQtc2l6ZTogMy41cmVtICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW46IDEwcHggMTBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKldlIGRvIG5vdCB1c2UgIWltcG9ydGFudCBhdCB0aGlzIG1vbWVudCwgYXMgUmVudSBzYWlkIHNvbWUgY29tcGFueSBkZXNpZ25lZCB0aGVzZSBDU1MgZm9yIHVzIDMgeWVhcnMgYWdvIC0tIGUuZy4gZm9yIGFjY2Vzc2liaWxpdHkgcmVhc29uKi9cclxuZGl2LnNtYWxsZXJGb250U2l6ZSB7XHJcbiAgZm9udC1zaXplOiBtZWRpdW07XHJcbn1cclxuIl19 */\"","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { ModalService } from '../services/modal.service';\n\n@Component({\n selector: 'online-app-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss']\n})\nexport class ModalComponent implements OnInit {\n\n displayStyle = 'none';\n deleteDisplayStyle = 'none';\n preventAddContactDisplayStyle = 'none';\n\n confirmMessage: string;\n isConfirmModal: boolean = false;\n isCopyModal: boolean = false;\n isCopySAModal: boolean = false;\n\n @ViewChild('focusChange') elChange: ElementRef;\n @ViewChild('focusDelete') elDelete: ElementRef;\n @ViewChild('focusContact') elContact: ElementRef;\n @ViewChild('focusConfirm') elConfirm: ElementRef;\n constructor(private modalService: ModalService) { }\n\n ngOnInit() {\n\n this.modalService.isModalVisible.subscribe(isModalVisible => {\n this.displayStyle = isModalVisible ? 'block' : 'none';\n setTimeout(() => {\n this.elChange.nativeElement.focus();\n }, 100);\n });\n\n this.modalService.isDeleteModalVisible.subscribe(isDeleteModalVisible => {\n this.deleteDisplayStyle = isDeleteModalVisible ? 'block' : 'none';\n setTimeout(() => {\n this.elDelete.nativeElement.focus();\n }, 100);\n });\n\n this.modalService.allowAddContactModalVisible.subscribe(allowAddContactModalVisible => {\n this.preventAddContactDisplayStyle = allowAddContactModalVisible ? 'block' : 'none';\n setTimeout(() => {\n this.elContact.nativeElement.focus();\n }, 100);\n });\n\n this.modalService.confirmModalVisible.subscribe(isConfirmModal => {\n this.confirmMessage = this.modalService.confirmMessage;\n this.isConfirmModal = isConfirmModal;\n setTimeout(() => {\n this.elConfirm.nativeElement.focus();\n }, 100);\n });\n\n this.modalService.copyModalVisible.subscribe(isCopyModal => {\n this.isCopyModal = isCopyModal;\n setTimeout(() => {\n this.elConfirm.nativeElement.focus();\n }, 100);\n });\n\n this.modalService.copySAModalVisible.subscribe(isCopySAModal => {\n this.isCopySAModal = isCopySAModal;\n setTimeout(() => {\n this.elConfirm.nativeElement.focus();\n }, 100);\n });\n }\n\n addShowCSSClass(): boolean {\n return this.displayStyle === 'block';\n }\n\n addDeleteShowCSSClass(): boolean {\n return this.deleteDisplayStyle === 'block';\n }\n\n preventAddContactShowCSSClass(): boolean {\n return this.preventAddContactDisplayStyle === 'block';\n }\n\n discardChanges() {\n this.modalService.isModalVisible.next(false);\n this.modalService.stayOnThePage.next(true);\n }\n\n stay() {\n this.modalService.isModalVisible.next(false);\n this.modalService.stayOnThePage.next(false);\n }\n\n allowDelete() {\n // this.modalService.isDeleteModalVisible.next(false);\n this.modalService.hideDeleteModal();\n this.modalService.allowDelete.next(true);\n\n }\n\n preventDelete() {\n // this.modalService.isDeleteModalVisible.next(false);\n this.modalService.hideDeleteModal();\n this.modalService.allowDelete.next(false);\n }\n\n preventAddContact() {\n this.modalService.hideAllowAddContactModal();\n this.modalService.allowAddContactModalVisible.next(false);\n }\n\n confirm(isConfirm: boolean) {\n this.modalService.hideConfirmModal(isConfirm);\n this.isConfirmModal = false;\n }\n\n copy(isConfirm: string) {\n this.modalService.hideCopyModal(isConfirm);\n this.isCopyModal = false;\n }\n\n copySA(isConfirm: string) {\n this.modalService.hideCopySAModal(isConfirm);\n this.isCopySAModal = false;\n }\n\n closeCopySA() {\n this.isCopySAModal = false;\n }\n\n}\n","export class CreatedStudentModel {\r\n StudentNumber: string;\r\n EmailAddress: string;\r\n}\r\n","export class ErrorResponse {\r\n errorCode: number;\r\n errors: ErrorKeyValuePair[];\r\n result?: any;\r\n}\r\n\r\nexport class ResultKeyValuePair {\r\n Key: string;\r\n Value: string;\r\n}\r\n\r\nexport class ErrorKeyValuePair {\r\n Key: string;\r\n Value: string;\r\n}\r\n\r\n\r\nexport class AWSCognitoErrorResponse {\r\n code: string;\r\n message: string;\r\n name: string;\r\n}\r\n\r\nexport class AWSS3ErrorResponse {\r\n code: string;\r\n message: string;\r\n name: string;\r\n}\r\n","\r\n\r\nexport class Country {\r\n Id: string;\r\n Code: string;\r\n Description: string;\r\n Status: string;\r\n IsAgentMandatory: boolean;\r\n CanStudyAbroad: boolean;\r\n PhoneCode: number;\r\n IsDeleted: boolean;\r\n}\r\n\r\nexport class LookupData {\r\n Code: string;\r\n Description: string;\r\n}\r\n\r\nclass SchoolLookupData {\r\n Id: string;\r\n Name: string;\r\n GenderType: string;\r\n HasISP: boolean;\r\n HasStudyAbroad: boolean;\r\n SchoolSubType: any;\r\n SchoolLevel: any;\r\n}\r\n\r\nclass RelationShipLookupData extends LookupData{\r\n IsDirectRelative: boolean;\r\n}\r\nexport class RelationshipType {\r\n Code: string;\r\n Description: string;\r\n IsDirectRelative: boolean;\r\n IsHomestay: boolean;\r\n IsParent: boolean;\r\n IsParentNomination: boolean;\r\n IsSoftDeleted: boolean;\r\n}\r\n\r\n// export class Relationship {\r\n// Code: string;\r\n// Description: string;\r\n// IsSoftDeleted: boolean;\r\n// IsParent: boolean;\r\n// IsDirectRelative: boolean;\r\n// IsParentNomination: boolean;\r\n// IsHomestay: boolean;\r\n// }\r\n\r\nexport interface SchoolCalendarTermDTO {\r\n Year: number;\r\n TermNumber: number;\r\n Weeks: number;\r\n StartDate: Date;\r\n EndDate: Date;\r\n}\r\n\r\nexport type EnglishTestType = LookupData;\r\nexport type IecDuration = LookupData;\r\nexport type Relationship = RelationShipLookupData;\r\nexport type OHSCProvider = LookupData;\r\nexport type YearOfEntry = LookupData;\r\nexport type SchoolSubject = LookupData;\r\nexport type School = SchoolLookupData;\r\nexport type Term = LookupData;\r\nexport type SchoolDuration = LookupData;\r\n\r\nexport class VisaSubClass extends LookupData {\r\n VisaSubclassId: number;\r\n IsSoftDeleted: boolean;\r\n}\r\n\r\n\r\n\r\nexport const BridgingVisas = [\r\n { Code: '010', Description: '010 Bridging (Class A)' },\r\n { Code: '020', Description: '020 Bridging (Class B)' },\r\n { Code: '030', Description: '030 Bridging (Class C)' },\r\n { Code: '040', Description: '040 Bridging (Class D - prospective app)' },\r\n { Code: '041', Description: '041 Bridging (Class D - non applicant)' },\r\n { Code: '050', Description: '050 Bridging (Class E - general)' },\r\n { Code: '051', Description: '051 Bridging (Class E - protection visa app)' },\r\n { Code: '060', Description: '060 Bridging (Class F)' },\r\n { Code: '070', Description: '070 Bridging (Class R - removal pending)' },\r\n]\r\n\r\nexport const Tab_Title = {\r\n Dashboard_Title: 'Online Application Portal - DE International - Dashboard',\r\n Agent_Dashboard_Title: 'Online Application Portal - DE International - Dashboard - Agent',\r\n ImportantInformation_Title: 'Online Application Portal - DE International - Important Information',\r\n Agent_ImportantInformation_Title: 'Online Application Portal - DE International - Important Information - Agent',\r\n StudentDetails_Title: 'Online Application Portal - DE International - Student Details',\r\n Agent_StudentDetails_Title: 'Online Application Portal - DE International - Student Details - Agent',\r\n EnglishProficiency_Title: 'Online Application Portal - DE International - English Proficiency',\r\n Agent_EnglishProficiency_Title: 'Online Application Portal - DE International - English Proficiency - Agent',\r\n SchoolProgramAndPlacements_Title: 'Online Application Portal - DE International - School Program and Placements',\r\n Agent_SchoolProgramAndPlacements_Title: 'Online Application Portal - DE International - School Program and Placements - Agent',\r\n ParentCarerDetails_Title: 'Online Application Portal - DE International - Parent / Carer Details',\r\n Agent_ParentCarerDetails_Title: 'Online Application Portal - DE International - Parent / Carer Details - Agent',\r\n AccommodationAndWelfare_Title: 'Online Application Portal - DE International - Accommodation and welfare',\r\n Agent_AccommodationAndWelfare_Title: 'Online Application Portal - DE International - Accommodation and welfare - Agent',\r\n VisaAndOshcDetails_Title: 'Online Application Portal - DE International - Visa and OSHC Details',\r\n Agent_VisaAndOshcDetails_Title: 'Online Application Portal - DE International - Visa and OSHC Details - Agent',\r\n SpecialCircumstances_Title: 'Online Application Portal - DE International - Special Circumstances',\r\n Agent_SpecialCircumstances_Title: 'Online Application Portal - DE International - Special Circumstances - Agent',\r\n SupportingDocuments_Title: 'Online Application Portal - DE International - Supporting Documents',\r\n Agent_SupportingDocuments_Title: 'Online Application Portal - DE International - Supporting Documents - Agent',\r\n Summary_Title: 'Online Application Portal - DE International - Summary',\r\n Agent_Summary_Title: 'Online Application Portal - DE International - Summary - Agent',\r\n Payment_Title: 'Online Application Portal - DE International - Payment',\r\n Agent_Payment_Title: 'Online Application Portal - DE International - Payment - Agent',\r\n OAP_Print_Title: 'Online Application Portal - NSW Government Schools',\r\n Public_Payment_Title: 'Online Payment Portal - DE International',\r\n}\r\n","export class PreRegistrationModel {\r\n StudentNumber: string;\r\n GivenName: string;\r\n FamilyName: string;\r\n EmailAddress: string;\r\n DateOfBirth: string;\r\n CountryOfNationalityId: string;\r\n CountryOfResidenceId: string;\r\n WillStudyForYearOrLess: boolean;\r\n Parent1GivenName: string;\r\n Parent1FamilyName: string;\r\n Parent1Relationship: string;\r\n Parent2GivenName: string;\r\n Parent2FamilyName: string;\r\n Parent2Relationship: string;\r\n LegalCustodianGivenName?: string;\r\n LegalCustodianFamilyName?: string;\r\n IsGdprCompliant: boolean;\r\n\r\n StudentOnlyHasOneName: boolean;\r\n Parent1OnlyHasOneName: boolean;\r\n Parent2OnlyHasOneName: boolean;\r\n SingleParentOrGuardian: boolean;\r\n}\r\n","module.exports = \".content .right-block {\\r\\n width: 100%\\r\\n}\\r\\n\\r\\n.content .right-block .block .problems {\\r\\n padding: 0px 128px;\\r\\n}\\r\\n\\r\\n.problems .problem .question .answer .choice.valid span:last-of-type .alert {\\r\\n cursor: auto;\\r\\n}\\r\\n\\r\\n.content .right-block .block .goback{\\r\\n display: inline-block;\\r\\n margin-top: 20px;\\r\\n width: 100%; \\r\\n margin-right:50px;\\r\\n box-sizing: border-box;\\r\\n}\\r\\n\\r\\n.content .right-block .block .problems .goback a {\\r\\n float: right; \\r\\n font-size: 2rem; \\r\\n color: blue;\\r\\n padding: 5px;\\r\\n cursor: pointer;\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n.content .right-block .block .problems .problem .question .answer .content {\\r\\n font-size: 2rem;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3BhZ2Utbm90LWZvdW5kL3BhZ2Utbm90LWZvdW5kLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSTtBQUNKOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksWUFBWTtBQUNoQjs7QUFHQTtJQUNJLHFCQUFxQjtJQUNyQixnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLGlCQUFpQjtJQUNqQixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osZUFBZTtJQUNmLFdBQVc7SUFDWCxZQUFZO0lBQ1osZUFBZTtJQUNmLDBCQUEwQjtBQUM5Qjs7QUFHQTtJQUNJLGVBQWU7QUFDbkIiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvcGFnZS1ub3QtZm91bmQvcGFnZS1ub3QtZm91bmQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb250ZW50IC5yaWdodC1ibG9jayB7XHJcbiAgICB3aWR0aDogMTAwJVxyXG59XHJcblxyXG4uY29udGVudCAucmlnaHQtYmxvY2sgLmJsb2NrIC5wcm9ibGVtcyB7XHJcbiAgICBwYWRkaW5nOiAwcHggMTI4cHg7XHJcbn1cclxuXHJcbi5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlLnZhbGlkIHNwYW46bGFzdC1vZi10eXBlIC5hbGVydCB7XHJcbiAgICBjdXJzb3I6IGF1dG87XHJcbn1cclxuXHJcblxyXG4uY29udGVudCAucmlnaHQtYmxvY2sgLmJsb2NrIC5nb2JhY2t7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7ICAgIFxyXG4gICAgbWFyZ2luLXJpZ2h0OjUwcHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4uY29udGVudCAucmlnaHQtYmxvY2sgLmJsb2NrIC5wcm9ibGVtcyAuZ29iYWNrICBhIHtcclxuICAgIGZsb2F0OiByaWdodDsgICBcclxuICAgIGZvbnQtc2l6ZTogMnJlbTsgICBcclxuICAgIGNvbG9yOiBibHVlO1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcblxyXG4uY29udGVudCAucmlnaHQtYmxvY2sgLmJsb2NrIC5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY29udGVudCB7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbn0iXX0= */\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n

Page not found

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n

Page doesn't exist

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n The page you're looking doesn't exists\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from '../services/auth.service';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'online-app-page-not-found',\n templateUrl: './page-not-found.component.html',\n styleUrls: ['./page-not-found.component.css']\n})\nexport class PageNotFoundComponent implements OnInit {\n\n currentUser: any;\n\n constructor(private activatedRoute: ActivatedRoute) { }\n\n ngOnInit() {\n this.currentUser = this.activatedRoute.snapshot.data['currentUser'];\n }\n\n //show border when tab on link for accessibility\n linkTabAccessibility(event): void {\n event.style.outline = \"1px solid black\";\n }\n\n linkBlurAccessibility(event): void {\n event.style.outline = \"\";\n }\n}\n","module.exports = \"\\n\\n
\\n
\\n
\\n\\n \\n\\n
\\n\\n
\\n\\n
\\n\\n
\\n

Payment Details

\\n
\\n\\n
\\n\\n \\n\\n
\\n
Payment cancelled. Please try again.
\\n
\\n\\n
\\n\\n \\n
\\n\\n \\n \\n \\n \\n
\\n
\\n {{referenceNoErrorMsg}}\\n
\\n
\\n If you are a Temporary Resident Program student: due to the recent changes in our payment system, you will not be able to pay with this reference number.
Please contact us at tempvisa@det.nsw.edu.au or 1300 300 229 (Option 1).\\n
\\n\\n\\n \\n
\\n\\n \\n \\n\\n \\n {{amountErrorMsg}}\\n \\n \\n
\\n\\n
\\n \\n
\\n \\n
\\n\\n
\\n \\n
\\n
\\n\\n
\\n\\n
\\n \\n
\\n\\n
\\n

Payment

\\n
\\n\\n
\\n
\\n
Your payment has been completed successfully.
\\n
\\n\\n
\\n \\n
\\n
\\n\\n
\\n\\n
\\n\\n
\\n
\\n
\\n\\n\"","module.exports = \".content .right-block {\\n width: 100%; }\\n\\n.problems .problem .question .answer h4 a,\\n.problems .problem .question .answer .heading4 a {\\n text-decoration: underline;\\n text-align: right;\\n color: #007bff;\\n font-size: 16px; }\\n\\n/*vendor overridden style-rules*/\\n\\n:host ::ng-deep {\\n display: flex;\\n flex-direction: column;\\n max-height: 100vh; }\\n\\n:host ::ng-deep online-app-header {\\n flex: 0 1 auto; }\\n\\n:host ::ng-deep .content {\\n flex: 1 1 auto;\\n overflow: auto; }\\n\\n:host ::ng-deep .payment-outer-box {\\n width: 60rem;\\n margin: 15rem 0 0 15rem; }\\n\\n:host ::ng-deep .payment-outer-box .formLabel {\\n margin-bottom: 0; }\\n\\n:host ::ng-deep .block .problems .problem .pro-title {\\n padding: 1.5rem 2rem;\\n background-color: #e5efef;\\n color: #46466e; }\\n\\n:host ::ng-deep .block .problems .problem .question {\\n padding: 2rem 2rem 2rem 2rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .heading5 {\\n padding-bottom: 0; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input.choice.valid span:last-of-type::after {\\n top: -1rem;\\n right: 0rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input span {\\n margin-left: 0;\\n margin-bottom: 3rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input span input {\\n font-size: 1.425rem;\\n padding: 0.8rem 1rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .payment-form-buttons {\\n display: flex;\\n justify-content: space-between; }\\n\\n:host ::ng-deep .block .problems .problem .question .payment-form-buttons .btn {\\n flex-grow: 1;\\n padding: 10px;\\n font-size: 14.25px; }\\n\\n:host ::ng-deep .block .problems .problem .question .payment-form-buttons .btn.btn-make-payment {\\n background: #40806a;\\n color: white; }\\n\\n:host ::ng-deep .block .problems .problem .question .payment-form-buttons .btn.btn-cancel {\\n background: #007faa;\\n color: white; }\\n\\n:host ::ng-deep .pre-payment-info {\\n border: 1px solid #007faa;\\n border-radius: 5px;\\n background-color: #eeeeff; }\\n\\n.captcha {\\n display: inline-block; }\\n\\n.choice {\\n text-align: right; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3BheW1lbnQvRDpcXGFcXDE1NVxcc1xcRGVpLk9ubGluZUFwcGxpY2F0aW9uLlByb2RcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5XZWJcXG9ubGluZS1hcHAvc3JjXFxhcHBcXHNoYXJlZFxccGF5bWVudFxccGF5bWVudC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFdBQ0osRUFBQTs7QUFFQTs7RUFFSSwwQkFBMEI7RUFDMUIsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxlQUFlLEVBQUE7O0FBR25CLGdDQUFBOztBQUNBO0VBQ0ksYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixpQkFBaUIsRUFBQTs7QUFIckI7SUFNUSxjQUFjLEVBQUE7O0FBTnRCO0lBVVEsY0FBYztJQUNkLGNBQWMsRUFBQTs7QUFYdEI7SUFnQlEsWUFBWTtJQUNaLHVCQUF1QixFQUFBOztBQWpCL0I7TUFvQlksZ0JBQWdCLEVBQUE7O0FBcEI1QjtJQTZCb0Isb0JBQW9CO0lBQ3BCLHlCQUF5QjtJQUN6QixjQUFjLEVBQUE7O0FBL0JsQztJQW1Db0IsNEJBQTRCLEVBQUE7O0FBbkNoRDtNQXdDNEIsaUJBQWlCLEVBQUE7O0FBeEM3QztNQStDd0MsVUFBVTtNQUNWLFdBQVcsRUFBQTs7QUFoRG5EO01Bc0RnQyxjQUFjO01BQ2QsbUJBQW1CLEVBQUE7O0FBdkRuRDtRQTBEb0MsbUJBQW1CO1FBQ25CLG9CQUFvQixFQUFBOztBQTNEeEQ7TUFrRXdCLGFBQWE7TUFDYiw4QkFBOEIsRUFBQTs7QUFuRXREO1FBc0U0QixZQUFZO1FBQ1osYUFBYTtRQUNiLGtCQUFrQixFQUFBOztBQXhFOUM7VUEyRWdDLG1CQUFtQjtVQUNuQixZQUFZLEVBQUE7O0FBNUU1QztVQWdGZ0MsbUJBQW1CO1VBQ25CLFlBQVksRUFBQTs7QUFqRjVDO0lBMkZRLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIseUJBQXlCLEVBQUE7O0FBSWpDO0VBQ0kscUJBQXFCLEVBQUE7O0FBR3pCO0VBQ0ksaUJBQWlCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvcGF5bWVudC9wYXltZW50LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbnRlbnQgLnJpZ2h0LWJsb2NrIHtcclxuICAgIHdpZHRoOiAxMDAlXHJcbn1cclxuXHJcbi5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciBoNCBhLFxyXG4ucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLmhlYWRpbmc0IGEge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIGNvbG9yOiAjMDA3YmZmO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG59XHJcblxyXG4vKnZlbmRvciBvdmVycmlkZGVuIHN0eWxlLXJ1bGVzKi9cclxuOmhvc3QgOjpuZy1kZWVwIHsgICAgXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xyXG5cclxuICAgIG9ubGluZS1hcHAtaGVhZGVyIHtcclxuICAgICAgICBmbGV4OiAwIDEgYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAuY29udGVudCB7XHJcbiAgICAgICAgZmxleDogMSAxIGF1dG87XHJcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC5wYXltZW50LW91dGVyLWJveCB7XHJcbiAgICAgICAgd2lkdGg6IDYwcmVtO1xyXG4gICAgICAgIG1hcmdpbjogMTVyZW0gMCAwIDE1cmVtO1xyXG5cclxuICAgICAgICAuZm9ybUxhYmVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJsb2NrIHtcclxuICAgICAgICAucHJvYmxlbXMge1xyXG4gICAgICAgICAgICAucHJvYmxlbSB7XHJcblxyXG4gICAgICAgICAgICAgICAgLnByby10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMS41cmVtIDJyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZWZlZjtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzQ2NDY2ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAucXVlc3Rpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAycmVtIDJyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5hbnN3ZXIge1xyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5oZWFkaW5nNSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLmNob2ljZS1pbnB1dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmNob2ljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi52YWxpZCBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGU6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMHJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNDI1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjhyZW0gMXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5wYXltZW50LWZvcm0tYnV0dG9ucyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5idG4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTQuMjVweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmJ0bi1tYWtlLXBheW1lbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0MDgwNmE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYnRuLWNhbmNlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwN2ZhYTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9ICAgIFxyXG5cclxuICAgIC5wcmUtcGF5bWVudC1pbmZvIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA3ZmFhO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWZmO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2FwdGNoYXtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLmNob2ljZXtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, Renderer2, OnDestroy } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormBuilder, Validators, FormGroup } from '@angular/forms';\nimport { PublicPaymentService } from '../services/publicPayment.service';\nimport { SharedService } from '../services/shared.service';\nimport { Title } from '@angular/platform-browser';\nimport { Tab_Title } from '../models/lookup-data.model';\nimport { slideInOut } from 'src/app/application/animations/slideInOut';\n\n@Component({\n selector: 'online-app-payment',\n templateUrl: './payment.component.html',\n styleUrls: ['./payment.component.scss'],\n animations: [slideInOut]\n})\nexport class PaymentComponent implements OnInit, OnDestroy {\n paymentForm: FormGroup;\n paymentStatus;\n referenceNoErrorMsg;\n amountErrorMsg; \n trySubmit = false;\n paymentMethod: string;\n\n constructor(private router: Router,\n private sharedService: SharedService,\n private renderer: Renderer2,\n private route: ActivatedRoute,\n private formBuilder: FormBuilder,\n private paymentService: PublicPaymentService,\n private titleService: Title) {\n\n this.titleService.setTitle(Tab_Title.Public_Payment_Title);\n this.sharedService.setHeaderText('Make Payment Online');\n\n this.renderer.addClass(document.body, 'login-screen');\n\n this.paymentForm = this.formBuilder.group({\n recaptchaReactive: ['', Validators.compose([Validators.required])],\n referenceNo: ['', Validators.compose([Validators.required])],\n amount: ['', Validators.compose([Validators.required])], \n });\n \n }\n\n ngOnInit() {\n this.paymentStatus = this.route.snapshot.paramMap.get(\"paymentStatus\");\n console.log(this.paymentStatus); \n\n this.route.queryParams.subscribe(params => {\n this.paymentMethod = params['payment']; \n console.log(this.paymentMethod);\n });\n\n }\n\n makeAnotherPayment() {\n this.router.navigate(['/online-payment']);\n\n }\n\n onSubmit(paymentValue){\n this.trySubmit = true;\n this.referenceNoErrorMsg = '';\n\n this.amountErrorMsg = '';\n console.log(paymentValue);\n\n this.paymentForm.get('referenceNo').setErrors(null);\n this.paymentForm.get('amount').setErrors(null);\n \n this.paymentForm.updateValueAndValidity();\n\n if(!paymentValue.referenceNo){\n this.referenceNoErrorMsg = 'Reference No. is required';\n\n this.paymentForm.get('referenceNo').setErrors({\n required: true\n });\n } else if(!this.validateReferenceNo(paymentValue.referenceNo)){\n this.referenceNoErrorMsg = 'Incorrect reference number';\n\n this.paymentForm.get('referenceNo').setErrors({\n required: true\n });\n\n }\n if(!paymentValue.amount){\n this.amountErrorMsg = 'Amount is required';\n\n this.paymentForm.get('amount').setErrors({\n required: true\n });\n }\n\n if(paymentValue.amount <= 0){\n this.amountErrorMsg = 'Amount must be bigger than 0';\n \n this.paymentForm.get('amount').setErrors({\n shouldBePositive: true\n });\n }\n\n this.paymentForm.updateValueAndValidity();\n\n if (this.paymentForm.invalid) {\n return;\n }\n\n \n this.paymentService.validatePaymentReferenceNo(paymentValue.referenceNo)\n .subscribe((result: any) => {\n\n console.log(result);\n\n if(result.Result){ \n\n if(result.Result === 'No Application Fee'){\n this.referenceNoErrorMsg = 'Please use the Online Application Portal to proceed with Application Fee payment';\n\n this.paymentForm.get('referenceNo').setErrors({\n noApplicationFee: true,\n backEndValidation: false,\n });\n }\n else {\n //this.referenceNoErrorMsg = result.Result;\n this.referenceNoErrorMsg = 'Incorrect reference number';\n\n this.paymentForm.get('referenceNo').setErrors({\n backEndValidation: true,\n noApplicationFee: false,\n });\n }\n\n } else {\n\n this.paymentService.getPaymentUri(paymentValue.referenceNo, paymentValue.amount, this.paymentMethod) \n .subscribe((result: any) => {\n\n console.log(result);\n\n if (!result || !result.Result){\n console.log('server error');\n this.router.navigate(['/server-error']);\n } else {\n\n window.location.href = result.Result;\n\n // this.paymentForm.setValue({\n // referenceNo: null,\n // amount: null,\n // recaptchaReactive: null\n // });\n //this.paymentForm.updateValueAndValidity();\n \n \n } \n },\n err => {\n console.log(err);\n this.router.navigate(['/server-error']);\n });\n\n }\n });\n \n }\n\n ngOnDestroy() {\n this.sharedService.resetHeaderText();\n }\n\n validateReferenceNo(referenceNo){\n // comment this for trp refrence no\n // if(String(referenceNo).length != 11)\n // return false;\n \n if(!referenceNo)\n return false;\n \n if(referenceNo.toUpperCase().startsWith('ST'))\n return true;\n\n if(!/^\\d+$/.test(referenceNo))\n return false;\n \n return true;\n\n }\n\n //show border when tab on link for accessibility\n linkTabAccessibility(event): void {\n event.style.outline = \"1px solid black\";\n }\n\n linkBlurAccessibility(event): void {\n event.style.outline = \"\";\n }\n\n}\n","module.exports = \"\\n\\n
\\n
\\n\\n
\\n\\n
\\n

GDPR - Registration

\\n
\\n \\n
\\n \\n\\n
\\n\\n
\\n

Personal data collection and consent supplement for applicants residing in the EU

\\n
\\n\\n
\\n
\\n\\n
\\n In order to process applications to study in New South Wales (NSW) government schools, it is\\n necessary for the\\n NSW Department of Education by its DE International to collect certain personal data prior to\\n your arrival in Australia\\n via the Request for the AASES form and any subsequent related request for personal data (the\\n Requested Personal Data).

\\n\\n In some circumstances where DE International collects personal data in relation to an individual that is\\n resident in\\n European Union (EU) at the time of collection, the EU General Data Protection Regulation\\n (GDPR) may apply under\\n EU laws in addition to relevant laws in Australia. This form:
\\n\\n
    \\n
  • \\n once completed reflects an acknowledgement by you of the purpose Requested Personal Data is\\n collected for and additionally your consent regarding how DE international may use or process\\n Requested Personal Data; but\\n
  • \\n
  • \\n does not limit the rights of DE international or grant you any additional rights in relation to\\n Requested Personal\\n Data that is not the subject to the GDPR.\\n
  • \\n\\n
\\n\\n
\\n DE International will manage all Requested Personal Data in accordance with its obligations under the\\n Privacy and\\n Personal Information Protection Act 1998 (NSW) and the Health Records and Information\\n Privacy Act 2002 (NSW). If you\\n would like further information about DE International's obligations under these laws you can contact\\n the NSW Information\\n and Privacy Commission here (http://www.ipc.nsw.gov.au/contact-us-0)\\n

\\n Providing your acknowledgement and consent in accordance with this form is voluntary, but failure to\\n do so may\\n delay or prevent DE International from processing the relevant application for study.\\n


\\n
\\n Purpose of Processing

\\n\\n DE International may use the Requested Personal Data for one or more of the following purposes:
\\n
\\n
\\n
    \\n
  • \\n assessing the application for study in NSW against eligibility requirements, including:\\n
      \\n
    • \\n any eligibility requirements applying to international applicants; and\\n
    • \\n
    • \\n for the level of schooling applied for;\\n
    • \\n
    \\n
  • \\n
  • \\n information will be:\\n
      \\n
    • \\n provided to schools to arrange an enrolment;\\n
    • \\n
    • \\n used to access data from the Australian Government’s Department of Home Affairs concerning\\n the student visa: and\\n
    • \\n
    • \\n provided to student exchange organisations (SEOs) to arrange accommodation and airport pick\\n up services;\\n
    • \\n
    \\n
  • \\n
  • \\n implementing any contract or pre-contractual measures at your request in relation to study\\n opportunity; and\\n
  • \\n
  • \\n providing the Requested Personal Data to SEOs or host families. Further details of potential\\n third parties\\n who information may be disclosed to can be obtained at https://www.deinternational.nsw.edu.au/study-options/study-programs/international-student-program;\\n
  • \\n
\\n
\\n
\\n
\\n At any time, you are able to withdraw consent for DE International to process the Requested Personal\\n Data, by\\n contacting us here here (https://www.deinternational.nsw.edu.au/contact-us).\\n Withdrawing your consent may prevent or\\n delay DE International from processing the application for study or providing the study opportunity. If\\n you withdraw\\n consent (even where you no longer wish to apply for or have completed your study in NSW), it may still\\n be necessary\\n for DE International to retain and process your data for some of the purposes for which it was\\n collected.\\n

\\n
\\n Transfer of Personal Data outside of the European Union

\\n\\n DE International is not based in the European Union and any Requested Personal Data provided will be\\n transferred\\n to and stored at a location in Australia for the purposes outlined above. You consent to this transfer\\n and also\\n acknowledge it is necessary (including to implement any contract or pre-contractual measures) in order\\n for your\\n application to be assessed and make the study opportunity that you have requested available.\\n

\\n You should be aware when providing your acknowledgement and consent to the transfer outside the EU\\n under this form that:\\n
\\n
    \\n
  • \\n the European Commission has not made an adequacy decision in respect of the privacy protections\\n outlined\\n above that will apply to the Requested Personal Data when stored in Australia and processed by DE\\n International; and\\n
  • \\n
  • \\n although the Requested Personal Data will be subject to the protections outlined above, these may\\n not be\\n 'appropriate safeguards' within the meaning of Article 46 of the GDPR.\\n
  • \\n
\\n
\\n This means that while DE International will comply with the requirements in NSW for protection of\\n personal\\n information, the Requested Personal Data will not be subject to the same rights for data subjects and\\n obligations for\\n controllers and processors of personal data as would apply in the European Union under the GDPR. The\\n potential\\n risks may include you not being able to access the same kind of legal rights and remedies that may\\n otherwise be\\n available within the EU if the GDPR applied. If you have any concerns regarding the level of\\n protection given please\\n contact DE International or the NSW Information and Privacy Commissioner for further information.\\n

\\n\\n
\\n Declaration of acknowledgement and consent

\\n A person signing this form must not provide personal data to DE International unless they have the\\n consent of the\\n relevant individual the personal data relates to. Any persons under 18 years of age must obtain\\n acknowledgement\\n and consent to this form from a parent or legal guardian.\\n

\\n By signing this form I/we:
\\n
\\n \\n {{declarationConsent.text}}\\n
\\n \\n
\\n
\\n\\n
\\n
\\n\\n
\\n\\n
\\n \\n \\n
\\n\\n\\n
\\n
\\n
\\n
\\n\"","module.exports = \".content .right-block {\\n width: 100%; }\\n\\n.problems .problem .question .answer .choice.valid span.largeErrorMsg {\\n display: inline-block;\\n box-sizing: border-box;\\n margin-bottom: 50px; }\\n\\n.problems .problem .question .answer .gdpr-text {\\n font-size: 1.8rem; }\\n\\n.problems .problem .question .answer .gdpr-text ul {\\n margin-top: 10px;\\n margin-bottom: 20px; }\\n\\n.problems .problem .question .answer .gdpr-text ul li {\\n list-style-type: square;\\n margin-left: 20px; }\\n\\n.problems .problem .question .answer .gdpr-text a {\\n text-decoration: underline;\\n color: #46466E; }\\n\\n.problems .problem .question .answer .gdpr-text .purpose-bordered-text {\\n border: 1px solid black; }\\n\\n.problems .problem .question .answer .gdpr-text .purpose-bordered-text ul li ul li {\\n list-style-type: disc; }\\n\\n.problems button {\\n padding: 14px 26px;\\n font-size: 2rem;\\n color: #fff;\\n transition: all .2s;\\n background-color: #46466E;\\n border: 1px solid transparent;\\n border-radius: 5px;\\n cursor: pointer;\\n margin-left: 20px; }\\n\\n.problems .gdpr-submit-buttons {\\n margin-top: 50px;\\n text-align: center; }\\n\\n.problems .gdpr-submit-buttons .agree-button {\\n background-color: #40806a;\\n color: white; }\\n\\n.problems .gdpr-submit-buttons .disagree-button {\\n background-color: #007faa;\\n color: white; }\\n\\n.consent-label {\\n display: inline; }\\n\\nbutton[disabled=disabled], button:disabled {\\n cursor: not-allowed !important;\\n background-color: #ccebe0 !important;\\n color: #70ce9f !important; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3ByZS1yZWdpc3RyYXRpb24tZ2Rwci9EOlxcYVxcMTU1XFxzXFxEZWkuT25saW5lQXBwbGljYXRpb24uUHJvZFxcRGVpLk9ubGluZUFwcGxpY2F0aW9uLldlYlxcb25saW5lLWFwcC9zcmNcXGFwcFxcc2hhcmVkXFxwcmUtcmVnaXN0cmF0aW9uLWdkcHJcXHByZS1yZWdpc3RyYXRpb24tZ2Rwci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFdBQ0osRUFBQTs7QUFHQTtFQUNJLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIsbUJBQW1CLEVBQUE7O0FBR3ZCO0VBQ0ksaUJBQWlCLEVBQUE7O0FBR3JCO0VBQ0ksZ0JBQWdCO0VBQ2hCLG1CQUFtQixFQUFBOztBQUd2QjtFQUNJLHVCQUF1QjtFQUN2QixpQkFBZ0IsRUFBQTs7QUFHcEI7RUFDSSwwQkFBMEI7RUFDMUIsY0FBYyxFQUFBOztBQUdsQjtFQUNJLHVCQUF1QixFQUFBOztBQUczQjtFQUNJLHFCQUFxQixFQUFBOztBQUd6QjtFQUNJLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YsV0FBVztFQUNYLG1CQUFtQjtFQUNuQix5QkFBeUI7RUFDekIsNkJBQTZCO0VBQzdCLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YsaUJBQWlCLEVBQUE7O0FBR3JCO0VBQ0ksZ0JBQWdCO0VBQ2hCLGtCQUFrQixFQUFBOztBQUl0QjtFQUNJLHlCQUF5QjtFQUN6QixZQUFZLEVBQUE7O0FBR2hCO0VBQ0kseUJBQXlCO0VBQ3pCLFlBQVksRUFBQTs7QUFHaEI7RUFDRSxlQUFlLEVBQUE7O0FBR2pCO0VBQ0UsOEJBQThCO0VBQzlCLG9DQUFvQztFQUNwQyx5QkFBeUIsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9wcmUtcmVnaXN0cmF0aW9uLWdkcHIvcHJlLXJlZ2lzdHJhdGlvbi1nZHByLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbnRlbnQgLnJpZ2h0LWJsb2NrIHtcclxuICAgIHdpZHRoOiAxMDAlXHJcbn1cclxuXHJcblxyXG4ucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLmNob2ljZS52YWxpZCBzcGFuLmxhcmdlRXJyb3JNc2cge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IFxyXG59XHJcblxyXG4ucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLmdkcHItdGV4dCB7XHJcbiAgICBmb250LXNpemU6IDEuOHJlbTtcclxufVxyXG5cclxuLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5nZHByLXRleHQgdWx7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5nZHByLXRleHQgdWwgbGl7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTtcclxuICAgIG1hcmdpbi1sZWZ0OjIwcHg7XHJcbn1cclxuXHJcbi5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuZ2Rwci10ZXh0IGEge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICBjb2xvcjogIzQ2NDY2RTtcclxufVxyXG5cclxuLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5nZHByLXRleHQgLnB1cnBvc2UtYm9yZGVyZWQtdGV4dCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcclxufVxyXG5cclxuLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5nZHByLXRleHQgLnB1cnBvc2UtYm9yZGVyZWQtdGV4dCB1bCBsaSB1bCBsaXtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxufVxyXG5cclxuLnByb2JsZW1zICBidXR0b24ge1xyXG4gICAgcGFkZGluZzogMTRweCAyNnB4O1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ2NDY2RTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbn1cclxuXHJcbi5wcm9ibGVtcyAuZ2Rwci1zdWJtaXQtYnV0dG9ucyB7XHJcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG5cclxuLnByb2JsZW1zIC5nZHByLXN1Ym1pdC1idXR0b25zIC5hZ3JlZS1idXR0b24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQwODA2YTtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLnByb2JsZW1zIC5nZHByLXN1Ym1pdC1idXR0b25zIC5kaXNhZ3JlZS1idXR0b24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2ZhYTtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLmNvbnNlbnQtbGFiZWx7XHJcbiAgZGlzcGxheTogaW5saW5lO1xyXG59XHJcblxyXG5idXR0b25bZGlzYWJsZWQ9ZGlzYWJsZWRdLCBidXR0b246ZGlzYWJsZWQge1xyXG4gIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NlYmUwICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICM3MGNlOWYgIWltcG9ydGFudDtcclxufVxyXG4iXX0= */\"","import { Component, OnInit, HostListener } from '@angular/core';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { Store, select } from '@ngrx/store';\nimport { Subscription } from 'rxjs';\nimport { RegisterUserResultModel } from '../models/registerUserResult.model';\nimport { PreRegistrationModel } from '../models/pre-registration.model';\nimport { PreRegistrationValidationResult } from '../models/pre-registration-validation.result.model';\nimport { Action_SetGDPRCOMPLIANCE } from '../state/actions';\n\n@Component({\n selector: 'online-app-pre-registration-gdpr',\n templateUrl: './pre-registration-gdpr.component.html',\n styleUrls: ['./pre-registration-gdpr.component.scss'],\n host: {\n class:'full-view-port-component-with-no-side-nav'\n }\n})\nexport class PreRegistrationGdprComponent implements OnInit {\n\n preRegistrationGDPRFormGroup: FormGroup;\n isFormSubmitted = false;\n isGDPRAccepted = false;\n sharedStateSubscription: Subscription;\n createdStudent: RegisterUserResultModel;\n preRegistrationDetails: PreRegistrationModel;\n preRegistrationValidationResult: PreRegistrationValidationResult;\n\n declarationConsents: Array = [];\n enableAgreeButton: boolean = false;\n\n constructor(private router: Router,\n private formBuilder: FormBuilder,\n private store: Store) {\n this.declarationConsents.push(\n {\n isAccepted: false,\n text: 'acknowledge that collection of the Requested Personal Data is necessary in order to process the application for study in NSW and for the other the purposes specified above;'\n },\n {\n isAccepted: false,\n text: 'give free and informed consent for DE International (and the other third party processors listed on this form) to use the Requested Personal Data for the purposes listed above; and'\n },\n {\n isAccepted: false,\n text: 'acknowledge it is necessary in order to process the application for study in NSW, and give free and informed consent to DE International, to transfer the Requested Personal Data from the European Union to Australia as set out in this form.'\n }\n );\n }\n\n ngOnInit() {\n\n this.sharedStateSubscription = this.store\n .pipe(select('shared'))\n .subscribe(sharedState => {\n if (sharedState) {\n this.preRegistrationDetails = sharedState.preRegistrationDetails;\n this.preRegistrationValidationResult = sharedState.preRegistrationValidationResult;\n\n if (!this.preRegistrationDetails) {\n this.router.navigate(['pre-registration']);\n return;\n }\n\n if (!this.preRegistrationValidationResult || !this.preRegistrationValidationResult.IsGdprRequired) {\n this.router.navigate(['/account-registration']);\n }\n\n } else {\n this.router.navigate(['pre-registration']);\n }\n });\n\n this.preRegistrationGDPRFormGroup = this.formBuilder.group({\n acceptGDPR: false\n });\n }\n\n acceptGDPRClicked() {\n this.isGDPRAccepted = !this.isGDPRAccepted;\n\n this.preRegistrationGDPRFormGroup.patchValue({\n acceptGDPR: this.isGDPRAccepted\n });\n\n if (this.isGDPRAccepted) {\n this.preRegistrationGDPRFormGroup.get('acceptGDPR').setErrors(null);\n }\n\n this.preRegistrationGDPRFormGroup.updateValueAndValidity();\n\n }\n\n agreeGDPR() {\n this.storeGDPRAcceptance();\n this.router.navigate(['/account-registration']);\n }\n\n disagreeGDPR() {\n this.router.navigate(['pre-registration']);\n }\n\n acceptGDPR(): void {\n\n this.isFormSubmitted = true;\n const gdprAccepted = this.preRegistrationGDPRFormGroup.get('acceptGDPR').value;\n\n if (gdprAccepted) {\n this.storeGDPRAcceptance();\n this.router.navigate(['/account-registration']);\n // this.router.navigateByUrl('/account-registration');\n } else {\n // this.preRegistrationGDPRFormGroup.get('acceptGDPR').setErrors({'gdprNotAccepted': 'true'});\n }\n\n }\n\n storeGDPRAcceptance(): void {\n this.store.dispatch({\n type: Action_SetGDPRCOMPLIANCE,\n payload: true\n });\n }\n\n onConsentClick(event, declarationConsent: any) {\n declarationConsent.isAccepted = event.checked;\n this.enableAgreeButton = false;\n if (this.declarationConsents.filter(c => !c.isAccepted).length === 0) {\n this.enableAgreeButton = true;\n }\n }\n\n //show border when tab on link for accessibility\n linkTabAccessibility(event): void {\n event.style.outline = \"1px solid black\";\n }\n\n linkBlurAccessibility(event): void {\n event.style.outline = \"\";\n }\n\n // @HostListener('window:popstate', ['$event'])\n // onPopState(event) {\n // console.log('Back or forward button pressed');\n // alert('Clicking in back or forward may result in loss of data or unexpected behavior.');\n // event.preventDefault();\n\n // return false;\n // }\n}\n","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n

Pre - Registration

\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n Go back to Home Page\\r\\n \\r\\n
Please note that all fields marked with an (*) are required.
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
Student Details
\\r\\n 1 of 2\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
Have you applied to a NSW Governmnent school in the past?
\\r\\n
\\r\\n \\r\\n Yes
radio button
checked
unchecked
\\r\\n
\\r\\n \\r\\n No
radio button
checked
unchecked
\\r\\n
\\r\\n
\\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Student Number is required\\r\\n \\r\\n \\r\\n {{ getApiValidationErrorMsg('studentNumber') }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Given name is required\\r\\n \\r\\n \\r\\n {{ getApiValidationErrorMsg('givenName') }}\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Family name is required\\r\\n \\r\\n \\r\\n {{ getApiValidationErrorMsg('familyName') }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Has only one name as per passport or birth certificate\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Date of Birth is required\\r\\n \\r\\n \\r\\n {{ getApiValidationErrorMsg('dateOfBirth') }}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Email Address is required\\r\\n \\r\\n \\r\\n Please enter valid email\\r\\n \\r\\n \\r\\n {{ getApiValidationErrorMsg('emailAddress') }}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Verify Email Address is required\\r\\n \\r\\n \\r\\n Please enter valid email\\r\\n \\r\\n \\r\\n Email address doesn’t match\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Nationality is required\\r\\n \\r\\n \\r\\n {{ getApiValidationErrorMsg('countryOfNationalityId') }}\\r\\n \\r\\n \\r\\n {{ nationChosenErrorMsg }}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Country of Residence is required\\r\\n \\r\\n \\r\\n {{ getApiValidationErrorMsg('countryOfResidenceId') }}\\r\\n \\r\\n
\\r\\n
How long do you wish to study in\\r\\n Australia?
\\r\\n \\r\\n \\r\\n 1\\r\\n Year or Less
radio button
checked
unchecked
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n More than 1 year
radio button
checked
unchecked
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ getApiValidationErrorMsg('willStudyForYearOrLess') }}\\r\\n \\r\\n \\r\\n Please select an option\\r\\n \\r\\n\\r\\n \\r\\n We are not able to offer you an enrolment of one year or less. The Study abroad (short term)\\r\\n program is currently available to a select group of nationalities. Please contact DE International\\r\\n for further information.\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n To know more about studying in Australia for 1 year or less,\\r\\n click\\r\\n here.\\r\\n
\\r\\n
\\r\\n To know more about studying in Australia for more than a year,\\r\\n click\\r\\n here.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n

Parent Details

\\r\\n 2 of 2\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n The student currently has only one parent or a legal Custodian\\r\\n
\\r\\n \\r\\n You have indicated the student currently has only one parent or legal guardian. Please review this\\r\\n selection and ensure this information is correct. If this is correct please deselect the checkbox\\r\\n confirming the student only has one parent or legal guardian\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Parent 1 Relationship is required\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Given name is required\\r\\n \\r\\n \\r\\n {{ getApiValidationErrorMsg('parent1GivenName') }}\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Family name is required\\r\\n \\r\\n \\r\\n {{ getApiValidationErrorMsg('parent1FamilyName') }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Has only one name as per passport or birth certificate\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Parent 2 Relationship is required\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Given name is required\\r\\n \\r\\n \\r\\n {{ getApiValidationErrorMsg('parent2GivenName') }}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Family name is required\\r\\n \\r\\n \\r\\n {{ getApiValidationErrorMsg('parent2FamilyName') }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Has only one name as per passport or birth certificate\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n

Registration failed due to one or more errors. Please scroll up and check the information in red.

\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\"","module.exports = \".content .right-block {\\n width: 100%; }\\n\\n.content .right-block .block .problems {\\n padding: 2.4rem 12.8rem; }\\n\\n.problems .problem .question .answer .choice.valid span:last-of-type .alert {\\n cursor: auto; }\\n\\n.problems .problem .question .answer .choice.valid span.largeErrorMsg {\\n display: inline-block;\\n box-sizing: border-box;\\n margin-bottom: 50px; }\\n\\n.problems .problem .question .answer .choice.valid span.largerErrorMsg {\\n display: inline-block;\\n box-sizing: border-box;\\n margin-bottom: 10rem; }\\n\\n.problems .problem .question .answer .choice.valid span:last-of-type .alert a {\\n text-decoration: underline;\\n color: blue; }\\n\\n.problems .problem .question .answer .single-radio span.disabled {\\n background-color: #DDDDDD;\\n cursor: not-allowed;\\n pointer-events: none; }\\n\\n.problems .problem .question .answer .radioError {\\n font-style: normal;\\n color: #f00;\\n font-size: 1.4rem; }\\n\\n.content .right-block .block .goback {\\n display: inline-block;\\n margin-top: 2rem;\\n width: 100%;\\n box-sizing: border-box; }\\n\\n.content .right-block .block .problems .goback {\\n display: inline-block; }\\n\\n.content .right-block .block .problems .goback a {\\n float: left;\\n font-size: 1.425rem;\\n color: blue;\\n cursor: pointer;\\n text-decoration: underline; }\\n\\n.content .right-block .block .problems .goback .info-message {\\n float: right;\\n padding-bottom: unset; }\\n\\n.submit-box input.inactive {\\n background-color: #aec5e7;\\n cursor: not-allowed; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3ByZS1yZWdpc3RyYXRpb24vRDpcXGFcXDE1NVxcc1xcRGVpLk9ubGluZUFwcGxpY2F0aW9uLlByb2RcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5XZWJcXG9ubGluZS1hcHAvc3JjXFxhcHBcXHNoYXJlZFxccHJlLXJlZ2lzdHJhdGlvblxccHJlLXJlZ2lzdHJhdGlvbi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFdBQ0osRUFBQTs7QUFFQTtFQUNJLHVCQUF1QixFQUFBOztBQUczQjtFQUNJLFlBQVksRUFBQTs7QUFHaEI7RUFDSSxxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLG1CQUFtQixFQUFBOztBQUd2QjtFQUNJLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIsb0JBQW9CLEVBQUE7O0FBR3hCO0VBQ0ksMEJBQTBCO0VBQzFCLFdBQVcsRUFBQTs7QUFHZjtFQUNFLHlCQUF5QjtFQUN6QixtQkFBbUI7RUFDbkIsb0JBQW9CLEVBQUE7O0FBSXRCO0VBQ0ksa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxpQkFBaUIsRUFBQTs7QUFHckI7RUFDSSxxQkFBcUI7RUFDckIsZ0JBQWdCO0VBQ2hCLFdBQVc7RUFFWCxzQkFBc0IsRUFBQTs7QUFHMUI7RUFDSSxxQkFBcUIsRUFBQTs7QUFEekI7SUFJUSxXQUFXO0lBQ1gsbUJBQW1CO0lBRW5CLFdBQVc7SUFDWCxlQUFlO0lBQ2YsMEJBQTBCLEVBQUE7O0FBVGxDO0lBYVEsWUFBWTtJQUNaLHFCQUFxQixFQUFBOztBQUs3QjtFQUNJLHlCQUF5QjtFQUN6QixtQkFBa0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9wcmUtcmVnaXN0cmF0aW9uL3ByZS1yZWdpc3RyYXRpb24uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY29udGVudCAucmlnaHQtYmxvY2sge1xyXG4gICAgd2lkdGg6IDEwMCVcclxufVxyXG5cclxuLmNvbnRlbnQgLnJpZ2h0LWJsb2NrIC5ibG9jayAucHJvYmxlbXMge1xyXG4gICAgcGFkZGluZzogMi40cmVtIDEyLjhyZW07XHJcbn1cclxuXHJcbi5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlLnZhbGlkIHNwYW46bGFzdC1vZi10eXBlIC5hbGVydCB7XHJcbiAgICBjdXJzb3I6IGF1dG87XHJcbn1cclxuXHJcbi5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlLnZhbGlkIHNwYW4ubGFyZ2VFcnJvck1zZyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDsgXHJcbn1cclxuXHJcbi5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciAuY2hvaWNlLnZhbGlkIHNwYW4ubGFyZ2VyRXJyb3JNc2cge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcmVtOyBcclxufVxyXG5cclxuLnByb2JsZW1zIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIC5jaG9pY2UudmFsaWQgc3BhbjpsYXN0LW9mLXR5cGUgLmFsZXJ0IGF7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIGNvbG9yOiBibHVlO1xyXG59XHJcblxyXG4ucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLnNpbmdsZS1yYWRpbyBzcGFuLmRpc2FibGVkIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREREREREO1xyXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcblxyXG4ucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLnJhZGlvRXJyb3Ige1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgY29sb3I6ICNmMDA7ICBcclxuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG59XHJcblxyXG4uY29udGVudCAucmlnaHQtYmxvY2sgLmJsb2NrIC5nb2JhY2t7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvLyBtYXJnaW4tcmlnaHQ6NXJlbTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbi5jb250ZW50IC5yaWdodC1ibG9jayAuYmxvY2sgLnByb2JsZW1zIC5nb2JhY2sgIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICBhIHtcclxuICAgICAgICBmbG9hdDogbGVmdDsgICBcclxuICAgICAgICBmb250LXNpemU6IDEuNDI1cmVtO1xyXG4gICAgICAgIC8vIGNvbG9yOiAjNkM3NTdEO1xyXG4gICAgICAgIGNvbG9yOiBibHVlO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuXHJcbiAgICAuaW5mby1tZXNzYWdlIHtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHVuc2V0O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLnN1Ym1pdC1ib3ggaW5wdXQuaW5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FlYzVlNztcclxuICAgIGN1cnNvcjpub3QtYWxsb3dlZDtcclxufVxyXG4iXX0= */\"","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ErrorResponse } from '../models/error.model';\nimport { SingleResultApiResponse } from '../models/api-response.model';\n\nimport { RegistrationService } from '../services/registration.service';\nimport { PreRegistrationModel } from '../models/pre-registration.model';\nimport { Store } from '@ngrx/store';\nimport {\n Action_StorePreRegistrationDetails,\n Action_StorePreRegistrationValidationResult,\n Action_SetGDPRCOMPLIANCE,\n Action_ClearPreRegistrationInfo\n} from '../state/actions';\nimport { PreRegistrationValidationResult } from '../models/pre-registration-validation.result.model';\nimport { Country } from '../models/lookup-data.model';\nimport { LookupData } from 'src/app/shared/models/lookup-data.model';\nimport { FormService } from '../services/form.service';\nimport { AnyFn } from '@ngrx/store/src/selector';\n\n@Component({\n selector: 'online-app-pre-registration',\n templateUrl: './pre-registration.component.html',\n styleUrls: ['./pre-registration.component.scss'],\n host: {\n class:'full-view-port-component-with-no-side-nav'\n }\n})\nexport class PreRegistrationComponent implements OnInit {\n\n countries: Country[];\n nationalities: Country[];\n countriesOfResidence: Country[];\n selectedCountryErrorMessage: String = '';\n invalidDateOfBirthReason = '';\n preRegistrationValidationResult: PreRegistrationValidationResult;\n selectedRelationship1: LookupData;\n selectedRelationship2: LookupData;\n nationChosenErrorMsg: string;\n\n errorKeyFormFieldMapping = [\n { apiErrorKeyName: 'model', formFieldName: 'givenName', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'IsPastStudent', formFieldName: 'isPastStudent', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'GivenName', formFieldName: 'givenName', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'FamilyName', formFieldName: 'familyName', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'EmailAddress', formFieldName: 'emailAddress', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'DateOfBirth', formFieldName: 'dateOfBirth', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'CountryOfNationalityId', formFieldName: 'countryOfNationalityId', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'WillStudyForYearOrLess', formFieldName: 'willStudyForYearOrLess', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'Parent1GivenName', formFieldName: 'parent1GivenName', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'Parent1FamilyName', formFieldName: 'parent1FamilyName', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'Parent1Relationship', formFieldName: 'parent1Relationship', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'Parent2GivenName', formFieldName: 'parent2GivenName', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'Parent2FamilyName', formFieldName: 'parent2FamilyName', apiValidationErrorMsg: null },\n { apiErrorKeyName: 'Parent2Relationship', formFieldName: 'parent2Relationship', apiValidationErrorMsg: null },\n\n ];\n\n preRegistrationFormGroup: FormGroup;\n\n isFormSubmitted = false;\n isPastStudent: boolean = null;\n willStudyForYearOrLess: boolean = null;\n isValidStudent = false;\n // hasMandatoryFieldsEntered = false;\n\n studentOnlyHasOneName: boolean = null;\n parent1OnlyHasOneName: boolean = null;\n parent2OnlyHasOneName: boolean = null;\n\n singleParentOrGuardian: boolean = null;\n singleParentOrGuardianHasError: boolean = false;\n\n validationError: Boolean = false;\n isValidForStudyAbroad: boolean = true;\n\n constructor(private activatedRoute: ActivatedRoute,\n private formBuilder: FormBuilder,\n private router: Router,\n private store: Store,\n private formService: FormService,\n private registrationService: RegistrationService) {\n\n // this.configureJQuery();\n\n this.selectedRelationship1 = this.getDefaultRelationship();\n this.selectedRelationship2 = this.getDefaultRelationship();\n }\n\n\n ngOnInit() {\n\n this.countries = this.activatedRoute.snapshot.data['countries'];\n this.nationalities = this.countries.filter(c => c.Code !== 'AU' && c.Code !== 'NZ');\n this.countriesOfResidence = [...this.countries];\n\n\n this.studentOnlyHasOneName = false;\n this.parent1OnlyHasOneName = false;\n this.parent2OnlyHasOneName = false;\n this.singleParentOrGuardian = false;\n\n\n this.preRegistrationFormGroup = this.formBuilder.group({\n isPastStudent: ['', Validators.required],\n studentNumber: '',\n givenName: ['', Validators.required],\n familyName: ['', Validators.required],\n emailAddress: ['', [Validators.required, Validators.pattern(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/)]],\n verifyEmailAddress: ['', [Validators.required, Validators.pattern(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/)]],\n dateOfBirth: ['', Validators.required],\n countryOfNationalityId: ['', Validators.required],\n countryOfResidenceId: ['', [Validators.required]],\n willStudyForYearOrLess: ['', [Validators.required]],\n parent1GivenName: ['', Validators.required],\n parent1FamilyName: ['', Validators.required],\n parent1Relationship: ['', Validators.required],\n parent2GivenName: ['', Validators.required],\n parent2FamilyName: ['', Validators.required],\n parent2Relationship: ['', Validators.required],\n });\n\n // this.preRegistrationFormGroup.valueChanges.subscribe( formData => {\n // //this.preRegistrationFormGroup = this.preRegistrationFormGroup.valid;\n // this.preRegistrationFormGroup.updateValueAndValidity();\n // });\n\n this.clearPreRegistrationInfo();\n\n\n\n }\n\n givenNameUpdate(event: any) {\n if(this.preRegistrationFormGroup.get('givenName').value){\n this.preRegistrationFormGroup.get('givenName').setValue(this.titleCaseWord(this.preRegistrationFormGroup.get('givenName').value));\n this.preRegistrationFormGroup.updateValueAndValidity();\n }\n }\n\n familyNameUpdate(event: any) {\n if(this.preRegistrationFormGroup.get('familyName').value){\n this.preRegistrationFormGroup.get('familyName').setValue(this.preRegistrationFormGroup.get('familyName').value.toUpperCase());\n this.preRegistrationFormGroup.updateValueAndValidity();\n }\n }\n\n parent1GivenNameUpdate(event: any) {\n if(this.preRegistrationFormGroup.get('parent1GivenName').value){\n this.preRegistrationFormGroup.get('parent1GivenName').setValue(this.titleCaseWord(this.preRegistrationFormGroup.get('parent1GivenName').value));\n this.preRegistrationFormGroup.updateValueAndValidity();\n }\n }\n\n parent1FamilyNameUpdate(event: any) {\n if(this.preRegistrationFormGroup.get('parent1FamilyName').value){\n this.preRegistrationFormGroup.get('parent1FamilyName').setValue(this.preRegistrationFormGroup.get('parent1FamilyName').value.toUpperCase());\n this.preRegistrationFormGroup.updateValueAndValidity();\n }\n }\n\n parent2GivenNameUpdate(event: any) {\n if(this.preRegistrationFormGroup.get('parent2GivenName').value){\n this.preRegistrationFormGroup.get('parent2GivenName').setValue(this.titleCaseWord(this.preRegistrationFormGroup.get('parent2GivenName').value));\n this.preRegistrationFormGroup.updateValueAndValidity();\n }\n }\n\n parent2FamilyNameUpdate(event: any) {\n if(this.preRegistrationFormGroup.get('parent2FamilyName').value){\n this.preRegistrationFormGroup.get('parent2FamilyName').setValue(this.preRegistrationFormGroup.get('parent2FamilyName').value.toUpperCase());\n this.preRegistrationFormGroup.updateValueAndValidity();\n }\n }\n\n titleCaseWord(word: string) {\n if (!word) return word;\n return word[0].toUpperCase() + word.substr(1).toLowerCase();\n }\n\n getDefaultRelationship(): LookupData {\n return {\n Code: 'Please select',\n Description: 'Please select'\n };\n }\n\n get hasErrors(): boolean {\n return this.isFormSubmitted && Object.keys(this.preRegistrationFormGroup.controls).some(key => !!this.preRegistrationFormGroup.get(key).errors)\n };\n\n setPastStudent(isPastStudent: boolean): void {\n this.isPastStudent = isPastStudent;\n\n this.preRegistrationFormGroup.patchValue({\n isPastStudent: isPastStudent,\n });\n\n if (!isPastStudent) {\n this.preRegistrationFormGroup.patchValue({\n studentNumber: '',\n });\n\n }\n\n this.preRegistrationFormGroup.get('givenName').setErrors(null);\n\n this.preRegistrationFormGroup.updateValueAndValidity();\n }\n\n onStudentNumberChange(studentNumber: string) {\n\n if (this.preRegistrationFormGroup.get('givenName').errors &&\n this.preRegistrationFormGroup.get('givenName').errors.apiValidationError) {\n this.preRegistrationFormGroup.get('givenName').setErrors(null);\n this.preRegistrationFormGroup.updateValueAndValidity();\n }\n\n }\n\n isLargeErrorMessage(): boolean {\n const result = this.isFormSubmitted &&\n this.preRegistrationFormGroup.get('countryOfNationalityId').errors &&\n this.preRegistrationFormGroup.get('countryOfNationalityId').errors.apiValidationError &&\n this.getApiValidationErrorMsg('countryOfNationalityId').length <= 200;\n\n return result;\n }\n\n isLargerErrorMessage(): boolean {\n const result = this.isFormSubmitted &&\n this.preRegistrationFormGroup.get('countryOfNationalityId').errors &&\n this.preRegistrationFormGroup.get('countryOfNationalityId').errors.apiValidationError &&\n this.getApiValidationErrorMsg('countryOfNationalityId').length > 200;\n\n return result;\n }\n\n setWillStudyForYearOrLess(willStudyForYearOrLess: boolean) {\n this.willStudyForYearOrLess = willStudyForYearOrLess;\n\n this.preRegistrationFormGroup.patchValue({\n willStudyForYearOrLess: willStudyForYearOrLess,\n });\n this.preRegistrationFormGroup.updateValueAndValidity();\n\n }\n\n getApiValidationErrorMsg(formFieldName: string): string {\n const errorField = this.errorKeyFormFieldMapping\n .find(errorKeyFormField => errorKeyFormField.formFieldName === formFieldName &&\n errorKeyFormField.apiValidationErrorMsg);\n return errorField && errorField.apiValidationErrorMsg ? errorField.apiValidationErrorMsg : '';\n }\n\n getDateInISOString(dateObject: Date): string {\n const userTimezoneOffset = dateObject.getTimezoneOffset() * 60000;\n const date = new Date(dateObject.getTime() - userTimezoneOffset);\n return date.toISOString();\n }\n\n getDateInString(dateObject: Date): string {\n return `${dateObject.getDate()}/${dateObject.getMonth() + 1}/${dateObject.getFullYear()}`;\n }\n\n setDateOfBirth(dateObject: Date) {\n this.preRegistrationFormGroup.patchValue({\n dateOfBirth: dateObject,\n });\n this.preRegistrationFormGroup.updateValueAndValidity();\n }\n\n getDateFromString(dateInString: string): Date {\n const dateParts = dateInString.split('/');\n return new Date(+dateParts[2], +dateParts[1] - 1, +dateParts[0]);\n }\n\n // configureJQuery() {\n\n // const setDateOfBirth = this.setDateOfBirth.bind(this);\n\n // $(function () {\n\n // $('.datepicker-global').datepicker({\n // dateFormat: 'dd/mm/yy',\n // dayNamesMin: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n // showOtherMonths: true,\n // selectOtherMonths: true,\n // firstDay: 1,\n // beforeShow: function (textbox, instance) {\n // $('.my-datepicker-global').append($('#ui-datepicker-div'));\n // },\n // onSelect: function () {\n\n // const dateObject = $(this).datepicker('getDate');\n // setDateOfBirth(dateObject);\n // },\n // });\n // });\n // }\n\n\n getDate(fieldName: string): string {\n // const dateObject = new Date($(`#${fieldName}`).datepicker('getDate'));\n const dateObject = this.preRegistrationFormGroup.get(fieldName).value;\n const userTimezoneOffset = dateObject.getTimezoneOffset() * 60000;\n const date = new Date(dateObject.getTime() - userTimezoneOffset);\n return date.toISOString();\n }\n\n continueRegistration(): void {\n this.isFormSubmitted = true;\n this.nationChosenErrorMsg = \"\";\n const emailAddress = this.preRegistrationFormGroup.get('emailAddress').value;\n const verifyEmailAddress = this.preRegistrationFormGroup.get('verifyEmailAddress').value;\n\n if(emailAddress && verifyEmailAddress && emailAddress !== verifyEmailAddress) {\n this.preRegistrationFormGroup.get('verifyEmailAddress').setErrors({ 'notMatch': true });\n }\n\n\n const isPastStudent = this.preRegistrationFormGroup.get('isPastStudent').value;\n const studentNo = this.preRegistrationFormGroup.get('studentNumber').value;\n\n if (isPastStudent === null || isPastStudent === '') {\n this.preRegistrationFormGroup.get('isPastStudent').setErrors({ 'required': true });\n }\n else {\n this.preRegistrationFormGroup.get('isPastStudent').setErrors(null);\n }\n\n if (isPastStudent && studentNo.trim().length <= 0) {\n this.preRegistrationFormGroup.get('studentNumber').setErrors({ 'required': true });\n } else {\n this.preRegistrationFormGroup.get('studentNumber').setErrors(null);\n }\n\n \n\n\n\n //MN-349\n var parent1GivenNameControl = this.preRegistrationFormGroup.get('parent1GivenName');\n var parent2GivenNameControl = this.preRegistrationFormGroup.get('parent2GivenName');\n var parent1FamilyNameControl = this.preRegistrationFormGroup.get('parent1FamilyName');\n var parent2FamilyNameControl = this.preRegistrationFormGroup.get('parent2FamilyName');\n var parent1RelationshipControl = this.preRegistrationFormGroup.get('parent1Relationship');\n var parent2RelationshipControl = this.preRegistrationFormGroup.get('parent2Relationship');\n\n if (this.singleParentOrGuardian) {\n if (parent1GivenNameControl.value && parent2GivenNameControl.value) {\n this.singleParentOrGuardianHasError = true;\n }\n else {\n this.singleParentOrGuardianHasError = false;\n\n // if single parent, then we need to ignore 'given/family name missing' if there is\n if (parent1GivenNameControl.value && !parent2GivenNameControl.value) {\n parent2GivenNameControl.setValidators(null);\n parent2GivenNameControl.updateValueAndValidity();\n parent2FamilyNameControl.setValidators(null);\n parent2FamilyNameControl.updateValueAndValidity();\n parent2RelationshipControl.setValidators(null);\n parent2RelationshipControl.updateValueAndValidity();\n } else\n if (!parent1GivenNameControl.value && parent2GivenNameControl.value) {\n parent1GivenNameControl.setValidators(null);\n parent1GivenNameControl.updateValueAndValidity();\n parent1FamilyNameControl.setValidators(null);\n parent1FamilyNameControl.updateValueAndValidity();\n parent1RelationshipControl.setValidators(null);\n parent1RelationshipControl.updateValueAndValidity();\n }\n }\n }\n else {\n this.singleParentOrGuardianHasError = false;\n }\n\n setTimeout(() => {\n this.formService.scrollToFirstErrorField();\n }, 100);\n\n if (this.preRegistrationFormGroup.valid && !this.singleParentOrGuardianHasError) {\n // this.registerUser();\n const preRegistrationDetails = this.getPreRegistrationDetails();\n this.validatePreRegistrationStudentInfo(preRegistrationDetails);\n }\n\n }\n\n\n validatePreRegistrationStudentInfo(preRegistrationDetails: PreRegistrationModel) {\n this.isValidStudent = false;\n this.registrationService.validatePreRegistrationStudentDetails(preRegistrationDetails)\n .subscribe((response: SingleResultApiResponse) => {\n this.isValidStudent = true;\n this.preRegistrationValidationResult = response.Result as PreRegistrationValidationResult;\n\n //2020-04 Store later\n //this.storePreRegistrationDetails(preRegistrationDetails);\n //this.storePreRegistrationValidationResult(this.preRegistrationValidationResult);\n\n //// console.log('going to send below preRegistrationDetails')\n //// console.log(preRegistrationDetails);\n //// console.log('going to send below preRegistrationValidationResult')\n //// console.log(this.preRegistrationValidationResult);\n\n if (this.preRegistrationValidationResult.DoesStudentAlreadyExist) {\n preRegistrationDetails.StudentNumber = this.preRegistrationValidationResult.StudentNumber;\n\n //2020-04 If student number now starts with '1XXXXXC', then it is TISIM student!!\n if (preRegistrationDetails.StudentNumber.startsWith('1')) {\n console.log(\"TISIM Student!! --> \", preRegistrationDetails.StudentNumber);\n //alert(\"tisim student!!\");\n }\n else {\n //student exist already and NOT TISIM student ... \n console.log(\"student exist already but NOT TISIMS student\"); \n }\n }\n else {\n console.log(\"Student does exist in ANT SYSTEM at all!\"); \n }\n\n\n\n this.storePreRegistrationDetails(preRegistrationDetails);\n this.storePreRegistrationValidationResult(this.preRegistrationValidationResult);\n\n\n if (this.preRegistrationValidationResult && this.preRegistrationValidationResult.IsGdprRequired) {\n this.router.navigate(['/pre-registration-gdpr']);\n } else {\n this.setGDPRCompliance();\n this.router.navigate(['/account-registration']);\n }\n\n }, (error: ErrorResponse) => {\n const { errors } = error;\n\n //console.log('errors: ', errors);\n\n for (const errorKeyValue of errors) {\n this.setApiValidationError(errorKeyValue.Key, errorKeyValue.Value);\n }\n this.preRegistrationFormGroup.updateValueAndValidity();\n this.formService.scrollToFirstErrorField();\n //console.log('this.preRegistrationFormGroup: ', this.preRegistrationFormGroup);\n\n });\n }\n\n ValidateRegisteredWithSelectedNationality(countryOfNationalityId: string) {\n this.registrationService.ValidateRegisteredWithSelectedNationality(countryOfNationalityId)\n .subscribe((response: any) => {\n if(response){\n this.nationChosenErrorMsg = response.Result;\n }\n }, (error: ErrorResponse) => {\n const { errors } = error;\n\n // console.log('errors: ', errors);\n if(errors){\n for (const errorKeyValue of errors) {\n this.setApiValidationError(errorKeyValue.Key, errorKeyValue.Value);\n }\n this.preRegistrationFormGroup.updateValueAndValidity();\n this.formService.scrollToFirstErrorField();\n }\n \n //console.log('this.preRegistrationFormGroup: ', this.preRegistrationFormGroup);\n\n });\n }\n\n\n setApiValidationError(apiErrorKeyName: string, apiErrorMsg): void {\n //console.log(`apiErrorKeyName:${apiErrorKeyName},apiErrorMsg:${apiErrorMsg} `);\n const errorField = this.errorKeyFormFieldMapping.find(errorKeyFormField => errorKeyFormField.apiErrorKeyName === apiErrorKeyName);\n\n if (errorField) {\n const { formFieldName } = errorField;\n this.preRegistrationFormGroup.get(formFieldName).setErrors({ apiValidationError: true });\n errorField.apiValidationErrorMsg = apiErrorMsg;\n }\n\n }\n\n getPreRegistrationDetails(): PreRegistrationModel {\n\n const registrationDetails = new PreRegistrationModel();\n\n registrationDetails.StudentNumber = '';\n\n const isPastStudent = this.preRegistrationFormGroup.get('isPastStudent').value;\n\n if (isPastStudent) {\n registrationDetails.StudentNumber = this.preRegistrationFormGroup.get('studentNumber').value;\n }\n\n registrationDetails.GivenName = this.preRegistrationFormGroup.get('givenName').value;\n registrationDetails.FamilyName = this.preRegistrationFormGroup.get('familyName').value;\n registrationDetails.EmailAddress = this.preRegistrationFormGroup.get('emailAddress').value;\n registrationDetails.DateOfBirth = this.getDate('dateOfBirth');\n registrationDetails.CountryOfNationalityId = this.preRegistrationFormGroup.get('countryOfNationalityId').value;\n registrationDetails.CountryOfResidenceId = this.preRegistrationFormGroup.get('countryOfResidenceId').value;\n registrationDetails.WillStudyForYearOrLess = this.preRegistrationFormGroup.get('willStudyForYearOrLess').value;\n\n registrationDetails.Parent1GivenName = this.preRegistrationFormGroup.get('parent1GivenName').value;\n registrationDetails.Parent1FamilyName = this.preRegistrationFormGroup.get('parent1FamilyName').value;\n registrationDetails.Parent1Relationship = this.preRegistrationFormGroup.get('parent1Relationship').value;\n\n registrationDetails.Parent2GivenName = this.preRegistrationFormGroup.get('parent2GivenName').value;\n registrationDetails.Parent2FamilyName = this.preRegistrationFormGroup.get('parent2FamilyName').value;\n registrationDetails.Parent2Relationship = this.preRegistrationFormGroup.get('parent2Relationship').value;\n \n if(this.preRegistrationFormGroup.get('parent1Relationship').value === 'Legal Custodian') {\n registrationDetails.LegalCustodianGivenName = this.preRegistrationFormGroup.get('parent1GivenName').value;\n registrationDetails.LegalCustodianFamilyName = this.preRegistrationFormGroup.get('parent1FamilyName').value;\n }\n\n registrationDetails.StudentOnlyHasOneName = this.studentOnlyHasOneName;\n registrationDetails.Parent1OnlyHasOneName = this.parent1OnlyHasOneName;\n registrationDetails.Parent2OnlyHasOneName = this.parent2OnlyHasOneName;\n registrationDetails.SingleParentOrGuardian = this.singleParentOrGuardian;\n\n return registrationDetails;\n }\n\n storePreRegistrationDetails(preRegistrationDetails: PreRegistrationModel) {\n\n //console.log('going to dispatch action - in storePreRegistrationDetails');\n\n this.store.dispatch({\n type: Action_StorePreRegistrationDetails,\n payload: preRegistrationDetails\n });\n }\n\n setGDPRCompliance(): void {\n this.store.dispatch({\n type: Action_SetGDPRCOMPLIANCE,\n payload: true\n });\n }\n\n storePreRegistrationValidationResult(preRegistrationValidationResult: PreRegistrationValidationResult) {\n\n //console.log('going to dispatch action - in storePreRegistrationValidationResult');\n\n this.store.dispatch({\n type: Action_StorePreRegistrationValidationResult,\n payload: preRegistrationValidationResult\n });\n }\n\n clearPreRegistrationInfo() {\n\n this.store.dispatch({\n type: Action_ClearPreRegistrationInfo\n });\n\n }\n\n cancel(): void {\n this.router.navigate(['/welcome-agent']);\n }\n\n\n isOnlyHasOneNameClicked(event, personEntity: string) {\n\n switch (personEntity) {\n\n case 'student': {\n this.studentOnlyHasOneName = event.checked;\n var onlyHasOneNameNewValue = this.studentOnlyHasOneName;\n this.studentOnlyHasOneName = onlyHasOneNameNewValue;\n\n const studentFamilyNameControl = this.preRegistrationFormGroup.get('familyName');\n if (onlyHasOneNameNewValue) {\n studentFamilyNameControl.setValidators(null);\n studentFamilyNameControl.setValue(\"\");\n }\n else {\n studentFamilyNameControl.setValidators([Validators.required]);\n }\n\n studentFamilyNameControl.updateValueAndValidity();\n break;\n }\n\n\n case 'parent1': {\n this.parent1OnlyHasOneName = event.checked;\n var onlyHasOneNameNewValue = this.parent1OnlyHasOneName;\n this.parent1OnlyHasOneName = onlyHasOneNameNewValue;\n\n const parent1FamilyNameControl = this.preRegistrationFormGroup.get('parent1FamilyName');\n if (onlyHasOneNameNewValue) {\n parent1FamilyNameControl.setValidators(null);\n parent1FamilyNameControl.setValue(\"\");\n }\n else {\n parent1FamilyNameControl.setValidators([Validators.required]);\n }\n\n parent1FamilyNameControl.updateValueAndValidity();\n break;\n }\n\n\n case 'parent2': {\n this.parent2OnlyHasOneName = event.checked;\n var onlyHasOneNameNewValue = this.parent2OnlyHasOneName;\n this.parent2OnlyHasOneName = onlyHasOneNameNewValue;\n\n const parent2FamilyNameControl = this.preRegistrationFormGroup.get('parent2FamilyName');\n if (onlyHasOneNameNewValue) {\n parent2FamilyNameControl.setValidators(null);\n parent2FamilyNameControl.setValue(\"\");\n }\n else {\n parent2FamilyNameControl.setValidators([Validators.required]);\n }\n\n parent2FamilyNameControl.updateValueAndValidity();\n break;\n }\n\n default: {\n break;\n }\n }\n\n\n //Have to re-call !!\n this.preRegistrationFormGroup.updateValueAndValidity();\n\n\n }\n\n\n isSingleParentOrGuardianClicked(event) {\n this.singleParentOrGuardian = event.checked;\n\n if (this.singleParentOrGuardian) {\n var parent2GivenNameControl = this.preRegistrationFormGroup.get('parent2GivenName');\n var parent2FamilyNameControl = this.preRegistrationFormGroup.get('parent2FamilyName');\n parent2GivenNameControl.setValue(null);\n parent2FamilyNameControl.setValue(null);\n }\n }\n\n onNationalityCountrySelected(event: any) {\n\n const selectedCountry = this.countries.filter(c => c.Id == event.target.value)[0];\n const allowStudyAbroad = selectedCountry.CanStudyAbroad;\n\n this.isValidForStudyAbroad = allowStudyAbroad;\n\n if(this.preRegistrationFormGroup.get('countryOfNationalityId').value){\n this.ValidateRegisteredWithSelectedNationality(this.preRegistrationFormGroup.get('countryOfNationalityId').value);\n }\n }\n\n //show border when tab on link for accessibility\n linkTabAccessibility(event): void {\n event.style.outline = \"1px solid black\";\n }\n\n linkBlurAccessibility(event): void {\n event.style.outline = \"\";\n }\n\n //accessibility -- link error msg to form field\n errorDoubleErrorAccessibility(formControlName: string, requireErrorId: string, apiErrorId: string): string {\n if (this.isFormSubmitted &&\n this.preRegistrationFormGroup.get(formControlName).errors &&\n this.preRegistrationFormGroup.get(formControlName).errors.required) {\n return requireErrorId;\n } else if (this.isFormSubmitted &&\n this.preRegistrationFormGroup.get(formControlName).errors &&\n this.preRegistrationFormGroup.get(formControlName).errors.apiValidationError) {\n return apiErrorId;\n } else {\n return \"\";\n }\n }\n\n errorEmailErrorAccessibility(): string {\n if (this.isFormSubmitted &&\n this.preRegistrationFormGroup.get(\"emailAddress\").errors &&\n this.preRegistrationFormGroup.get(\"emailAddress\").errors.required) {\n return \"requiredEmail\";\n } else if (this.isFormSubmitted &&\n this.preRegistrationFormGroup.get(\"emailAddress\").errors &&\n this.preRegistrationFormGroup.get(\"emailAddress\").errors.apiValidationError) {\n return \"apiErrorEmail\";\n } else if (this.isFormSubmitted &&\n this.preRegistrationFormGroup.get('emailAddress').errors &&\n this.preRegistrationFormGroup.get('emailAddress').errors.email) {\n return \"errorEmail\";\n }else {\n return \"\";\n }\n }\n\n errorVerifyEmailAddressAccessibility(): string {\n if (this.isFormSubmitted &&\n this.preRegistrationFormGroup.get(\"verifyEmailAddress\").errors &&\n this.preRegistrationFormGroup.get(\"verifyEmailAddress\").errors.required) {\n return \"requiredEmail\";\n } else if (this.isFormSubmitted &&\n this.preRegistrationFormGroup.get('verifyEmailAddress').errors &&\n this.preRegistrationFormGroup.get('verifyEmailAddress').errors.email) {\n return \"errorEmail\";\n }else if (this.isFormSubmitted &&\n this.preRegistrationFormGroup.get('verifyEmailAddress').errors &&\n this.preRegistrationFormGroup.get('verifyEmailAddress').errors.notMatch) {\n return \"apiErrorEmail\";\n }\n else {\n return \"\";\n }\n }\n\n keyboardFocus(event): void {\n event.style.outline = \"1px solid blue\";\n }\n\n keyboardBlur(event): void {\n event.style.outline = \"\";\n }\n}\n\n","module.exports = \"\\n\\n
\\n
\\n
\\n\\n \\n\\n
\\n\\n
\\n\\n
\\n\\n
\\n

Reset Password

\\n
\\n \\n
\\n
\\n\\n \\n
\\n\\n \\n \\n \\n Student Number is required\\n \\n \\n Invalid Student Number\\n \\n \\n {{loginIdErrorMessage}}\\n \\n \\n
\\n\\n\\n
\\n \\n
\\n Password requirements
\\n
\\n\\n\\n
\\n\\n \\n \\n \\n Password is required\\n \\n \\n Password should be of atleast 6 characters\\n \\n\\n \\n Passwords don't match\\n \\n \\n
\\n\\n\\n \\n
\\n\\n \\n \\n \\n Please re-enter your new password\\n \\n \\n Password should be of atleast 6 characters\\n \\n \\n
\\n\\n\\n
\\n\\n
\\n \\n \\n
\\n
\\n\\n
\\n\\n
\\n\\n
\\n
\\n
\\n
\"","module.exports = \".content .right-block {\\n width: 100%; }\\n\\n/*vendor overridden style-rules*/\\n\\n:host ::ng-deep .reset-pswd-outerbox {\\n width: 45rem;\\n margin: 15rem 0 0 15rem; }\\n\\n:host ::ng-deep .block .problems .problem .pro-title {\\n padding: 1.5rem 2rem;\\n background-color: #e5efef;\\n color: #46466e; }\\n\\n:host ::ng-deep .block .problems .problem .question {\\n padding: 2rem 2rem 2rem 2rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .heading5 {\\n padding-bottom: 0; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .heading5 a, :host ::ng-deep .block .problems .problem .question .answer .heading5 a:hover, :host ::ng-deep .block .problems .problem .question .answer .heading5 a:link {\\n color: #007bff; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .heading5 a:hover, :host ::ng-deep .block .problems .problem .question .answer .heading5 a:focus {\\n text-decoration: underline; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input.choice.valid span:last-of-type::after {\\n top: -1rem;\\n right: 0rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input span {\\n margin-left: 0;\\n margin-bottom: 3.5rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input span input {\\n font-size: 1.425rem;\\n padding: 0.8rem 1rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer div.new-password {\\n clear: both; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer div.new-password .npw-text {\\n float: left; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer div.new-password .npw-hint {\\n float: right;\\n color: blue; }\\n\\n:host ::ng-deep .block .problems .problem .question .login-buttons {\\n display: flex;\\n justify-content: space-between; }\\n\\n:host ::ng-deep .block .problems .problem .question .login-buttons .btn {\\n flex-grow: 1;\\n padding: 10px;\\n font-size: 14.25px; }\\n\\n:host ::ng-deep .block .problems .problem .question .login-buttons .btn:first-child {\\n margin-right: 20px; }\\n\\n:host ::ng-deep .block .problems .problem .question .login-buttons .btn.btn-login {\\n background: #40806a;\\n color: white; }\\n\\n:host ::ng-deep .block .problems .problem .question .login-buttons .btn.btn-cancel {\\n background: #007faa;\\n color: white; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3Jlc2V0LXBhc3N3b3JkL0Q6XFxhXFwxNTVcXHNcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5Qcm9kXFxEZWkuT25saW5lQXBwbGljYXRpb24uV2ViXFxvbmxpbmUtYXBwL3NyY1xcYXBwXFxzaGFyZWRcXHJlc2V0LXBhc3N3b3JkXFxyZXNldC1wYXNzd29yZC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTtFQUNJLFdBQ0osRUFBQTs7QUFHQSxnQ0FBQTs7QUFDQTtFQUdJLFlBQVk7RUFDWix1QkFBdUIsRUFBQTs7QUFKM0I7RUFhVSxvQkFBb0I7RUFDcEIseUJBQXlCO0VBQ3pCLGNBQWMsRUFBQTs7QUFmeEI7RUFtQlUsNEJBQTRCLEVBQUE7O0FBbkJ0QztJQXdCYyxpQkFBaUIsRUFBQTs7QUF4Qi9CO01BMkJnQixjQUNGLEVBQUE7O0FBNUJkO01BaUNnQiwwQkFBMEIsRUFBQTs7QUFqQzFDO0lBeUNvQixVQUFVO0lBQ1YsV0FBVyxFQUFBOztBQTFDL0I7SUFnRGdCLGNBQWM7SUFDZCxxQkFBcUIsRUFBQTs7QUFqRHJDO01Bb0RrQixtQkFBbUI7TUFDbkIsb0JBQW9CLEVBQUE7O0FBckR0QztJQTJEYyxXQUFXLEVBQUE7O0FBM0R6QjtNQThEZ0IsV0FBVyxFQUFBOztBQTlEM0I7TUFrRWdCLFlBQVk7TUFDWixXQUFXLEVBQUE7O0FBbkUzQjtJQXlFWSxhQUFhO0lBQ2IsOEJBQThCLEVBQUE7O0FBMUUxQztNQTZFYyxZQUFZO01BQ1osYUFBYTtNQUViLGtCQUFrQixFQUFBOztBQWhGaEM7UUFtRmdCLGtCQUFrQixFQUFBOztBQW5GbEM7UUF1RmdCLG1CQUFtQjtRQUNuQixZQUFZLEVBQUE7O0FBeEY1QjtRQTRGZ0IsbUJBQW1CO1FBRW5CLFlBQVksRUFBQSIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9yZXNldC1wYXNzd29yZC9yZXNldC1wYXNzd29yZC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4uY29udGVudCAucmlnaHQtYmxvY2sge1xyXG4gICAgd2lkdGg6IDEwMCVcclxufVxyXG5cclxuXHJcbi8qdmVuZG9yIG92ZXJyaWRkZW4gc3R5bGUtcnVsZXMqL1xyXG46aG9zdCA6Om5nLWRlZXAge1xyXG5cclxuICAucmVzZXQtcHN3ZC1vdXRlcmJveCB7XHJcbiAgICB3aWR0aDogNDVyZW07XHJcbiAgICBtYXJnaW46IDE1cmVtIDAgMCAxNXJlbTtcclxuICB9XHJcbiAgXHJcblxyXG4gIC5ibG9jayB7XHJcbiAgICAucHJvYmxlbXMge1xyXG4gICAgICAucHJvYmxlbSB7XHJcblxyXG4gICAgICAgIC5wcm8tdGl0bGUge1xyXG4gICAgICAgICAgcGFkZGluZzogMS41cmVtIDJyZW07XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlZmVmO1xyXG4gICAgICAgICAgY29sb3I6ICM0NjQ2NmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucXVlc3Rpb24ge1xyXG4gICAgICAgICAgcGFkZGluZzogMnJlbSAycmVtIDJyZW0gMnJlbTtcclxuXHJcbiAgICAgICAgICAuYW5zd2VyIHtcclxuXHJcbiAgICAgICAgICAgIC5oZWFkaW5nNSB7XHJcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcblxyXG4gICAgICAgICAgICAgIGEsIGE6aG92ZXIsIGE6bGluayB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwN2JmZlxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICAgIGE6aG92ZXIsIGE6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuY2hvaWNlLWlucHV0IHtcclxuICAgICAgICAgICAgICAmLmNob2ljZSB7XHJcbiAgICAgICAgICAgICAgICAmLnZhbGlkIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZTo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDByZW07XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjVyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNDI1cmVtO1xyXG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjhyZW0gMXJlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGRpdi5uZXctcGFzc3dvcmQge1xyXG4gICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xyXG5cclxuICAgICAgICAgICAgICAubnB3LXRleHQge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAubnB3LWhpbnQge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGJsdWU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmxvZ2luLWJ1dHRvbnMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgICAgICAgICAuYnRuIHtcclxuICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgICAvLyBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTQuMjVweDtcclxuXHJcbiAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAmLmJ0bi1sb2dpbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNDA4MDZhO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgJi5idG4tY2FuY2VsIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDdmYWE7XHJcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, Renderer2, OnDestroy } from '@angular/core';\nimport { Store, select } from '@ngrx/store';\nimport { Subscription } from 'rxjs';\nimport { Router } from '@angular/router';\nimport { AuthService } from '../services/auth.service';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { AWSCognitoErrorResponse } from '../models/error.model';\n\n@Component({\n selector: 'online-app-reset-password',\n templateUrl: './reset-password.component.html',\n styleUrls: ['./reset-password.component.scss']\n})\nexport class ResetPasswordComponent implements OnInit, OnDestroy {\n\n constructor(private router: Router,\n private fb: FormBuilder,\n private authService: AuthService,\n private renderer: Renderer2,\n private store: Store) {\n this.renderer.addClass(document.body, 'login-screen');\n }\n\n sharedStateSubscription: Subscription;\n forgotPasswordDetails: any;\n resetPasswordFormGroup: FormGroup;\n isFormSubmitted = false;\n loginIdErrorMessage = '';\n tooltipArray: string[] = [];\n tooltipArrayDisplay: string;\n\n ngOnInit() {\n\n this.resetPasswordFormGroup = this.fb.group({\n loginId: ['', Validators.required],\n accountPassword: ['', [Validators.required, Validators.minLength(6)]],\n confirmPassword: ['', [Validators.required, Validators.minLength(6)]],\n });\n\n\n this.setTooltip();\n\n this.sharedStateSubscription = this.store\n .pipe(select('shared'))\n .subscribe(sharedState => {\n if (sharedState) {\n this.forgotPasswordDetails = sharedState.forgotPasswordDetails;\n } else {\n this.router.navigate(['/forgot-password']);\n }\n });\n\n }\n\n ngOnDestroy() {\n this.renderer.removeClass(document.body, 'login-screen');\n }\n\n validatePasswords(): boolean {\n const accountPassword = this.resetPasswordFormGroup.get('accountPassword').value;\n const confirmPassword = this.resetPasswordFormGroup.get('confirmPassword').value;\n\n return accountPassword === confirmPassword;\n\n }\n\n validateLoginId(loginId): boolean {\n const formLoginId = this.resetPasswordFormGroup.get('loginId').value;\n return formLoginId.toLowerCase() === loginId.toLowerCase();\n }\n\n resetPassword() {\n\n this.isFormSubmitted = true;\n\n\n if (this.resetPasswordFormGroup.valid) {\n\n if (!this.validatePasswords()) {\n this.resetPasswordFormGroup.get('accountPassword').setErrors({ passwordsDontMatch: true });\n this.resetPasswordFormGroup.updateValueAndValidity();\n return;\n }\n\n const { username, verificationCode } = this.forgotPasswordDetails;\n\n if (!this.validateLoginId(username)) {\n this.resetPasswordFormGroup.get('loginId').setErrors({ invalidLoginId: true });\n this.resetPasswordFormGroup.updateValueAndValidity();\n return;\n }\n\n const password = this.resetPasswordFormGroup.get('accountPassword').value;\n this.authService.resetPassword(username, verificationCode, password)\n .subscribe(response => {\n this.router.navigate(['/login']);\n }, (err: AWSCognitoErrorResponse) => {\n this.loginIdErrorMessage = err.message;\n this.resetPasswordFormGroup.get('loginId').setErrors({ loginIdApiError: true });\n });\n\n\n } else {\n \n }\n\n\n }\n\n\n setTooltip() {\n this.tooltipArray.push(\"1. Your password length must be between 8 and 20 characters.\");\n this.tooltipArray.push(\"2. Your password must have at least one number.\");\n this.tooltipArray.push(\"3. Your password must have at least one alphabet.\");\n this.tooltipArray.push(\"4. Your password must have at least one upper case character.\");\n this.tooltipArray.push(\"5. Your password must have at least one lower case character.\");\n this.tooltipArray.push(\"6. Your password must contain at least one special character from the list given below:\");\n this.tooltipArray.push(\" ^ $ * . [ ] {} ( ) ? - \\\"! @ # % & / , > < ' : ; | _ ~ `\");\n\n\n this.tooltipArrayDisplay = this.tooltipArray.join(\"\\r\\n\");\n }\n\n //accessibility -- link error msg to form field\n errorStudentNumberAccessibility(): string {\n if (this.isFormSubmitted &&\n this.resetPasswordFormGroup.get('loginId').errors &&\n this.resetPasswordFormGroup.get('loginId').errors.required) {\n return \"requiredStudentNumber\";\n } else if (this.isFormSubmitted &&\n this.resetPasswordFormGroup.get('loginId').errors &&\n this.resetPasswordFormGroup.get('loginId').errors.invalidLoginId) {\n return \"invalidStudentNumber\";\n } else if (this.isFormSubmitted && this.resetPasswordFormGroup.get('loginId').errors &&\n this.resetPasswordFormGroup.get('loginId').errors.loginIdApiError) {\n return \"errorStudentNumber\";\n } else {\n return \"\";\n }\n }\n\n errorPasswordAccessibility(): string {\n if (this.isFormSubmitted &&\n this.resetPasswordFormGroup.get('accountPassword').errors &&\n this.resetPasswordFormGroup.get('accountPassword').errors.required) {\n return \"requiredPassword\";\n } else if (this.isFormSubmitted &&\n this.resetPasswordFormGroup.get('accountPassword').errors &&\n this.resetPasswordFormGroup.get('accountPassword').errors.minlength) {\n return \"minlengthPassword\";\n } else if (this.isFormSubmitted &&\n this.resetPasswordFormGroup.get('accountPassword').errors &&\n this.resetPasswordFormGroup.get('accountPassword').errors.passwordsDontMatch) {\n return \"matchPassword\";\n } else {\n return \"\";\n }\n }\n\n errorConfirmPasswordAccessibility(): string {\n if (this.isFormSubmitted &&\n this.resetPasswordFormGroup.get('confirmPassword').errors &&\n this.resetPasswordFormGroup.get('confirmPassword').errors.required) {\n return \"reEnterConfirmPassword\";\n } else if (this.isFormSubmitted &&\n this.resetPasswordFormGroup.get('confirmPassword').errors &&\n this.resetPasswordFormGroup.get('confirmPassword').errors.minlength) {\n return \"minlengthConfirmPassword\";\n } else {\n return \"\";\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeHtml'\n})\nexport class SafeHtmlPipe implements PipeTransform {\n\n constructor(private sanitized: DomSanitizer) {}\n transform(value) {\n return this.sanitized.bypassSecurityTrustHtml(value);\n }\n\n}\n","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Server Error

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
The server encountered a temporary error and could not complete your request.
\\r\\n
Please try again in 30 seconds.
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \".content .right-block {\\n width: 100%; }\\n\\n.problems .problem .question .answer h4 a,\\n.problems .problem .question .answer .heading4 a {\\n text-decoration: underline;\\n text-align: right;\\n color: #007bff;\\n font-size: 16px; }\\n\\n/*vendor overridden style-rules*/\\n\\n:host ::ng-deep .payment-outer-box {\\n width: 45rem;\\n margin: 15rem 0 0 15rem; }\\n\\n:host ::ng-deep .payment-outer-box .formLabel {\\n margin-bottom: 0; }\\n\\n:host ::ng-deep .block .problems .problem .pro-title {\\n padding: 1.5rem 2rem;\\n background-color: #e5efef;\\n color: #46466e; }\\n\\n:host ::ng-deep .block .problems .problem .question {\\n padding: 2rem 2rem 2rem 2rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .heading5 {\\n padding-bottom: 0; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input.choice.valid span:last-of-type::after {\\n top: -1rem;\\n right: 0rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input span {\\n margin-left: 0;\\n margin-bottom: 3rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .answer .choice-input span input {\\n font-size: 1.425rem;\\n padding: 0.8rem 1rem; }\\n\\n:host ::ng-deep .block .problems .problem .question .payment-form-buttons {\\n display: flex;\\n justify-content: space-between; }\\n\\n:host ::ng-deep .block .problems .problem .question .payment-form-buttons .btn {\\n flex-grow: 1;\\n padding: 10px;\\n font-size: 14.25px; }\\n\\n:host ::ng-deep .block .problems .problem .question .payment-form-buttons .btn.btn-make-payment {\\n background: #8a0303;\\n color: white; }\\n\\n:host ::ng-deep .block .problems .problem .question .payment-form-buttons .btn.btn-cancel {\\n background: #007faa;\\n color: white; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3NlcnZlci1lcnJvci9EOlxcYVxcMTU1XFxzXFxEZWkuT25saW5lQXBwbGljYXRpb24uUHJvZFxcRGVpLk9ubGluZUFwcGxpY2F0aW9uLldlYlxcb25saW5lLWFwcC9zcmNcXGFwcFxcc2hhcmVkXFxzZXJ2ZXItZXJyb3JcXHNlcnZlci1lcnJvci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFdBQ0osRUFBQTs7QUFFQTs7RUFFSSwwQkFBMEI7RUFDMUIsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxlQUFlLEVBQUE7O0FBR25CLGdDQUFBOztBQUNBO0VBR1EsWUFBWTtFQUNaLHVCQUF1QixFQUFBOztBQUovQjtJQU9ZLGdCQUFnQixFQUFBOztBQVA1QjtFQWdCb0Isb0JBQW9CO0VBQ3BCLHlCQUF5QjtFQUN6QixjQUFjLEVBQUE7O0FBbEJsQztFQXNCb0IsNEJBQTRCLEVBQUE7O0FBdEJoRDtJQTJCNEIsaUJBQWlCLEVBQUE7O0FBM0I3QztJQWtDd0MsVUFBVTtJQUNWLFdBQVcsRUFBQTs7QUFuQ25EO0lBeUNnQyxjQUFjO0lBQ2QsbUJBQW1CLEVBQUE7O0FBMUNuRDtNQTZDb0MsbUJBQW1CO01BQ25CLG9CQUFvQixFQUFBOztBQTlDeEQ7SUFxRHdCLGFBQWE7SUFDYiw4QkFBOEIsRUFBQTs7QUF0RHREO01BeUQ0QixZQUFZO01BQ1osYUFBYTtNQUNiLGtCQUFrQixFQUFBOztBQTNEOUM7UUE4RGdDLG1CQUFtQjtRQUNuQixZQUFZLEVBQUE7O0FBL0Q1QztRQW1FZ0MsbUJBQW1CO1FBQ25CLFlBQVksRUFBQSIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9zZXJ2ZXItZXJyb3Ivc2VydmVyLWVycm9yLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbnRlbnQgLnJpZ2h0LWJsb2NrIHtcclxuICAgIHdpZHRoOiAxMDAlXHJcbn1cclxuXHJcbi5wcm9ibGVtcyAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciBoNCBhLFxyXG4ucHJvYmxlbXMgLnByb2JsZW0gLnF1ZXN0aW9uIC5hbnN3ZXIgLmhlYWRpbmc0IGEge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIGNvbG9yOiAjMDA3YmZmO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG59XHJcblxyXG4vKnZlbmRvciBvdmVycmlkZGVuIHN0eWxlLXJ1bGVzKi9cclxuOmhvc3QgOjpuZy1kZWVwIHtcclxuXHJcbiAgICAucGF5bWVudC1vdXRlci1ib3gge1xyXG4gICAgICAgIHdpZHRoOiA0NXJlbTtcclxuICAgICAgICBtYXJnaW46IDE1cmVtIDAgMCAxNXJlbTtcclxuXHJcbiAgICAgICAgLmZvcm1MYWJlbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5ibG9jayB7XHJcbiAgICAgICAgLnByb2JsZW1zIHtcclxuICAgICAgICAgICAgLnByb2JsZW0ge1xyXG5cclxuICAgICAgICAgICAgICAgIC5wcm8tdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbSAycmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWVmZWY7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM0NjQ2NmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLnF1ZXN0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAycmVtIDJyZW0gMnJlbSAycmVtO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAuYW5zd2VyIHtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaGVhZGluZzUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jaG9pY2UtaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5jaG9pY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYudmFsaWQgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC0xcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDByZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjQyNXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC44cmVtIDFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAucGF5bWVudC1mb3JtLWJ1dHRvbnMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuYnRuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0LjI1cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5idG4tbWFrZS1wYXltZW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjOGEwMzAzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmJ0bi1jYW5jZWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDdmYWE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSAgICBcclxufSJdfQ== */\"","import { Component, OnInit, Renderer2 } from \"@angular/core\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { SharedService } from \"../services/shared.service\";\r\nimport {Location} from '@angular/common';\r\n\r\n@Component({\r\n selector: 'server-error',\r\n templateUrl: './server-error.component.html',\r\n styleUrls: ['./server-error.component.scss']\r\n })\r\n export class ServerErrorComponent implements OnInit {\r\n previousUrl: string;\r\n\r\n constructor(private router: Router,\r\n private sharedService: SharedService,\r\n private renderer: Renderer2,\r\n private route: ActivatedRoute,\r\n private location: Location) {\r\n \r\n this.sharedService.setHeaderText('Server error');\r\n \r\n this.renderer.addClass(document.body, 'login-screen'); \r\n \r\n }\r\n \r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n returnToPrevious(){ \r\n this.renderer.removeClass(document.body, 'login-screen'); \r\n this.location.back();\r\n }\r\n\r\n }","import { Injectable } from '@angular/core';\nimport * as $ from 'jquery';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AccessibilityService {\n\n className: string = \"\";\n public resizeFont: BehaviorSubject = new BehaviorSubject(this.className);\n currentResizeFont = this.resizeFont.asObservable();\n\n constructor() { }\n\n addLoadingAttr(){\n setTimeout(() => {\n $(\".lds-roller\").attr(\"aria-live\",\"polite\");\n }, 100);\n }\n\n startloadingAccessibility(){\n setTimeout(() => {\n $(\".hidden.spinner.center .lds-roller .dataloaded\").remove();\n $(\".visible.spinner.center .lds-roller\").append(\"Start loading\");\n }, 100);\n }\n\n loadedAccessibility(){\n setTimeout(() => {\n $(\".visible.spinner.center .lds-roller .startloading\").remove();\n $(\".hidden.spinner.center .lds-roller\").append(\"Loading please wait\");\n }, 100);\n }\n\n resizeFontSize(className: string) {\n this.resizeFont.next(className);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { LookupService } from './lookup.service';\n\ndeclare var NSWPoint: any;\n@Injectable({\n providedIn: 'root'\n})\nexport class AddressService {\n private apiKey = null;\n constructor(lookupService: LookupService) {\n lookupService.getSetting('AddressApiKey').subscribe(d => this.apiKey = d.Result.SettingValue);\n }\n\n public loadAddressWidget(line1Id: string, container, setAddress: any) {\n const ctrl = document.getElementById(line1Id);\n if (!ctrl || !this.apiKey) {\n setTimeout(() => this.loadAddressWidget(line1Id, container, setAddress), 200);\n return;\n }\n const widget = NSWPoint.setupAddressWidget({\n apiKeyPredictive1: this.apiKey,\n apiKeyOthers: this.apiKey,\n selector: '#' + line1Id,\n onAddressValidated: fullAddress => {\n if (fullAddress && fullAddress.data && fullAddress.data.addressDetails) {\n let str = fullAddress.data.addressDetails.formattedAddress;\n str = str.substr(0,\n str.length - fullAddress.data.addressDetails.postcode.length - fullAddress.data.addressDetails.stateTerritory.length - 2);\n const arr = str.split(',');\n setAddress(container, ctrl, arr[0].trim(), arr[1].trim(),\n fullAddress.data.addressDetails.stateTerritory, fullAddress.data.addressDetails.postcode);\n ctrl.focus();\n ctrl.blur();\n ctrl.focus();\n }\n }\n });\n return widget;\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { UserInfo } from '../models/user.model';\r\nimport * as moment from 'moment';\r\nimport { forkJoin, Observable } from 'rxjs';\r\nimport { UserService } from './user.service';\r\nimport { ApplicationService } from './application.service';\r\n\r\n@Injectable()\r\nexport class AgencyContractService {\r\n\r\n private readonly ISP_PROGRAM_NAME = 'InternationalStudentProgram';\r\n private readonly STUDYABROAD_PROGRAM_NAME = 'StudyAbroadProgram';\r\n\r\n constructor(private userService: UserService, private applicationService: ApplicationService) {\r\n }\r\n\r\n doesAgencyHaveValidIspContractForNationality(userInfo: UserInfo, nationalityId: string) : any {\r\n if (!userInfo || !userInfo.IsAgent || !nationalityId)\r\n return true;\r\n\r\n const contracts = userInfo.AgencyDTO.Contracts;\r\n\r\n const today = moment();\r\n\r\n return contracts && contracts.length && \r\n contracts.some(c => \r\n c.Program === this.ISP_PROGRAM_NAME && \r\n //moment(c.EndDate).isAfter(today) &&\r\n c.EligibleCountries.some(ec => ec.CountryId.toLocaleUpperCase() === nationalityId.toLocaleUpperCase()));\r\n\r\n }\r\n\r\n doesAgencyHaveValidStudyAbroadContractForNationality(userInfo: UserInfo, nationalityId: string) : any {\r\n if (!userInfo || !userInfo.IsAgent || !nationalityId)\r\n return true;\r\n\r\n const contracts = userInfo.AgencyDTO.Contracts;\r\n\r\n const today = moment();\r\n\r\n //console.log('-------- contracts for this agent is:', contracts);\r\n \r\n return contracts && contracts.length && \r\n contracts.some(c => \r\n c.Program === this.STUDYABROAD_PROGRAM_NAME && \r\n //moment(c.EndDate).isAfter(today) && \r\n c.EligibleCountries.some(ec => ec.CountryId.toLocaleUpperCase() === nationalityId.toLocaleUpperCase()));\r\n\r\n }\r\n}\r\n","import { Injectable, OnInit } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { HandleHttpError } from './error.handler';\r\nimport { StudentDetails } from 'src/app/application/models/student-details';\r\nimport { ParentGuardianDetails, ParentLegalcustodianDetails } from 'src/app/application/models/parent-guardian-details';\r\nimport { IApplicationStep } from 'src/app/application/models/application-step.interface';\r\nimport { VisaOshc } from 'src/app/application/models/visa-ohsc';\r\nimport { EnglishProficiencyDetails } from 'src/app/application/models/english-proficiency-details';\r\nimport { SchoolProgramPlacementDetails } from 'src/app/application/models/school-program-placement-details';\r\nimport { AustralianState } from './australian-states.model';\r\nimport { SpecialCircumstances } from 'src/app/application/models/special-circumstances';\r\nimport { DefaultCorrespondent } from 'src/app/application/models/corresondents';\r\nimport { SharedService } from './shared.service';\r\nimport { AccommodationWelfareUpdateDetails } from 'src/app/application/models/accommodation-welfare-details';\r\nimport { ApplicationPayment } from 'src/app/application/models/application-payment';\r\nimport { UploadedSupportingDocument } from 'src/app/application/models/supporting-document';\r\nimport { PreRegistrationModel } from '../models/pre-registration.model';\r\nimport { ApplicationAgentDetails } from 'src/app/application/models/application-agent-details';\r\nimport { SingleResultApiResponse } from '../models/api-response.model';\r\n\r\n\r\n@Injectable()\r\nexport class ApplicationService implements OnInit {\r\n\r\n constructor(private http: HttpClient, private sharedService: SharedService) {\r\n this.baseURL = `${this.sharedService.getBaseURL()}/applications`;\r\n this.voucherURL = `${this.sharedService.getBaseURL()}/voucher`;\r\n }\r\n\r\n baseURL: string;\r\n voucherURL: string;\r\n\r\n applicationSteps: IApplicationStep[] = [\r\n {\r\n Id: 1,\r\n Description: 'Important Information',\r\n URL: 'important-information',\r\n Section: '',\r\n Status: ''\r\n },\r\n {\r\n Id: 2,\r\n Description: 'Student Details',\r\n URL: 'student-details',\r\n Section: 'StudentDetails',\r\n Status: ''\r\n },\r\n {\r\n Id: 3,\r\n Description: 'English Proficiency',\r\n URL: 'english-proficiency',\r\n Section: 'EnglishProficiency',\r\n Status: ''\r\n },\r\n {\r\n Id: 4,\r\n Description: 'School Program & Placement',\r\n URL: 'school-program-placement',\r\n Section: 'SchoolProgramAndPlacement',\r\n Status: ''\r\n },\r\n {\r\n Id: 5,\r\n Description: 'Parent / Carer Details',\r\n URL: 'parent-guardian-details',\r\n //URL: 'parent-guardian-details',\r\n Section: 'ParentGuardianDetails',\r\n Status: ''\r\n },\r\n {\r\n Id: 6,\r\n Description: 'Accommodation & Welfare',\r\n URL: 'accommodation-welfare',\r\n Section: 'AccommodationAndWelfare',\r\n Status: ''\r\n },\r\n {\r\n Id: 7,\r\n Description: 'VISA and OSHC',\r\n URL: 'visa-oshc',\r\n Section: 'VisaAndOhscDetails',\r\n Status: ''\r\n },\r\n {\r\n Id: 8,\r\n Description: 'Special Circumstances',\r\n URL: 'special-circumstances',\r\n Section: 'SpecialCircumstances',\r\n Status: ''\r\n },\r\n {\r\n Id: 9,\r\n Description: 'Supporting Documents',\r\n URL: 'supporting-documents',\r\n Section: 'SupportingDocuments',\r\n Status: ''\r\n },\r\n {\r\n Id: 10,\r\n Description: 'Summary',\r\n URL: 'summary',\r\n Section: 'Summary',\r\n Status: ''\r\n },\r\n {\r\n Id: 15,\r\n Description: 'Agent Details',\r\n URL: 'agent-details',\r\n Section: 'AgentDetails',\r\n Status: ''\r\n },\r\n {\r\n Id: 12,\r\n Description: 'Payment',\r\n URL: 'payment',\r\n Section: 'MakePayment',\r\n Status: ''\r\n },\r\n ];\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getApplicationSteps(): IApplicationStep[] {\r\n return this.applicationSteps;\r\n }\r\n\r\n getApplicationStatuses(): Observable {\r\n return this.http.get(`${this.baseURL}/status`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n getApplicationStatusesBySearchTerm(searchTerm: string): Observable {\r\n return this.http.get(`${this.baseURL}/status/search/${searchTerm}`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n getAustralianStates(): AustralianState[] {\r\n return [\r\n {\r\n Code: 'NSW',\r\n Description: 'New South Wales'\r\n },\r\n {\r\n Code: 'QLD',\r\n Description: 'Queensland'\r\n },\r\n {\r\n Code: 'SA',\r\n Description: 'South Australia'\r\n },\r\n {\r\n Code: 'TAS',\r\n Description: 'Tasmania'\r\n },\r\n {\r\n Code: 'VIC',\r\n Description: 'Victoria'\r\n },\r\n {\r\n Code: 'WA',\r\n Description: 'Western Australia'\r\n }\r\n ];\r\n }\r\n\r\n getApplicationAgentDetails(applnId: number): Observable {\r\n return this.http.get(`${this.baseURL}/${applnId}/agent-details`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n updateApplicationAgentDetails(applicationId: number, agentDetails: ApplicationAgentDetails): Observable {\r\n return this.http.post(`${this.baseURL}/${applicationId}/agent-details`, agentDetails)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n getApplicationDetails(applnId: number): Observable {\r\n return this.http.get(`${this.baseURL}/${applnId}`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n getApplicationSections(applnId: number): Observable {\r\n return this.http.get(`${this.baseURL}/${applnId}/sections`)\r\n .pipe(\r\n map((response: any) => {\r\n return {\r\n ...response, \r\n Result: response.Result\r\n .filter(x => x.Type !== 'VisaProgramTriage')\r\n .map(x => ({...x, Type: x.Type === 'RiskAssessment' ? 'SpecialCircumstances' : x.Type}))\r\n }\r\n }),\r\n catchError(err => HandleHttpError(err))\r\n );\r\n }\r\n\r\n createApplication(): Observable {\r\n return this.http.post(`${this.baseURL}`, null)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n createApplicationByAgent(preRegistrationDetails: PreRegistrationModel): Observable {\r\n return this.http.post(`${this.baseURL}/create-application`, preRegistrationDetails)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n deleteApplication(applicationId): Observable {\r\n return this.http.delete(`${this.baseURL}/${applicationId}`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n cloneApplication(applicationId): Observable {\r\n return this.http.post(`${this.baseURL}/${applicationId}/clone`, applicationId)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n cloneSAApplication(applicationId): Observable {\r\n return this.http.post(`${this.baseURL}/${applicationId}/clone`, applicationId)\r\n .pipe(catchError(err => HandleHttpError(err))); \r\n }\r\n\r\n cloneSiblingApplication(applicationId: string, preRegistrationDetails: PreRegistrationModel): Observable {\r\n return this.http.post(`${this.baseURL}/cloneSibling?applicationId=${applicationId}`, preRegistrationDetails)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n getStudentDetails(applicationId: number): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/details`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n updateStudentDetails(applicationId: number, studentDetails: StudentDetails): Observable {\r\n return this.http.post(`${this.baseURL}/${applicationId}/details`, studentDetails)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n getParentGuardiansDetails(applicationId: number): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/contacts`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n\r\n getParentGuardianDetails(applicationId: number, parentGuardianId): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/contacts/${parentGuardianId}`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n getParentGuardianReferences(applicationId: number, parentGuardianId): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/contacts/${parentGuardianId}/references`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n updateParentGuardianDetails(applicationId: number, parentGuardianDetails: ParentGuardianDetails): Observable {\r\n\r\n const { ParentGuardianId } = parentGuardianDetails;\r\n if (ParentGuardianId === 0) {\r\n return this.http.post(`${this.baseURL}/${applicationId}/contacts`, parentGuardianDetails)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n } else {\r\n return this.http.post(`${this.baseURL}/${applicationId}/contacts/${ParentGuardianId}`, parentGuardianDetails)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n }\r\n\r\n getParentLegalcustodian(applicationId: number): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/parent-legalcustodian`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n updateParentLegalcustodian(applicationId: number, parentLegalcustodianDetails: ParentLegalcustodianDetails): Observable {\r\n const { P1ParentId, P2ParentId, LCParentId, IsParentTheCarer } = parentLegalcustodianDetails;\r\n //console.log('application.service.ts - updateParentLegalcustodian');\r\n //console.log(parentLegalcustodianDetails);\r\n if ((IsParentTheCarer && !P1ParentId && !P2ParentId) ||\r\n (!IsParentTheCarer && !P1ParentId && !P2ParentId && !LCParentId)) {\r\n return this.http.post(`${this.baseURL}/${applicationId}/parent-legalcustodian`, parentLegalcustodianDetails)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n } else {\r\n return this.http.post(`${this.baseURL}/${applicationId}/parent-legalcustodian-update`, parentLegalcustodianDetails)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n }\r\n \r\n IsParentOrLegalcustodian(applicationId: number, parentGuardianId: number): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/is-parent-or-legalcustodian/${parentGuardianId}`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n deleteParentGuardianDetails(applicationId: number, parentGuardianId: number): Observable {\r\n return this.http.delete(`${this.baseURL}/${applicationId}/contacts/${parentGuardianId}`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n getVisaOhscDetails(applicationId: number): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/visaoshc`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n updateVisaOhscDetails(applicationId: number, visaOshcDetails: VisaOshc): Observable {\r\n return this.http.post(`${this.baseURL}/${applicationId}/visaoshc`, visaOshcDetails)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n getEnglishProficiencyDetails(applicationId: number): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/englishproficiency`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n updateEnglishProficiencyDetails(applicationId: number, englishProficiencyDetails: EnglishProficiencyDetails): Observable {\r\n return this.http.post(`${this.baseURL}/${applicationId}/englishproficiency`, englishProficiencyDetails)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n getSchoolProgramAndPlacementDetails(applicationId: number): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/program`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n getSchoolProgramAndPlacementPackage(applicationId: number): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/program-package`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n updateSchoolProgramAndPlacementDetails(applicationId: number, programDetails: SchoolProgramPlacementDetails): Observable {\r\n return this.http.post(`${this.baseURL}/${applicationId}/program`, programDetails)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n getSpecialCircumstances(applicationId: number): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/specialcircumstances`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n updateSpecialCircumstances(applicationId: number, specialCircumstances: SpecialCircumstances): Observable {\r\n return this.http.post(`${this.baseURL}/${applicationId}/specialcircumstances`, specialCircumstances)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n getAllCorrespondents(applicationId: number): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/correspondents`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n getAccommodationWelfareDetails(applicationId: number): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/accommodation`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n updateAccommodationWelfareDetails(applicationId: number,\r\n accommodationWelfareUpdateDetails: AccommodationWelfareUpdateDetails): Observable {\r\n return this.http.post(`${this.baseURL}/${applicationId}/accommodation`, accommodationWelfareUpdateDetails)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n setDefaultCorrespondent(applicationId: number, defaultCorrespondent: DefaultCorrespondent): Observable {\r\n return this.http.post(`${this.baseURL}/${applicationId}/correspondents/set-default`, defaultCorrespondent)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n getSupportingDocuments(applicationId: number): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/documents`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n getSupportingDocument(applicationId: number, documentTypeId): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/documents/document/${documentTypeId}`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n saveSupportingDocument(applicationId: number, uploadedSupportingDocument: UploadedSupportingDocument): Observable {\r\n return this.http.post(`${this.baseURL}/${applicationId}/documents`, uploadedSupportingDocument)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n updateSupportingDocumentScanStatus(applicationId: number, documentId): Observable {\r\n return this.http.post(`${this.baseURL}/${applicationId}/documents/scanstatus/${documentId}`, {})\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n updateAllSupportingDocumentsScanStatus(applicationId: Number): Observable {\r\n return this.http.post(`${this.baseURL}/${applicationId}/documents/scanstatus`, {})\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n deleteSupportingDocument(applicationId: number, documentId: number): Observable {\r\n return this.http.delete(`${this.baseURL}/${applicationId}/documents/${documentId}`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n saveSupportingDocuments(applicationId: number): Observable {\r\n return this.http.post(`${this.baseURL}/${applicationId}/documents/save`, {})\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n getSummary(applicationId: number): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/summary`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n getSummaryWithSupportingDocuments(applicationId: number): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/summary-with-documents`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n areAgeAndProgramSelectionStillValid(applicationId: number): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/are-age-and-term-selection-still-valid`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n getApplicationPaymentDetails(applicationId: number): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/payment`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n makeApplicationPaymentDetails(applicationId: number, voucherNumber: string): Observable {\r\n if (voucherNumber === null || voucherNumber === undefined || voucherNumber === '') {\r\n return this.http.post(`${this.baseURL}/${applicationId}/payment`, {})\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n else {\r\n return this.http.post(`${this.baseURL}/${applicationId}/payment?voucherNumber=${voucherNumber}`, {})\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n }\r\n\r\n validateVoucher(applicationId: number, voucherNumber: string): Observable {\r\n return this.http.post(`${this.voucherURL}/validate?applicationId=${applicationId}&voucherNumber=${voucherNumber}`, {})\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n getParent(applicationId: number, relationshipCode: string): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/relationships/${relationshipCode}`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n validateAddContact(applicationId: number): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/contacts/validate/add`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n validateContacts(applicationId: number): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/contacts/validate`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n validateVisaOSHC(applicationId: number): Observable {\r\n return this.http.post(`${this.baseURL}/${applicationId}/validate-visaoshc`, {})\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n validateProgram(applicationId: number): Observable {\r\n return this.http.post(`${this.baseURL}/${applicationId}/validate-program`, {})\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n\r\n processDataCopyAsync(applicationId: number): Observable {\r\n\r\n var internalDataCopyApiUrl = this.baseURL + `/processDataCopy?applicationId=${applicationId}`;\r\n\r\n console.log(\"internal api URL fordata-copy is: \" + internalDataCopyApiUrl);\r\n\r\n return this.http.post(internalDataCopyApiUrl, {}).pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n isCovid19VaccinationNeeded(applicationId: number): Observable {\r\n return this.http.get(`${this.baseURL}/${applicationId}/is-covid19-vaccination-needed`)\r\n .pipe(\r\n catchError(err => {\r\n debugger;\r\n return HandleHttpError(err)\r\n }),\r\n map(x => !!(x as any).Result)\r\n );\r\n \r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Observable, from, of } from 'rxjs';\r\nimport { AuthService } from './auth.service';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { HandleAWSCognitoError } from './error.handler';\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n\r\n constructor(private router: Router, private authService: AuthService) {}\r\n\r\n canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n\r\n //console.log('in AuthGuard canActivate');\r\n\r\n return this.authService.getCurrentAuthenticatedUser()\r\n .pipe(map( user => {\r\n if (user) {\r\n return true;\r\n }\r\n this.router.navigate(['/login']);\r\n return false;\r\n\r\n }), catchError( err => {\r\n this.router.navigate(['/login']);\r\n return of(false);\r\n }));\r\n\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpHandler,\r\n HttpRequest,\r\n HttpErrorResponse,\r\n HttpResponse\r\n} from '@angular/common/http';\r\nimport { Observable, from, of } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\nimport { tap, finalize, mergeMap } from 'rxjs/operators';\r\nimport { AuthService } from './auth.service';\r\nimport { SharedService } from './shared.service';\r\n\r\n@Injectable()\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n\r\n private urlsToNotIntrcept = [ \r\n \"/api/registrations/account-verified\",\r\n \"/api/agent/verify-email\",\r\n \"/api/agent/forgot-password\",\r\n \"/api/aws-settings\",\r\n \"/api/ga-settings\",\r\n //public payment\r\n \"/api/publicPayment/GetPaymentUri\",\r\n \"/api/publicPayment/ValidatePaymentReferenceNumber\",\r\n \"/api/applications/processDataCopy\",\r\n \"/version.json\"\r\n ];\r\n\r\n constructor(private router: Router, private sharedService: SharedService, private authService: AuthService) {}\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n // const token = localStorage.getItem('id_token');\r\n\r\n // if (token) {\r\n // req = req.clone({\r\n // setHeaders: {\r\n // 'Authorization': `Bearer ${token}`,\r\n // 'Access-Control-Allow-Origin': '*'\r\n // },\r\n // });\r\n // } else {\r\n // //debugger;\r\n // }\r\n\r\n const urlWithoutQueryString = req.url.indexOf('?') < 0 ? req.url : req.url.split('?')[0];\r\n const baseURL = this.sharedService.getBaseURL().replace('/api', '');\r\n const auxilaryUrl = urlWithoutQueryString.replace(baseURL, '');\r\n\r\n return (this.urlsToNotIntrcept.indexOf(auxilaryUrl) < 0 ? this.authService.getToken() : (() => of(null))())\r\n \r\n .pipe(mergeMap((token) =>{\r\n \r\n if (token) {\r\n req = req.clone({\r\n setHeaders: {\r\n 'Authorization': `Bearer ${token}`,\r\n 'Access-Control-Allow-Origin': '*'\r\n },\r\n });\r\n } else {\r\n //debugger;\r\n }\r\n \r\n return next.handle(req)\r\n .pipe(tap( (event: HttpEvent) => {\r\n if (event instanceof HttpResponse) {\r\n \r\n // Do nothing\r\n }}, (err: any) => {\r\n if (err instanceof HttpErrorResponse) {\r\n \r\n if (err.status === 401) {\r\n const route = this.isAgent() ? '/agent-login' : '/login';\r\n localStorage.clear();\r\n this.router.navigate([route]);\r\n }\r\n }}),\r\n finalize(() => {}));\r\n\r\n }));\r\n \r\n\r\n\r\n }\r\n\r\n isAgent(): boolean {\r\n return localStorage.getItem('userType') === 'agent';\r\n }\r\n\r\n}\r\n","import { Resolve } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, from, empty, of } from 'rxjs';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ApiResponse, SingleResultApiResponse } from '../models/api-response.model';\r\nimport { AuthService } from './auth.service';\r\nimport { UserService } from './user.service';\r\nimport { UserInfo } from '../models/user.model';\r\n\r\n@Injectable()\r\nexport class AuthResolverService implements Resolve {\r\n\r\n constructor(private authService: AuthService, private userService: UserService) {}\r\n\r\n resolve(): Observable {\r\n return this.userService.getUserDetails();\r\n }\r\n}\r\n","import { Injectable, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { HandleHttpError, HandleAWSCognitoError } from './error.handler';\r\nimport { Store, select } from '@ngrx/store';\r\n// import Auth from '@aws-amplify/auth';\r\nimport Amplify, { Auth } from 'aws-amplify';\r\nimport { ISignUpResult, CognitoUser } from 'amazon-cognito-identity-js';\r\nimport { from } from 'rxjs';\r\nimport { ErrorResponse } from '../models/error.model';\r\nimport { SharedService } from './shared.service';\r\nimport { configureAmplify } from '../config/aws.config';\r\nimport { AWS } from '@aws-amplify/core';\r\nimport { AWSSettings } from '../models/aws-settings.model';\r\nimport 'rxjs/add/observable/of' \r\n\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n\r\n baseURL: string;\r\n // userType = '';\r\n\r\n constructor(private http: HttpClient,\r\n private sharedService: SharedService,\r\n private store: Store,\r\n private router: Router) {\r\n //console.log('in Auth service constructor');\r\n this.baseURL = this.sharedService.getBaseURL();\r\n this.init();\r\n }\r\n\r\n init(): void {\r\n\r\n //console.log('in init of auth.service');\r\n\r\n this.store.pipe(select('shared'))\r\n .subscribe( sharedState => {\r\n\r\n //console.log('shared state');\r\n //console.log(sharedState);\r\n if (sharedState && sharedState.userType) {\r\n // this.userType = sharedState.userType;\r\n localStorage.setItem('userType', sharedState.userType);\r\n }\r\n // } else {\r\n // // this.userType = null;\r\n // localStorage.setItem('userType', '');\r\n // }\r\n });\r\n }\r\n\r\n\r\n\r\n login(username: string, password: string): Observable {\r\n\r\n // Auth.configure(AuthConfig);\r\n configureAmplify(false);\r\n\r\n return from( Auth.signIn(username, password))\r\n .pipe(catchError(err => HandleAWSCognitoError(err)));\r\n }\r\n\r\n agentLogin(username: string, password: string): Observable {\r\n\r\n // Auth.configure(AgentAuthConfig);\r\n configureAmplify(true);\r\n\r\n return from( Auth.signIn(username, password))\r\n .pipe(catchError(err => HandleAWSCognitoError(err)));\r\n }\r\n\r\n refreshSession(isAgent: boolean) : Observable{\r\n // this will refresh the token\r\n console.log('resfresh session');\r\n configureAmplify(isAgent);\r\n\r\n return from( Auth.currentSession())\r\n .pipe(catchError(err => HandleAWSCognitoError(err)));\r\n }\r\n\r\n logout(): Observable {\r\n return from ( Auth.signOut({ global: true }))\r\n .pipe(catchError(err => HandleAWSCognitoError(err)));\r\n }\r\n\r\n forgotPassword(username: string): Observable {\r\n configureAmplify(false);\r\n return from ( Auth.forgotPassword(username))\r\n .pipe(catchError(err => HandleAWSCognitoError(err)));\r\n }\r\n\r\n resetPassword(username: string, verificationCode: string, newPassword: string): Observable {\r\n configureAmplify(false);\r\n return from ( Auth.forgotPasswordSubmit(username, verificationCode, newPassword))\r\n .pipe(catchError(err => HandleAWSCognitoError(err)));\r\n }\r\n\r\n completeNewPassword(user: any, password: string): Observable {\r\n configureAmplify(false);\r\n return from (Auth.completeNewPassword(user, password, {email: user.username}))\r\n .pipe(catchError(err => HandleAWSCognitoError(err)));\r\n }\r\n\r\n completeAgentNewPassword(user: any, email: string, password: string): Observable {\r\n configureAmplify(false);\r\n return from(Auth.completeNewPassword(user, password, null)) //\r\n .pipe(catchError(err => HandleAWSCognitoError(err)));\r\n }\r\n\r\n register(username: string, password: string, email: string): Observable {\r\n configureAmplify(false);\r\n return from( Auth.signUp({ username, password,\r\n attributes: {\r\n email : email,\r\n },\r\n })).pipe(catchError(err => HandleAWSCognitoError(err)));\r\n }\r\n\r\n // TODO: Remove the below method - Used for seed data\r\n // registerAgent(username: string, password: string, email: string): Observable {\r\n // configureAmplify(true);\r\n // return from( Auth.signUp({ username, password,\r\n // attributes: {\r\n // email : email,\r\n // },\r\n // })).pipe(catchError(err => HandleAWSCognitoError(err)));\r\n // }\r\n\r\n registerAgent(username: string, password: string): Observable {\r\n configureAmplify(true);\r\n\r\n return from( Auth.signIn(username, password))\r\n .pipe(catchError(err => HandleAWSCognitoError(err)));\r\n\r\n }\r\n\r\n confirmRegistration(username: string, verificationCode: string): Observable {\r\n\r\n // Auth.configure(AuthConfig);\r\n configureAmplify(false);\r\n\r\n return from (Auth.confirmSignUp(username, verificationCode))\r\n .pipe(catchError(err => HandleAWSCognitoError(err)));\r\n }\r\n\r\n\r\n\r\n confirmAgentRegistration(username: string, verificationCode: string): Observable {\r\n\r\n // Auth.configure(AgentAuthConfig);\r\n configureAmplify(true);\r\n return from (Auth.confirmSignUp(username, verificationCode))\r\n .pipe(catchError(err => HandleAWSCognitoError(err)));\r\n }\r\n\r\n // confirmRegistrationAgent(username: string, verificationCode: string): Observable {\r\n\r\n // Auth.configure(AgentAuthConfig);\r\n // return from (Auth.confirmSignUp(username, verificationCode))\r\n // .pipe(catchError(err => HandleAWSCognitoError(err)));\r\n // }\r\n\r\n\r\n GetCurrentUser(): Observable {\r\n\r\n return this.http.get(`${this.baseURL}/registrations/current-registration`)\r\n .pipe(\r\n catchError(err => HandleHttpError(err))\r\n );\r\n }\r\n\r\n validateUser(familyName: string, dateOfBirth: string, emailAddress: string, countryCode: string ): Observable {\r\n let params = new HttpParams();\r\n params = params.append('FamilyName', familyName);\r\n params = params.append('DateOfBirth', dateOfBirth);\r\n params = params.append('EmailAddress', emailAddress);\r\n params = params.append('CountryCode', countryCode);\r\n\r\n return this.http.get(`${this.baseURL}/registrations/validate-registration`, { params: params})\r\n .pipe(\r\n catchError(err => HandleHttpError(err))\r\n );\r\n\r\n }\r\n\r\n registerNewUser(familyName: string, givenName: string, dateOfBirth: string, email: string): Observable {\r\n const body = {\r\n 'EmailAddress': email,\r\n 'DateOfBirth': dateOfBirth,\r\n 'GivenName': givenName,\r\n 'FamilyName': familyName\r\n };\r\n\r\n return this.http.post(`${this.baseURL}/registrations/register-user`, body)\r\n .pipe(\r\n catchError(err => HandleHttpError(err))\r\n );\r\n\r\n }\r\n\r\n getCurrentAuthenticatedUser(): Observable {\r\n\r\n\r\n const userType = localStorage.getItem('userType');\r\n\r\n // if (userType && userType === 'agent') {\r\n // Auth.configure(AgentAuthConfig);\r\n // } else {\r\n // Auth.configure(AuthConfig);\r\n // }\r\n\r\n configureAmplify(userType === 'agent');\r\n\r\n return from ( Auth.currentAuthenticatedUser())\r\n .pipe( catchError( err => HandleAWSCognitoError(err)));\r\n }\r\n\r\n getCurrentSession(): Observable {\r\n return from (Auth.currentSession())\r\n .pipe( catchError( err => HandleAWSCognitoError(err)));\r\n }\r\n\r\n storeCognitoIdentityId(user: CognitoUser) {\r\n\r\n const userType = localStorage.getItem('userType');\r\n\r\n const awsSettings: AWSSettings = JSON.parse(localStorage.getItem('awsSettings'));\r\n\r\n // const identityPoolId = userType === 'student' ? AuthConfig.identityPoolId : AgentAuthConfig.identityPoolId;\r\n // const region = userType === 'student' ? AuthConfig.region : AgentAuthConfig.region;\r\n // const userPoolId = userType === 'student' ? AuthConfig.userPoolId : AgentAuthConfig.userPoolId;\r\n\r\n\r\n const identityPoolId = awsSettings.IdentityPoolId;\r\n const region = awsSettings.Region;\r\n const userPoolId = awsSettings.UserPoolId;\r\n\r\n const loginKey = `cognito-idp.${region}.amazonaws.com/${userPoolId}`;\r\n\r\n\r\n\r\n\r\n user.getSession(function(err, result) {\r\n if (result) {\r\n\r\n const logins = {};\r\n logins[loginKey] = result.getIdToken().getJwtToken();\r\n\r\n const awsCognitoIdentityCredentials = new AWS.CognitoIdentityCredentials({\r\n IdentityPoolId: identityPoolId,\r\n Logins: logins\r\n });\r\n\r\n localStorage.setItem('identityId', awsCognitoIdentityCredentials.identityId);\r\n }\r\n });\r\n }\r\n\r\n verifyUserEmail(email: string): Observable {\r\n return this.http.post(`${this.sharedService.getBaseURL()}/agent/verify-email?email=${email}`, {})\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n forgotAgentPassword(email: string): Observable {\r\n return this.http.post(`${this.sharedService.getBaseURL()}/agent/forgot-password?email=${email}`, {})\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n } \r\n \r\n getToken(): Observable {\r\n\r\n if(!localStorage.getItem('identityId'))\r\n return Observable.of('');\r\n \r\n return this.getCurrentSession().pipe(map(\r\n user => {\r\n // console.log(user);\r\n return user.getIdToken().getJwtToken();\r\n \r\n }\r\n ))\r\n \r\n }\r\n\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\nexport interface CanComponentDeactivate {\r\n canDeactivate: () => Observable | Promise | boolean;\r\n}\r\n\r\n@Injectable()\r\nexport class CanDeactivateGuard implements CanDeactivate {\r\n\r\n canDeactivate(component: CanComponentDeactivate,\r\n currentRoute: ActivatedRouteSnapshot,\r\n currentState: RouterStateSnapshot,\r\n nextState: RouterStateSnapshot) {\r\n\r\n return component.canDeactivate ? component.canDeactivate() : true;\r\n }\r\n\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\nimport { Country } from '../models/lookup-data.model';\r\n\r\n\r\n\r\nexport function CountryValidator(countries: Country[]): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: boolean} | null => {\r\n\r\n const selectedCountryCode = control.value;\r\n const selectedCountries = countries.filter(c => c.Code === selectedCountryCode);\r\n\r\n if (selectedCountries && selectedCountries.length === 1) {\r\n\r\n const selectedCountry = selectedCountries[0];\r\n\r\n if (selectedCountry.Status === 'Blocked') {\r\n return { 'blockedCountry': true};\r\n } else if (selectedCountry.Status === 'Regular') {\r\n return { 'regularCountry': true};\r\n }\r\n\r\n } else {\r\n return { 'duplicateCountryCodes': true};\r\n }\r\n return null;\r\n };\r\n}\r\n\r\nexport function AgentCountryValidator(countries: Country[]): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: boolean} | null => {\r\n\r\n const selectedCountryCode = control.value;\r\n const selectedCountries = countries.filter(c => c.Code === selectedCountryCode);\r\n\r\n if (selectedCountries && selectedCountries.length === 1) {\r\n\r\n const selectedCountry = selectedCountries[0];\r\n\r\n if (selectedCountry.Status === 'Blocked') {\r\n return { 'blockedCountry': true};\r\n }\r\n\r\n } else {\r\n return { 'duplicateCountryCodes': true};\r\n }\r\n return null;\r\n };\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs/internal/Subject';\n\n@Injectable()\nexport class CustomMatSortHeaderIntl{\n changes: Subject = new Subject();\n sortButtonLabel(id: string) { return `${id.split(/(?=[A-Z])/).join(' ')} sorting`;};\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { HandleHttpError } from './error.handler';\r\nimport { PreRegistrationModel } from '../models/pre-registration.model';\r\nimport { SharedService } from './shared.service';\r\n\r\n@Injectable()\r\nexport class DataService {\r\n\r\n baseURL: string;\r\n\r\n constructor(private http: HttpClient, private sharedService: SharedService) {\r\n this.baseURL = this.sharedService.getBaseURL();\r\n }\r\n\r\n\r\n registerUser(registrationModel: PreRegistrationModel): Observable {\r\n return this.http.post(`${this.baseURL}/api/registrations/register-user`, registrationModel)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n\r\n\r\n ValidateStudentParentsInfo(studentGivenName: string,\r\n studentFamilyName: string,\r\n studentDateOfBirth: string,\r\n studentCountryCode: string,\r\n fatherGivenName?: string,\r\n fatherFamilyName?: string,\r\n motherGivenName?: string,\r\n motherFamilyName?: string,\r\n ): Observable {\r\n\r\n const body = {\r\n 'GivenName': studentGivenName,\r\n 'FamilyName': studentFamilyName,\r\n 'DateOfBirth': studentDateOfBirth,\r\n 'CountryCode': studentCountryCode,\r\n 'FatherGivenName': fatherGivenName,\r\n 'FatherFamilyName': fatherFamilyName,\r\n 'MotherGivenName': motherGivenName,\r\n 'MotherFamilyName': motherFamilyName\r\n };\r\n\r\n return this.http.post(`${this.baseURL}/applications`, body)\r\n .pipe(\r\n catchError(err => HandleHttpError(err))\r\n );\r\n\r\n\r\n }\r\n\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { ErrorResponse, AWSCognitoErrorResponse, AWSS3ErrorResponse } from '../models/error.model';\r\nimport { ErrorObservable } from 'rxjs/observable/ErrorObservable';\r\n\r\nexport const HandleHttpError = (httpErrorReponse: HttpErrorResponse): Observable => {\r\n\r\n console.log(\"Error happens and details is ---->\", httpErrorReponse);\r\n\r\n const errorResponse = new ErrorResponse();\r\n\r\n errorResponse.errorCode = httpErrorReponse.status;\r\n\r\n if (httpErrorReponse.error !== null && httpErrorReponse.error !== undefined) {\r\n errorResponse.errors = httpErrorReponse.error.Errors;\r\n }\r\n\r\n\r\n if (httpErrorReponse.error !== null && httpErrorReponse.error !== undefined && httpErrorReponse.error.Result) {\r\n errorResponse.result = httpErrorReponse.error.Result;\r\n }\r\n\r\n return ErrorObservable.create(errorResponse);\r\n};\r\n\r\n\r\nexport const HandleAWSCognitoError = (awsCognitoError): Observable => {\r\n\r\n //console.log('in HandleAWSCognitoError');\r\n //console.log(awsCognitoError);\r\n const errorResponse = new AWSCognitoErrorResponse();\r\n\r\n errorResponse.code = awsCognitoError.code;\r\n errorResponse.message = awsCognitoError.message;\r\n errorResponse.name = awsCognitoError.name;\r\n\r\n return ErrorObservable.create(errorResponse);\r\n};\r\n\r\nexport const HandleAWSS3Error = (awsS3Error): Observable => {\r\n\r\n //console.log('in HandleAWSS3Error');\r\n //console.log(awsS3Error);\r\n const errorResponse = new AWSS3ErrorResponse();\r\n\r\n errorResponse.code = awsS3Error.code;\r\n errorResponse.message = awsS3Error.message;\r\n errorResponse.name = awsS3Error.name;\r\n\r\n return ErrorObservable.create(errorResponse);\r\n};\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class FormService {\r\n\r\n\r\n errorCSSClass = '.valid';\r\n\r\n errorFocusCssClass = '.valid .valid-focus';\r\n\r\n scrollToFirstErrorField(): boolean {\r\n const firstElementWithError: HTMLElement = document.querySelector(this.errorCSSClass);\r\n if (firstElementWithError) {\r\n\r\n const headerHeight = 80;\r\n firstElementWithError.scrollIntoView(true);\r\n\r\n const firstElementWithErrorFocus: HTMLElement = document.querySelector(this.errorFocusCssClass);\r\n\r\n if (firstElementWithErrorFocus && firstElementWithErrorFocus.classList.contains(\"mat-checkbox\")) {\r\n const firstElementWithErrorFocusMatCheckBox = firstElementWithErrorFocus.querySelector(\"input\");\r\n const button = document.createElement('div');\r\n button.innerHTML = \"
\";\r\n console.info(firstElementWithErrorFocus.querySelector(\"input\").nextElementSibling.appendChild(button));\r\n setTimeout(() => {\r\n firstElementWithErrorFocusMatCheckBox.focus();\r\n firstElementWithErrorFocus.querySelector(\"input\").nextElementSibling.appendChild(button);\r\n firstElementWithErrorFocusMatCheckBox.addEventListener('blur', (event) => {\r\n event.stopPropagation();\r\n if(firstElementWithErrorFocus){\r\n firstElementWithErrorFocus.querySelector(\"input\").nextElementSibling.removeChild(button);\r\n }\r\n });\r\n }, 100);\r\n } else {\r\n setTimeout(() => {\r\n firstElementWithErrorFocus.focus();\r\n }, 100);\r\n }\r\n\r\n const scrolledY = window.scrollY;\r\n\r\n if (scrolledY) {\r\n window.scroll(0, scrolledY - headerHeight);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n}\r\n","import { Injectable, OnInit } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { map, catchError,tap } from 'rxjs/operators';\r\nimport { EnglishTestType,\r\n IecDuration,\r\n Relationship,\r\n Country,\r\n VisaSubClass,\r\n OHSCProvider,\r\n YearOfEntry,\r\n SchoolSubject,\r\n School,\r\n Term,\r\n SchoolDuration,\r\n SchoolCalendarTermDTO,\r\n LookupData} from '../models/lookup-data.model';\r\nimport { ApiResponse, GenApiResponse } from '../models/api-response.model';\r\nimport { SharedService } from './shared.service';\r\nimport { HandleHttpError } from './error.handler';\r\nimport * as moment from 'moment';\r\n\r\n\r\n@Injectable()\r\nexport class LookupService implements OnInit {\r\n\r\n constructor(private http: HttpClient, private sharedService: SharedService) {\r\n this.baseURL = this.sharedService.getBaseURL();\r\n }\r\n\r\n baseURL: string;\r\n lookupDictionary: any = {};\r\n\r\n ngOnInit() {\r\n }\r\n\r\n private getLookupData(lookupApiRoute: string): Observable { \r\n\r\n // look for the dictionary in the service instance (singleton)\r\n if (this.lookupDictionary[lookupApiRoute]) {\r\n return of(this.lookupDictionary[lookupApiRoute] as T[])\r\n }\r\n\r\n // look in local storage\r\n if (localStorage.getItem(lookupApiRoute)) {\r\n // set item in the dictionary in the service instance\r\n this.lookupDictionary[lookupApiRoute] = (JSON.parse(localStorage.getItem(lookupApiRoute)) as T[]);\r\n return of(this.lookupDictionary[lookupApiRoute] as T[]);\r\n }\r\n\r\n // retrieve from the api\r\n return this.http.get(`${this.baseURL}/${lookupApiRoute}`)\r\n .pipe(map(apiResponse => {\r\n if (apiResponse.Errors && apiResponse.Errors.length > 0) {\r\n return null;\r\n } else if ( apiResponse.Result) {\r\n localStorage.setItem(lookupApiRoute, JSON.stringify(apiResponse.Result));\r\n this.lookupDictionary[lookupApiRoute] = apiResponse.Result as T[];\r\n return apiResponse.Result;\r\n }\r\n }));\r\n }\r\n\r\n // We don't want countries to be cached in browser localStorage, as it might have integrity since \r\n getCountries(): Observable {\r\n\r\n // return this.http.get(`${this.baseURL}/countries`)\r\n // .pipe(map(apiResponse => {\r\n // if (apiResponse.Errors && apiResponse.Errors.length > 0) {\r\n // return null;\r\n // } else if ( apiResponse.Result) {\r\n // const countries = apiResponse.Result;\r\n // return countries.filter(x => !x.IsDeleted);\r\n // }\r\n // }));\r\n\r\n return this.getLookupData('countries')\r\n .pipe(map(countries => countries.filter(x => !x.IsDeleted)));\r\n }\r\n\r\n getEnglishTestTypes(): Observable {\r\n return this.getLookupData('english-testtype');\r\n }\r\n\r\n getIecDurations(): Observable {\r\n return this.getLookupData('iec-durations');\r\n }\r\n\r\n getRelationshipTypes(): Observable {\r\n return this.getLookupData('relationships');\r\n }\r\n\r\n\r\n getVisaSubClasses(): Observable {\r\n return this.getLookupData('visa-subclasses');\r\n }\r\n\r\n getOHSCProviders(): Observable {\r\n return this.getLookupData('oshc-providers');\r\n }\r\n\r\n getYearsOfEntry(): Observable {\r\n return this.getLookupData('years-of-entry');\r\n }\r\n\r\n getSchoolSubjects(): Observable {\r\n return this.getLookupData('school-subjects');\r\n }\r\n\r\n getSchools(): Observable {\r\n return this.getLookupData('schools');\r\n }\r\n\r\n getDeiApprovedCovid19Vaccines() {\r\n return this.http.get<{Errors: any, Result: LookupData[]}>(`${this.baseURL}/dei-approved-covid19-vaccines`);\r\n }\r\n\r\n getTerms(): Observable {\r\n return this.getLookupData('terms');\r\n }\r\n\r\n getDurations(): Observable {\r\n return this.getLookupData('durations');\r\n }\r\n\r\n\r\n getSetting(key: string): Observable {\r\n // return this.getLookupData(`settings/${key}`);\r\n\r\n return this.http.get(`${this.baseURL}/settings/${key}`)\r\n .pipe(map(apiResponse => {\r\n if (apiResponse.Errors && apiResponse.Errors.length > 0) {\r\n return null;\r\n } else if ( apiResponse.Result) {\r\n return apiResponse.Result;\r\n }\r\n }));\r\n }\r\n\r\n getNotificationSettings(userType: number): Observable {\r\n // return of({Result: null});\r\n const params = new HttpParams({\r\n fromObject: {\r\n userType: userType.toString()\r\n }\r\n });\r\n\r\n return this.http.get(`${this.baseURL}/notification-settings`, {params})\r\n .pipe(\r\n tap(res => console.log(res)),\r\n catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n\r\n getAWSAuthSettings(isAgent: boolean): Observable {\r\n\r\n const params = new HttpParams({\r\n fromObject: {\r\n isAgent: isAgent.toString()\r\n }\r\n });\r\n\r\n //return of({\"Errors\":[],\"Result\":{\"Region\":\"ap-southeast-2\",\"UserPoolId\":\"ap-southeast-2_KjCNCJOJ2\",\"UserPoolWebClientId\":\"7htrfvmghnmmr6qdrikqh29182\",\"IdentityPoolId\":\"ap-southeast-2:e718b1c7-f0ef-412d-8012-017c4c1af76e\",\"AuthenticationFlowType\":\"USER_PASSWORD_AUTH\",\"BucketName\":\"onlineapp-dev-amplify\"}});\r\n\r\n return this.http.get(`${this.baseURL}/aws-settings`, {params})\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n\r\n getGASettings(): Observable {\r\n return this.getLookupData('ga-settings')\r\n }\r\n\r\n\r\n getSchoolCalendarTermsBetween(startDate: Date, endDate: Date): Observable {\r\n return this.http.get>(`${this.baseURL}/school-calendar-terms-between?startDate=${moment(startDate).format('YYYY-MM-DD')}&endDate=${moment(endDate).format('YYYY-MM-DD')}`)\r\n .pipe(\r\n map(res => res.Result)\r\n );\r\n }\r\n\r\n}\r\n","import { Subject, BehaviorSubject } from 'rxjs';\r\n\r\nexport class ModalService {\r\n public stayOnThePage: Subject = new Subject();\r\n public isModalVisible: Subject = new Subject();\r\n\r\n\r\n public allowDelete: BehaviorSubject = new BehaviorSubject(false);\r\n public isDeleteModalVisible: Subject = new Subject();\r\n\r\n public allowAddContactModalVisible: Subject = new Subject();\r\n\r\n //confirmMessage\r\n confirmMessage: string;\r\n public confirmModalVisible: Subject = new Subject(); // to be subscribed by the modal component\r\n public copyModalVisible: Subject = new Subject(); // to be subscribed by the modal component\r\n public confirmModalResult: Subject = new Subject(); // to be subscribed by the calling component\r\n public copyModalResult: Subject = new Subject(); // to be subscribed by the calling component\r\n\r\n public copySAModalResult: Subject = new Subject(); // to be subscribed by the calling component\r\n public copySAModalVisible: Subject = new Subject(); // to be subscribed by the modal component\r\n\r\n showModal() {\r\n this.isModalVisible.next(true);\r\n }\r\n\r\n hideModal() {\r\n this.isModalVisible.next(false);\r\n }\r\n\r\n showDeleteModal() {\r\n this.isDeleteModalVisible.next(true);\r\n }\r\n\r\n hideDeleteModal() {\r\n this.isDeleteModalVisible.next(false);\r\n }\r\n\r\n //to be called by the calling component\r\n showConfirmModal(confirmMessage: string) {\r\n this.confirmMessage = confirmMessage;\r\n this.confirmModalVisible.next(true);\r\n }\r\n\r\n //to be called by the modal component\r\n hideConfirmModal(isConfirm: boolean) {\r\n this.confirmModalResult.next(isConfirm);\r\n }\r\n\r\n //to be called by the calling component\r\n showCopyModal() {\r\n this.copyModalVisible.next(true);\r\n }\r\n\r\n //to be called by the calling component\r\n showCopySAModal() {\r\n this.copySAModalVisible.next(true);\r\n }\r\n\r\n //to be called by the modal component\r\n hideCopyModal(isConfirm: string) {\r\n this.copyModalResult.next(isConfirm);\r\n }\r\n\r\n hideCopySAModal(isConfirm: string) {\r\n this.copySAModalResult.next(isConfirm);\r\n }\r\n\r\n showAllowAddContactModal(){\r\n this.allowAddContactModalVisible.next(true);\r\n }\r\n hideAllowAddContactModal(){\r\n this.allowAddContactModalVisible.next(false);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SharedService } from './shared.service';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { HandleHttpError } from './error.handler';\r\nimport { ApplicationPayment, Voucher, PaymentUpdateModel, CohortPaymentParameter } from '../../application/models/application-payment';\r\n\r\n\r\n@Injectable()\r\nexport class PaymentService {\r\n\r\n baseURL: string;\r\n\r\n constructor(private http: HttpClient, private sharedService: SharedService) {\r\n this.baseURL = this.sharedService.getBaseURL();\r\n }\r\n\r\n\r\n getpaymentgatewayurl(paymentApplicationTypeId: number, applicationId: number, totalAmountAfterDiscount: number, invoiceNumber: string): Observable {\r\n var internalApiUrl = this.baseURL + `/payment/getexternalpaymentserviceurl?paymentApplicationTypeId=${paymentApplicationTypeId}&onelineApplicationId=${applicationId}&paymentAmount=${totalAmountAfterDiscount}&invoiceNumber=${invoiceNumber}`;\r\n\r\n //console.log(\"internal api URL is: \" + internalApiUrl);\r\n\r\n //alert(internalApiUrl);\r\n return this.http.get(internalApiUrl).pipe(catchError(err => HandleHttpError(err)))\r\n }\r\n\r\n\r\n //Cohort Url base part \r\n getcohortpaymentgatewayurl() {\r\n var internalApiUrl = this.baseURL + `/payment/getcohortpaymentserviceurl`;\r\n return this.http.get(internalApiUrl).pipe(catchError(err => HandleHttpError(err)))\r\n }\r\n\r\n //Cohort POST data part \r\n getcohortpaymentparameterbase(applicationId: number) {\r\n var internalApiUrl = this.baseURL + `/payment/getcohortpaymentparameterbase?applicationId=` + applicationId;\r\n return this.http.get(internalApiUrl).pipe(catchError(err => HandleHttpError(err)))\r\n }\r\n\r\n\r\n updatepaymentrecord(paymentUpdateModel: PaymentUpdateModel ): Observable {\r\n\r\n var internalApiUrl = this.baseURL + `/applications/${paymentUpdateModel.ApplicationId}/updatepayment`;\r\n //console.log(\"internal api URL is: \" + internalApiUrl);\r\n //alert(internalApiUrl);\r\n return this.http.post(internalApiUrl, paymentUpdateModel)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SharedService } from './shared.service';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { HandleHttpError } from './error.handler';\r\nimport { ApplicationPayment, Voucher, PaymentUpdateModel, CohortPaymentParameter } from '../../application/models/application-payment';\r\n\r\n\r\n@Injectable()\r\nexport class PublicPaymentService {\r\n\r\n baseURL: string;\r\n\r\n constructor(private http: HttpClient, private sharedService: SharedService) {\r\n this.baseURL = this.sharedService.getBaseURL();\r\n }\r\n\r\n\r\n getPaymentUri(referenceNo: string, amount: number, paymentType: string): Observable {\r\n var apiUrl = this.baseURL + `/publicPayment/GetPaymentUri?referenceNo=${referenceNo}&amount=${amount}&paymentType=${paymentType}`;\r\n \r\n return this.http.get(apiUrl);\r\n }\r\n\r\n validatePaymentReferenceNo(referenceNo: string): Observable {\r\n var apiUrl = this.baseURL + `/publicPayment/ValidatePaymentReferenceNumber?referenceNo=${referenceNo}`;\r\n \r\n return this.http.get(apiUrl).pipe(catchError(err => HandleHttpError(err)))\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { HandleHttpError } from './error.handler';\r\nimport { PreRegistrationModel } from '../models/pre-registration.model';\r\nimport { SharedService } from './shared.service';\r\n\r\n@Injectable()\r\nexport class RegistrationService {\r\n\r\n baseURL: string;\r\n\r\n constructor(private http: HttpClient, private sharedService: SharedService) {\r\n this.baseURL = this.sharedService.getBaseURL();\r\n }\r\n\r\n\r\n createStudent(registrationModel: PreRegistrationModel): Observable {\r\n return this.http.post(`${this.baseURL}/students`, registrationModel)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n validatePreRegistrationStudentDetails(registrationModel: PreRegistrationModel): Observable {\r\n return this.http.post(`${this.baseURL}/students/validate`, registrationModel)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n ValidateRegisteredWithSelectedNationality(countryOfNationalityId: string): Observable {\r\n return this.http.get(`${this.baseURL}/students/ValidateRegisteredWithSelectedNationality?countryOfNationalityId=${countryOfNationalityId}`)\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n registerStudent(username: string): Observable {\r\n return this.http.post(`${this.baseURL}/registrations/`, { 'UserName': username })\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n verifyStudentRegistration(username: string): Observable {\r\n return this.http.post(`${this.baseURL}/registrations/account-verified`, { 'UserName': username })\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n verifyAgentRegistration(username: string): Observable {\r\n return this.http.post(`${this.baseURL}/registrations/account-verified`, { 'UserName': username })\r\n .pipe(catchError(err => HandleHttpError(err)));\r\n }\r\n\r\n}\r\n","import { Resolve, ActivatedRouteSnapshot, ActivatedRoute } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { LookupService } from './lookup.service';\r\nimport { Country,\r\n Relationship,\r\n VisaSubClass,\r\n OHSCProvider,\r\n EnglishTestType,\r\n YearOfEntry,\r\n SchoolSubject,\r\n School,\r\n Term,\r\n IecDuration,\r\n SchoolDuration} from '../models/lookup-data.model';\r\nimport { ParentGuardianDetails } from 'src/app/application/models/parent-guardian-details';\r\nimport { ApplicationService } from './application.service';\r\nimport { map } from 'rxjs/operators';\r\nimport { Summary } from 'src/app/application/models/summary.model';\r\nimport { SummaryWithSupportingDocuments } from 'src/app/application/models/summary-with-supporting-documents';\r\n\r\n\r\n@Injectable()\r\nexport class CountryResolverService implements Resolve {\r\n\r\n constructor(private lookupService: LookupService) {}\r\n\r\n resolve(): Observable {\r\n return this.lookupService.getCountries();\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class ParentGuardianResolverService implements Resolve {\r\n\r\n constructor(private applicationService: ApplicationService) {\r\n }\r\n\r\n resolve(route: ActivatedRouteSnapshot): Observable {\r\n const applicationId = route.parent.parent.paramMap.get('id');\r\n return this.applicationService.getParentGuardiansDetails(+applicationId)\r\n .pipe(map(apiResponse => {\r\n if (apiResponse.Errors && apiResponse.Errors.length > 0) {\r\n return null;\r\n } else if ( apiResponse.Result) {\r\n return apiResponse.Result;\r\n }\r\n }));\r\n }\r\n}\r\n\r\n\r\n\r\n@Injectable()\r\nexport class RelationshipTypesResolverService implements Resolve {\r\n\r\n constructor(private lookupService: LookupService) {}\r\n\r\n resolve(): Observable {\r\n return this.lookupService.getRelationshipTypes();\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class VisaSubClassesResolverService implements Resolve {\r\n\r\n constructor(private lookupService: LookupService) {}\r\n\r\n resolve(): Observable {\r\n return this.lookupService.getVisaSubClasses();\r\n }\r\n}\r\n\r\n\r\n@Injectable()\r\nexport class OHSCProvidersResolverService implements Resolve {\r\n\r\n constructor(private lookupService: LookupService) {}\r\n\r\n resolve(): Observable {\r\n return this.lookupService.getOHSCProviders();\r\n }\r\n}\r\n\r\n\r\n@Injectable()\r\nexport class EnglishTestTypesResolverService implements Resolve {\r\n\r\n constructor(private lookupService: LookupService) {}\r\n\r\n resolve(): Observable {\r\n return this.lookupService.getEnglishTestTypes();\r\n }\r\n}\r\n\r\n\r\n@Injectable()\r\nexport class YearsOfEntryResolverService implements Resolve {\r\n\r\n constructor(private lookupService: LookupService) {}\r\n\r\n resolve(): Observable {\r\n return this.lookupService.getYearsOfEntry();\r\n }\r\n}\r\n\r\n\r\n@Injectable()\r\nexport class SchoolSubjectResolverService implements Resolve {\r\n\r\n constructor(private lookupService: LookupService) {}\r\n\r\n resolve(): Observable {\r\n return this.lookupService.getSchoolSubjects();\r\n }\r\n}\r\n\r\n\r\n@Injectable()\r\nexport class SchoolsResolverService implements Resolve {\r\n\r\n constructor(private lookupService: LookupService) {}\r\n\r\n resolve(): Observable {\r\n return this.lookupService.getSchools();\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class TermsResolverService implements Resolve {\r\n\r\n constructor(private lookupService: LookupService) {}\r\n\r\n resolve(): Observable {\r\n return this.lookupService.getTerms();\r\n }\r\n}\r\n\r\n\r\n@Injectable()\r\nexport class DurationsResolverService implements Resolve {\r\n\r\n constructor(private lookupService: LookupService) {}\r\n\r\n resolve(): Observable {\r\n return this.lookupService.getDurations();\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class SummaryResolverService implements Resolve {\r\n\r\n constructor(private applicationService: ApplicationService) {\r\n }\r\n\r\n resolve(route: ActivatedRouteSnapshot): Observable {\r\n const applicationId = route.parent.paramMap.get('id');\r\n return this.applicationService.getSummary(+applicationId)\r\n .pipe(map(apiResponse => {\r\n if (apiResponse.Errors && apiResponse.Errors.length > 0) {\r\n return null;\r\n } else if ( apiResponse.Result) {\r\n return apiResponse.Result;\r\n }\r\n }));\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class SummaryWithDocumentsService implements Resolve {\r\n constructor(private applicationService: ApplicationService) { \r\n }\r\n\r\n resolve(route: ActivatedRouteSnapshot): Observable {\r\n const applicationId = route.parent.paramMap.get('id');\r\n return this.applicationService.getSummaryWithSupportingDocuments(+applicationId)\r\n .pipe(map(apiResponse => {\r\n if (apiResponse.Errors && apiResponse.Errors.length > 0) {\r\n return null;\r\n } else if ( apiResponse.Result) {\r\n return apiResponse.Result;\r\n }\r\n }));\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n","import { Predicate } from \"@angular/core\";\r\nimport { of } from \"rxjs\";\r\n\r\nexport const retiredLocalStorageKeys: Array|string> = [ \r\n 'countries',\r\n 'schools',\r\n 'school-subjects',\r\n 'visa-subclasses',\r\n 'oshc-providers',\r\n 'english-testtype',\r\n 'iec-durations',\r\n 'relationships',\r\n 'years-of-entry',\r\n 'durations',\r\n 'terms'\r\n];\r\n\r\nexport const retireUnwantedLocalStorageKeys = () => {\r\n \r\n console.log('INSIDE APP INITIALIZER >> RETIRE UNWANTED LOCAL STORAGE KEYS');\r\n\r\n retiredLocalStorageKeys.forEach(obj => {\r\n if (typeof obj === 'string') {\r\n localStorage.removeItem(obj);\r\n } else if (typeof obj === 'function') { \r\n const allLocalStorageKeys = Object.keys(localStorage);\r\n allLocalStorageKeys.filter(obj as Predicate).forEach(key => localStorage.removeItem(key));\r\n }\r\n });\r\n\r\n console.log('INSIDE APP INITIALIZER >> RETIRED UNWANTED LOCAL STORAGE KEYS');\r\n\r\n return of(true).toPromise();\r\n}","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Injectable()\r\nexport class SharedService {\r\n\r\n //todo:- comment this before checkin\r\n // baseURL = 'http://isponline.det.nsw.edu.au/api';\r\n\r\n //todo:- uncomment this before checkin\r\n baseURL = '/api';\r\n \r\n //baseURL = '/api';\r\n \r\n\r\n headerText = 'NSW Government Schools - Online Application Portal';\r\n\r\n private dashboardOptions: any = {\r\n pageSize: 10,\r\n pageNum: 0,\r\n searchTerm: '',\r\n sortColumn: 'StudentNumber',\r\n sortDirection: 'asc'\r\n };\r\n\r\n getBaseURL(): string {\r\n return this.baseURL;\r\n }\r\n\r\n setHeaderText(text: string) {\r\n if (text) {\r\n this.headerText = text;\r\n }\r\n }\r\n\r\n resetHeaderText() {\r\n this.headerText = 'NSW Government Schools - Online Application Portal';\r\n }\r\n\r\n getHeaderText() {\r\n return this.headerText || 'NSW Government Schools - Online Application Portal';\r\n }\r\n\r\n setDashboardOptions(options: any) {\r\n if (!options) {\r\n return;\r\n }\r\n\r\n if (options.pageSize) {\r\n this.dashboardOptions.pageSize = options.pageSize;\r\n }\r\n\r\n if (!isNaN(options.pageNum)) {\r\n this.dashboardOptions.pageNum = options.pageNum;\r\n }\r\n\r\n if (options.searchTerm || options.searchTerm === '') {\r\n this.dashboardOptions.searchTerm = options.searchTerm;\r\n }\r\n\r\n if (options.sortColumn) {\r\n this.dashboardOptions.sortColumn = options.sortColumn;\r\n }\r\n\r\n if (options.sortDirection === 'asc' || options.sortDirection === 'desc') {\r\n this.dashboardOptions.sortDirection = options.sortDirection;\r\n }\r\n }\r\n\r\n set dashboardPageSize(value: number) {\r\n if (this.dashboardOptions.pageSize > 0) {\r\n this.dashboardOptions.pageSize = value;\r\n }\r\n }\r\n\r\n set dashboardPageNum(value: number) {\r\n if (value >= 0) {\r\n this.dashboardOptions.pageNum = value;\r\n }\r\n }\r\n\r\n set dashboardSearchTerm(value: string) {\r\n this.dashboardOptions.searchTerm = value;\r\n }\r\n\r\n set dashboardSortColumn(value: string) {\r\n this.dashboardOptions.sortColumn = value\r\n }\r\n\r\n set dashboardsortDirection(value: boolean) {\r\n this.dashboardOptions.sortDirection = value;\r\n }\r\n\r\n get dashboardPageSize() {\r\n return this.dashboardOptions.pageSize;\r\n }\r\n\r\n get dashboardPageNum() {\r\n return this.dashboardOptions.pageNum;\r\n }\r\n\r\n get dashboardSearchTerm() {\r\n return this.dashboardOptions.searchTerm;\r\n }\r\n\r\n get dashboardSortColumn() {\r\n return this.dashboardOptions.sortColumn;\r\n }\r\n\r\n get dashboardsortDirection() {\r\n return this.dashboardOptions.sortDirection;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { NgxUiLoaderService } from \"ngx-ui-loader\";\r\nimport { AccessibilityService } from \"./accessibility.service\";\r\n\r\n@Injectable()\r\nexport class SpinnerService {\r\n constructor(private actualSpinnerService: NgxUiLoaderService, private accessibilityService: AccessibilityService) {\r\n }\r\n\r\n private tasksShowingSpinner = 0;\r\n private startTime: number;\r\n \r\n show() {\r\n this.tasksShowingSpinner++;\r\n console.log(`tasks awaiting spinners: ${this.tasksShowingSpinner}`);\r\n \r\n this.actualSpinnerService.start();\r\n\r\n //append Start loading in loading icon html\r\n this.accessibilityService.startloadingAccessibility();\r\n }\r\n\r\n hide() {\r\n\r\n if (this.tasksShowingSpinner > 0)\r\n this.tasksShowingSpinner--;\r\n \r\n console.log(`tasks awaiting spinners: ${this.tasksShowingSpinner}`);\r\n\r\n if (this.tasksShowingSpinner === 0) {\r\n console.log('STOPPING SPINNER')\r\n this.actualSpinnerService.stop();\r\n //append Data loaded in loading icon html\r\n this.accessibilityService.loadedAccessibility();\r\n }\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport Storage from '@aws-amplify/storage';\r\nimport { from, Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { HandleAWSS3Error } from './error.handler';\r\nimport { S3Config } from '../config/storage.config';\r\nimport { configureAmplify } from '../config/aws.config';\r\n\r\n\r\n@Injectable()\r\nexport class StorageService {\r\n\r\n constructor() {\r\n configureAmplify(false);\r\n }\r\n\r\n\r\n uploadFile(key: string, file: any, fileType: string): Observable {\r\n return from(Storage.vault.put(key, file, { contentType: fileType}))\r\n .pipe(catchError(err => HandleAWSS3Error(err)));\r\n }\r\n\r\n getFile(key: string, expiresInMins = 10): Observable {\r\n return from(Storage.vault.get(key, { expires: expiresInMins * 60 } ))\r\n .pipe(catchError(err => HandleAWSS3Error(err)));\r\n\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SharedService } from './shared.service';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { HandleHttpError } from './error.handler';\r\nimport { SingleResultApiResponse } from '../models/api-response.model';\r\nimport { UserInfo } from '../models/user.model';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class UserService {\r\n\r\n constructor(private http: HttpClient, private sharedService: SharedService) {\r\n this.userAPIURL = `${this.sharedService.getBaseURL()}/user`;\r\n }\r\n\r\n userAPIURL: string;\r\n\r\n getUserDetails(): Observable {\r\n\r\n\r\n\r\n\r\n if (localStorage.getItem(\"userInfo\")) {\r\n return of(JSON.parse(localStorage.getItem(\"userInfo\")) as UserInfo);\r\n }\r\n\r\n\r\n\r\n return this.http.get(`${this.userAPIURL}`)\r\n .pipe(map((userResponse: SingleResultApiResponse) => {\r\n localStorage.setItem(\"userInfo\", JSON.stringify(userResponse.Result));\r\n return userResponse.Result as UserInfo;\r\n }), catchError(err => HandleHttpError(err)));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { environment } from 'src/environments/environment.prod';\nimport * as moment from 'moment';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UtilityService {\n constructor(private fb: FormBuilder) {}\n\n public convertToTitleCase(inputString) {\n return inputString.replace(/\\b\\w+/g, function(word) {\n // Capitalize the first letter of each word (including hyphenated words)\n return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();\n });\n }\n public getUuid(): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\n // tslint:disable-next-line: no-bitwise\n const r = (Math.random() * 16) | 0;\n // tslint:disable-next-line: no-bitwise\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n }\n\n /**\n * \n * @param path \n * @param obj \n * @param separator \n * @returns \n * \n * Example Usage:- \n * \n * // accessing property path on global scope\n resolveObjectPropByPath(\"document.body.style.width\")\n // or\n resolveObjectPropByPath(\"style.width\", document.body)\n \n // accessing array indexes\n // (someObject has been defined in the question)\n resolveObjectPropByPath(\"part3.0.size\", someObject) // returns '10'\n \n // accessing non-existent properties\n // returns undefined when intermediate properties are not defined:\n resolveObjectPropByPath('properties.that.do.not.exist', {hello:'world'})\n \n // accessing properties with unusual keys by changing the separator\n var obj = { object: { 'a.property.name.with.periods': 42 } }\n resolveObjectPropByPath('object->a.property.name.with.periods', obj, '->') // returns 42\n \n // accessing properties with unusual keys by passing a property name array\n resolveObjectPropByPath(['object', 'a.property.name.with.periods'], obj) // returns 42\n */\n public resolveObjectPropByPath(path, obj = window, separator = '.') {\n if (!!path) {\n const properties = Array.isArray(path) ? path : path.split(separator);\n return properties.reduce((prev, curr) => prev && prev[curr], obj);\n } else {\n return obj;\n }\n }\n\n \n public downloadBlobFile(blobData: any) {\n if (window.navigator && (window.navigator as any).msSaveOrOpenBlob) {\n (window.navigator as any).msSaveOrOpenBlob(blobData.blob, blobData.fileName);\n } else {\n const a: any = document.createElement('a');\n a.style = 'display: none';\n const url = window.URL.createObjectURL(blobData.blob);\n a.href = url;\n a.download = blobData.fileName;\n document.body.appendChild(a);\n a.click();\n a.remove();\n }\n }\n\n public getFileExtension(fileName: string): string {\n // tslint:disable-next-line: no-bitwise\n return fileName.slice((fileName.lastIndexOf('.') - 1 >>> 0) + 2);\n }\n\n openBlobFile(blobData: any) {\n if (window.navigator && (window.navigator as any).msSaveOrOpenBlob) {\n (window.navigator as any).msSaveOrOpenBlob(blobData.blob, blobData.fileName);\n } else {\n const windowReference = window.open();\n const url = URL.createObjectURL(blobData.blob);\n windowReference.location.href = url;\n }\n };\n\n public getDateStrWithoutTimeZone(input: Date|string): string {\n if (!input) {\n return null;\n }\n \n const dateM = moment(input);\n\n if (dateM.isValid())\n return dateM.format('YYYY-MM-DD');\n\n return null;\n }\n\n\n}\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from 'src/environments/environment.prod';\r\n\r\n// toDo:- need to refactor with rxjs best practices (reactive programming)\r\n\r\n@Injectable()\r\nexport class VersionCheckService {\r\n \r\n private currentHash = '{{POST_BUILD_ENTERS_HASH_HERE}}';\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n /**\r\n * Checks in every set frequency the version of frontend application\r\n * @param {number} frequency - in milliseconds, defaults to 30 minutes\r\n */\r\n public initVersionCheck(frequency = 1000 * 60 * 120) {\r\n setInterval(() => {\r\n this.checkVersion(environment.versionCheckURL);\r\n }, frequency);\r\n }\r\n\r\n /**\r\n * Will do the call and check if the hash has changed or not\r\n * @param url\r\n */\r\n private checkVersion(url) {\r\n // timestamp these requests to invalidate caches\r\n this.http.get(url + '?t=' + new Date().getTime())\r\n .subscribe(\r\n (response: any) => {\r\n const hash = response.hash;\r\n const hashChanged = this.hasHashChanged(this.currentHash, hash);\r\n\r\n // If new version, hard or soft reload\r\n if (hashChanged) {\r\n\r\n // We can inform the user that a new version is released and ask them to reload instead. Can be discussed.\r\n\r\n window.location.reload();\r\n }\r\n // store the new hash so we wouldn't trigger versionChange again\r\n // only necessary in case you did not force refresh\r\n this.currentHash = hash;\r\n },\r\n (err) => {\r\n console.error(err, 'Could not get version');\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Checks if hash has changed.\r\n * This file has the JS hash, if it is a different one than in the version.json\r\n * we are dealing with version change\r\n * @param currentHash\r\n * @param newHash\r\n * @returns {boolean}\r\n */\r\n private hasHashChanged(currentHash, newHash) {\r\n if (!currentHash || currentHash === '{{POST_BUILD_ENTERS_HASH_HERE}}') {\r\n return false;\r\n }\r\n\r\n return currentHash !== newHash;\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { PreRegistrationComponent } from './pre-registration/pre-registration.component';\r\nimport { AccountRegistrationComponent } from './account-registration/account-registration.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { PreRegistrationGdprComponent } from './pre-registration-gdpr/pre-registration-gdpr.component';\r\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\r\nimport { ResetPasswordComponent } from './reset-password/reset-password.component';\r\nimport { CountryResolverService } from './services/resolvers.service';\r\nimport { PaymentComponent } from './payment/payment.component';\r\nimport { AgentLoginComponent } from './agent-login/agent-login.component';\r\nimport { AgentSetPasswordComponent } from './agent-set-password/agent-set-password.component';\r\nimport { AgentAccountRegistrationComponent } from './account-registration/agent-account-registration/agent-account-registration.component';\r\nimport { AgentForgotPasswordComponent } from './agent-forgot-password/agent-forgot-password.component';\r\nimport { AgentResetPasswordComponent } from './agent-reset-password/agent-reset-password.component';\r\nimport { ServerErrorComponent } from './server-error/server-error.component';\r\n\r\nconst routes: Routes = [\r\n { path: 'pre-registration', component: PreRegistrationComponent, resolve: { countries: CountryResolverService} },\r\n { path: 'pre-registration-gdpr', component: PreRegistrationGdprComponent },\r\n { path: 'account-registration', component: AccountRegistrationComponent },\r\n { path: 'agent-account-registration', component: AgentAccountRegistrationComponent }, \r\n { path: 'login', component: LoginComponent },\r\n { path: 'agent-login', component: AgentLoginComponent },\r\n { path: 'forgot-password', component: ForgotPasswordComponent },\r\n { path: 'agent-forgot-password', component: AgentForgotPasswordComponent },\r\n { path: 'reset-password', component: ResetPasswordComponent},\r\n { path: 'agent-reset-password', component: AgentResetPasswordComponent },\r\n { path: 'agent-set-password', component: AgentSetPasswordComponent },\r\n { path: 'online-payment', component: PaymentComponent },\r\n { path: 'online-payment/:paymentStatus', component: PaymentComponent },\r\n { path: 'server-error', component: ServerErrorComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class SharedRoutingModule { }\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WelcomeComponent } from './welcome/welcome.component';\nimport { SharedRoutingModule } from './shared-routing.module';\nimport { PageNotFoundComponent } from './page-not-found/page-not-found.component';\nimport { PreRegistrationComponent } from './pre-registration/pre-registration.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatListModule, MatTooltipModule, MatBadgeModule, MatSnackBarModule, MatNativeDateModule, MatDatepickerModule, MatFormFieldModule, MatInputModule, DateAdapter, MAT_DATE_FORMATS, MatMenuModule, MatDialogModule } from '@angular/material';\n\nimport { HttpClientModule } from '@angular/common/http';\nimport { DataService } from './services/data.service';\nimport { UserService } from './services/user.service';\nimport { AuthComponent } from './auth/auth.component';\nimport { AuthService } from './services/auth.service';\nimport { StoreModule } from '@ngrx/store';\nimport { RegistrationService } from './services/registration.service';\nimport { PaymentService } from './services/payment.service';\nimport { AccountRegistrationComponent } from './account-registration/account-registration.component';\nimport { PreRegistrationGdprComponent } from './pre-registration-gdpr/pre-registration-gdpr.component';\nimport { PreRegistrationReducer } from './state/pre-registration.reducer';\nimport { LoginComponent } from './login/login.component';\nimport { SharedReducer } from './state/shared.reducer';\nimport { AgencyContractService } from './services/agency-contract.service';\nimport { ApplicationService } from './services/application.service';\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\nimport { ResetPasswordComponent } from './reset-password/reset-password.component';\nimport { AuthResolverService } from './services/auth.resolver.service';\nimport { LookupService } from './services/lookup.service';\nimport { CountryResolverService,\n RelationshipTypesResolverService,\n VisaSubClassesResolverService,\n OHSCProvidersResolverService,\n YearsOfEntryResolverService,\n EnglishTestTypesResolverService,\n SchoolSubjectResolverService,\n SchoolsResolverService,\n DurationsResolverService,\n TermsResolverService,\n ParentGuardianResolverService,\n SummaryResolverService,\n SummaryWithDocumentsService} from './services/resolvers.service';\nimport { HeaderComponent } from './header/header.component';\nimport { SharedService } from './services/shared.service';\nimport { PaymentComponent } from './payment/payment.component';\nimport { WelcomeAgentComponent } from './welcome-agent/welcome-agent.component';\nimport { AgentLoginComponent } from './agent-login/agent-login.component';\nimport { AgentSetPasswordComponent } from './agent-set-password/agent-set-password.component';\nimport { StorageService } from './services/storage.service';\nimport { FormService } from './services/form.service';\nimport { AutofocusDirective } from '../directives/auto-focus.directive';\nimport { ToggleViewPasswordDirective } from '../directives/toggle-view-password.directive';\nimport { AgentAuthComponent } from './auth/agent-auth/agent-auth.component';\nimport { AgentAccountRegistrationComponent } from './account-registration/agent-account-registration/agent-account-registration.component';\nimport { AgentForgotPasswordComponent } from './agent-forgot-password/agent-forgot-password.component';\nimport { AgentResetPasswordComponent } from './agent-reset-password/agent-reset-password.component';\nimport { PublicPaymentService } from './services/publicPayment.service';\nimport { RecaptchaModule, RecaptchaFormsModule } from 'ng-recaptcha';\nimport { ServerErrorComponent } from './server-error/server-error.component';\nimport {MatCheckboxModule} from '@angular/material/checkbox';\nimport { DebounceClickDirective } from './directive/appDebounceClick';\nimport { DebounceClickModule } from './directive/appDebounceClick.module';\nimport { PickDateAdapter, PICK_FORMATS } from '../application/shared/utils/PickDateAdapter';\nimport { PhoneNumberDirective } from '../directives/phone-number.directive';\nimport { PassportNumberDirective } from '../directives/passport-number.directive';\nimport { SafeHtmlPipe } from './safe-html.pipe';\nimport { RectComponent } from './skeleton-rect/skeleton-rect.component';\nimport { SkeletonDirective } from '../directives/skeleton.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatTooltipModule,\n MatBadgeModule,\n MatSnackBarModule,\n HttpClientModule,\n SharedRoutingModule,\n RecaptchaModule.forRoot(),\n RecaptchaFormsModule,\n MatMenuModule,\n MatCheckboxModule,\n DebounceClickModule,\n MatListModule,\n MatNativeDateModule,\n MatDatepickerModule,\n MatFormFieldModule,\n MatInputModule,\n StoreModule.forFeature('shared', SharedReducer)\n ],\n exports: [\n WelcomeComponent,\n HeaderComponent,\n RecaptchaModule,\n RecaptchaFormsModule,\n PhoneNumberDirective,\n PassportNumberDirective,\n SafeHtmlPipe,\n RectComponent,\n SkeletonDirective\n ],\n declarations: [WelcomeComponent, \n PageNotFoundComponent,\n PreRegistrationComponent,\n AuthComponent,\n AccountRegistrationComponent,\n PreRegistrationGdprComponent,\n LoginComponent,\n ForgotPasswordComponent,\n ResetPasswordComponent,\n HeaderComponent,\n PaymentComponent,\n ServerErrorComponent,\n WelcomeAgentComponent,\n AgentLoginComponent,\n AgentSetPasswordComponent,\n AutofocusDirective,\n ToggleViewPasswordDirective,\n PhoneNumberDirective,\n PassportNumberDirective,\n AgentAuthComponent,\n AgentAccountRegistrationComponent,\n AgentForgotPasswordComponent,\n AgentResetPasswordComponent,\n SafeHtmlPipe,\n RectComponent,\n SkeletonDirective\n ],\n providers: [ SharedService,\n CountryResolverService,\n RelationshipTypesResolverService,\n VisaSubClassesResolverService,\n OHSCProvidersResolverService,\n EnglishTestTypesResolverService,\n DataService,\n LookupService,\n AuthService,\n FormService,\n StorageService,\n RegistrationService,\n PaymentService,\n ApplicationService,\n YearsOfEntryResolverService,\n SchoolSubjectResolverService,\n SchoolsResolverService,\n DurationsResolverService,\n ParentGuardianResolverService,\n SummaryResolverService,\n SummaryWithDocumentsService,\n TermsResolverService,\n UserService,\n AuthResolverService,\n AgencyContractService,\n PublicPaymentService,\n MatNativeDateModule,\n {provide: DateAdapter, useClass: PickDateAdapter},\n {provide: MAT_DATE_FORMATS, useValue: PICK_FORMATS}\n ]\n})\nexport class SharedModule { }\n","import { Component, ElementRef, OnInit } from '@angular/core';\n\n@Component({\n selector: 'skeleton-rect',\n host: {\n 'class': 'pulse'\n },\n template: ``,\n styles: [`\n :host {\n display: block;\n width: var(--skeleton-rect-width);\n height: var(--skeleton-rect-height);\n background: rgb(239, 241, 246) no-repeat;\n }\n `]\n})\nexport class RectComponent {\n width: string;\n height: string;\n className: string;\n\n constructor(private host: ElementRef) { }\n\n ngOnInit() {\n const host = this.host.nativeElement;\n\n if (this.className) {\n\n const allClassNameArr = this.className.split(' ');\n \n allClassNameArr.forEach(x => host.classList.add(x));\n }\n\n host.style.setProperty('--skeleton-rect-width', !!this.width ? this.width : '100%');\n host.style.setProperty('--skeleton-rect-height', !!this.height ? this.height : '20px');\n }\n}\n","export const Action_StorePreRegistrationDetails = 'STORE_PRE_REGISTRATION_DETAILS';\r\nexport const Action_StorePreRegistrationValidationResult = 'STORE_PRE_REGISTRATION_VALIDATION_RESULT';\r\nexport const Action_ClearPreRegistrationInfo = 'CLEAR_PRE_REGISTRATION_INFO';\r\nexport const Action_SetGDPRCOMPLIANCE = 'SET_GDPRCOMPLIANCE';\r\nexport const Action_SetGDPRAcceptance = 'SET_GDPRACCEPTANCE';\r\nexport const Action_SetCurrentUser = 'SET_CURRENT_USER';\r\nexport const Action_ClearCurrentUser = 'SET_CURRENT_USER';\r\nexport const Action_StoreForgotPasswordDetails = 'STORE_FORGOT_PASSWORD_DETAILS';\r\nexport const Action_ClearForgotPasswordDetails = 'CLEAR_FORGOT_PASSWORD_DETAILS';\r\nexport const Action_SetAgentUserObjectToCompleteRegistration = 'SET_AGENT_USEROBJECT_TO_COMPLETE_REGISTRATION';\r\nexport const Action_Set_CurrentUserType = 'SET_CURRENT_USER_TYPE';\r\n\r\n\r\n\r\n","import { Action_StorePreRegistrationDetails,\r\n Action_StorePreRegistrationValidationResult,\r\n Action_ClearPreRegistrationInfo,\r\n Action_SetGDPRCOMPLIANCE,\r\n Action_SetCurrentUser,\r\n Action_ClearCurrentUser,\r\n Action_StoreForgotPasswordDetails,\r\n Action_ClearForgotPasswordDetails,\r\n Action_SetAgentUserObjectToCompleteRegistration,\r\n Action_Set_CurrentUserType} from './actions';\r\n\r\nexport function SharedReducer(state, action) {\r\n switch (action.type) {\r\n case 'SET_PRE_REGISTER_INFO':\r\n //console.log(`preRegisterInfo: ${action.payload}`);\r\n return {\r\n ...state,\r\n preRegisterInfo: action.payload\r\n };\r\n case Action_StorePreRegistrationDetails:\r\n return {\r\n ...state,\r\n preRegistrationDetails: action.payload\r\n };\r\n case Action_StorePreRegistrationValidationResult:\r\n return {\r\n ...state,\r\n preRegistrationValidationResult: action.payload\r\n };\r\n case Action_ClearPreRegistrationInfo:\r\n return {\r\n ...state,\r\n preRegistrationDetails: null,\r\n preRegistrationValidationResult: null\r\n };\r\n case Action_SetGDPRCOMPLIANCE:\r\n return {\r\n ...state,\r\n preRegistrationDetails: {\r\n ...state.preRegistrationDetails,\r\n IsGdprCompliant: action.payload,\r\n }\r\n };\r\n case Action_SetCurrentUser:\r\n return {\r\n ...state,\r\n currentUser: action.payload\r\n };\r\n case Action_ClearCurrentUser:\r\n return {\r\n ...state,\r\n currentUser: null\r\n };\r\n case Action_StoreForgotPasswordDetails:\r\n return {\r\n ...state,\r\n forgotPasswordDetails: action.payload\r\n };\r\n case Action_ClearForgotPasswordDetails:\r\n return {\r\n ...state,\r\n forgotPasswordDetails: null\r\n };\r\n case Action_SetAgentUserObjectToCompleteRegistration:\r\n return {\r\n ...state,\r\n agentUserObject: action.payload\r\n };\r\n case Action_Set_CurrentUserType:\r\n //console.log(`shared reducer: action.payload: ${action.payload}`);\r\n return {\r\n ...state,\r\n userType: action.payload\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n\r\n","module.exports = \"\\n\\n
\\n

Welcome Agent

\\n
\\n

NSW Government Schools is Australia's largest education provider and offers a range of study options for overseas students

\\n\\n

\\n\\n
\\n \\n \\n \\n
\\n
\\n
\\n\\n\\n\"","module.exports = \".welcome {\\n display: block;\\n margin-left: 50px;\\n margin-top: 30px; }\\n\\n.block .problem {\\n width: 70%; }\\n\\n.block .problem .pro-title h3,\\n.block .problem .pro-title .heading3 {\\n display: block;\\n font-size: 24px;\\n font-weight: bold; }\\n\\n:host ::ng-deep .login-box .login-box-content .login-buttons .btn.btn-login {\\n margin-right: 0; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3dlbGNvbWUtYWdlbnQvRDpcXGFcXDE1NVxcc1xcRGVpLk9ubGluZUFwcGxpY2F0aW9uLlByb2RcXERlaS5PbmxpbmVBcHBsaWNhdGlvbi5XZWJcXG9ubGluZS1hcHAvc3JjXFxhcHBcXHNoYXJlZFxcd2VsY29tZS1hZ2VudFxcd2VsY29tZS1hZ2VudC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGNBQWM7RUFDZCxpQkFBaUI7RUFDakIsZ0JBQWdCLEVBQUE7O0FBSXBCO0VBQ0ksVUFBVSxFQUFBOztBQUdkOztFQUVJLGNBQWM7RUFDZCxlQUFlO0VBQ2YsaUJBQWlCLEVBQUE7O0FBR3JCO0VBR1ksZUFBZSxFQUFBIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL3dlbGNvbWUtYWdlbnQvd2VsY29tZS1hZ2VudC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi53ZWxjb21lIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDUwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG5cclxufVxyXG5cclxuLmJsb2NrIC5wcm9ibGVtIHtcclxuICAgIHdpZHRoOiA3MCU7XHJcbn1cclxuXHJcbi5ibG9jayAucHJvYmxlbSAucHJvLXRpdGxlIGgzLFxyXG4uYmxvY2sgLnByb2JsZW0gLnByby10aXRsZSAuaGVhZGluZzN7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAge1xyXG4gICAgLmxvZ2luLWJveCB7XHJcbiAgICAgICAgLmxvZ2luLWJveC1jb250ZW50IC5sb2dpbi1idXR0b25zIC5idG4uYnRuLWxvZ2luIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLmJsb2NrIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIGJ1dHRvbi5idG4tbG9naW4ge1xyXG4vLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4vLyAgICAgcGFkZGluZzogMTRweCAyNnB4O1xyXG4vLyAgICAgZm9udC1zaXplOiAycmVtO1xyXG4vLyAgICAgY29sb3I6ICNmZmY7XHJcbi8vICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ2NDY2RTtcclxuLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4vLyAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4vLyAgICAgbWFyZ2luOiAxMHB4O1xyXG4vLyB9XHJcblxyXG5cclxuLy8gLmJsb2NrIC5wcm9ibGVtIC5xdWVzdGlvbiAuYW5zd2VyIGJ1dHRvbi5idG4tcmVnaXN0ZXIge1xyXG4vLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4vLyAgICAgcGFkZGluZzogMTRweCAyNnB4O1xyXG4vLyAgICAgZm9udC1zaXplOiAycmVtO1xyXG4vLyAgICAgY29sb3I6ICNmZmY7XHJcbi8vICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI4QTc0NTtcclxuLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4vLyAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4vLyAgICAgbWFyZ2luOiAxMHB4O1xyXG4vLyB9Il19 */\"","import { Component, OnInit, OnDestroy, Renderer2 } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { configureAmplify } from '../config/aws.config';\nimport { LookupService } from '../services/lookup.service';\nimport { SingleResultApiResponse } from '../models/api-response.model';\nimport { AWSSettings } from '../models/aws-settings.model';\nimport { Title } from '@angular/platform-browser';\n\n@Component({\n selector: 'online-app-welcome-agent',\n templateUrl: './welcome-agent.component.html',\n styleUrls: ['./welcome-agent.component.scss']\n})\nexport class WelcomeAgentComponent implements OnInit, OnDestroy {\n\n showNotification: boolean;\n notificationMessage: string;\n phase1Decommissioned: boolean;\n\n constructor(private router: Router,\n private lookupService: LookupService,\n private renderer: Renderer2,\n private titleService: Title) {\n this.renderer.addClass(document.body, 'login-screen');\n this.titleService.setTitle(\"Online Application Portal - DE International - Agent\");\n }\n\n ngOnInit() {\n\n this.lookupService.getAWSAuthSettings(true)\n .subscribe((response: SingleResultApiResponse) => {\n\n if (response.Result) {\n\n const awsSettings: AWSSettings = {\n Region: response.Result.Region,\n UserPoolId: response.Result.UserPoolId,\n UserPoolWebClientId: response.Result.UserPoolWebClientId,\n IdentityPoolId: response.Result.IdentityPoolId,\n AuthenticationFlowType: response.Result.AuthenticationFlowType,\n BucketName: response.Result.BucketName\n };\n\n localStorage.setItem('awsSettings', JSON.stringify(awsSettings));\n\n configureAmplify(true);\n }\n\n }, err => {\n console.log('error happened while calling AWS Auth Settings');\n });\n\n this.lookupService.getNotificationSettings(2)\n .subscribe((response: SingleResultApiResponse) => {\n if (response.Result) {\n this.showNotification = response.Result.Item1;\n this.notificationMessage = response.Result.Item2;\n this.phase1Decommissioned = response.Result.Item3;\n }\n }, err => {\n console.log('error happened while calling Notification Settings');\n });\n }\n\n\n ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'login-screen');\n }\n\n signIn(): void {\n localStorage.clear();\n this.router.navigate(['/agent-login']);\n }\n\n // TODO: Remove this method - used for seed data\n registerAgent(): void {\n localStorage.clear();\n\n this.lookupService.getAWSAuthSettings(true)\n .subscribe((response: SingleResultApiResponse) => {\n\n if (response.Result) {\n\n const awsSettings: AWSSettings = {\n Region: response.Result.Region,\n UserPoolId: response.Result.UserPoolId,\n UserPoolWebClientId: response.Result.UserPoolWebClientId,\n IdentityPoolId: response.Result.IdentityPoolId,\n AuthenticationFlowType: response.Result.AuthenticationFlowType,\n BucketName: response.Result.BucketName\n };\n\n localStorage.setItem('awsSettings', JSON.stringify(awsSettings));\n\n configureAmplify(true);\n // this.authService\n // .registerAgent('jonathan.javier@det.nsw.edu.au', 'fakepwd', 'jonathan.javier@det.nsw.edu.au')\n // .subscribe(\n // signUpResult => {\n // // Show the user some msg asking them to confirm their email\n // console.log('successfully registered with AWS Cognito for Agent');\n // console.log(signUpResult);\n // },\n // (err: AWSCognitoErrorResponse) => {\n\n // console.log(\n // 'error happened while registering the user with AWS Cognito'\n // );\n // console.log(err);\n // }\n // );\n\n\n // this.authService.confirmAgentRegistration('jonathan.javier@det.nsw.edu.au', '531267')\n // .subscribe( result => {\n // console.log('registration successful');\n // console.log(result);\n // }, err => {\n // console.log('error while confirming the registration');\n // console.log(err);\n // });\n\n\n }\n\n }, err => {\n console.log('error happened while calling AWS Auth Settings');\n }, () => {\n\n });\n }\n}\n","module.exports = \".welcome {\\r\\n display: block;\\r\\n margin-left: 50px;\\r\\n margin-top: 30px;\\r\\n\\r\\n}\\r\\n\\r\\n.block .problem {\\r\\n width: 70%;\\r\\n}\\r\\n\\r\\n.block .problem .pro-title h3,\\r\\n.block .problem .pro-title .heading3{\\r\\n display: block;\\r\\n font-size: 24px;\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.block .problem .question .answer button.btn-login {\\r\\n display: inline-block;\\r\\n padding: 14px 26px;\\r\\n font-size: 2rem;\\r\\n color: #fff;\\r\\n transition: all .2s;\\r\\n background-color: #46466E;\\r\\n border: 1px solid transparent;\\r\\n border-radius: 5px;\\r\\n margin: 10px;\\r\\n}\\r\\n\\r\\n.block .problem .question .answer button.btn-register {\\r\\n display: inline-block;\\r\\n padding: 14px 26px;\\r\\n font-size: 2rem;\\r\\n color: #fff;\\r\\n transition: all .2s;\\r\\n background-color: #28A745;\\r\\n border: 1px solid transparent;\\r\\n border-radius: 5px;\\r\\n margin: 10px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3dlbGNvbWUvd2VsY29tZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksY0FBYztJQUNkLGlCQUFpQjtJQUNqQixnQkFBZ0I7O0FBRXBCOztBQUVBO0lBQ0ksVUFBVTtBQUNkOztBQUVBOztJQUVJLGNBQWM7SUFDZCxlQUFlO0lBQ2YsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0kscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsV0FBVztJQUNYLG1CQUFtQjtJQUNuQix5QkFBeUI7SUFDekIsNkJBQTZCO0lBQzdCLGtCQUFrQjtJQUNsQixZQUFZO0FBQ2hCOztBQUdBO0lBQ0kscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsV0FBVztJQUNYLG1CQUFtQjtJQUNuQix5QkFBeUI7SUFDekIsNkJBQTZCO0lBQzdCLGtCQUFrQjtJQUNsQixZQUFZO0FBQ2hCIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL3dlbGNvbWUvd2VsY29tZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLndlbGNvbWUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tbGVmdDogNTBweDtcclxuICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcblxyXG59XHJcblxyXG4uYmxvY2sgLnByb2JsZW0ge1xyXG4gICAgd2lkdGg6IDcwJTtcclxufVxyXG5cclxuLmJsb2NrIC5wcm9ibGVtIC5wcm8tdGl0bGUgaDMsXHJcbi5ibG9jayAucHJvYmxlbSAucHJvLXRpdGxlIC5oZWFkaW5nM3tcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5ibG9jayAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciBidXR0b24uYnRuLWxvZ2luIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBhZGRpbmc6IDE0cHggMjZweDtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NjQ2NkU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIG1hcmdpbjogMTBweDtcclxufVxyXG5cclxuXHJcbi5ibG9jayAucHJvYmxlbSAucXVlc3Rpb24gLmFuc3dlciBidXR0b24uYnRuLXJlZ2lzdGVyIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBhZGRpbmc6IDE0cHggMjZweDtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyOEE3NDU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIG1hcmdpbjogMTBweDtcclxufSJdfQ== */\"","module.exports = \"\\n\\n
\\n

Welcome

\\n
\\n

\\n Applications for the\\n International Students Program and\\n Study Abroad Program may be lodged through this portal.

\\n For all other applications, please see our
\\n Application process page.\\n

\\n\\n

\\n \\n \\n
\\n
\\n\"","import { Component, OnInit, Renderer2, OnDestroy } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { configureAmplify } from '../config/aws.config';\nimport { LookupService } from '../services/lookup.service';\nimport { SingleResultApiResponse } from '../models/api-response.model';\nimport { AWSSettings } from '../models/aws-settings.model';\n\n@Component({\n selector: 'online-app-welcome',\n templateUrl: './welcome.component.html',\n styleUrls: ['./welcome.component.css']\n})\nexport class WelcomeComponent implements OnInit, OnDestroy {\n\n showNotification: boolean;\n notificationMessage: string;\n phase1Decommissioned: boolean;\n\n constructor(private router: Router,\n private lookupService: LookupService,\n private renderer: Renderer2,) {\n this.renderer.addClass(document.body, 'login-screen');\n }\n\n ngOnInit() {\n this.lookupService.getAWSAuthSettings(false)\n .subscribe( (response: SingleResultApiResponse) => {\n if (response.Result) {\n\n const awsSettings: AWSSettings = {\n Region: response.Result.Region,\n UserPoolId: response.Result.UserPoolId,\n UserPoolWebClientId: response.Result.UserPoolWebClientId,\n IdentityPoolId: response.Result.IdentityPoolId,\n AuthenticationFlowType: response.Result.AuthenticationFlowType,\n BucketName: response.Result.BucketName\n };\n\n localStorage.setItem('awsSettings', JSON.stringify(awsSettings));\n\n configureAmplify(false);\n }\n }, err => {\n console.log('error happened while calling AWS Auth Settings');\n });\n\n this.lookupService.getNotificationSettings(1)\n .subscribe((response: SingleResultApiResponse) => { \n if (response.Result) {\n this.showNotification = response.Result.Item1;\n this.notificationMessage = response.Result.Item2;\n this.phase1Decommissioned = response.Result.Item3;\n }\n }, err => {\n console.log('error happened while calling Notification Settings');\n });\n }\n\n ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'login-screen');\n }\n\n signIn(): void {\n\n localStorage.clear();\n\n this.lookupService.getAWSAuthSettings(false)\n .subscribe( (response: SingleResultApiResponse) => {\n\n if (response.Result) {\n\n const awsSettings: AWSSettings = {\n Region: response.Result.Region,\n UserPoolId: response.Result.UserPoolId,\n UserPoolWebClientId: response.Result.UserPoolWebClientId,\n IdentityPoolId: response.Result.IdentityPoolId,\n AuthenticationFlowType: response.Result.AuthenticationFlowType,\n BucketName: response.Result.BucketName\n };\n\n localStorage.setItem('awsSettings', JSON.stringify(awsSettings));\n\n configureAmplify(false);\n this.router.navigate(['/login']);\n }\n\n }, err => {\n console.log('error happened while calling AWS Auth Settings');\n }, () => {\n });\n\n }\n\n register(): void {\n localStorage.clear();\n this.lookupService.getAWSAuthSettings(false)\n .subscribe( (response: SingleResultApiResponse) => {\n\n if (response.Result) {\n\n const awsSettings: AWSSettings = {\n Region: response.Result.Region,\n UserPoolId: response.Result.UserPoolId,\n UserPoolWebClientId: response.Result.UserPoolWebClientId,\n IdentityPoolId: response.Result.IdentityPoolId,\n AuthenticationFlowType: response.Result.AuthenticationFlowType,\n BucketName: response.Result.BucketName\n };\n\n localStorage.setItem('awsSettings', JSON.stringify(awsSettings));\n\n configureAmplify(false);\n this.router.navigate(['pre-registration']);\n }\n\n }, err => {\n console.log('error happened while calling AWS Auth Settings');\n }, () => {\n });\n\n }\n\n //show border when tab on link for accessibility\n linkTabAccessibility(event): void {\n event.style.outline = \"1px solid black\";\n }\n\n linkBlurAccessibility(event): void {\n event.style.outline = \"\";\n }\n\n}\n","export const environment = {\n production: true,\n baseUrl:'/api',\n versionCheckURL : '/version.json'\n};\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n baseUrl:'/api'// 'http://isponline.det.nsw.edu.au/api'\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n// import Auth from '@aws-amplify/auth';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n\n","/* (ignored) */","/* (ignored) */"],"sourceRoot":""}