{"version":3,"file":"src_app_views_loan_loan_module_ts.js","mappings":"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","sources":["./src/app/components/branches/branch-info/branch-info.component.ts","./src/app/components/branches/branch-info/branch-info.component.html","./src/app/components/branches/branch-info/branch-info.module.ts","./src/app/components/modals/modal-branch-info/modal-branch-info.component.ts","./src/app/components/modals/modal-branch-info/modal-branch-info.component.html","./src/app/components/modals/modal-branch-info/modal-branch-info.module.ts","./src/app/components/modals/modal-finish-by-phone/modal-finish-by-phone.component.ts","./src/app/components/modals/modal-finish-by-phone/modal-finish-by-phone.component.html","./src/app/components/modals/modal-finish-by-phone/modal-finish-by-phone.module.ts","./src/app/directives/phone-number/phone-number.directive.ts","./src/app/helpers/http-params.helper.ts","./src/app/services/api/api.service.ts","./src/app/services/branch/branch.service.ts","./src/app/services/loan/loan.service.ts","./src/app/views/loan/loan-routing.module.ts","./src/app/views/loan/loan.component.ts","./src/app/views/loan/loan.component.html","./src/app/views/loan/loan.module.ts","./node_modules/rxjs/dist/esm/internal/firstValueFrom.js","./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"],"sourcesContent":["import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { Branch } from 'src/app/services/branch/branch.model';\n\nimport { BranchService } from 'src/app/services/branch/branch.service';\nimport { setAddressForGoogleMaps as setAddress } from 'src/app/helpers/google-maps-search.helper';\n\n@Component({\n selector: 'app-branch-info',\n templateUrl: './branch-info.component.html',\n styleUrls: ['./branch-info.component.scss'],\n})\nexport class BranchInfoComponent implements OnInit, OnDestroy {\n branch: Branch | null = null;\n setGoogleMapsSearch = setAddress;\n\n private subscriptions: Array = [];\n\n constructor(private branchService: BranchService) {}\n\n ngOnInit(): void {\n this.subscriptions.push(\n this.branchService.selectedBranch.subscribe((data: Branch | null) => {\n this.branch = null;\n\n if (data) {\n this.branch = { ...data };\n }\n })\n );\n }\n\n ngOnDestroy(): void {\n if (this.subscriptions.length > 0) {\n this.subscriptions.forEach((sub) => {\n sub.unsubscribe();\n });\n }\n }\n}\n","\n
\n {{ branch.LocationName }}
\n {{ branch.Address }}
\n {{ branch.City }}, {{ branch.State }}\n {{ branch.Zip }}\n
\n \n View Map\n \n
\n\n
\n\n

\n \n {{ branch.Phone }}\n \n

\n

\n HOURS:
\n {{ branch.Hours }}\n

\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { BranchInfoComponent } from './branch-info.component';\n\n@NgModule({\n declarations: [BranchInfoComponent],\n imports: [CommonModule],\n exports: [BranchInfoComponent],\n})\nexport class BranchInfoModule {}\n","import { Component, OnInit } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-modal-branch-info',\n templateUrl: './modal-branch-info.component.html',\n styleUrls: ['./modal-branch-info.component.scss'],\n})\nexport class ModalBranchInfoComponent implements OnInit {\n constructor(public activeModal: NgbActiveModal) {}\n\n ngOnInit(): void {}\n\n onCancel() {\n this.activeModal.close();\n }\n}\n","
\n

Eagle Office

\n \n
\n
\n
\n
\n \n
\n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ModalBranchInfoComponent } from './modal-branch-info.component';\nimport { BranchInfoModule } from '../../branches/branch-info/branch-info.module';\n\n@NgModule({\n declarations: [ModalBranchInfoComponent],\n imports: [CommonModule, BranchInfoModule],\n exports: [ModalBranchInfoComponent],\n})\nexport class ModalBranchInfoModule {}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\n\nimport { handleErrorMessage } from 'src/app/helpers/error-handler.helper';\nimport { ErrorMessageService } from 'src/app/services/error-message/error-message.service';\nimport { FinalLoanApplication } from 'src/app/services/loan/loan.model';\nimport { LoanService } from 'src/app/services/loan/loan.service';\nimport {\n PHONE_VALID_REGEX,\n stripPhoneNumber,\n} from 'src/app/directives/phone-number/phone-number.directive';\n\n@Component({\n selector: 'app-modal-finish-by-phone',\n templateUrl: './modal-finish-by-phone.component.html',\n styleUrls: ['./modal-finish-by-phone.component.scss'],\n})\nexport class ModalFinishByPhoneComponent implements OnInit {\n @Input() loan: FinalLoanApplication | null = null;\n\n phone = '';\n isSaving = false;\n isPhoneValid = true;\n\n constructor(\n public activeModal: NgbActiveModal,\n private loanService: LoanService,\n private errorMessageService: ErrorMessageService\n ) {}\n\n ngOnInit(): void {}\n\n validate(phone: string) {\n const valid = PHONE_VALID_REGEX.test(phone);\n\n return valid;\n }\n\n async onConfirm() {\n if (!this.phone || !this.validate(this.phone)) {\n return;\n }\n\n await this.saveLoanApplication();\n }\n\n onCancel() {\n this.activeModal.close();\n }\n\n onPhoneChange(event: any) {\n const phone = event.target.value;\n\n this.isPhoneValid = true;\n\n if (phone) {\n this.isPhoneValid = this.validate(phone);\n }\n }\n\n private async saveLoanApplication(): Promise {\n try {\n this.isSaving = true;\n\n const response = await this.loanService.postLoanApplication(\n {\n ...this.loan,\n Applicant: {\n ...this.loan?.Applicant,\n PhoneNumber: stripPhoneNumber(this.phone),\n },\n },\n 'loan/skip'\n );\n\n if (response) {\n this.loanService.setLoanAfterPost(response);\n\n // The promise that is resolved when the modal is closed and rejected when the modal is dismissed.\n this.activeModal.close({\n status: 'confirmed',\n });\n }\n\n return;\n } catch (error) {\n this.errorMessageService.addToErrorMessages(handleErrorMessage(error));\n this.activeModal.close();\n } finally {\n this.isSaving = false;\n }\n }\n}\n","
\n

Finish Application by Phone

\n \n
\n
\n

Thank you! A loan officer will call you soon.

\n

\n We usually respond within 24 hours, but you may also call this branch during\n normal business hours.\n

\n\n
\n
\n
\n
\n \n
\n
\n
\n
\n\n
\n \n \n
\n
\n
\n \n Cancel\n \n \n \n Confirm\n \n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { ModalFinishByPhoneComponent } from './modal-finish-by-phone.component';\nimport { BranchInfoModule } from '../../branches/branch-info/branch-info.module';\n\n@NgModule({\n declarations: [ModalFinishByPhoneComponent],\n imports: [CommonModule, FormsModule, ReactiveFormsModule, BranchInfoModule],\n exports: [ModalFinishByPhoneComponent],\n})\nexport class ModalFinishByPhoneModule {}\n","import { Directive, Input } from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n} from '@angular/forms';\n\n/**\n * Phone number must be 10 characters in length once stripped of parentheses, dashes,\n * periods, or spaces.\n *\n * @usageNotes\n * Can be used with reactive forms and with template-driven forms.\n *\n * @selector appPhoneNumber\n * @returns\n * ```javascript\n * { phoneInvalid: true } | null\n * ```\n */\n@Directive({\n selector: '[appPhoneNumber]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: PhoneNumberDirective,\n multi: true,\n },\n ],\n})\nexport class PhoneNumberDirective {\n @Input('appPhoneNumber') phone = '';\n\n constructor() {}\n\n validate(control: AbstractControl): ValidationErrors | null {\n return this.phone ? phoneNumberValidator(control) : null;\n }\n}\n\nexport const PHONE_VALID_REGEX = /^[(]?(\\d{3})[-.)]?[ ]?(\\d{3})[-.]?(\\d{4})\\b$/;\n\n/**\n * Phone number must be 10 characters in length once stripped of parentheses, dashes,\n * periods, or spaces.\n *\n * @returns\n * ```javascript\n * { phoneInvalid: true } | null\n * ```\n */\nexport const phoneNumberValidator = (\n control: AbstractControl\n): ValidationErrors | null => {\n const value = control.value;\n const phoneValid = PHONE_VALID_REGEX.test(value);\n\n return !phoneValid ? { phoneInvalid: true } : null;\n};\n\n/**\n * Strips phone number of parentheses, dashes, periods, or spaces.\n *\n * This is required to POST this data to the server.\n *\n * @param phone Phone number to clean up.\n * @returns I.e. 8595551234.\n */\nexport const stripPhoneNumber = (phone?: string) => {\n if (!phone) {\n return '';\n }\n\n return phone.replace(PHONE_VALID_REGEX, '$1$2$3');\n};\n","import { HttpParams } from '@angular/common/http';\n\n/**\n * @param params Any object that needs to be serialized.\n * @returns An HTTP request body that represents serialized parameters, per the MIME type application/x-www-form-urlencoded.\n */\nexport const setHttpParams = (params: any): HttpParams => {\n let queryStringParams = new HttpParams();\n\n if (params) {\n Object.keys(params).forEach((key) => {\n queryStringParams = queryStringParams.append(key, params[key]);\n });\n }\n\n return queryStringParams;\n};\n","import { Injectable } from '@angular/core';\n\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiService {\n baseUrl = environment.apiUrl;\n\n constructor() {}\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, catchError, map, take } from 'rxjs';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\n\nimport { LoanService } from '../loan/loan.service';\nimport { ApiService } from '../api/api.service';\nimport { Branch, GetZipCodeRequestParameters } from './branch.model';\nimport { setHttpParams } from 'src/app/helpers/http-params.helper';\nimport handleError from 'src/app/helpers/error-handler.helper';\nimport { ErrorMessageService } from '../error-message/error-message.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BranchService {\n branches = new BehaviorSubject>([]);\n selectedBranch = new BehaviorSubject(null);\n showInfoButton = new BehaviorSubject(false);\n loading = new BehaviorSubject(false);\n\n constructor(\n private loanService: LoanService,\n private api: ApiService,\n private http: HttpClient,\n private errorMessageService: ErrorMessageService\n ) {}\n\n /**\n * GET request to get branch list by zipcode.\n *\n * @param params All params are required. If searching, set {domainId} to `1` as a default.\n */\n getBranchesBySearch(params: GetZipCodeRequestParameters) {\n const queryStringParams: HttpParams = setHttpParams(params);\n const endpoint = `${this.api.baseUrl}loan/location`;\n\n const headers = new HttpHeaders({\n 'Content-Type': 'application/json',\n });\n\n this.loading.next(true);\n this.errorMessageService.clearErrorMessages();\n\n this.http\n .get>(endpoint, {\n headers,\n params: queryStringParams,\n })\n .pipe(\n take(1),\n map((branches: Array) => {\n return branches.map((branch: Branch) => {\n return {\n ...branch,\n Selected: false,\n };\n });\n }),\n catchError(handleError)\n )\n .subscribe({\n next: (branches) => {\n this.loading.next(false);\n this.branches.next(branches);\n },\n error: (error: any) => {\n this.loading.next(false);\n this.errorMessageService.addToErrorMessages(error.message);\n },\n });\n }\n\n /**\n * This clears the following:\n * * The branch results list.\n * * The selected branch.\n * * The `DomainID` on the LoanApplication.\n */\n clearBranchesOnSearch() {\n this.branches.next([]);\n this.selectedBranch.next(null);\n this.loanService.setBranchSelection(null);\n }\n\n /**\n * Sets the selected branch info; used in the navbar, and updates the LoanApplication by setting\n * the `DomainID`.\n *\n * @param branch The selected Branch object.\n */\n setBranch(branch: Branch | null) {\n this.selectedBranch.next(branch);\n this.loanService.setBranchSelection(branch?.DomainID ?? null);\n }\n\n /**\n * Sets the visible state of branch info located in the navbar.\n *\n * The 'Finish Application by Phone' button should only be displayed after the user\n * has completed the Applicant Info section.\n *\n * Use the constructor to set this state.\n *\n * @param showBranchInfo Show selected branch info in navbar.\n */\n setShowInfoButton(showBranchInfo: boolean) {\n this.showInfoButton.next(showBranchInfo);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, firstValueFrom } from 'rxjs';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport {\n ApplicantOwnAnyVehicles,\n FinalLoanApplication,\n ILoanService,\n LoanApplication,\n} from './loan.model';\nimport {\n LivingSituationType,\n RequestCreditType,\n} from '../dropdowns/dropdowns.model';\nimport {\n ApplicantBankingForm,\n ApplicantEmployerForm,\n ApplicantInformationForm,\n ApplicantRentForm,\n} from 'src/app/models/loan-form.model';\nimport { ApiService } from '../api/api.service';\nimport { ErrorMessageService } from '../error-message/error-message.service';\nimport { stripPhoneNumber } from 'src/app/directives/phone-number/phone-number.directive';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoanService implements ILoanService {\n finalLoanApplication = new BehaviorSubject(null);\n\n /**\n * This is needed because when an applicant doesn't own a vehicle, the {OwnAnyVehicles}\n * value is `NONE`.\n */\n ApplicantOwnAnyVehicles = new BehaviorSubject(\n null\n );\n\n /**\n * This is needed because when an co-applicant doesn't own a vehicle, the {OwnAnyVehicles}\n * value is `NONE`.\n */\n CoApplicantOwnAnyVehicles =\n new BehaviorSubject(null);\n\n constructor(\n private api: ApiService,\n private http: HttpClient,\n private errorMessageService: ErrorMessageService\n ) {}\n\n /**\n * POST request for consumer loan.\n *\n * Endpoints:\n * * loan/save - Saves loan application process prior to completion.\n * * loan/skip - Used when user exits the form to finish by phone.\n * * loan/final - Submits loan application process.\n *\n * @param body Request body of type {FinalLoanApplication}.\n * @param endpoint Defaults to `loan/save`.\n * @returns Promise of type {FinalLoanApplication}. This will return the entire {FinalLoanApplication} object with IDs.\n */\n async postLoanApplication(\n body: FinalLoanApplication,\n endpoint = 'loan/save'\n ): Promise {\n const url = `${this.api.baseUrl}${endpoint}`;\n\n const headers = new HttpHeaders({\n 'Content-Type': 'application/json',\n });\n\n this.errorMessageService.clearErrorMessages();\n\n return await firstValueFrom(\n this.http.post(url, body, {\n headers,\n })\n );\n }\n\n /**\n * Use this to update the {FinalLoanApplication} after getting a response\n * from POST. This will update the local object with ID's.\n *\n * @param loan Entire loan object, {FinalLoanApplication}.\n */\n setLoanAfterPost(loan: FinalLoanApplication) {\n this.finalLoanApplication.next({ ...loan });\n }\n\n /**\n * Consumer Loan Part #1 - Initilize loan.\n *\n * @param date Form data of type {LoanApplication}.\n */\n setGetStarted(data: LoanApplication | null) {\n this.finalLoanApplication.next({\n ...this.finalLoanApplication.value,\n LoanApplication: {\n ...this.finalLoanApplication.value?.LoanApplication,\n RequestZip: data?.RequestZip,\n RequestAmount: data?.RequestAmount,\n RequestReferCD: data?.RequestReferCD,\n RequestPurpose: data?.RequestPurpose,\n RequestCreditTypeCD: data?.RequestCreditTypeCD,\n },\n });\n }\n\n /**\n * Consumer Loan Part #2 - Branch selection.\n *\n * @param domainId This is the selected branch ID.\n */\n setBranchSelection(domainId: number | null) {\n this.finalLoanApplication.next({\n ...this.finalLoanApplication.value,\n LoanApplication: {\n ...this.finalLoanApplication.value?.LoanApplication,\n DomainID: domainId,\n },\n });\n }\n\n /**\n * Consumer Loan Part #3 and #5a - Applicant or Co-Applicant Information.\n * Updates Observable with form data.\n *\n * @param data Form data of type {ApplicantInformationForm}.\n * @param coApplicant Defaults to `false`. If `true` the data will save as co-applicant.\n * @returns Transformed {FinalLoanApplication} object to use for POST to server.\n */\n setApplicantInformation(\n data: ApplicantInformationForm,\n coApplicant = false\n ): FinalLoanApplication {\n const key = coApplicant ? 'CoApplicant' : 'Applicant';\n const addressKey = coApplicant ? 'CoApplicantAddress' : 'ApplicantAddress';\n const employmentKey = coApplicant\n ? 'CoApplicantEmployment'\n : 'ApplicantEmployment';\n\n this.finalLoanApplication.next({\n ...this.finalLoanApplication.value,\n [key]: {\n ...this.finalLoanApplication.value?.[key],\n ContactFirst: data.ContactFirst,\n ContactLast: data.ContactLast,\n ContactMiddle: data.ContactMiddle,\n ContactSuffix: data.ContactSuffix,\n MaritalStatusCD: data.MaritalStatusCD,\n Dependents: data.Dependents,\n PhoneNumber: stripPhoneNumber(data.PhoneNumber),\n PhoneNumberType: data.PhoneNumberType,\n EmailAddress: data.EmailAddress,\n },\n [addressKey]: {\n ...this.finalLoanApplication.value?.[addressKey],\n Address: data.Address,\n AptNumber: data.AptNumber,\n POBox: data.POBox,\n City: data.City,\n State: data.State,\n ZipCode: data.ZipCode,\n Years: data.Years,\n Months: data.Months,\n LivingSituation: data.LivingSituation,\n },\n [employmentKey]: {\n ...this.finalLoanApplication.value?.[employmentKey],\n EmploymentStatus: data.EmploymentStatus,\n },\n });\n\n if (!coApplicant) {\n this.finalLoanApplication.next({\n ...this.finalLoanApplication.value,\n LoanApplication: {\n ...this.finalLoanApplication.value?.LoanApplication,\n Over18: data.Over18,\n PrivacyPolicy: data.PrivacyPolicy,\n CommunicationConsent: data.CommunicationConsent,\n },\n });\n\n this.ApplicantOwnAnyVehicles.next({\n NumberOfVehicles: data.NumberOfVehicles,\n OwnAnyVehicles: data.OwnAnyVehicles,\n });\n } else {\n this.CoApplicantOwnAnyVehicles.next({\n NumberOfVehicles: data.NumberOfVehicles,\n OwnAnyVehicles: data.OwnAnyVehicles,\n });\n }\n\n return this.finalLoanApplication.value!;\n }\n\n /**\n * Consumer Loan Part #4 and #5b - Applicant or Co-Applicant Rent & Vehicles.\n *\n * @param data Form data of type {ApplicantRentForm}.\n * @param coApplicant Defaults to `false`. If `true` the data will save as co-applicant.\n * @returns Transformed {FinalLoanApplication} object to use for POST to server.\n */\n setApplicantRent(\n data: ApplicantRentForm,\n coApplicant = false\n ): FinalLoanApplication {\n const key = coApplicant ? 'CoApplicantAddress' : 'ApplicantAddress';\n\n const vehicleKey = coApplicant\n ? 'CoApplicantVehicles'\n : 'ApplicantVehicles';\n\n const housingKey = coApplicant ? 'CoApplicantHousing' : 'ApplicantHousing';\n\n const livingSituation =\n this.finalLoanApplication.value?.[key]?.LivingSituation;\n\n if (livingSituation === LivingSituationType.rent) {\n this.finalLoanApplication.next({\n ...this.finalLoanApplication.value,\n [housingKey]: {\n ...this.finalLoanApplication.value?.[housingKey],\n HousingContactName: data.HousingContactName,\n HousingContactPhone: stripPhoneNumber(data.HousingContactPhone),\n MonthlyCost: data.MonthlyCost,\n },\n });\n } else if (livingSituation === LivingSituationType.own) {\n this.finalLoanApplication.next({\n ...this.finalLoanApplication.value,\n [housingKey]: {\n ...this.finalLoanApplication.value?.[housingKey],\n MortgageBalance: data.MortgageBalance,\n Lienholder: data.Lienholder,\n MarketValue: +data.MarketValue!,\n },\n });\n } else if (livingSituation === LivingSituationType.parent) {\n this.finalLoanApplication.next({\n ...this.finalLoanApplication.value,\n [housingKey]: {\n ...this.finalLoanApplication.value?.[housingKey],\n MonthlyCost: data.MonthlyCost,\n },\n });\n }\n\n // This will be removed and readded with each edit on the server.\n // No need to capture previous values.\n this.finalLoanApplication.next({\n ...this.finalLoanApplication.value,\n [vehicleKey]: data?.ApplicantVehicles,\n });\n\n return this.finalLoanApplication.value!;\n }\n\n /**\n * Consumer Loan Part #5 and #5c - Applicant or Co-Applicant Employer.\n *\n * @param data Form data of type {ApplicantEmployerForm}.\n * @param coApplicant Defaults to `false`. If `true` the data will save as co-applicant.\n * @returns Transformed {FinalLoanApplication} object to use for POST to server.\n */\n setApplicantEmployer(\n data: ApplicantEmployerForm,\n coApplicant = false\n ): FinalLoanApplication {\n const key = coApplicant ? 'CoApplicantEmployment' : 'ApplicantEmployment';\n const incomeKey = coApplicant\n ? 'CoApplicantAdditionalIncome'\n : 'ApplicantAdditionalIncome';\n\n this.finalLoanApplication.next({\n ...this.finalLoanApplication.value,\n [key]: {\n ...this.finalLoanApplication.value?.[key],\n EmployerName: data.EmployerName,\n Position: data.Position,\n Years: data.Years,\n Months: data.Months,\n Address: data.Address,\n City: data.City,\n State: data.State,\n ZipCode: data.ZipCode,\n PhoneNumber: stripPhoneNumber(data.PhoneNumber),\n PayTypeCD: data.PayTypeCD,\n PayPeriod: data.PayPeriod,\n TakeHomePay: data.TakeHomePay,\n AnnualSalary: data.AnnualSalary ?? null,\n HourlyRate: data.HourlyRate ?? null,\n HoursPerWeek: data.HoursPerWeek ?? null,\n },\n [incomeKey]: {\n ...this.finalLoanApplication.value?.[incomeKey],\n OtherIncomes: data.OtherIncomes,\n MonthlyAdditionalIncome: data.MonthlyAdditionalIncome,\n },\n });\n\n return this.finalLoanApplication.value!;\n }\n\n /**\n * Consumer Loan Part #6 - Applicant Banking.\n *\n * @param data Applicant form data of type {ApplicantBankingForm}.\n * @param coApplicantData Co-applicant form data of type {ApplicantBankingForm}.\n * @returns Transformed {FinalLoanApplication} object to use for POST to server.\n */\n setApplicantBanking(\n data: ApplicantBankingForm,\n coApplicantData?: ApplicantBankingForm | null\n ): FinalLoanApplication {\n this.finalLoanApplication.next({\n ...this.finalLoanApplication.value,\n Applicant: {\n ...this.finalLoanApplication.value?.Applicant,\n DateOfBirth: data.DateOfBirth,\n SSN: data.SSN,\n },\n LoanApplication: {\n ...this.finalLoanApplication.value?.LoanApplication,\n CreditReportAuthorization: data.CreditReportAuthorization,\n DisclaimerForOhioApplicants: data.DisclaimerForOhioApplicants,\n },\n ApplicantBanking: {\n ...this.finalLoanApplication.value?.ApplicantBanking,\n CheckingAccountStatus: data.CheckingAccountStatus,\n CheckingBankName: data.CheckingBankName,\n HasDebitCard: data.HasDebitCard,\n },\n });\n\n if (coApplicantData) {\n this.finalLoanApplication.next({\n ...this.finalLoanApplication.value,\n CoApplicant: {\n ...this.finalLoanApplication.value?.CoApplicant,\n DateOfBirth: coApplicantData.DateOfBirth,\n SSN: coApplicantData.SSN,\n },\n CoApplicantBanking: {\n ...this.finalLoanApplication.value?.CoApplicantBanking,\n CheckingAccountStatus: coApplicantData.CheckingAccountStatus,\n CheckingBankName: coApplicantData.CheckingBankName,\n HasDebitCard: coApplicantData.HasDebitCard,\n },\n });\n }\n\n return this.finalLoanApplication.value!;\n }\n\n /**\n * When a user exits the form to finish by phone.\n * This updates the loan application with the user's confirmed phone number.\n *\n * @param phone Confirmed phone number from exit modal screen.\n */\n setPhoneNumberOnExit(phone: string) {\n this.finalLoanApplication.next({\n ...this.finalLoanApplication.value,\n Applicant: {\n ...this.finalLoanApplication.value?.Applicant,\n PhoneNumber: stripPhoneNumber(phone),\n },\n });\n }\n\n setCoApplicantAddressSameAsPrimary(isSame = true) {\n if (isSame) {\n const address = this.finalLoanApplication.value?.ApplicantAddress;\n\n this.finalLoanApplication.next({\n ...this.finalLoanApplication.value,\n CoApplicantAddress: {\n ...this.finalLoanApplication.value?.CoApplicantAddress,\n Address: address?.Address,\n AptNumber: address?.AptNumber,\n POBox: address?.POBox,\n City: address?.City,\n State: address?.State,\n ZipCode: address?.ZipCode,\n },\n });\n\n return;\n }\n\n this.finalLoanApplication.next({\n ...this.finalLoanApplication.value,\n CoApplicantAddress: {\n ...this.finalLoanApplication.value?.CoApplicantAddress,\n Address: '',\n AptNumber: '',\n POBox: '',\n City: '',\n State: '',\n ZipCode: '',\n },\n });\n }\n\n /**\n * Only call this function if employment has changed to `unemployed` or `retired`. It will clear out\n * all employment information for applicant or co-applicant.\n *\n * @param employmentStatus Employment status.\n * @param coApplicant Defaults to `false`.\n */\n clearOnEmploymentStatusChange(employmentStatus: string, coApplicant = false) {\n const key = coApplicant ? 'CoApplicantEmployment' : 'ApplicantEmployment';\n const otherKey = coApplicant\n ? 'CoApplicantAdditionalIncome'\n : 'ApplicantAdditionalIncome';\n\n const loan = {\n ...this.finalLoanApplication.value,\n };\n\n delete loan?.[key];\n delete loan?.[otherKey];\n\n this.finalLoanApplication.next({\n ...loan,\n [key]: {\n EmploymentStatus: employmentStatus,\n },\n });\n }\n\n clearOnVehiclesOwnedChange(coApplicant = false) {\n const key = coApplicant ? 'CoApplicantVehicles' : 'ApplicantVehicles';\n\n this.finalLoanApplication.next({\n ...this.finalLoanApplication.value,\n [key]: [],\n });\n }\n\n /**\n * Clears out the following objects; for applicant or co-applicant, on change event:\n * * ApplicantAddress or CoApplicantAddress\n * * ApplicantHousing or CoApplicantHousing\n */\n clearOnLivingSituationChange(livingSituation: string, coApplicant = false) {\n const key = coApplicant ? 'CoApplicantAddress' : 'ApplicantAddress';\n const housingKey = coApplicant ? 'CoApplicantHousing' : 'ApplicantHousing';\n\n const loan = {\n ...this.finalLoanApplication.value,\n [key]: {\n ...this.finalLoanApplication.value?.[key],\n LivingSituation: livingSituation,\n },\n };\n\n delete loan?.[housingKey];\n\n this.finalLoanApplication.next(loan);\n }\n\n /**\n * Clears out all co-applicant data if switching to apply individually.\n */\n clearCoApplicantOnApplicationTypeChange(applicationType: string) {\n if (applicationType === RequestCreditType.individualy) {\n const loan = {\n ...this.finalLoanApplication.value,\n LoanApplication: {\n ...this.finalLoanApplication.value?.LoanApplication,\n RequestCreditTypeCD: applicationType,\n },\n };\n\n delete loan?.CoApplicant;\n delete loan?.CoApplicantAdditionalIncome;\n delete loan?.CoApplicantAddress;\n delete loan?.CoApplicantHousing;\n delete loan?.CoApplicantEmployment;\n delete loan?.CoApplicantVehicles;\n\n this.finalLoanApplication.next(loan);\n this.CoApplicantOwnAnyVehicles.next(null);\n }\n }\n\n /**\n * Clears out the following properties; for applicant or co-applicant, on change event:\n * * AnnualSalary\n * * HoursPerWeek\n * * HourlyRate\n */\n clearOnPayTypeChange(payType: string, coApplicant = false) {\n const key = coApplicant ? 'CoApplicantEmployment' : 'ApplicantEmployment';\n\n const loan = {\n ...this.finalLoanApplication.value,\n [key]: {\n ...this.finalLoanApplication.value?.[key],\n PayTypeCD: payType,\n AnnualSalary: null,\n HoursPerWeek: null,\n HourlyRate: null,\n },\n };\n\n this.finalLoanApplication.next(loan);\n }\n\n /**\n * This is called when the searched zip code is out of the service range and\n * the user exits the form.\n *\n * Can also be called when user confirmed to finish application by phone or after\n * the application has been submitted.\n */\n clearApplication() {\n this.finalLoanApplication.next(null);\n this.ApplicantOwnAnyVehicles.next(null);\n this.CoApplicantOwnAnyVehicles.next(null);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { LoanComponent } from './loan.component';\n\nexport enum RouteName {\n default = '/loan',\n branch = '/loan/branch',\n applicant = '/loan/applicant',\n applicantHomeVehicles = '/loan/applicant/rent-vehicles',\n applicantEmployer = '/loan/applicant/employer',\n /**\n * URL used with applicant ONLY form type.\n */\n applicantOnlyBank = '/loan/applicant/bank',\n coApplicant = '/loan/co-applicant',\n coApplicantHomeVehicles = '/loan/co-applicant/rent-vehicles',\n coApplicantEmployer = '/loan/co-applicant/employer',\n /**\n * URL used with co-applicant form type.\n */\n bank = '/loan/bank',\n confirmation = '/loan/confirmation',\n skippedConfirmation = '/loan/skipped/confirmation',\n}\n\nconst routes: Routes = [\n {\n path: '',\n component: LoanComponent,\n children: [\n {\n path: '',\n loadChildren: () =>\n import('../loan/area/area.module').then((m) => m.AreaModule),\n },\n {\n path: 'branch',\n loadChildren: () =>\n import('../loan/branch/branch.module').then((m) => m.BranchModule),\n },\n {\n path: 'applicant',\n loadChildren: () =>\n import('../loan/applicant/applicant.module').then(\n (m) => m.ApplicantModule\n ),\n },\n {\n path: 'applicant/rent-vehicles',\n loadChildren: () =>\n import(\n '../loan/applicant-rent-vehicle/applicant-rent-vehicle.module'\n ).then((m) => m.ApplicantRentVehicleModule),\n },\n {\n path: 'applicant/employer',\n loadChildren: () =>\n import('../loan/applicant-employer/applicant-employer.module').then(\n (m) => m.ApplicantEmployerModule\n ),\n },\n {\n path: 'applicant/bank',\n loadChildren: () =>\n import('../loan/bank/bank.module').then((m) => m.BankModule),\n },\n {\n path: 'co-applicant',\n loadChildren: () =>\n import('../loan/co-applicant/co-applicant.module').then(\n (m) => m.CoApplicantModule\n ),\n },\n {\n path: 'co-applicant/rent-vehicles',\n loadChildren: () =>\n import(\n '../loan/co-applicant-rent-vehicle/co-applicant-rent-vehicle.module'\n ).then((m) => m.CoApplicantRentVehicleModule),\n },\n {\n path: 'co-applicant/employer',\n loadChildren: () =>\n import(\n '../loan/co-applicant-employer/co-applicant-employer.module'\n ).then((m) => m.CoApplicantEmployerModule),\n },\n {\n path: 'bank',\n loadChildren: () =>\n import('../loan/bank/bank.module').then((m) => m.BankModule),\n },\n {\n path: 'confirmation',\n loadChildren: () =>\n import('../loan/confirmation/confirmation.module').then(\n (m) => m.ConfirmationModule\n ),\n },\n {\n path: 'skipped/confirmation',\n loadChildren: () =>\n import(\n '../loan/skipped-confirmation/skipped-confirmation.module'\n ).then((m) => m.SkippedConfirmationModule),\n },\n ],\n },\n];\n\n@NgModule({\n declarations: [],\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class LoanRoutingModule {}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NavigationEnd, Router, Event } from '@angular/router';\nimport { NgbModal, NgbModalConfig } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\n\nimport { ModalBranchInfoComponent } from 'src/app/components/modals/modal-branch-info/modal-branch-info.component';\nimport { Branch } from 'src/app/services/branch/branch.model';\nimport { BranchService } from 'src/app/services/branch/branch.service';\nimport { setAddressForGoogleMaps as setAddress } from 'src/app/helpers/google-maps-search.helper';\nimport { NavigationService } from 'src/app/services/navigation/navigation.service';\n\n@Component({\n selector: 'app-loan',\n templateUrl: './loan.component.html',\n styleUrls: ['./loan.component.scss'],\n})\nexport class LoanComponent implements OnInit, OnDestroy {\n requiresNavbar = false;\n backTitle = '';\n backNavigation = '';\n selectedBranch: Branch | null = null;\n showInfoButton = false;\n setGoogleMapsSearch = setAddress;\n\n private subscriptions: Array = [];\n\n constructor(\n private router: Router,\n private navService: NavigationService,\n private branchService: BranchService,\n public config: NgbModalConfig,\n private modalService: NgbModal\n ) {\n this.router.events.subscribe((item: Event) => {\n if (item instanceof NavigationEnd) {\n // Disables navigation when on starting page.\n this.requiresNavbar =\n item.url.includes('loan/') && !item.url.includes('confirmation');\n }\n });\n\n // Set global config for backdrop of modal so it doesn't close on a click event.\n config.backdrop = 'static';\n }\n\n ngOnInit(): void {\n this.subscriptions.push(\n this.navService.backNavTitle.subscribe((data: string) => {\n this.backTitle = data;\n })\n );\n\n this.subscriptions.push(\n this.navService.backNavUrl.subscribe((data: string) => {\n this.backNavigation = data;\n })\n );\n\n this.subscriptions.push(\n this.branchService.showInfoButton.subscribe((data: boolean) => {\n this.showInfoButton = data;\n })\n );\n\n this.subscriptions.push(\n this.branchService.selectedBranch.subscribe((data: Branch | null) => {\n this.selectedBranch = null;\n\n if (data) {\n this.selectedBranch = { ...data };\n }\n })\n );\n }\n\n ngOnDestroy(): void {\n if (this.subscriptions.length > 0) {\n this.subscriptions.forEach((sub) => {\n sub.unsubscribe();\n });\n }\n }\n\n onBranchInfo() {\n if (this.selectedBranch) {\n this.modalService.open(ModalBranchInfoComponent);\n }\n }\n}\n","\n\n \n\n\n\n
\n
\n
\n \n
\n \n

\n Loans Made Easy.
\n Payments Made Affordable.®\n

\n
\n
\n
\n
\n \n
\n
\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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\n\nimport { LoanRoutingModule } from './loan-routing.module';\nimport { LoanComponent } from './loan.component';\nimport { ModalFinishByPhoneModule } from 'src/app/components/modals/modal-finish-by-phone/modal-finish-by-phone.module';\nimport { ModalBranchInfoModule } from 'src/app/components/modals/modal-branch-info/modal-branch-info.module';\nimport { BranchInfoModule } from 'src/app/components/branches/branch-info/branch-info.module';\nimport { ErrorAlertModule } from 'src/app/components/error-alert/error-alert.module';\n\n@NgModule({\n declarations: [LoanComponent],\n imports: [\n CommonModule,\n LoanRoutingModule,\n NgbDropdownModule,\n ModalFinishByPhoneModule,\n ModalBranchInfoModule,\n BranchInfoModule,\n ErrorAlertModule,\n ],\n})\nexport class LoanModule {}\n","import { EmptyError } from './util/EmptyError';\nimport { SafeSubscriber } from './Subscriber';\nexport function firstValueFrom(source, config) {\n const hasConfig = typeof config === 'object';\n return new Promise((resolve, reject) => {\n const subscriber = new SafeSubscriber({\n next: (value) => {\n resolve(value);\n subscriber.unsubscribe();\n },\n error: reject,\n complete: () => {\n if (hasConfig) {\n resolve(config.defaultValue);\n }\n else {\n reject(new EmptyError());\n }\n },\n });\n source.subscribe(subscriber);\n });\n}\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}"],"names":["handleErrorMessage","PHONE_VALID_REGEX","stripPhoneNumber","i0","ModalFinishByPhoneComponent","constructor","activeModal","loanService","errorMessageService","ngOnInit","validate","phone","valid","test","onConfirm","saveLoanApplication","onCancel","close","onPhoneChange","event","target","value","isPhoneValid","isSaving","response","postLoanApplication","Object","loan","Applicant","_a","PhoneNumber","setLoanAfterPost","status","error","addToErrorMessages","selectors","inputs","decls","vars","consts","template","ctx","BehaviorSubject","firstValueFrom","HttpHeaders","LivingSituationType","RequestCreditType","LoanService","api","http","body","endpoint","url","baseUrl","headers","clearErrorMessages","post","finalLoanApplication","next","setGetStarted","data","LoanApplication","RequestZip","RequestAmount","RequestReferCD","RequestPurpose","RequestCreditTypeCD","setBranchSelection","domainId","DomainID","setApplicantInformation","coApplicant","key","addressKey","employmentKey","ContactFirst","ContactLast","ContactMiddle","ContactSuffix","MaritalStatusCD","Dependents","PhoneNumberType","EmailAddress","_b","Address","AptNumber","POBox","City","State","ZipCode","Years","Months","LivingSituation","_c","EmploymentStatus","_d","Over18","PrivacyPolicy","CommunicationConsent","ApplicantOwnAnyVehicles","NumberOfVehicles","OwnAnyVehicles","CoApplicantOwnAnyVehicles","setApplicantRent","vehicleKey","housingKey","livingSituation","rent","HousingContactName","HousingContactPhone","MonthlyCost","own","MortgageBalance","Lienholder","MarketValue","parent","_e","ApplicantVehicles","setApplicantEmployer","incomeKey","EmployerName","Position","PayTypeCD","PayPeriod","TakeHomePay","AnnualSalary","HourlyRate","HoursPerWeek","OtherIncomes","MonthlyAdditionalIncome","setApplicantBanking","coApplicantData","DateOfBirth","SSN","CreditReportAuthorization","DisclaimerForOhioApplicants","ApplicantBanking","CheckingAccountStatus","CheckingBankName","HasDebitCard","CoApplicant","CoApplicantBanking","setPhoneNumberOnExit","setCoApplicantAddressSameAsPrimary","isSame","address","ApplicantAddress","CoApplicantAddress","clearOnEmploymentStatusChange","employmentStatus","otherKey","clearOnVehiclesOwnedChange","clearOnLivingSituationChange","clearCoApplicantOnApplicationTypeChange","applicationType","individualy","CoApplicantAdditionalIncome","CoApplicantHousing","CoApplicantEmployment","CoApplicantVehicles","clearOnPayTypeChange","payType","clearApplication","factory","providedIn"],"sourceRoot":"webpack:///"}